物流在现代社会中正扮演着越来越重要的角色。但是,与国外技术密集型的物流行业相比,国内物流行业在信息化、智能化程度上还存在着较大差距。鉴于这样一种状况,本文提出了一个基于WindowsCE平台的物流车载终端设计方案。该物流车载终端以阿尔泰ART270开发板为硬件平台,在嵌入式操作系统Windows CE上实现的功能有:电子地图,实现地图4级缩放、平移、归中功能;无线通信,实现终端与控制中心的GPRS无线通信;GPS定位,定位车载终端当前的位置;语音提示,提供更好的人机交互功能。
1 软硬件平台简介
本车载终端以ART270板为硬件平台。ART270是北京阿尔泰科技推出的一款基于Intel XScale PXA270处理器的高端ARM开发平台,性能高,功耗低,接口丰富,功能强大,适合作为语音系统、指纹识别、PDA终端、车载GPS导航、无线上网、数码媒体播放、工业控制等设备的开发参考,也是高等院校高级嵌入式软硬件开发教学的首选平台。
PXA270是Intel于2004年4月发布的XScale处理器家族的升级产品,最高主频达624MHz。该款芯片把X86架构奔腾4系列上的多媒体扩展功能引入到了Xscale芯片组的产品线中,用户通过这个无线多媒体扩展技术(MMX)可以在掌上设备上播放高质量的视频和玩三维游戏。同时,PXA270还加入了Intel SpeedStep动态电源管理技术,在保证CPU性能的情况下,最大限度地降低移动设备功耗。PXA270处理器已经成为高端移动设备中最受欢迎的处理器之一。
ART270采用240Pin核心板加底板的配置,使得调试和应用更加方便,使用户有更灵活的扩展方式。核心板上集成PXA270 嵌入处理器、64MB SDRAM、32M Nor Flash、总线驱动、电源管理芯片等,结构紧凑;底板上提供CPLD,LCD接口,AC97音频输入输出接口,100M网口,USB Host/Device接口,串口,JTAG接口,VGA接口,外扩高精度时钟芯片等,另外,一个扩展总线接口使用户可以根据自己的需要自由扩展。
本设计方案采用WindowsCE作为软件平台。WindowsCE是一种针对小容量、移动式、智能化设备的多任务、抢占式、模块化实时嵌入式操作系统。Windows CE具有与桌面Windows几乎完全兼容的API接口,为了配合WindowsCE上的应用程序开发,微软公司推出了eMbedded Visual C++(简称 “eVC”)集成开发环境。本系统采用的是eVC 4.O。
2 硬件模块
2.1 GPS模块
阿尔泰GPS 扩展模块是一种种低功耗GPS接收机模块。模块板上集成天宝新型lassen IQ 12路低功耗快速定位GPS接收模块,性能良好; 采用RS232串口与设备联接,与GPS通信的各种协议相兼容,方便用于研发; 外接电源采用常见的5V电源,3V锂电池作为lassen IQ模块的后备电源,存储星历数据; 可接3.3V有源天线,扩展板配有紧凑型磁性封装天线,这种天线适用灵活、可动安装。模块集成一个RS232串口,可通过跳线配置为不同的lassen IQ输出端口,使用不同的通信协议; 在工作状态下,GPS接收机的功耗为96mW。使用不同的协议可实现1Hz更新速率; 三种传输协议:
TSIP、TAIP(天宝标准界面协议)和NMEA0183协议;三种协议可灵活通过软件或跳线配置。在本设计中使用了此模块,较好的实现了GPS定位分析的效果。
GPS性能:
· 接收机:L1(1575.42MHz),C/A码,12通道,连续追踪,32位CPU
· 更新率:TISP 1Hz NMEA 1Hz
· 精度:水平 <5米(50%),<8米 (90%) 垂直精度 <10米(50%) ,<16米(90%)
· 操作限制:高度<18000米或者速度<515米/秒
· 捕获时间:再次捕获:<2秒(90%)
· 冷启动/温启动/热启动/分别是15分/38秒/10秒
· 动态范围:加速度 4g/39.2米/秒2
2.2 GPRS模块
阿尔泰GPRS模块支持三频GSM/GPRS 900/ 1800/ 1900 MHz,采用SIM300GSM/GPRS模块,提供标准的RS-232接口,工业标准设计,使其能以小尺寸和低功耗实现语音、SMS、数据和传真信息的高速传输,可直接与上位机设备透明通讯,在PC机上用AT命令通过串口对它进行设置,是小体积即插即用模块中完善的三频GSM/GPRS 解决方案,能应用于许多方面
本车载终端采用GPRS Modem与控制中心进行无线数据通信,对GPRS Modem的控制和读写通过串口进行。由于与控制中心交互的数据种类较多,因此定义了相应的应用层数据包格式。数据包的所有字段均采用单字节ASCII编码且为固定长度。在发送端,数值型字段需要在发送前格式化为定长字符串再封装到数据包中;在接收端,需要将数据包中的格式化字符串还原为数值型常量。数值型字段不足部分以字符“O”为前导字符进行填充;字符型字段不足部分以空格(SPACE,0x20)为前导字符填充。字符串型字段的长度不包括字符串结尾的NULL字符(在C语言中为0x00)。所有采用UNICODE编码的字符数据在封装到数据包中之前必须进行转换。
定义的数据包主要有以下几类:客户端位置更新数据包;客户端接件信息数据包;客户端送达签收数据包;服务器新任务数据包;客户端确认数据包;服务器确认数据包;客户端车辆故障数据包;客户端道路堵塞数据包。
为了能够正确解析数据包中的数据,所有数据包都具有相同的包头(head),即数据包类型(packet type),时间戳标记(time stamp)、数据包顺序号(packet sequencenumber)3个字段。当接收到一个数据包之后,根据包头中的类型字段就能判断该数据包主体部分的长度,由此即可正确解析出包中的内容。包头之后是数据包主体(body)部分,不同数据包类型有着不同的字段和长度。上述8种定义类型之外的数据包均为未定义类型,应当被丢弃。类型为NTSK、TMLF、RCNG的数据包需要接收端的确认;而RECV、SEND、UPDT、CACK、SACK这5种类型的数据包不需要确认。
GPRS Modem的数据传输与接收是通过串口编程来实现的。Windows CE平台上的串口编程依赖于与文件相关的API接口:CreateFile()打开串口,ReadFile()从串口读取数据,WriteFile()向串口写入数据。由于网络数据包的到来是一个异步过程,因此还需要处理串口的异步事件:GetCommMask()取得串口已经设置的事件,setCom-mMask()设置串口事件集,WaitCommEvent()等待预先设置的串口事件集中的某一事件发生。
产品特点:
· 采用Simcom公司高性能工业级GSM/GPRS模块SIM 300
· 带有音频接口、电话线接口、RS232接口、SIM卡接口
· 三频 900/ 1800/ 1900 MHz
· GPRS (class 10/8) 标准
· GPRS (class B)
· 满足GSM(2/2+)标准Class 4(2W@850/900MHz)Class 1 (1W@1800/1900MHz)
· 语音、SMS、数据和传真信息的高速传输
· 支持RS232/RS485透明短信传输功能
· 通过AT命令控制(GSM07.07,07.05和增强AT命令)
· 支持电路交换(CSD)功能,适合于点对点数据通信
· 数据终端永远在线
· 多种工作模式选择,使用方便、灵活
2.3语音提示模块
考虑到配送人员在驾驶车辆的过程中不便于时刻留意系统中任务的变化情况,因此在车载终端上加入了语音提示模块。
Windows CE提供了音频API接口:
BOOL WINAPI PlaySound(LPCSTR pszSound,HMOD-ULE hmod,DWORDfdwSound);
该函数的第1个参数表示要播放的音频文件,第2个参数设置为NULL,第3个参数指定影响声音播放的一些标志。因此,语音模块的实现就是在不同的情况下播放不同的提示声音。
3 结论
基于阿尔泰公司的ART270开发板的车载物流终端集成了电子地图、GPS定位、GPRS无线通信、语音提示等功能。由于采用栅格图像来实现电子地图,因此通过将小范围内的地理经纬度坐标简化为线性坐标模型,可成功地在栅格图像上实现车辆定位实时监控的功能。