基于SOPC的嵌入式GPS接收机温启动快捕的研究
2012-06-02胡辉,沈翔,吴超
胡 辉,沈 翔,吴 超
(华东交通大学信息工程学院,南昌 330013)
卫星导航接收机的快速定位能力主要由首次定位时间(time to first fix,TTFF)这项指标决定。提高首次定位时间这项性能,无论是对于车载导航领域,还是导弹导航等军事领域都具有很大的意义。但是,由于这项技术在商用以及军事应用的保密性和敏感性,有关此方面的技术在各种文献中很少见到,因此,深入研究该技术就显得非常重要。
在相同的卫星信号条件下,信号搜索范围的大小和首次定位所需时间的长短与接收机的启动方式有很大的关联。根据接收机启动时所掌握的各种数据信息状况的不同,影响首次定位所需时间长短的接收机启动方式通常可分成3种:
1)冷启动。在冷启动时,接收机不知道当前的时间及其所处的位置,并且在存储器上也没有保存任何有效的卫星星历和历书,因此,冷启动后的接收机只能处于盲捕状态,它的首次定位时间最长,一般在60 s左右。
2)温启动。是指接收机虽然没有有效的星历,但却能在掌握误差小于5 min的当前时间、误差小于100 km的当前位置,以及有效历书情况下启动。根据所拥有的这些信息,接收机可以大致确定三维搜索的范围,从而为信号的快速捕获创造良好的条件。温启动的首次定位时间较短,一般在45 s左右。
3)热启动。如果接收机不但具备温启动的条件,而且还保存着有效的星历,那么接收机就可以进行热启动。热启动的首次定位时间一般为12 s,甚至更短。
本课题组前期以EP2C50F484C6 FPGA芯片为平台,内嵌可配置Nios软核cpu,成功研制了高动态嵌入式GPS接收机。该设备在载体速度为12 km/s,加速度为10 g,加加速度为10 g/s时,由于没有嵌入温捕模块,它的首次定位时间大约为65 s。然而,高动态接收机经常用于导弹导航等军事领域,较长的定位时间与高动态的性能就产生了冲突,所以,短的定位时间是GPS高动态接收机必须解决的一项关键技术。本研究以前期工作为背景,用温启动的方法将定位时间缩短到30 s之内。
1 硬件电路设计
1.1 系统的整体设计
嵌入式GPS接收机系统由天线、射频前端、基带信号处理模块、数据存储模块组成。本系统射频前端采用ZARLINK公司生产的GP2015芯片;基带信号处理芯片使用ALTERA公司的EP2C50F484C6,在此芯片中内嵌nios II软核,实现基带信号处理和定位解算。本研究通过温启动的方法来实现嵌入式GPS接收机的快速定位,所以在系统中需要添加实时时钟(RTC)芯片和非易失存储芯片(NVRAM)这2个模块。本系统的硬件总体结构如图1所示。图2为课题组前期研制的GPS接收机实物。
Qutartus IDE中集成了SOPC Builder工具,该工具提供一个直观的图形用户界面,用户可以通过图形界面简化系统的定义工作。由于SOPC Builder不需要直接编写HDL代码来定义系统,这极大地节约了设计开发时间。SOPC Builder为每个元件提供了一个向导,利用该向导能很容易地定义元件功能。本系统就是通过向导将nios II CPU、相关器、RTC时钟控制、NVRAM控制器等模块添加到设计中。SOPC Builder能够自动生成片上总线(Avalon总线)和总线仲裁器等逻辑将这些模块连接,整合成一个片上系统,如图3所示。
图3 SOPC Builder配置片上系统
1.2 非易失性存储器
NVRAM即非易失性存储器,就是断电之后,让所存储的数据不会丢失的随机访问存储器。NVRAM用来存储历书和上次定位结果。本系统采用的是CY62256VLL-70SNC芯片,其与FPGA的连接见图4。
要实现NVRAM读写,首先要在硬件配置SOPC Buillder中加入IP核NVRAM和Avalon-MM Tristate Bridge(三态桥),如图3所示。NVRAM通过三态桥与CPU通信。Nios II开发环境已经提供了2个接口:
data=IORD_32DIRECT(BASE,OFFSET);//读NVRAM
IOWR_32DIRECT(BASE,OFFSET,DATA);//写NVRAM
直接利用以上2个nios II IDE的API函数就可以进行NVRAM读写。
图4 NVRAM电路连接
1.3 RTC 时钟电路
带温启动功能的GPS接收机均有一个内置的实时时钟(RTC),因而即便在接收机关机的情况下,它的实时时钟依然继续运行,以维持对时间信息的掌握。本研究使用的是DS1338实时时钟芯片,它有一个内置的电源检测电路,如果检测到电源供电失败,可以自动切换到电池供电。它采用I2C接口,其硬件连接如图5所示。
该芯片提供实时时钟,只要在一开始给年、月、日、时、分、秒寄存器设定一个初始值,时间就会自动往前滚动。内部寄存器的具体操作可参见芯片手册。
要在本系统中实现RTC,首先要在硬件配置SOPC Buillder中加入 IP核 I2C_mcore,如图3所示;其次在nios II软件工程中加入底层驱动程序,以通过I2C总线对年、月、日等寄存器进行读写操作;最后便是应用程序,在I2C初始化后对寄存器进行读写操作。
图5 RTC电路连接
2 算法原理
2.1 利用历书计算卫星的位置
历书提供了各卫星的基本卫星轨道参数和2个钟差改正数,但不包含9个摄动改正参数。各历书的参数如表1所示。如果用户接收机上保存着有效的历书,并且用户大致知道自己当前所处的时间和位置,那么接收机可以通过历书计算出各卫星在空间的大致位置,以此可以确定它们的可见性,这可使接收机避免去搜索、捕获那些不可见的卫星信号,从而减少接收机实现首次定位所需的时间。
表1 GPS卫星历书参数
在计算卫星的概略位置时,利用历书信息计算与使用广播星历的参数计算类似,其流程如图6所示。
2.2 启动的实现方法与步骤
除了表1中所列的参数之外,每套历书通常还需要附带一个相应的星期数,可以帮助判断历书的有效性。如果GPS接收机保存存储的历书,但2次开机的时间超过1个星期,那么历书是无效的,接收机必须实行冷启动,等到有定位结果十几分钟以后,才能进行温启动。这段时间接收机将历书和本地位置存储到NVRAM中,以便下次开机后实行温启动。接收机运行的总流程如图7所示,其中温启动实现的流程如图8所示。
3 实验结果分析
用GN8000M多星座模拟器模拟仿真2011年7月16日10点50分的GPS L1信号。如图9所示,在nios IDE控制台窗口中可以看到:定位的方式是cold start,即冷启动;start time即定位时间为180 s。然后再用模拟器模拟仿真2011年7月17日10点50分的GPS L1信号。从图10可以看到:定位的方式是warm start,即温启动;start time(定位时间)为31 s。从两者的结果很明显地看到温启动的定位时间比冷启动大大缩短了。
4 结束语
SOPC是当前IC设计的发展主流,代表了半导体和ASIC设计的未来。利用SOPC设计思想和SOPC Builder工具开发GPS接收机系统,能极大地提高工程人员的设计效率,加快系统的开发速度,节约设计成本,缩短设计周期。
本文对GPS接收机温启动首次定位时间过程进行了研究,试验得到的温启动首次定位时间为31s,满足了高动态GPS接收机快速定位的性能要求。随着新一代GNSS的不断建设和发展,融合GPS、GLONASS、GALILEO和北斗导航定位系统的接收机将成为研究热点,因此,还需要进一步研究快速捕获温启动的算法在卫星导航系统融合时代中的应用。
[1]谢钢.GPS原理与接收机设计[M].北京:电子工业出版社,2009.
[2]周善石,王解先.GPS广播星历与历书的精度比较[J].工程勘察,2006(9):69 -70.
[3]张伯川,张其善,常青.高动态接收机的温启动快捕问题研究[J].电子学报,2005,33(3):530 -533.
[4]黄汛,高启孝,李安.GPS历书计算与卫星星座预报仿真[J].全球定位系统,2007(5):52-53.
[5]Global Positioning System Standard Positioning Service Performance standard[S].
[6]Krumvieda K,Cloman C,Olson E,et al.A Complete IF Software GPS Receiver:A Tutorial about the Details[C]//Proceeding of the ION GPS.Salt Lake City:[s.n.],2001:789 -790.
[7]Nicole Capitaine.Definition of the Celestial Ephemeris Pole and the Celestial Ephemeris Origin[R].Washington,D C,USA:Proceedings of IAU Colloquium 180 held at the U.S.Naval Observatory.2000:153 -164.
[8]刘基余.GPS卫星导航定位原理与方法[M].北京:科学出版社,2005.
[9]陈世钗,刘光聪,蒋洪平,等.基于LTCC工艺双频GPS陶瓷微带天线研究[J].压电与声光,2011,33(2):222-227.
[10]章大勇,吴文启,吴美平,等.一种新型惯性/GPS测姿组件安装标定方法[J].压电与声光,2010,32(3):364-367.
[11]江小华,张河,陈炳林,等.引信用激光接收机噪声分析研究[J].激光杂志,2005,26(1):28-30.