正文

GPS/GPRS车辆监控系统中移动终端的开发2005-09-23 12:37:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/iamben250/5156.html

分享到:

GPS/GPRS车辆监控系统中移动终端的开发


上网时间 : 2004年04月03日
 
打 印 版   推 荐 给 同 仁   发 送 查 询

越来越多的民用车辆开始使用GPS定位技术实现定位、监控和导航等功能。本文介绍了一种采用SA1110 CPU和Q2400 GPRS/GSM模块的车辆定位监控系统,提出了在嵌入式平台上实现车载信息处理终端的开发方案,详细介绍了各个硬件和软件模块的功能和实现方法。

近年来,对地域广泛、机动性强、数量众多的移动目标有效监控、紧急救援和各种信息服务的需求,在客运、公安、银行、物流管理等行业表现得尤为突出。全球定位系统技术的发展使得移动目标的实时定位成为可能,同时无线通信技术的技术也得到了长足进展,对移动目标进行远程监控调度成为可能。特别是GPRS业务的出现,使得人们能够对移动目标进行全国范围、实时、全天候监控调度。图1:车辆监控系统结构。

监控系统介绍

车辆调度系统的建设首先要考虑监控覆盖范围、实时性、调度业务、车辆容量和刷新速率等的要求,选择合适的无线数据链路和电子地图,以及开发相应业务软件满足用户的要求。就目前的GPS车辆监控系统而言,无线数据链路应用较多的为GSM通信方式,这主要由于其覆盖范围广、无需架设基站、可实现语音/短信等功能优点所决定的,但是采用短消息传送车载信息不但容量有限,而且实时性不能得到保证,并且还存在着费用过高的问题。幸运的是新兴的GPRS数据业务解决了这些问题。GPRS/IP/TCP/UDP协议栈可以满足数据的实时交换,在现有的公用无线通信系统中拥有最大的带宽,与目前流行的短消息相比,在相同数据长度、相同时间间隔下通讯费用是短消息方式的1/6,甚至更少。监控系统主要由以下部分组成:

1. 车载信息处理终端:包括中央处理单元、显示单元(可选)、GPS接收机、GPS天线、GPRS手机模块(或CDMA等其它通信模块)、报警器(防盗、超速、抢劫、特殊功能报警等)。终端能够提供定位、导航、通话、报警和远程控制等功能。

2. 无线通信数据链路:无线数据传输设备作为基站与各移动目标进行信息交换的枢纽,是整个车辆调度系统中的重要组成部分,在本方案中选择了公用通信网。

3.图2:车载信息处理终端硬件组成。 数据中心/监控中心:数据库、监控终端/GIS终端、业务处理终端。监控中心采用WebGIS技术,所以数据中心和监控中心可以处于同一物理位置,也可以处于不同的物理位置。由于数据中心的设备、可靠性等要求高,运营、维护要求和费用都比较高,对于拥有较少车辆的公司来说,自建一个数据中心从经济效益上来看是不合适的。因此,中小企业可以租用某个数据中心,通过自己本地的监控中心访问数据中心,获取数据和发送命令等信息。监控中心可以通过局域网、普通调制解调器拨号方式、无线拨号等多种方式访问数据中心,甚至使用一个带有地图的PDA通过GPRS网络也可以监控运行中的车辆。

目前,车载移动终端从硬件构成来看可以分为两类:1. 以单片机作为核心处理器,只能进行简单的数据采集,对数据不作太多处理,组帧后通过无线调制解调器(或其它通信模块)发送给中心,这种系统功耗和体积都很小,功能有限;2. 车载计算机系统,以普通CPU作为信息处理单元,能对数据进行复杂处理,如数据库查询和更新等,但是这种系统功耗和体积都很大,很多场合不便于使用。

随着移动计算技术的迅速发展,开发一种功耗低,体积小的车载系统成为可能。本文中开发的终端采用了嵌入式的CPU和操作系统,整个系统不仅功耗很低,而且体积也大大缩小,非常便于隐蔽,特别适合于一些特殊需求的应用,并且作为一种平台系统它还具备强大的信息处理能力。

