基于片上系统的GNSS兼容接收机设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于片上系统的GNSS兼容接收机设计与实现
魏敬法
【摘要】提出了利用FPGA内的嵌入式软核NiosⅡ代替专用DSP处理器和通用控制器,在单片FPGA内实现整个GNSS组合导航定位接收机的总体方案.分析了该模式下的快速捕获、相关器、载波跟踪环和码跟踪环算法理论与实现,给出了该组合接收机24h的静态测试结果.结果表明,该GNSS组合接收机设计满足要求.【期刊名称】《现代导航》
【年(卷),期】2012(003)003
【总页数】5页(P171-175)
【关键词】导航;GNSS接收机;片上系统;NiosⅡ嵌入式软核
【作者】魏敬法
【作者单位】中国电子科技集团公司第二十研究所,西安 710068
【正文语种】中文
【中图分类】TN965
可编程片上系统技术是近几年电子行业崛起的一个领域,其核心是在一块可编程逻辑芯片上构建一个包含存储器、数字信号处理单元、用户自定义功能单元等复杂系统,具有灵活的设计方式,可裁减,可扩充,可升级,并具备软硬件在系统可编程的功能。
随着科技的发展,以GNSS定位技术为主的定位导航监控技术广泛应用于交通、
航海、安全等领域,与此同时用户对GNSS接收系统的设计提出了更高的要求,传统信号处理实现技术已经难以满足系统的灵活性、便携性、可扩展性以及低功耗的苛刻要求。
1 系统整体结构
图1表示了基于片上系统技术实现的GNSS组合接收机总体框图。
接收机主要包括天线、射频前端、通道、快捕、环路、伪距处理、定位解算。
其中通道、快捕、环路是在逻辑里面实现,定位解算、伪距处理,串口任务在NiosII内实现。
快速捕获部分主要是基于 PMF-FFT快速捕获方法,因其占用FPGA资源很大,故所有的通道共用一个快速捕获模块。
通过将快速捕获模块和某个通道连接来捕获该通道的卫星信号。
设计中包括16个可配置的GNSS通道,实现对16颗GNSS卫星的解调和解扩。
中断管理器主要产生相关累加中断、捕获中断、电文中断、串口中断等。
图1 基于片上系统技术的GNSS兼容接收机总体框图
NiosII处理器分为中断子程序和任务子程序,中断子程序完成的任务有:
(1)控制快捕模块,对信号进行捕获。
(2)用来读取测量值,计算伪距。
(3)读取通道电文,并将电文按格式打包。
(4)接收串口命令。
任务子程序主要完成实时性要求不高的功能,主要包括下面几个任务:
(1)子帧处理。
(2)PVT解算。
(3)接收机状态的监视。
2 基于SOPC技术的GNSS接收机设计与实现
本设计的总体实现框图如图1所示,其主要的功能模块有快速捕获模块,相关通
道,载波跟踪环路和码跟踪环路,中断控制器,接口控制,NiosII软核等,它们
都在单片FPGA内部实现。
2.1 信号捕获设计
目前使用更广泛的搜索方式是通过部分匹配滤波(PMF_FFT)来捕获信号的载波
多普勒频率和码相位,这种方法的最大特点是可以将载波相位和码相位同时搜索,大大缩短捕获时间。
该方法的原理如图2。
将Ii、Qi两路信号送到PMF_FFT相关器中与本地PN相关。
图2中所示的PMF-FFT相关器由N个分段子相关器组成,对这N个子相关器的
输出作N点FFT变换,取N个输出幅值最大的峰值作为相关器的输出,如果相关峰值超过门限,说明本地伪码相位与输入信号码相位一致,这种方法可以在不增加硬件复杂性的情况下实现扩频信号的快速捕获。
如果相关峰值没超过门限,则调整本地码进行重新捕获。
图2 快速捕获模块设计
图3 GNSS接收机跟踪环路结构框图
2.2 信号跟踪设计
对卫星信号的跟踪主要包括载波跟踪和码跟踪,对载波的跟踪可以解调出导航电文,对码的跟踪可以测量伪距,二者结合可以解算用户位置。
本设计中对GNSS信号的跟踪逻辑部分由相关器完成,其结构如图3所示。
每个
相关器包含超前、当前、滞后3个支路,相关器以二倍码率运行,相关间隔为1/2码片。
同相和正交支路各输出三路累加值记为IE,IP,IL和QE,QP,QL,NiosII读取该累加值,计算码和载波鉴相/鉴频误差并进行环路滤波,最后计算出
频率/相位控制量反馈给相关器。
为了能适应一定的动态要求,载波跟踪采用FLL+PLL模式,即在高动态时环路切
换到FLL模式,在低动态时环路切换到PLL模式。
FLL采用差积鉴频器,其鉴频
误差为:
当Φk -Φk-1≤时,s in(Φk -Φk-1)≅ Φk -Φk -1,即误差输出与单位时间内的相位变化成正比,经过滤波器滤波后控制相关器中的 NCO达到控制频率的目的。
FLL中滤波器采用二阶Jaffe_Rechtin滤波器,经过环路滤波器和NCO得到的递推方程为:
最后复现载波相位值可以通过
式(2)和式(3)中T为预检测积分时间,ωnf为滤波器带宽。
载波环中的锁相环为三阶锁相环,其鉴相误差为:
环路滤波器采用三阶Jaffe_Rechtin滤波器,其递推方程为:
式(5)中ωnp为滤波器带宽,其输出即为相位调整量。
码跟踪环鉴相器为:
式(6)没有考虑噪声项,当E(k)=0时,根据伪随机码相关特性,可推断码相位估计误差ε(k)=0,码相位达到精确同步;当E(k)≠0时,ε(k)≠0,输入码相位和本地产生码相位偏移,控制算法应调整本地码发生器使相位偏移减小。
码跟踪环的滤波器和载波锁频环滤波器一样。
2.3 中断管理
中断管理器用来管理中断的产生,如图4(b)所示,其产生的中断主要包括:(1)捕获中断,在捕获到信号或者该通道所有的Doppler频点捕获完毕后产生该中断,软件根据该中断来调度每个通道的捕获。
(2)测量值中断,周期约100 ms,在该中断到来时,读取每个锁定通道标志,
并根据该锁定标志决定读取通道测量值,并放入测量值缓存。
(3)电文中断,当某个通道凑够一帧电文后,逻辑就会置通道电文标志寄存器中的相应位,并产出该中断。
软件响应该中断后,首先读取该通道电文标志寄存器,判断那个通道有新的电文,并将读取的电文放入缓存。
(4)串口中断,接收外界给接收机的指令。
2.4 NiosII内核软件功能及流程
接收机的工作过程中有大量并行的任务需要同时执行。
首先通道对各个通道的电文处理,各个伪距计算以及导航解算也是同时进行的。
还有作为一个完整的接收机,应该有输入输出、状态监测等系统任务,NiosII内核软件总体流程图如图4(a)
所示。
NiosII中完成的软件工作有中断子程序和任务子程序,其中中断子程序完成实时
性要求较高的任务,任务子程序完成对实时性要求不高的函数。
图4 软件总体流程框图
3 实际测试结果及分析
在本文设计的GNSS组合接收机中,两路AD为AD9288,采样频率62MHz,FPGA采用Altera的CycloneIIl系列芯片,型号为EP3C120。
逻辑部分包括7个GLONASS相关通道和9个GPS相关通道,能同时对16颗GNSS卫星进行跟踪。
GNSS的载波跟踪环和码跟踪环的设计分别如式(1)、式(2)、式(3)、式(4)、式(5)、式(6)所示。
嵌入式处理器选用NiosII标准型。
FPGA外围的设备主要还有一个32M的Flash,用于储存NiosII的软件代码和需要保存的数据。
一个FPGA专用配置芯片
EPCS16用来存储FPGA的配置文件,一个串口用来显示定位输出。
为了测试设计的组合接收机的性能,分别对设计的接收机进行了24 h静态测试,
图5表示了经度、纬度、高度的测试结果,其中经度1σ方差+偏差1.7m,纬度1σ方差+偏差1.9 m,高度1σ方差+偏差2.93 m。
连续的24 h的测试结果表明该系统稳定且定位精度满足要求。
图5 经度、纬度、高度的测试结果
4 结论
本文研究了利用片上系统技术实现GNSS兼容接收机方案,并基于该技术在单片FPGA内实现了GNSS组合接收机。
静态和动态测试表明,该接收机系统稳定,定位精度满足要求。
相对现在通用的FPGA+DSP模式,该方法在工程上可以降低硬件设计的复杂度,减小接收机的体积、功耗,增强了接收机的可重构性。
参考文献:
[1]Altera ing MicroC/OS-II RTOS with the NiosII Processor Tutorial, 2004
[2]Abdulqadir A.Alaqeeli.Global Positional System Signal Acquisition and Tracking Using Field Programmable Gate Arrays [D].Ohio University April 2002
[3]Hun-Soo Cho.A FPGA-Based Software GPS Receiver Implementation Using Simulink and Xilinx System Generator[C].Long Beach, ION GPS, September 2005
[4]J.Hill.Navigation Signal Processing with FPGAs [C].San Diego, ION NTM January 2004。