《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 基于GP4020的GPS接收机的软硬件设计

基于GP4020的GPS接收机的软硬件设计

2008-11-04
作者:秦红磊,孙小续


摘 要:介绍了基于GP4020的GPS接收机的电路设计及软件设计" title="软件设计">软件设计。GP4020是ZARLINK公司推出的GPS接收机数字基带处理器,内部集成了12通道的相关器" title="相关器">相关器和先进的ARM7TDMI微处理器,因而减少了GPS接收机设计的复杂程度;同时,GP4020与GP2010或GP2015直接相连,组成了GPS导航系统。
关键词:GPS接收机; GP4020; ARM7TDMI

 

    一个完整的GPS接收机包括三个模块:下变频模块、数字信号处理模块" title="处理模块">处理模块和应用信息模块。本文介绍的GP4020基带处理器包含数字信号处理模块和应用信息处理模块,因而减少了GPS基带电路设计的复杂性。GP4020工作电压为3.3V,具有先进的低功耗微处理器ARM7和可配置的外部数据总线。


GP4020电路设计


与射频电路的连接


    GP4020与下变频芯片GP2010结合使用,组成完整的GPS接收机。GP2010将接收到的L1信号经过三次下变频,变成中频为4.309MHz的模拟信号,然后再经过采样变成1.405MHz的2bit数字信号(TTL电平)。GP2010与GP4020共有7个管脚需要相连,它们分别为SIGN(符号)、MAG(量级)、SAMPCLK(采样频率)、CLK_I、CLK_T、PLL_LOCK、PRESET。其连接方式如图1所示。

 


    GP2010输出的差分信号CLK_I和CLK_T连接到GP4020,通过系统时钟产生器产生40MHz信号,并作为相关器的主时钟。CLK_I、CLK_T管脚输出的直流偏置电压为2.1V,但由于GP4020的58、59管脚的电平不能大于1.7V,所以在设计时,必须对GP2010进行隔直,同时通过电源给GP4020的58、59管脚提供小于1.7V的偏置电压。
    GP2010的LD管脚接入GP4020的56管脚。当LD管脚由低变高时, 表示射频前端锁相成功, 主时钟(M_CLK 40MHz)已经稳定。
GP2010的PRESET信号接入GP4020的Power_Good管脚,指示当前电源的状况,高为正常,低表示GP4020 进入掉电模式。  
GP2010的SIGN和MAG信号分别接入到GP4020的61和62管脚,将采样后的中频信号(符号和模)输出到相关器。
    GP4020的63管脚连接GP2010的11管脚,将5.714MHz的中频采样信号输出至GP2010。


外部存储器的扩展


    GP4020内部提供了BOOTROM和8KB SRAM,但通常情况下不能满足一个完整的GPS接收机的存储要求,为此,需要外扩Flash和SRAM。
    GP4020提供20位的地址总线和16位的数据总线,以及其他相应的控制信号。它能够提供外界不同带宽数据的接口,而且可以任意设置读或写的等待状态,这使得片内的ARM内核可以连接到几乎所有类型的外存储器或其他并行外设。在本文的设计中,SRAM为CY7C1041CV33,其工作电压为3.3V,存储空间为256K×16位;Flash为SST39VF800A,其工作电压为3.3V,存储空间为512K×16位。


GP4020与SRAM的连接


    SRAM由片选信号NSCS[1]进行选通控制。BHE、BLE分别为SRAM的低字节使能信号和高字节使能信号。本设计中,SRAM工作在16位数据模式下,BHE与GP4020芯片的NSUB引脚相连,NSUB为系统上部字节信号,低电平有效;BLE与GP4020芯片的A0脚相连;WE为SRAM的写使能信号,该引脚低电平时,即对SRAM进行写操作;OE为输出使能信号,低电平有效;NSWE[O]为GP4020的系统写使能信号,低电平有效;NSOE为系统输出使能信号,低电平有效。GP4020芯片与SRAM的连接如图2所示。

 


