GPRS与GPS在汽车信息服务系统中的设计应用
[复制链接]
摘要:本文分析了基于嵌入式处理器(Intel SitSang)的汽车信息服务系统。该系统由ARM9嵌入式处理器模块、GPRS模块、GPS模块、汽车安防信息采集和内部故障检测模块、LCD显示模块以及中心台等部分组成。重点介绍了GPRS模块和GPS模块的嵌入式开发,以及如何应用这两个模块实现短信息收发、定位信息的采集和电子地图显示、定位信息和汽车状态故障信息的传输、用户和控制中心台实时的交互、Internet的实时接入与通信等系统功能,实现了一种智能交通系统的可行方案。 关键词: GPRS;GPS;嵌入式;AT指令;汽车信息服务系统 一、引言 据权威统计数字,到2003年底,全国汽车保有量为24211615辆。随着中国经济的高速发展、人民生活水平的不断提高,中国汽车保有量在未来很长一段时间内必然保持上升的趋势;信息技术的快速发展,越来越多的人开始享受信息技术给他们带来的便利;市场的进一步开放,国际汽车商的介入,国内厂商面对竞争压力势必会考虑进一步提高国产车的性价比,以良好的汽车增值服务吸引一部分消费者;同时国内的第三方物流企业数量不断增多,但是如何提高其服务的质量和透明度无疑是让这些企业生存下来的关键。正是由于这些因素的存在,使得基于汽车行业的增值信息服务必将具有广阔的市场前景。 本文介绍的基于Intel公司嵌入式处理器(Sitsang)的汽车信息服务系统结合了Sony Ericsson公司的GPRS模块和龙熙电子公司的GPS 模块,完成了GPS定位数据的采集和电子地图显示、GPS定位数据的远距离大容量无线传输、汽车状态和故障信息的采集和远距离无线传输、系统与Internet的实时接入与通信、系统与车主的实时联系与控制等功能。 由于在系统的实现过程中需要实时的将大量数据传输到Internet上,因此系统充分发挥了GPRS通用无线分组的优势:频率利用率高;数据传输速率高;动态链路适配;用户处于永远在线状态;接入速度快;支持IP协议,可与数据网络互连互通;根据传输数据的流量计费。而利用简单的AT指令就可以控制GPRS模块与固定IP的连接以及大量数据的传输。 二、系统总体设计 整个系统主要由四大部分组成:GPRS-GPS单元、汽车信息采集与检测单元VICD (Vehicular Information Collection and Detection)、ARM9嵌入式处理器单元(Intel SitSang)及其外围电路、控制中心台单元CC (Control Center)。系统总体设计框图如下图(一)所示。 GPRS-GPS单元中的GPS模块接收卫星定位数据,可以同时在车载单元的LCD屏和中心台的显示屏上实现电子地图的实时定位导航;GPRS模块实现车载单元与Internet之间的数据交换,交换的数据除了定位数据之外还包括车辆安防信息、车辆故障信息、用户与中心台的短信联系、中心台提供的各种资讯等。 汽车信息采集与故障检测单元VICD实现汽车安防信息的采集、用户通过手机对汽车进行控制以及OBDII汽车故障检测;ARM9处理器(Intel SitSang)是车载单元的控制中心,选用WinCE操作系统,在LCD屏上实现了车辆的GPS全球定位、GIS电子地图导航并且控制各个部分的协同工作;控制中心台Control Center实现对入网车辆的跟踪调度以及各种信息的及时收集、更新、反馈、控制等。
三、车载单元中GPRS与GPS的联合应用 1、GPRS/GPS模块 GPRS模块选用Sony Ericsson公司的GR47。该模块是Sony Ericsson公司推出的新一代GSM通信模块,支持端对端、端对用户的通信方式,支持SMS、GPRS等数据传输和语音呼叫。模块提供了非常完整的使用接口,包括三路串行数据通信接口、SIM卡接口,内嵌TCP/IP协议栈,串口支持GSM07.10协议,波特率可调,默认AT指令的波特率为9.6kbps。 GPRS模块的UART A是一个全双工的RS232口,支持所有在线与非在线的通信方式,并且所有需要无线发送的数据必须要通过该串口进入模块的发送单元,同时该串口上还有RTS、CTS、 DTR、DCD、RI、DSR等控制信号线,其中的DTR引脚用来从硬件上控制GPRS模块数据态和命令态的切换;UART B可以用来接收一些特殊的串行数据,比如接收GPS数据或者下载软件,并且UART B在AT指令的控制下可以将接收到的GPS等数据直接从UART A输出;UART C是用来作为对模块进行嵌入式开发用的,一般不用; GPS模块选用龙熙电子公司的DJR10。该模块支持NMEA0183通信协议,采用最新GPS核心技术,SnapLock技术提高了接收板再捕获性能,通过预存的卫星PRN码,迅速捕获卫星,并快速解算卫星C/A码,仅需0.1s ,采用双RS-232兼容串行口,1200-38.4kbps,数据格式为NEMA V2.0 ASCII/二进制可设置,位置精度25m,速度精度0.1m/s。 2、GPRS/GPS在系统中的工作原理及方式 ARM9处理器(Intel SitSang)的UART A与GR47的UART 1相连,UART B与汽车信息采集与检测模块(VICD)相连,这两路连接在实际通信时都必须加上电平转换电路,即有一个TTL电平和RS232电平的转换过程。GR47与DJR10的连接也是通过串口连接。 GR47使用GPRS功能与用户或者中心台进行无线通信时分为主动通信和被动通信两种。 在主动通信模式下,GR47在SitSang板的控制下做以下的工作:(1)根据程序设置,每隔一定的时间S,在AT指令的控制下,将GPS定位数据发送到Internet上,中心台直接从Internet上获取这些定位数据在特定的显示装置上进行电子地图显示和导航;(2)在汽车发生被盗被破坏等特殊情况时,GR47可以在第一时间将这些被盗被破坏的信息及时的发送的中心台和用户的手机上,便于中心台和用户进行判决和必要的防护。 在被动通信模式下,GR47将收到的来自中心台或者用户的命令提供给SitSang板,处理器根据这些命令,可以及时与VICD模块进行通信,将获取的汽车安防状态数据发送给中心台或者用户手机;同时,系统在接收到中心台或用户的检测指令后,直接通过GR47将汽车的OBDII检测信息及时的发送到中心台,指导汽车的及时维护和故障情况下维修人员对汽车进行的检修;另外系统也会根据用户的需求,发送请求信息到中心台,获取天气情况、道路拥挤状况等实用资讯。 DJR10模块支持NMEA0183通信协议,配合GPS接收天线可以完成实时接收GPS卫星定位数据。对DJR10进行硬件上的必要配置,只要系统一上电,模块就开始自动的接收GPS卫星定位数据,然后从GPS模块的数据口输出到GR47的UART 2,供GR47对定位数据的需要随时提取。 测试中接收到的一组GPS卫星定位实验数据: $GPGSV,3,3,12,13,19,268,,28,17,091,,01,08,200,,26,06,310,*73 $GPRMC,133554.999,V,3116.7486,N,12127.1579,E,,,040804,,*15 $GPGGA,133555.999,3116.7486,N,12127.1579,E,0,04,12.6,0.2,M,,,,0000*35 $GPGSA,A,1,03,08,15,19,,,,,,,,,14.9,12.6,7.9*30 上述的数据中,有效信息包含了地理信息、卫星信息、速度信息、时间信息、系统状态等。为了在接收到的GPS数据中提取出有效的经度、纬度、UTC时间和其他一些辅助信息,只要识别一条$GPRMC记录就可以提取出所需要的信息。根据NMEA0183通信协议中对$GPRMC记录的格式规范,从上述实验数据可以知道,该测试点的纬度是北纬31.167486度,经度是东经121.271579度,速度为0哩/小时(静止物体),UTC时间为133555.999。 3、AT控制指令 GPRS模块GR47工作在两种状态:指令态和数据态。 指令态的功能主要有两种:(1)发送AT指令;(2)接收GPS数据及相关反馈信息。SitSang板通过UART A发送相关AT指令到GR47模块,可以实现GPS卫星定位数据的接收和GR47与Internet的连接。 指令态的系统控制: (1) 接收GPS数据: 发送:AT*EENMEA=2 ;GPRS模块开通NMEA服务,GPS数据通过串口从GR47到 ;SitSang板的内部缓冲区 反馈:OK ;GPRS模块返回值 发送:AT*E2NMPR=3 ;GPRS模块设置GPS数据的波特率为4800bps 反馈:OK ;GPRS模块返回值 (2) 建立GR47与Internet的连接: 发送:AT+CGDCONT=1,"IP","CMNET" ;GPRS模块开通TCP/IP服务 反馈:OK ;GPRS模块返回值 发送:AT*E2IPA=1,1 ;GPRS模块分得固定虚拟IP地址 反馈:OK ;GPRS模块返回值 发送:AT*E2IPO=1,"202.121.192.12",2020 ;连接服务器,IP地址必须是外网地址 反馈:CONNECT ;GPRS模块返回值,此时表示进入了数据态 在指令态AT指令的输入过程中,GR47的反馈除了"CONNECT"之外,一般正常运行情况下都是反馈"OK"。如果反馈的是"ERROR",则必须要重新发送相关指令。 数据态是指GR47反馈"CONNECT"信息之后,GPRS模块已经和服务器终端建立了固定的端到端的连接通路,双方可以进行数据的交换。ARM处理器此时只要将需要发送的数据送入UART A,则服务器终端就可以接收到数据。当然,服务器端也可以发送相应的数据到车载单元。但是必须注意,此时处于数据态,所有的AT指令都已经无效,即使还是处于GPS数据的接收中,数据也无法更新,因为此时GPRS模块通过UART 1只和服务器端有连接,对其他端口和数据都是不响应的。 指令态到数据态的切换通过上述AT指令实现;数据态到指令态的切换通过硬件实现。由ARM处理器通过UART B发送相关指令给VICD模块,其中的PIC单片机给GR47的DTR引脚发送一个高电平脉冲,使得GR47从数据态自动的切换到指令态。此时UART A 将会接收到模块的反馈值"OK"。 此外,AT指令的控制还实现GR47和用户手机之间短信息的沟通和联系。控制指令如下: 发送:AT+CMGF=1 ;设置短信模式为TEXT,如值为0则是PDU模式 反馈:OK ;GPRS模块返回值 发送:AT+CNMI=3,2,0,0,0 ;设置通过SIM卡接收短信 反馈:OK ;GPRS模块返回值 发送:AT+CMGS="13*********" ;向号码为13*********的手机发送短信 反馈:> ;GPRS模块返回值 AT+CMGS="13*********"有效返回值是">",在收到这个返回值后就可以输入想要发送的内容,内容输入完成之后要输入键盘的"Ctrl+Z",作为发送完成的标志,此时又有两种可能的返回值: +CMGS:199说明发送成功(199是发送成功的返回参数);+CMS ERROR:<err>说明发送失败(<err>是一个指示发送失败原因的参数)。 4、ARM9与GPRS实时通信实现主控功能 在ARM9与GPRS实时通信过程中,应注意以下问题:(1)GPRS对AT指令的反馈信息除了OK或ERROR,还会有其他的字符,检测反馈信息时候程序要能够严格区分。(2)实现某个GPRS功能需要发多条AT指令,要使检测具体某条指令的反馈信息不出错,必须对缓冲区频繁地清空,保证在检测时缓冲区只有最近所发指令的反馈信息。(3)系统设置为每S秒发送一次GPS数据,但是由于网络不确定性,可能出现S秒内不能完成GPS数据的发送,导致系统无法及时更新定位信息,所以需要对接收到的信息进行判断,以便做出强制性的数据需求。另外,在GPS定位信息等数据的收发过程中都要及时的清空接收和发送缓冲区,以便数据及时更新。 四、系统测试 在系统样机测试中,各个部分工作正常且很好的完成了系统设计的各项技术指标。本系统采用了GPS卫星定位和GPRS通用无线分组业务相结合的技术思路,很好的发挥了两者的长处:定位及时准确、大量的数据传输高效快速、硬件电路设计简单,串口收发控制合理等;建立了基于GSM网络的汽车防盗和故障监测系统,极大的提高了整车的性价比,简化了汽车防护过程和汽车维修时间;同时,采用ARM9作为系统的处理中心,速度快,接口多,功耗小,对汽车用户来说在操作系统上进行控制比较直观简便。整个系统在汽车用户、汽车终端和远程中心台之间建立了一种全方位、实时、准确、高效的智能化汽车信息服务体系。与此同时,在现有的样机基础上,升级系统的开发加入了图像采集、存储、传输等技术,真正意义上成为先进的ITS(智能交通系统),这无疑在汽车工业高速发展的今天具有更重要的实践意义和商业前景。
|