一种gnss接收机的中频数据采集与回放装置的制作方法

文档序号:5925956阅读:772来源:国知局
专利名称:一种gnss接收机的中频数据采集与回放装置的制作方法
技术领域
本发明涉及GNSS卫星导航装置,尤其是ー种GNSS接收机的中频数据采集与回放装置,特别适用于基于多模GNSS卫星导航系统接收机的研发。
技术背景 随着全球各种导航卫星系统的建成与完善,卫星导航定位接收机的应用广泛,从単一的GPS时代转变为多星座并存兼容的GNSS新时代,导致卫星导航体系全球化和增强多模化。而GNSS系统的逐步完善和增强,使得兼容和互操作成为新的关注的焦点之一,而如何从最优角度充分利用和发挥多系统的优势,是未来发展的ー种趋势。基于软件无线电技术的GNSS接收机在微弱信号处理和多信号兼容等方面具有很大的优势。而在GNSS接收机中,为了对捕获、跟踪及定位等算法进行仿真及验证,优化算法性能,常需要实时的真实数据去对算法进行仿真及测试。
发明内容本实用新型提供ー种GNSS接收机的中频数据采集与回放装置,其目的是,在PC平台进行算法开发吋,需要真实的中频数据来对算法的功能及性能进行验证。而在进行接收机的调试中,我们需要连续的、满足基带要求的卫星数据流,而数据回放功能的实现,解决了必须去户外进行调试的问题,使得接收机的算法开发与调试,只需一次露天数据采集,而后续即可全部在室内进行,提高了开发效率,缩短了开发时间。本实用新型目的是这样实现的ー种GNSS接收机的中频数据采集与回放装置,其特征在于包括天线、设有多模GNSS接收机芯片的射频前端単元、设有SPI程序模块、串并转换模块、异步FIFO缓冲模块、USB接ロ时序模块以及总状态机模块的FPGA控制单元、设有固件程序及驱动程序的USB接ロ传输单元及上位机;天线连接射频前端単元,SPI程序模块双向连接射频前端単元,射频前端单元连接FPGA控制单元,FPGA控制单元双向连接USB接ロ传输单元,USB接ロ传输单元双向连接上位机;射频前端单元通过天线接收射频卫星信号,经过LNA、混频及A/D采样转换后输出中频信号,SPI程序模块对射频前端単元的エ作模式进行配置,实现对包括GPS、北斗2代、GLANASS及伽利略在内的多个卫星导航系统的切換,FPGA控制单元对射频前端单元输出的中频信号进行串并转换后,变为并行数据存入到异步FIFO缓冲模块,USB接ロ时序模块将异步FIFO缓冲模块中的数据读出后,写入到USB接ロ传输单元中,上位机程序将从USB接ロ传输单元读取到的数据存储到本地的硬盘中。数据回放时,在上位机程序的控制下,将经过格式转换的数据流,在基带时钟的触发下,传输到基带的中频输入端。上位机通过程序对FPGA控制单元进行传输控制时,采用异步I/O及多线程方法和循环队列调度方法,保证高速数据传输中的连续性及实时性,最后将采集到的数据存储到本地的硬盘中。当系统进行数据采集时,为了保证数据的连续性,就需要使上位机的读取速度大于射频前端的写入速度。因此,USB接口传输单元中的固件程序配置如下传输速率设置为高速(High-Speed),传输类型设置为批量传输(BULK传输),工作模式设置为异步SLAVEFIFO模式。当系统进行数据回放时,需要将USB固件程序配置如下传输速率设置为高速(Full-Speed),传输类型设置为批量传输(BULK传输),工作模式设置为异步SLAVEFIFO模式。同时,在硬件连接中,异步读引脚SLRD需要直接连接到基带时钟的CLK引脚。本实用新型与现有技术相比,有以下优点及显著效果(I)在当前多个卫星导航系统并存的情况下,采用多模GNSS接收机芯片,通过FPGA中SPI程序对射频前端芯片进行模式的切换,解决了以往的数据采集系统单纯针对GPS LI信号或者一种信号的问题,多模GNSS接收机芯片,外接天线有源/无源可选。能够采集多个卫星系统信号,射频前端的工作模式切换由SPI程序进行配置即可,便于用户进行选择性开发,应用范围广,更为以后用户进行多兼容系统开发提供便利。(2)数据缓存模块利用FPGA内部的嵌入式存储器来实现异步FIFO,与现有采用外部SRAM芯片缓冲相比,节省了成本,而且更能方便的修改FIFO深度大小,适应不同FPGA芯片、不同中频采样速率的场合,更利于程序的通用性、可移植性。(3)上位机部分采用多线程技术及循环队列请求技术解决高速数据传输中数据丢失的问题,使得系统的传输速度得到大幅度提升,数据采集系统可以工作在高速、实时的场合,便于进行实时软件接收机的研发。(4)在数据采集的功能基础上,增加了数据回放,硬件无需任何改动,只需修改上位机程序及固件驱动程序,即可实现中频数据回放。与同类只有采集功能的平台相比,功能更加强大,性价比更高。为用户进行接收机基带算法、导航解算开发提供了实时、稳定的中频信号流,使得整个研发过程之初,只需进行一次室外采集,后续实际的接收机调试完全可在室内进行,节省了调试时间,提高了开发效率。
图I是本实用新型的原理框图;图2是本发明的FPGA与射频前端芯片接口原理图;图3是本实用新型的FPGA芯片部分接口原理图;图4是本实用新型的FPGA与USB芯片接口原理图;图5是本实用新型的FPGA程序内部各模块RTL级原理图;图6是本实用新型的FPGA程序中的总状态机模块状态转移图;图7是本实用新型的射频前端单元的工作模式切换SPI时序图;图8是本实用新型的USB芯片固件程序流程图;图9是本实用新型的上位机应用程序流程图。
具体实施方式
如图I所示,本实用新型为基于多模GNSS卫星接收芯片、FPGA芯片、USB芯片、上位机的多模GNSS中频数据采集和回放平台,构成包括射频前端单元、FPGA控制单元、USB接口传输单元及上位机。[0022]其中,FPGA内部的SPI程序单独作为一个模块与射频前端单元双向通信,完成射频前端工作模式的切换。数据采集功能中,FPGA控制单元内部包含四个模块串并转换模块、异步FIFO缓冲模块、USB接口时序模块以及总状态机(FSM)模块。射频前端单元单向连接到串并转换模模块,后续为异步FIFO缓冲模块、USB接口时序模块、总状态机模块。FPGA与USB芯片双向连接。USB芯片与上位机也为双向通信。其工作流程如下首先,在上位机中设置要读取的数据总量;接着,上位机通过控制传输端点O发送开始命令,使USB芯片的PA. 7引脚输出高电平。FPGA芯片对USB芯片的PA. 7引脚一直进行轮询,一旦检测到高电平信号,就开始将射频前端芯片的MAG和SIGN信号通过串并转换和缓冲,并通过USB接口时序模块与USB芯片进行单向传输。我们令地址变量Addr为“2”,就可通过FD[15:0]将并行的数据保存到USB芯片的EP6端点IN缓冲区中。当缓冲区满后,FLAG_FULL引脚的电平拉低,并将数据传输到PC中同时通知上位机读取数据。上位机在收到USB芯片发来的异步I/O的请求后,暂停当前的线程,将USB芯片中的数据读取并保存到本地硬盘中。USB芯片检测到数据被读取后,令FLAG_FULL引脚置为高电平,接着启动下一次的写端点缓冲区操作。这样循环往复,当读取到的数据总量达到预先规定的要求,就完成 了一次完整的中频数据采集。如图2所示,多模射频前端芯片与FPGA的引脚接口包含6个引脚。其中,前3个为SPI总线的引脚,剩余3个为中频数据引脚。E_CS代表SPI总线中的SCS,E_CLK为SPI总线中的SCLK,E_DATA为SPI总线中的双向引脚SDA。DO、Dl分别代表中频数据幅度(MAG)与相位(SIGN)信号的引脚。RF2_CLK为射频前端输出的采样频率,为FPGA芯片提供系统时钟。如图3所示,FPGA芯片采用ALTERA公司的Cyclone III系列芯片——EP3C40Q240C8。该器件包含39600个逻辑单元,总的内置RAM为1161216 Bits。内置嵌入式乘法器256个,PLL有4个,核心电压I. 2V。封装采用PQFP。总的引脚数有240,其中,最大可用I/O 口是120个。具体的引脚功能为射频前端的RF2_CLK接FPGA芯片的33号引脚,Dl、DO接37、38号引脚,E_DATA、E_CLK及E_CS分别接39、41、43号引脚。USB芯片的FD15、FD14及FD13接56、55、52号引脚,SLRD接57号引脚。其余引脚为串行FLASH存储器的引脚及电源VCC和地GND。如图4所示,USB芯片采用业界著名的Cypress公司EZ-USB FX2系列芯片——CY7C68013A。该芯片主要包括USB2. O收发器、串行接口引擎(SIE)、增强型8051、8. 5KB的RAM、4K的FIFO存储器、I/O、数据总线、地址总线和集成的4个缓冲区。在本实用新型平台中,通过对USB芯片中固件程序的配置,外部逻辑可以对这些端点FIFO缓冲区进行读或写操作。在该模式下,USB芯片与FPGA芯片的通信引脚为FIF0ADR[1:0]为芯片端点选择地址线,当FIF0ADR[1:0]为00时,选择端点2 ;当为10时,选择端点6 ;FLAGA、FLAGB、FLAGC和FLAGD为空满标志位,用来指示FIF0ADR[1:0]所指端点的缓冲区的空满状态;SLOE和SLRD为USB芯片的输出使能引脚和读引脚,SLWR为写引脚,PKEND为FPGA使能强制一个USB的IN数据包引脚,SLCS代表片选,FD [15:0]为双向数据总线;SCL、SDA为EEPROM引脚,用来进行固件程序的下载和枚举。[0031]如图5所示,为FPGA内部程序的RTL视图。FPGA控制单元包括4个模块,分别为串并转换模块、异步FIFO缓冲模块、USB接ロ时序模块以及总状态机模块。射频前端芯片的输出采样频率为16. 368M,格式为2bit的SIGN和MAG信号。串并转换模块利用移位器寄存器,将串行数据转为SBit或者16Bit的并行数据,提高系统传输速度。而且,还计数产生了ー个8分频的时钟,作为异步FIFO模块的写时钟。异步FIFO模块的缓冲区深度为8K,数据位宽为16位,写时钟为2. 046M,读时钟为16. 368M。异步FIFO模块的设计主要是考虑了GNSS数据采集的连续性及实时性,这也意味着异步FIFO的写使能是一直有效的。因此读速率必须要大于写速率,只有这样才能保证数据不丢失。USB接ロ时序模块主要完成对FPGA内异步FIFO中数据的读取及对后续USB芯片端点6缓冲区的写入的功能。如图6所示,是FPGA总状态机模块的状态转移图。它是最重要的部分。不但需要对上位机的控制引脚进行轮询,也要考虑异步FIFO缓冲模块的读写请求,同时也要对USB芯片端点缓冲区的空满标志进行判断,综合考虑后,才能对异步FIFO的读写进行仲裁并控制USB接ロ时序模块中的状态转移。如图7所示,射频前端単元的工作模式切換主要由SPI模块程序完成。它包含3个引脚。片选已经SCS、时钟引脚SCLK以及双向信号总线SDA。当SCS为低电平时,SPI接ロ有效。SCS为高电平时,射频前端的SPI模块不响应。在读写时序中,SDA的数据是在SCLK时钟的上升沿锁存,而下降沿采样。每进行一读或写操作,都必须先发SBit的控制命令,然后为32Bit的数据。只是在读操作的时候,SDA需要由输出引脚为输入引脚,并读取SDA上的数据到FPGA中。如图8所示,USB芯片固件程序基于Cypress公司提供的开发包进行修改而成。主要的内容有首先,增加了 I个用户自定义控制传输函数,置USB芯片的PA. 7引脚为高电平,以此来启动FPGA的运行。其次,配置TD_Init()函数,使得USB工作于异步Slave FIFO模式,IN端点为EP6,Bulk传输,512字节/包,4重缓冲。OUT端点为EP2,Bulk传输,512字节/包,4重缓冲。AUTOIN = AUT00UT = 1,USB芯片自动处理端点数据的输入和输出,字长(W0RDWIDE)为16位或8位可选。PA. 7引脚为1/0输出口,FPGA—直轮询此引脚。在进行数据采集时,端点6传输速率配置 为High-Speed。在进行数据回放时,端点2传输速率配置为 Full-SpeecL如图9所示,上位机软件程序在初始化后建立了 2个线程。主线程负责GUI界面的响应,工作者线程则负责数据的采集及处理。2个线程协调工作,主要完成对USB设备(VID/PID)的检测、启动/停止传输操作。当主程序运行的时候,先创建USB连接,获取USB设备句柄和端点指针。然后,等待用户点击“启动传输”按钮来启动工作者线程。在エ作者线程中,采用循环队列请求,一次性建立、初始化N个缓冲区,并连续发送N个异步传输请求。这样,当数据来的时候,可以一直对数据缓存区进行写操作而无需中断设备传输。具体的传输实现函数采用Cypress公司提供的CYAPI. Iib库文件中的BeginDataXferO、WaitDataXfer O/FinishDataXfer O等3个函数来完成异步1/0传输的发起、等待和接收操作。当接收的总的数据量达到用户预先定义的值后,就退出循环,并将缓冲区的数据写到硬盘的文件当中。最后释放所有的缓冲区,结束一次数据采集。进行数据回放时,硬件方面,需将SLRD引脚接到基带的时钟(CLK)引脚;软件方面,需要同时修改USB固件程序和上位机程序。固件程序中,只需将传输用到的端点由EP6端点改为EP2端点,其余部分保持不变即可。上位机程序中,首先,利用文件函数读取本地硬盘中已经采集好的数据,并 放到一个缓冲区中。然后,将批量传输的端点由EP6端点改为EP2 端点,并将 BeginDataXfer O、WaitDataXfer O/FinishDataXfer O 等 3 个函数中的参数由IN改为OUT0
权利要求1.一种GNSS接收机的中频数据采集与回放装置,其特征在于包括天线、设有多模GNSS接收机芯片的射频前端单元、设有SPI程序模块、串并转换模块、异步FIFO缓冲模块、USB接口时序模块以及总状态机模块的FPGA控制单元、设有固件程序及驱动程序的USB接口传输单元及上位机;天线连接射频前端单元,SPI程序模块双向连接射频前端单元,射频前端单元连接FPGA控制单元,FPGA控制单元双向连接USB接口传输单元,USB接口传输单元双向连接上位机;射频前端单元通过天线接收射频卫星信号,经过LNA、混频及A/D采样转换后输出中频信号,FPGA控制单元对射频前端单元输出的中频信号进行串并转换后,变为并行数据存入到异步FIFO缓冲模块,USB接口时序模块将异步FIFO缓冲模块中的数据读出后,写入到USB接口传输单元中,上位机程序将从USB接口传输单元读取到的数据存储到本地的硬盘中,数据回放时,在上位机程序的控制下,将经过格式转换的数据流,在基带时钟的触发下,传输到基带的中频输入端。
2.根据权利要求I所述的GNSS接收机的中频数据采集与回放装置,其特征在于数据回放时,异步读引脚SLRD直接连接到基带时钟的CLK引脚。
专利摘要一种GNSS接收机的中频数据采集与回放装置,天线连接射频前端单元,SPI模块双向连接射频前端单元,射频前端单元连接FPGA控制单元,FPGA控制单元双向连接USB接口传输单元,USB接口传输单元双向连接上位机;射频前端单元接收卫星信号,输出中频信号,SPI模块对射频前端单元的工作模式进行配置,进行多个卫星导航系统的切换,FPGA控制单元对中频信号进行串并转换后存入异步FIFO缓冲模块,USB接口时序模块将异步FIFO缓冲模块中的数据读出后,写入USB接口传输单元,上位机从USB接口传输单元读取的数据存储到本地的硬盘中。数据回放时,在上位机控制下,将经过格式转换的数据流,在基带时钟的触发下,传输到基带的中频输入端。
文档编号G01S19/23GK202362460SQ201120378978
公开日2012年8月1日 申请日期2011年10月9日 优先权日2011年10月9日
发明者潘树国, 王庆, 陈冲 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1