车载信息处理终端的硬件构成

1. 系统中央处理单元。采用英特尔的嵌入式CPU芯片SA1110,这是一款专为移动计算定做的具有ARM核的处理器,外围接口丰富,处理能力强(主频有206MHz和133MHz两种),超低功耗(在GPS接收机没有连接的情况下,整板功耗约为100mW~200mW),这对于车载或者手持等移动计算设备来说非常重要,因为这些设备普遍采用电池供电,低功耗性能保证了设备的高可用性。

2. GPRS/GSM单元。在本设计中采用了Wavecom的Q2400系列(Q2403A,Q2406),该系列GPRS/GSM模块能够支持语音、数据、传真等功能,可以满足系统的设计要求。虽然它不支持标准的TS图3:车载信息处理终端的软件构成。 27.010串行通信复用协议,Wavecom自己的复用协议也基本上可以满足语音/数据复用串口的要求。在GPRS不可用的地区,还可以通过GSM短消息传输数据。

3. USB Host设备。系统在设计过程中充分考虑到了移动存储设备发展的需求,所以加入了USB单元。采用飞利浦ISP1161 USB芯片,可以接入摄像头、移动存储硬盘和U盘等,也可以挂接USB Hub,以便接入更多设备。

4. GPS接收机。为简化整个系统的设计,本设计采用了EverMore Technology的GM-X205 GPS/天线一体化接收机,该款接收机的几个重要参数如下:重新捕获时间<2s、热启动时间<15s、冷启动时间<75s、速度精度为0.1m/秒(S/A关闭)、位置误差小于25m(S/A关闭)、时间精度为±1μs、加速度限度为±4g、速度限度为500m/s、数据更新率为1秒/次、连续更新,并能输出NMEA-0183格式或EverMore Technology定义的二进制格式数据,可以满足普通车辆监控定位系统要求。

5. GPIO。可连接车辆的防盗、防劫、报警、油路、电路、气压、温度、中控门锁、防盗器等各监测控制线路,目前共有8路GPIO,其中有6个输入可以根据用户需求接入各种传感器,两路输出接报警器和制动系统。

6. 车载手柄,A/D转换。使用标准的车载手柄话机,能够通过GSM/GPRS模块进行GSM语音通话。A/D转换模块实际上是一个语音编解码多功能芯片,既可以作为外部传感器模拟数据的A/D转换电路,也可以作为语音输入输出电路播放立体声语音。

车载信息处理终端的软件构成图4:GPRS驱动模块组成。

本系统中采用了Linux操作系统作为软件平台。Linux系统具有诸多优点:首先很重要的一点,它完全是一个免费、开放的系统,这一点我们在开发过程中深有体会,比如,在开发GPRS驱动时,我们按照自己的需要在串口驱动的基础上插入了一层新的抽象驱动层,这在其它操作系统上却很难做到;其次,Linux稳定性好,可裁剪性好,一个车载信息处理平台要求很高的可靠性,我们也可以根据用户的不同要求对操作系统进行裁剪,以便节省不必要的开销;Linux的开发资源丰富,存在着丰富的驱动程序和应用程序,可以根据自己的需要进行改写,甚至直接应用。

由于整个系统驱动和应用复杂而繁多,本文仅就GPS数据采集、处理、传输相关的内容加以讨论。

1. GPRS驱动目前,很多GPRS/GSM通信模块的基带处理器(BP)都只能通过一个串口与应用处理器(AP)进行数据交换,要交换的数据有语音、传真、数据、SMS、CBS,以及电话号码本的维护和电池状态等。为了能够同时支持这么多业务,3GPP制定了一个串行通信链路复用协议-TS 27.010协议(终端设备到移动站的复用协议)。本系统中采用的Q2403A并不支持这个标准协议,但是它也具有自己的复用协议,可以用AT+WMUX=1命令激活这个协议。Wavecom只能同时支持一个数据虚链路和一个命令虚链路。

