嵌入式车载定位系统研究
2010-08-23张文
张 文
ZHANG Wen
(内江师范学院 物理与电子信息工程学院,内江 641112)
0 引言
随着汽车的不断普及,车辆被盗案件也是经常发生,而很多车辆在被盗后很难被追回,给受害者造成巨大的损失。GPS全球定位系统是一个由覆盖全球的24颗卫星组成的卫星系统,这个系统可以保证在任意时刻,地球上任意一点都可以同时观测到4颗卫星,以保证卫星可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。随着移动通信技术的发展,根据目前GSM网络技术成熟,覆盖面广的特点,合理有效的利用GSM网络资源,可以避免组建专用数据传输网络的成本高、通讯距离短、通讯效果差等诸多难题。鉴于此提出了将GPS定位器与GSM通信相融合的定位系统设计,该定位器可以将获取的GPS位置以及运动速度等信息,经过处理后通过GSM网络以短消息的形式发送到指定的手机用户。一旦发生车辆被盗情况,就可以迅速定位车辆的位置,为案件的侦破提供至关重要的线索。
1 系统设计
在无线方面考虑到数据的传输量不大,且只有特殊情况下才会进行通信,因此利用短消息传输足以胜任。车载GPS定位系统主要由定位器和手机用户端组成。定位器主要完成获取车辆所在的经纬度、运动速度和方向等信息,并把这些数据通过GSM网络以短消息的形式发送给指定的手机用户端;手机用户端将收到的经纬度导入到专用的电子地图软件,从而能够直观准确的得知车辆所在的具体位置。系统构成如图1所示。
图1 系统构成
系统主要实现两大功能:1)获取位置。当向定位器发送获取位置指令时,定位器会以短消息的形式返回位置信息;2)超限报警。当车辆超出预设的区域后自动给指定手机发送具体位置的报警短消息。
2 定位器硬件设计
定位器的硬件主要由控制器LPC2129、GPS模块、GSM模块、天线以及供电管理单元等组成,硬件构成如图2所示。
图2 硬件构成
表1 GPS最小GPS数据格式
2.1 微处理器LPC2129
LPC2129是飞利浦公司推出的一款支持实时仿真和跟踪的16/32位ARM7 TDMI-S内核的微控制器,它带有16K字节静态RAM和128k字节嵌入的高速Flash存储器,在64脚的封装中,可使用GPIO多达46个;4路10位A/D转换器,转换时间低至2.44us;实时时钟和看门狗;通过片内PLL可实现最大为60MHz的CPU操作频率,丰富的片上资源能够满足一般的工业控制的需要。LPC2129不仅工作稳定,运算速度更快,而且具有双串口非常适合此方案[1]。
2.2 GPS模块LR9548S
本设计方案采用当前领先的GPS技术,利用集成的定位芯片LEADTEK LR9548S,它是一款专为OEM应用设计,具有高灵敏度、低功耗、20通道的GPS接收模块。GPS9548相比其它的独立的GPS解决方案,能使用户在很低的信号强度下获取并连续的追踪GPS信号,这意味着它可以使用在以前认为不可能使用的环境下,比如林立的都市大厦中、茂密的树林中、车库中和许多室内环境下,定位精度小于10米[2]。只需在外围加上相应电路即可通过串口输出T包括时间、经度、纬度、速度、运动方向等位置信息。
2.3 GSM模块TC35i
TC35i是西门子公司推出的一款无线通信模块,并且已取得国内无线电设备入网证,工作在GSM900和GSM1800双频段,功耗分别为2W和1W;电源范围为直流3.3~4.8V;电流消耗:休眠状态为3.5mA,空闲状态为25mA,发射状态为300mA(平均),峰值为2.5A;该模块集射频电路和基带于一体,向用户提供标准的AT命令接口,为数据、语音、短消息和传真提供快速、安全可靠的传输。TC35i模块的数据输入/输出接口实际上是一个串行异步收发器,符合ITU-T RS232接口标准,它有固定的参数:8位数据位和1位停止位,无校验位,波特率在300bps~115kbps之间可选[3]。TC35i模块的命令接口完全符合GSM07.05和GSM07.07规范,通过微处理器LPC2129的串口1向TC35i模块的串口发送标准的AT指令来完成定位器短信收发的功能,从而实现与外界手机用户通信。
3 数据的解析和命令定义
GPS数据的分析提取以及短消息命令协议的定义是系统的两个重要组成部分。
3.1 GPS数据格式NMEA-0183
LR9548S模块遵循美国国家海洋电子协会制定的NMEA-0183通信标准格式,常用语句有6种,包括GGA、GLL、GSA、GSV、RMC和VTG。本系统只关心其时间、经纬度、地面速度以及运动方向信息,因此只处理最小GPS数据格式RMC记录语句:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11><CR><LF>
表1为RMC最小格式。在测试LR9548S模块的数据输出时,其默认速率为9600bps,发送时间间隔为1s。在进行识别、分解、解析各字段时以逗号分割符“,”作为各字段的分割标志,提取所需GPS数据信息。
3.2 短信命令协议
收发短消息分三种模式:BLOCK、TEXT和PDU模式。其中只有PDU模式支持中文,可以使用三种编码:7-bit编码、8-bit编码和UCS2编码。7-bit编码用于发送普通的ASCII字符;8-bit编码通常用于发送数据消息,如图片或铃声等;UCS2编码用于发送Unicode字符。由于在系统中要实现中文短消息的发送,所以选择用UCS2编码,即中文Unicode码,这种模式被所有手机支持,也是手机默认的编码方式,通过UCS2编码得到中文Unicode码,接着就可以进行发送PDU串了[4]。PDU串除了包含所发送的消息本身外,还包含很多其它信息,如服务中心号码、目标号码和编码方式等。
手机用户端给定位器发送指令要遵循一定规则才能被识别。表2为短消息内容命令格式。1)6位数字密码。只有通过密码确认后才有权限操纵定位器执行命令;2)命令。用于指示本次要执行什么操作;3)参数。根据命令的类型,参数也有所不同。
表2 消息内容的命令格式
4 软件设计
LPC2129控制器在运行主程序前必须初始化运行环境,即为编写ARM芯片启动代码,包括异常向量表、堆栈初始化、存储系统初始化和目标板初始化等,一般用汇编语言编写。软件设计关键是编写功能子函数,程序通过调用各子函数实现对应的功能,主要包括四部分:GPS数据的解析和提取、PDU短信编解码、短信的接收和发送、命令的解析和执行[5]。图3为程序流程图。
图3 程序流程图
设备开机后定位器首先进行初始化,包括控制器LPC2129的功能管脚选择、串口工作方式设置、中断向量、TC35i的初始化以及工作模式设置等。接下来程序进入循环执行命令的五个环节:1)检验GPS数据是否有效。等待GPS接收机模块LR9548S接收到有效的数据为止,同时点亮GPS指示灯,如果是无效的GPS数据指示灯就一直显示熄灭状态;2)检验是否超限。如果超限即刻发送一条短信至预先设定好的手机用户。3)检测是否收到新短信。如果没有收到新短信,则返回1),如果收到新的短信,则要到新短信的存储位置读取,并对接收的短信内容进行PDU解码。4)验证密码。如果密码错误或者为非指令短信,则删除该条短信并返回1)。如果密码正确就开始解析短信命令,并执行相应的命令子程序。5)处理完毕后,删除短信。以免出现存储空间装满无法接受新短信的情况。
5 结论
嵌入式车载定位系统是GPS与GSM网络技术完美结合的结晶。该系统体积小、工作稳定可靠,一旦发现车辆丢失后,可迅速向车载定位器发送定位指令,将手机接收到的经纬度数据输入到Google地球电子地图软件的搜索栏后,点击搜索按钮,图上就会立刻直观显示当前车辆所在位置,能为案件的侦破提供重要的线索。
[1]刘玉民,焦彦军,石美传.基于ARM的CAN网络打印服务器设计[J].国外电子元器件,2008(05):11-13.
[2]陈玲玲,刘凤鸱.基于嵌入式微处理器的GPS定位系统[J].吉林化工学院学报,2009(03):43-45.
[3]李瑞峰,顾义坤.于GSM/GPRS 网络的家用机器人远程监控系统设计[J].制造业自动化,2006(10):71-73.
[4]李家福,余立建,等.基于GSM网络的智能监控模块设计[J].国外电子元器件,2005(12):63-65.
[5]张绍兵,郭继坤,赵艳芹.基于CAN总线智能适配卡的软硬件设计[J].计算机测量与控制,2008(16):45-47.