GP4020与Flash的连接


    Flash与GP4020芯片的连接如图3所示。NSWE[0]为GP4020的系统写使能信号,低电平有效;NSCS[0]为系统片选信号,低电平有效;NSOE为系统输出使能信号,低电平有效;CE为Flash的片选信号,低电平有效;OE为Flash的输出使能信号,低电平有效;WE为Flash的写使能信号,低电平有效(只在Flash进行擦写时才有效)。

 


通信与调试接口


UART接口


    GP4020提供2个UART和1个JTAG接口。UART是双向独立的输入输出接口,它提供一个0~3.3V的逻辑电平,不能和计算机RS232接口相连。为使如果UART与RS232串口通信,必须要有一个电平转换器,把0~3.3V的逻辑电平转换成能与计算机通信的电平。在本设计中,用MAX3232做电平转换器,其接口电路如图4所示。

 


JTAG调试接口


    JTAG调试接口与JTAG仿真器相连,对ARM进行调试。JTAG仿真器也称为JTAG调试器,是通过ARM芯片上的JTAG边界扫描口进行调试的设备。图5为JTAG信号连接图。

 


系统的复位电路


    在系统中,复位电路主要完成系统的上电复位功能和系统在运行时用户的按键复位功能。本设计中的复位电路由简单的RC电路构成,如图6所示。  

 


    在系统上电时,通过电阻R向电容充电,当电容两端的电压未达到高电平" title="高电平">高电平的门限电压时,NSRESET端输出为低电平,系统处于复位状态;当电容两端的电压达到高电平的门限电压时,NSRESET端输出为高电平,系统进入正常工作状态。
    当用户按下按钮时,电容两端的电荷被泻放掉, NSRESET端输出为低电平,系统进入复位状态,再重复以上的充电过程,系统进入正常工作状态。


GP4020其他管脚设计


MULTI_FNIO(54)管脚


    该管脚控制GP4020的启动方式, 若MULTI_ FNIO在系统复位时输入为高,则选中内部Boot ROM,系统启动后,从串口1输入程序代码到内部SRAM中执行;若MULTI_FNIO在系统复位时输入为低,则选中外部Flash EPROM,系统直接执行外部Flash EPROM中的应用程序,这是GPS接收机的正常工作状态。系统设计时,通过设置跳线来选择54引脚MULTI _FNIO的输入值。


TEST(67)管脚和TESTMODE(74)管脚


    这两个管脚一起决定GP4020的测试模式(通过条线来设置),见表1所示。

 


    当TEST=0、TESTMODE=0时,GP4020为正常工作模式。本设计中,将TEST管脚和TESTMODE管脚接地。


NICE(84)管脚和NTRST(90)管脚


    这两个管脚共同控制着GP4020测试接口模式。NICE(84)=0,GP4020内部的ARM7处于测试模式。NICE(84)=1,GP4020为正常的操作模式。具体模式如表2所示。

 


    GP4020的工作模式通过跳线来设计。当管脚NICE和NTRST都为高时,GP4020工作在正常模式下。


软件设计


    GP4020内部的软件设计主要由基带信号处理和导航定位算法两部分组成。基带信号处理主要实现信号的解扩、解调、位同步和帧同步。导航定位算法主要是根据导航电文解算伪距、卫星位置并计算出用户的位置。软件设计主要包括主程序" title="主程序">主程序和中断程序两部分。


主程序设计


    主程序主要由初始化模块和主循环模块组成。初始化模块完成GP4020内部相关器初始化、ARM内的初始化以及串口的初始化。主循环模块主要检测观测量是否更新,如果观测量有更新,则更新估计的多普勒频率和相关器通道的分配,完成对部相关器的控制。图7为主程序流程图。

 


    本文主要介绍相关器模块的程序流程。相关器模块包括相关器控制模块和观测量提取模块。