图4是GPRS驱动示意图。在图4中,TTY层、行规程(Line Discipline)和底层驱动是Linux系统中串行通信驱动模块三个固有的逻辑层,这三层之间有互相调用的接口函数。图中也给出了几个接口函数,我们在实现GPRS驱动时要考虑到使用串口的上层应用程序不需要改动。这一点很重要,因为系统中有许多用户程序使用串口进行通信,如果需要对它们进行改动,将付出不必要的代价。在这一点上,尤其需要特别考虑的就是PPP软件,因为在Linux下通过GPRS上网就必须要使用PPP协议进行拨号。PPP存在于用户空间和内核空间两个地方,用户空间的pppd应用程序完成拨号连接的管理功能;内核空间的ppp协议软件要实现PPP包的组帧/分帧等核心功能。PPP定义了自己的行规程模块,并且到此为止,往下就不再有PPP相关的软件模块,所以如图所示,我们把GPRS驱动放在行规程层和低层驱动层之间是非常合适的。

2. GPS采集、处理和传输应用

a.图5: GPS下行和上行数据格式。 GPS数据的采集。本系统中使用的GPS接收机支持标准的RS232协议,因此不用改动任何驱动程序即可实现GPS数据的读取。NMEA-0183规定了GPS数据的输出速率为4,800波特,因此应用程序首先要打开串口,设置串口速率为4,800,工作模式为8-N-1。NMEA-0183的输出都是ASCII字符,应用程序要对此款GPS接收机支持的GGA、GSV、RMC和VTG等消息进行解析,得到运动目标的经度、纬度、高度、速度、方向、时间等信息,存入缓冲区。

b. GPS数据的处理。由于SA政策的取消,当前普通GPS接收机的精度基本上可以满足运动目标定位监控的需要。但是在有遮挡物的情况下,GPS精度会严重下降。对于这种情况可以有以下几种处理方法:平均值法,当监控目标处于静止状态时,会存在很严重的漂移现象,可以采用长时间位置平均的方法加以改善;差分法,适用于静态和动态目标,但是需要建立差分基准站,投资大且基准站作用范围有限,不适合大范围的监控定位(自建一个广域差分系统显然是不现实);地图匹配法,相对来说电子地图的精度比普通GPS接收机的输出数据要高一些,因此对于行驶在公路或者街道上的运动目标可以采用地图匹配的方法,把漂出路外的运动目标“拉”回到路内;滤波法,有时依靠单一的GPS位置信息无法满足要求,特别是在城市高楼林立的地方或者有树木遮蔽的地方,在这种情况下采用一定的惯性导航设备,如陀螺仪和加速度计等组成简单的DR系统就能很好地解决这个问题,而Kalman滤波是非常适合于描述系统动态特性的滤波器,并且能够有效地将不同传感器的输出信息进行融合。

我们在开发这套系统时,采用了平均值法和地图匹配法,取得了很好的效果,目前正在进行滤波法的研究。

c. GPS数据传输。为了保证可靠性,我们采用了TCP/IP协议来传输数据,但是这是以牺牲一定的实时性为代价,在移动IP环境下,分组的延迟时间可以达到1,000ms以上,即使这样,普通车辆在这个延迟时间内的位置变化也是有限的,可以满足监控要求。GPS下行和上行数据格式如图5所示.

下行数据是监控中心向车载台发送的命令,如呼叫车台、设置上传间隔时间、制动车辆、设置越界区域和设置轨迹记录方式等。

在制定数据传输格式时没有加入校验字段,这是因为TCP协议已经提供了很完善的差错检验/重传机制,没有必要再加入帧校验字段。

3. 其它 GPIO模块、车载手柄模块都是本系统的必备配置,USB摄像头是由于一些用户的特殊需要而添加的,如长途客运公司出于安全性的考虑,需要在客车上安装摄像头以便随时监控客车的运营状况。这几个功能模块都已经实现,限于篇幅,不再详细介绍。监控程序负责监控这几个模块(GPS、手柄、图像采集和GPRS/PPP)的运行状态,以便在某些资源不可用的情况下,切换工作方式,如GPRS未开通,则转换为GSM短消息数据传输方式,并监控设备(GPS接收机、USB摄像头和GPRS模块)的可靠性。

阅读(3031) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册