吴志华1,2
(1.北京航空航天大学 宇航学院 北京100083
2.中北大学 电子与计算机科学技术学院 山西太原 030051)
申功勋1 唐李征1
(1.北京航空航天大学 宇航学院 北京100083)
摘 要为了解决GPS的在卫星信号微弱或没有卫星信号的情况下的定位问题,本文提出了基
于GPRS网络的辅助GPS定位系统。讨论了该系统的硬件组成及软件的设计。详细论述了辅助
定位的原理及其实现,经测试表明本系统的实现不仅可以提高第一次定位时间,还可以提高
GPS接收机的定位性能,同时为国内AGPS的研究奠定了基础。
关键词 辅助GPS 通用分组无线业务 辅助定位原理
随着全球定位系统的不断改进,软、硬件的不断完善,应用领域正在不断地开拓,目前已遍及国民经济各种部门,并开始逐步深入人们的日常生活。随着卫星导航定位设备的小型化甚至芯片化,各种嵌入式电子产品种类极大丰富,并与人们的生活越来越紧密地结合在一起。
随着移动GPRS业务的开展,利用GPRS来进行GPS数据传输的优势慢慢的显现出来。相对于传统的远程传输方式(例如通过电话拨号)来说,GPRS数据传输具有突出的优点。一方面,GPRS资费比较便宜,可以采用多种资费方案。此外,GPRS网络接入速度快,提供了与现有数据网的无缝连接。由于GPRS网本身是一个分组型数据网,支持TCP/IP、X.25等协议,因此无需经过PSTN等网络的转接,就可以直接与分组数据网(IP网或X.25网)互通[1],而且接入迅速,仅需几秒,快于电路型数据业务。目前,集成了卫星定位设备与移动通信组件的移动监控终端产品是一类特殊的应用产品,是移动目标监控系统的关键部分。 1 GPS及AGPS原理
1.1 GPS定位原理
GPS全球定位系统是以卫星定位为基础的无线导航系统,其定位是通过使用24颗卫星组成的星座来实现,它利用卫星信号的接收时差计算卫星与接收机的相对距离,从与不同卫星的相对距离,利用三角定位来计算接收机的位置(经度、纬度和高度)。它一般需要4颗或以上的卫星信号,要求上空基本没有遮挡,需要相对较长的捕获时间(Acquisition Time),它的“冷”启动时间较长,即便在信号无差错的情况下业需要12.5分钟的时间解调所有卫星的数据,当上空有遮挡时,需要更长的时间。它最主要的特点在于GPS通过卫星导航定位可实现全能性(海洋、陆地、航空、航天)、全球性、全天候、连续性和实时性导航、定位功能,为用户提供精密的位置与速度信息。
1.2 AGPS定位原理
传统的GPS定位,完全依赖于GPS接收机本身对GPS卫星信号的接收情况来进行定位。但是缺点在于采用GPS直接对接收机定位,首次锁定时间有可能需要10分钟左右,并且依赖于接收机能看到什么样的卫星星座,同时在GPS卫星信号很弱,室内、城市的狭窄楼宇之间使用GPS时会出现问题。为了解决这个问题将卫星导航与无线蜂窝融合形成的新技术,即辅助GPS(AGPS)它将GPS与无线手机组合在一起,利用辅助GPS作定位,传输一些辅助数据,这样可以大大缩小代码搜索窗口和频率搜索窗口,使得定位时间降至几秒钟。辅助GPS是网络辅助GPS,与的GPS相比,以网络为核心的方法能够提供更快的首次锁定位置的时间TTFF,它使用固定位置GPS接收机获得移动终端的补充信息数据,辅助数据使移动用户接收机不必译码实际消息就可以进行定时测量。AGPS现在已作为移动定位候选技术,正在成为基于AMPS和IS-95蜂窝电话的标准。并且即将有可能被TDMA标准所采纳。
目前的GPS接收机很少提供A-GPS的支持,因为A-GPS系统的需求很高建立的成本也很大。国内目前在大多数情况下,GPS接收机是采用GSM短信的方式,通过SMS传输数据的,而很少通过TCP/IP传送。而GSM方式存在着一定的不足如:传送时间不确定;信道容量有限;通信费用昂贵;可扩展性差等。而GPRS网络在数据传输方面有着的它的优势,相对于GSM拨号方式的电路交换数据传送方式,GPRS属于分组交换的技术范畴,同时具备实时在线、按量计费、快捷登陆、高速传输和自如切换等优点。根据对国内AGPS 情况的研究并通过分析,本系统提出了采用GPRS为主,并在GPRS暂时无效的情况下辅助GSM的方式来传输GPS定位数据及接收控制中心辅助信息和控制命令。系统原理图如图1所示:
图1 AGPS定位原理图
本系统中有两种辅助定位方式。一是采用GPS接收机本身带有的8K Flash。把卫星信息从GPS信号提取出后存储到Flash中,只要接收机上电,GPS时间就从内部时钟模块获得。同时在Flash中还存储有最后的定位位置(即上次定位时最后定位的有效位置),如果两次定位的时间相隔不长(不超过20分钟),并且接收机移动的位置也不远,则下次定位的时间就会大大的缩短。因为在Flash中存储的星历信息还是有效的,能够据此计算出可见卫星位置,就可以有目的的搜星,避免了满天搜星时的时间浪费。而且最后定位信息的存储也可以用于位置的估算。
二是在以上情况不满足时,并且接收机自身不能获取GPS卫星信号,此时采用网络辅助功能来进行辅助定位。
应用层
传输网络层 链路层 硬件接口 2 系统硬件组成
目前能够提供AGPS 功能的终端,采用的大多数为双CPU 结构,使用的是带有协议栈
的Modem ,体积大,耗电高,价格昂贵并且携带不便。针对以上情况,本设计采用单CPU
结构,并采用节电方式,使得系统耗电低,选用不带协议栈的无线GPRS Modem ,把GPS
接收机与无线GPRS Modem 集成到一起,缩小了体积,降低了价格, 并且携带方便。
其中GPS 接收机主要包括以下几部分,射频芯片,基带芯片,16位VS_DSP 处理器,
8Mflash,96kRAM ,16kROM 等。带实时操作系统的GPS 接收机与无线GPRS Modem 模块
的集成是通过RS_232进行连接的。系统硬件示意图如图2所示:
图2 AGPS 客户端硬件示意图 3 软件设计及实现
本系统中AGPS 实现的原理是在控制中心设有一个功能很强的GPS 接收机,它能够很
好的接收GPS 卫星信号,并存储卫星信息,并能够通过Internet 网络进行传输。客户端在
不能获得有效卫星信息定位时,可以通过GPRS 拨号上网,向控制中心请求卫星定位的辅
助信息,然后根据接收到的卫星星历及时间信息,进行时间同步后确定自己的位置,从而
达到辅助定位的功能。根据目前移动公共网络信号稳定、收费较低廉、容易扩展等特点,
作为GPS 接收机和服务中心的通信网络具有很大的优势。这种辅助定位的实现对于提高
GPS 接收机定位性能具有很大的意义。
该设计方案中采用无协议栈的GPRS Modem ,软件部分主要完成客户端与中心的无线
通信功能并且能够对接收到的中心数据及指令进行解析处理。
3.1 TCP/IP协议栈的实现
TCP/IP 协议栈的层次框图如图3
图3
PPP
各层功能的实现:
(1)应用层协议采用XMPP 协议,它是一种即时通信协议,以XML 流为数据传送格式,
符合“在线“模式[2],而且XML 格式是纯文本格式,易于解析和理解。XMPP 协议的建立
首先要初始化流,它可以看作是建立开始端与接收端的会话(session );然后进行流认证和
资源绑定,资源绑定后进入到在线状态(
据了。传输的XML 流主要包括GPS 接收机提供的定位数据,它是利用xml_form()函数生
成的XML Message 数据;在GPS 卫星信号不能获得时发送星历请求信息,它是通过生成
的XML IQ 数据传输的;接收的信息包括控制中心提供的辅助信息和控制命令,也是通过
XML Message 形式传输的,该客户端能够通过xmlparseers.c 程序进行解析并进行响应处理
处理。XMPP 应用层与UIP 传输网络层的接口是通过在XMPP 初始化时设置设置TCP/IP
协议监听端口为XMPP应用5222。并在xmpp.h中用语句#define UIP_APPCALL xmpp_appcall定义XMPP_Appcall()为TCP/IP应用层处理函数,并定义它的状态。这样,
每当UIP发生某种事件时就会调用它,例如接收包中有新数据、收到回应包、超时等。
(2)传输网络层协议采用一种小型TCP/IP 协议——uip0.6,它适用于小型嵌入式系统的使
用代码量小,占用内存空间小,适合在原系统中嵌入。TCP/IP 协议栈的实现本系统采用了
开放源码UIP0.6它使用基于事件的编程模式,在响应一定的事件时,应用被当作被UIP 调
用的一个函数来实现。在接收到数据、数据被成功的发送到连接的另一端、建立了新的连
接或者数据被重发时,UIP 调用应用。应用程序仅提供一个回叫信号函数,由应用来处理
映射不同的网络设备到不同的端口和连接[3]。UIP 与应用层及底层的接口关系如图4所示:
(3)链路层采用点对点协议PPP 协议,它是一种拨号上网协议,在本系统中通过它向移动
网进行GPRS 拨号上网。链路层的实现采用PPP 协议。PPP 运行在硬件接口之上,它提供
LCP 、PAP 、和IPCP 协商所需的合适机制。
3.2 底层驱动的实现
GPRS Modem 驱动:GPRS modem 驱动,通过串口向Modem 发送A T 命令。主要发
送的A T 命令有transmit("AT+CGDCONT=1,IP,\\"CMNET\\"\\r"),进行网络配置。
transmit("ADT*99***1#") 进行GPRS 的拨号上网
串口驱动:使用RS-232串口标准,调用VS_DSP 中提供的系统API 实现。用到的基
本的API 如读串口PORT_ReadByte(_pUserPort, &buf),写串口PORT_WriteByte(_pUserPort,
&buf)。
在GPS接收机系统中增加了现在的通信功能后,为AGPS的实现提供了基础。根据定位系统提供的不能定位标志,进行辅助信息申请,向中心发送辅助信息请求,并仿照ICMP 协议的时间戳方式来同步时间。中心发送辅助星历、GPS时间等辅助信息到GPS客户端,GPS客户端将接收到的辅助信息存储到Flash中,以备导航解算任务利用这些信息进行计算,这样提高了搜星速度,从而达到快速定位的目的。其他的控制信息通过xmlparsers.c 函数解析处理。
4 结论
通过全面的测试试验,该系统连接上网的速度很快,仅需3秒左右,能够及时传输GPS 定位数据,传输速率达到146kb/s并能及时接收控制中心下达的控制命令及辅助定位信息,使得GPS接收机在冷启动时的首次定位时间最快可达到十几秒,快速启动模式时能达到3秒,并在GPRS短暂失效时能启用备用的GSM短信方式传送定位数据以达到传送数据的不间断性。
该系统的实现,在国内AGPS的研究方面是一个尝试,它的实验成功为以后此领域的研究奠定了一个基础。
参考文献
1 韩斌杰. GPRS原理及其网络优化 [M]. 北京:机械工业出版社,2003
2 P. Saint-Andre, Ed., RFC3920 XMPP core, October 2004
3 Adam Dunkels. uIP-AFree Small TCP/IP Stack. http://dunkels.com/adam/uip/
基于GPRS的AGPS客户端的设计与实现
作者:吴志华, 申功勋, 唐李征
作者单位:吴志华(北京航空航天大学,宇航学院,北京100083;中北大学,电子与计算机科学技术学院,山西太原,030051), 申功勋,唐李征(北京航空航天大学,宇航学院,北京100083)
本文链接:http://d.g.wanfangdata.com.cn/Conference_6144402.aspx
授权使用:武汉大学(whdx),授权号:56529a-6f19-4616-b787-9e36014f493d
下载时间:2010年11月22日下载本文