相关器处理模块软件设计


   相关器处理模块软件工作流程图如图8所示,其主要功能如下:
   (1)读取并存储I、Q通道的积分累加值。
   (2)判断信号是否被捕获。
   (3)更新前20ms内解调数据的采样值之和。
   (4)根据存储的I、Q积分值,更新码、载波指示器。
   (5)如果码环和载波环已锁定,进入位同步操作。
   (6)根据存储的 I、Q积分值,进行码环的跟踪,根据码跟踪环的环路滤波器输出的控制量去调整码DCO。
   (7)在1ms历元计数器为零和位已经同步时,进入帧同步操作,并提取子帧以供主程序的子帧处理模块处理。环己经锁定,进入位同步操作。

 

 


观测量提取模块


    该模块主要功能是在每个TIC时刻,读取相关器内部的测量数据寄存器,获得载波相位、载波周期数以及码相位。其流程图如图9所示。

 


    如果满足码同步、载波同步、位同步和帧同步条件,则读取相关器的码相位、载波相位、载波整周计数,并存取这些观测量,以供主程序中更新导航解模块处理。


系统中断服务程序流程


    中断服务程序流程图如图10所示。中断服务程序是保证GPS实时性的关键部分,它主要完成卫星信号的捕获、跟踪及原始观测量的提取等接收机中的核心工作。GP4020中的相关器中断周期可通过软件进行设置。相关器内部默认中断周期为505us,在不对相关器寄存器进行配置的情况下,每隔505?滋s,相关器发送中断信号,通知处理器进入中断服务程序。

 


    GP4020相关器提供1ms的累加结果。在积分累加器信号累加之后,会产生累加清除信号,清除积分器中的数据。所以进入中断后,CPU首先要锁住各状态寄存器,根据状态值,判断积分累加器有无新数据需要取走,若有,则将数据取出保存,以供后续判决使用。保存完积分累加器中的数据后,进入搜索跟踪环节。进入此环节后,需要根据各通道的状态,转入相应的处理子程序。


系统测试


硬件的测试


   (1)在加电之前,首先测试电路板是否短路,如果没问题,才可给电路板加电。
   (2)根据上述硬件的设计,加电之后测试整个电路板的电气特性,保证每个管脚都正确连接。
   (3)测试从射频前端输入的CLK_I、CKL_T信号,此信号应该是同频反相的40MHz信号,如图11所示。
   (4)测试GP4020的63管脚(SAMPLE)信号,此信号应该是5.714MHz的方波信号,结果如图12所示,这表明GP4020硬件已经正常工作。

 

 

 


软件的调试


    在断电的情况下,将GP4020的54管脚和84管脚设置成低,将调试器通过GP4020的JTAG接口连接到目标板。在GPS接收机加电之后,系统进入调试状态,进行多次调试,使GPS接收机应用软件正常运行。


软件的运行


    将GPS接收机断电,67管脚、74管脚接低电平,84管脚、90管脚接高电平,这样处理器工作在正常模式。同时将54管脚接低,在GPS接收机加电后,系统从外部的Flash启动。这时就可以通过PC机上的串口接收GPS接收机发送的数据。
    本文主要介绍GP4020基带处理器的电路设计和软件设计流程,给出了GP4020重要的输入输出信号的测试结果。由于GP4020的硬件特性,其内部的相关器只提供了乘法器和积分累加器,需要配合软件算法才能完成信号捕获与跟踪。这样,一方面可以更深入地研究接收机的工作原理,另一方面又可根据具体应用而采用不同的软件算法。这样设计出来的接收机具有较好的可扩展性,为GPS接收机的研究提供一个很好的实验平台。
参考文献
[1] 黄勋.基于微处理器ARM的GPS接收机的设计[D].京信息工程大学硕士学位论文,2006.
[2] 李士兵.基于GP4020的GPS接收机软件设计[J].中国惯性技术学报.2006,14(4).
[3] ZARLINK. DM5280. GP4020 GPS baseband processor design manual.2001.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。