目前,GPS定位信息传输系统已经广泛应用在生产生活的各个领域。警车、出租车、火车、长途运输车都可以看到它的踪影。目前存在的这些GPS定位系统的信息传输大都是基于手机短信息,即GSM业务的。虽然它已经被广泛使用,但是这种业务还存在着一定的缺点:除了费用高之外,它的最大的缺点是延迟时间太长,这有可能产生较大的误差,甚至可能导致事故发生。
利用中国移动开通的GPRS业务(General Packet Radio Service,通用无线分组业务)就可以较为圆满地解决上述问题。GPRS建立可靠的数据链路以后,就相当于使用专线直接接入Internet网络,使用可靠的网络协议进行数据传输,保证了数据的稳定可靠和迅捷,同时相对于GSM而言,GPRS的成本费用是按照数据量计算的,价格低廉。
如今,随着GPS技术的成熟和中国移动GPRS业务的推出,使在手持式嵌入式设备中使用基于GPRS的GPS信息传输系统成为可能。本文选用了联想生产的XP100 PDA作为主机,外部开发了GPS和GPRS模块,实现了GPRS/GPS/PocketPC功能三合一。
ITrax02模块
ITrax02是FastraX公司生产的GPS接收机。模块外观参见图1:其技术指标如下:
接收机:L1,C/A码字
更新速率:1Hz(可以用户配置)
通道:12个
电压:+2.7V―+3.3V(对VRF和VBB分开供给电压)
功耗:130mW@2.7V
遵循的协议:NMEA-0183 V3.0.
尺寸:25.9 25.9 4.6mm(W L H)
重量:4g
选用它基于以下特点:
尺寸大小适合手持;
功耗相当低;
遵循NMEA协议。其功能框图见图2,iTrax02模块内部集成了两块处理器芯片、一片flash及相应的外围电路。uN8021B,GPS接收机RF 前端处理器,接收RF信号,进行模数转换;uN8031B GPS接收机基带端处理器,实现相应的算法。相关的算法实现程序都集成在了flash里。
同时iTrax02模块给用户提供了40个引脚的接口,这些接口主要有:
串行接口部分:用以传输GPS数据和主机下发的命令
供电接口部分:VBB和VRF,为iTrax02的两个处 理器供电
RF输入部分: 天线信号输入
SPI接口部分:用以对uN8021进行相应的控制
CMS91-900/1800模块:
CMS91-900/1800模块是CELLon公司生产的GSM/GPRS接收机
该模块外观参见图3:
该模块主要的技术指标:
尺寸:35 35 5mm (L M H)
重量:10.5g
功耗:max:970mW (Talking Time) max:10.59mW(Standby Time)
其功能框图参见图4:
该模块以一个基带的状态机为核心,配合了天线和接收机模块、FLASH、RAM、电源管理模块、电源切换模块、SIM卡接口模块、扬声器和耳机接口模块、麦克风接口模块、蜂鸣器模块、LCD和LED接口模块、背光和键盘接口模块、异步串口、并口、I2C模块等。同时,该模块给用户提供了一个80引脚的插座,提供了以下接口:
双向异步串口界面
双向I2C界面
JTAG口
SIM接口
LCD接口
耳机和外部扬声器接口
蜂鸣器输出
MIC接口
电池供电接口和电池充电接口
系统构成
电源部分:
电源部分是关乎到CMS91和iTrax02能否正常工作的关键, 选择芯片必须非常注意。
a.PDA设备为整个系统提供电源,同时也可以提供外部的电 源接口,使用随身携带的蓄电池。
b.iTrax02模块需要两个独立的电源分别给RF级和BASE级 供电(VBB和VRF),选择线形电压调整器件的原则是满足 iTrax02模块的功率要求和纹波要求,iTrax02模块要求电源纹波<0.2mVp-p,否则可能会严重影响接收精度;这里选择了TI公司的Tps77127和ANALOGIC TECH公司的Aat3321。
c.通过一个线形电压调整器件对CMS91供电,为了满足功率要求,这里选择了Motorola公司的LM2576。
CMS91外围模块:将麦克风、耳机和扬声器、SIM卡都接到相应的CMS91的引脚上去。
UART口:CMS91模块和iTrax02模块与主机 的通信都是通过3.3V TTL 电平的UART口。PDA对应的串口一般也都是3.3V的,否则需 要加电平转换芯片。例如,如果使用笔记本电脑作为主机端,必须在串口端加上RS232 转换芯片。CMS91模块通过AT命令集与主机进行通讯;iTrax02模块通 过NMEA 0183协议 与主机通讯。这些协议都是需要软件完成的。
天线选择:强烈建议选用FastraX公司和CELLon公司推荐的天线型号,一般天线是免费赠送的。
开发方法
本系统使用了联想生产的XP100 PDA产品,Wince操作系统,开发环境使用embeded Visual C++,该开发环境可以开发ARM、MIPS、PPC、SH3、SH4、X86em嵌入式CPU。具体开发方法和编写Visual C++相同。
模块数据格式
GPS数据格式
iTrax02支持NMEA-0183输出格式。该协议信息如下:
GGA位置测定系统定位资料
GSV 导航卫星资料
RMC导航卫星特定精简资料
VTG 方向及速度等相关资料
由于文章篇幅问题,笔者在这里只以接收GGA数据为例,
格式如下:
$GPGGA,hhmmss,dddmm.mmmm,a,dddmm.mmmm,a,x,xx, x.x,x.x,M,,M,x.x,xxxx*CS 例:$GPGGA,033744,2446.5241,N,12100.1536,E, 1,10,0.8,133.4,M,,,,*1F 说明见表1
从上面的例子中,我们可读出位置信息:北纬24度46.5241分,西经121度00.1536分格林威治时间:3点37分44秒
CMS91-900/1800命令格式
可以参考标准的V.25ter AT命令集格式编写串口程序,这里不再赘述。
结束语
按照本文给出的技术方案,掌握必要的硬件设计和软件编程方法,购买相应的手持式数据终端(可以是PDA也可以是其他的嵌入式设备,只要具有两个以上的串口就可以了),就可以实现手持式的全球定位通讯系统。如今随着全球定位系统、网络和移动通信的发展,将GPS和GPRS结合在一起,既实现了定位,同时又可以实现远程的控制。