基于FPGA和DSP的卫星导航接收机测试平台
扫描二维码
随时随地手机看文章
引言
卫星导航接收机是卫星导航系统的用户终端,用以给用户提供精确的经度、纬度、高度和速度等信息。现在,卫星导航接收机已经应用于航空,交通管理,石油等各个领域,针对卫星导航接收机的研究也越发深入。
本文介绍了一种以 FPGA和 DSP为主处理器的卫星导航接收机硬件平台。在该平台上不仅可以验证针对现在所有卫星导航系统(GPS,Glonass,伽利略,北斗)的基带信号处理算法和导航解算算法,同时也可以实现完整的单频、双频或者兼容接收机。
1 硬件设计
1.1 硬件平台组成硬件平台结构框图如图 1所示。
500)this.style.width=500;" border="0" />
该平台以两片 FPGA芯片和两片 DSP芯片为主处理器。经过 AD采样后的信号直接进入FPGA,此后所有对信号的处理均由软件来实现。如此可以充分利用 FPGA和 DSP的重复烧写及在线调试能力,
尽量减少对硬件的依赖程度,从而增加平台的灵活性。另外,每片 DSP都外接了 Flash和 SDRAM。由于 Flash掉电数据不会丢失,可以在 Flash内保存程序及数据,功能有如 PC机上的硬盘,而外接的 SDRAM是 DSP的扩展Ram,当 DSP运行大型程序(如导航解算程序)以致 DSP的内部 Ram不够用时,可以将程序放到外接的 SDRAM内运行。
平台上还有多个串口,可以接显控等设备。两个 Arinc-429接口可以接惯导等航空设备。JTAG是在线调试接口。时钟模块提供系统的工作时钟。
只要连接上针对不同卫星导航系统的射频模块和天线,该平台就可以成为一个完整的接收机。
1.2 芯片介绍
FPGA采用 Altera公司 CycloneII系列中的 EP2C70F672。Altera公司的 CycloneII系列 FPGA是业界成本及功耗最低的 FPGA之一,采用 90nm工艺制造。 EP2C70F672是 CycloneII系列中的最高型号,拥有 7万个逻辑单元, 1Mbits内部 RAM,300个 9×9乘法器,4个 PLL环和 422个 I/O接口,最高数据率可以达到 330Mbps。
DSP采用德州仪器公司(TI)的C6000系列中的TMS320C6713。它是TI开发的基于甚长指令(VILW)结构浮点运算数字信号处理芯片,每周期可以执行 8条32位指令,工作频率最高可以达到300MHz。拥有 256K字节内部RAM,16个通道的增强 DMA控制器,32bits外部存储器接口,两个多通道缓冲口。
模数转换芯片选用模拟器件公司(ADI)的 AD9288Bst-100。该芯片的采样率最高可以达到100Msps,正交双通道 8bits输出。由于其低功耗特性,被广泛应用于手持设备等对功耗要求较高的场合。
Flash采用SST公司的 SST39VF800,容量为 512K*16。SDRAM采用 Micron公司的 MT48LC4M32B,存储空间为4M*32。
2软件测试
在该硬件平台上用 Verilog语言和 C语言编写了简单的 GPS卫星捕获跟踪程序,以验证其功能。程序模块划分如图 2所示。在 FPGA内实现了数字下变频,捕获和跟踪通道,在 DSP内实现跟踪环
500)this.style.width=500;" border="0" />
路的鉴频鉴相算法以及环路滤波器。经过 A/D采样的 8bit信号通过下变频模块后输出 I/Q两路正交基带信号。I/Q基带信号分别进入捕获模块和跟踪通道模块。在成功捕获到信号后转入跟踪。跟踪通道每次输出的相关累加值经过 DSP接口模块传给 DSP。DSP利用接收到的相关峰值进行鉴相鉴频和滤波,并将滤波结果反馈给 FPGA形成闭环。 [!--empirenews.page--]
2.1 捕获
为了让跟踪环路正常跟踪信号,必须先通过调整本地载波和伪码使得他们与接收到的载波和伪码粗略对准,这就是捕获。粗略对准的原则是捕获后的本地载波和信号载波频差在载波跟踪环的跟踪范围内,本地码和信号码的相差在码跟踪环的跟踪范围内。因此捕获就是一个在时域和频域的二维搜索过程。
信号的捕获采用最简单的单积分滑动相关的方法,原理如图 3所示。为了提高捕获速度和精度,频率的搜索采用大步进和小步进结合的方法。即先用大步进粗略捕获,然后在捕获到的频点上进行小步进精确调整。
500)this.style.width=500;" border="0" />
2.2 跟踪
图 2中的跟踪通道、DSP接口、DSP内的鉴频器、鉴相器和滤波器组成了完整的跟踪环路。 整个跟踪环路的原理框图如图4所示。图中的乘法器和积分器实际上是组成了一个相关器。载波NCO 和码 NCO分别产生本地载波和本地伪码时钟。码发生器产生本地超前路( Eearly),当前路( Prompt)和滞后路(Late)伪码。FPGA在每次相关累加结束后向 DSP发出中断请求,送出超前、滞后和当前路各自的相关累加值。DSP响应中断,用超前和滞后路的相关值进行伪码相位的鉴别,当前路相关值用于载波的鉴频和鉴相。提取出的伪码、载波误差信号经过适当的滤波器后转换成相应的频率控制字,反馈到 FPGA调整载波 NCO和码 NCO,完成码跟踪和载波跟踪环路的闭环,从而对接收信号进行跟踪。
500)this.style.width=500;" border="0" />
图 5为用设计的程序捕获跟踪 GPS的 PRN01卫星得到的 I/Q两路相关峰值。
500)this.style.width=500;" border="0" />
3 结论
虽然该平台采用了双 FPGA加双 DSP的四核设计,但是四个主处理器之间可以互相通信,因此当验证高性能接收机而需要大量的硬件资源时,可以将两片 FPGA合而为一作为一片 FPGA使用。如将图 2中的捕获模块和其他模块放在不同的 FPGA内实现。而当验证兼容接收机或者双频点接收机时,又可以将平台一分为二,当成两个基于 FPGA+DSP的硬件平台,而且两个平台之间还可以通过数据交互建立联系。