基于GPS/GPRS/RFID的车辆监控终端设计

【基于GPS/GPRS/RFID的车辆监控终端设计】常规货物运输监控系统都以车辆为监控对象 , 而车内货物信息只能来自于离线的数据库 , 不具备及时了解货物实际变化的能力 。本文以SiliconLaboratories公司的C8051F040单片机为核心 , 通过扩展GPS、GPRS、RFID等模块 , 在实现车辆GPS远程监控的基础上 , 实现了车辆所运输货物信息的实时传输 , 有助于真正实现物流系统的全程监控 。
1 系统硬件结构
要对物流车辆进行全面监控 , 终端需要实现的功能至少包括:车辆定位、车辆远程控制、货物实时监测、与监控中心进行实时通讯、与驾驶员进行人机交互等 。由系统功能需求出发.车辆监控终端包括如下六模块:单片机及外围扩展模块、GPS模块.GPRS模块、RFID模块、LCD显示模块、车辆控制模块等 。系统结构如图1所示 。
 
图1 物流车辆监控终端硬件结构框图
本系统以C8051F040单片机为核心 。该单片机是一款混合信号高速单片机 , 片上集成了丰富的模拟外设和数字外设 , 其中包括2个12位ADC , 1个12位DAC , 1个8位ADC , 64个IO端口 , 可同时使用的硬件SMBus(IIC)、SPI和2个增强性UART串口 , 5个通用16位计数器/定时器 , 专用的看门狗定时器 。单片机的指令处理能力最高可达25MIPS , 可以满足监控终端的数据处理要求 。
如图1所示 , 单片机通过UART0和UARTl分别接口iTrax300 GPS模块和WAVECOM GR64GPRS模块 。单片机与模块之间采用TTL串行通讯 , 波特率4800bps至19200bps可调 。单片机的EMIF(外部存储器接口)配置到P4-P7口上 , 采用数据线/地址线非复用方式 。在EMIF上接口TL16C554异步通讯组件可为单片机扩展4路增强型UART , 各路UART波特率可达lMbps 。这4路UART中 。A路经过MAX485芯片做电平转换后连接SuperRFIDSPD300RFID模块 。以读取货物上的RFID标签信息及驾驶员工卡信息;B路经过MAX3232芯片做电平转换后提供给用户用于配置监控终端参数;C路、D路串口备用 。LCD显示模块LCMl2864ZK也通过EMIF与单片机连接 , 用于显示车辆、货物及监控中心传来的信息;监控终端开机时需要载入一些参数 , 如监控中心IP地址 , 上传信息的定时/定距间隔等 , 这些都需要存储到非易失性存储器中 。本设计采用Ramtron的铁电存储器FM24CLl6A , 容量为2Kbits , 可直接通过SMBUS(IIC)总线与C8051F040接口 , 不但使用方便 , 读写速度和寿命也优于一般EEPROM;单片机通过I/O控制继电器实现车辆断油、断电、报警等功能;系统所需的3.6V(GPRS模块)和3.3V(电路其他部分)电源南2路LM2596提供 。MAX706芯片用以实现系统复位和电源管理 。
2 系统软件设计
参照图2所示 , 监控终端软件整体流程是:在监控终端上电后 , 首先完成各模块的初始化、打开定时器中断 , 之后GPS开始工作 , 单片机控制GPRS模块连接到GPRS网络并登录监控中心 。登录成功后 , 程序进入主循环 , 监控终端实时接收中心的配置命令 , 在LCD上显示相关信息 。由定时器控制RFID读卡器周期性地查询车内RFlD标签、更新车辆定位信息.完成定时/定距上报车辆位置、检测车内货物、车辆远程控制等功能 。单片机还可以根据GPRS模块的反馈信息自动监测网络连接情况 , 并实现断线重连 。
软件各部分中 , 比较霞要的包括GPS导航报文解析、GPRS模块控制、RFID应用以及LCD显示控制等 。和众多GPS模块相同 , 本终端中GPS也输{“NMEA-0183标准导航报文 , 对该报文的解析方法已经很成熟 , 在此不再赘述 。LCD显尔模块——LCMl2864ZK有串并两种接口方式以及相应的控制方法 , 接口电路及显示控制例程可参阅参考文献 。以下着重分析GPRS模块控制程序设计及RFID应用程序设计 。
 
图2 监控终端软件整体流程图
2.1 GPRS模块控制程序设计
GPES是通用分组无线业务的简称 。在应用上具有通讯速度高、永远在线、收费合理等特点 , 非常适合于车载监控终端使用 。要以单片机为核心实现GPRS数据传输 , 一方面要求所用GPRS模块能够连接到GPRS网络 , 另一方面要求在单片机或GPRS模块上实现TCWIP传输协议 。以实现基于GPRS网络的应用 。本设计中GR64模块内嵌了TCP/IP协议栈 , 所有GPRS模块的相关操作都通过AT命令实现 。
AT指令由单片机发出 , GPRS模块收到指令后反馈执行结果 。根据指令及执行结果的不同 。AT指令反馈格式上分为三种:固定反馈、含参反馈及混合反馈 , 如表1所示 。对反馈进行快速稳定解析对提高终端运行速度和稳定性有重要意义 。
表1 AT指令反馈分类
 
对于AT指令反馈如果使用先缓存后解析的方法 , 一方面缓存数据需要较大的存储空间 , 另一方面接收出错时无法判断 。本终端采用边接收边解析的方法:将反馈信息头(如OK 。+CSQ: , +CSCA:)以字符串数组的形式存储到单片机FLASH空间的固定区域 。单片机收到第一个字符时 , 将匹配各信息头的第一个字符 , 对匹配上的信息头做标记 。当收到下一个字符时只匹配上次已匹配上的信息头 。这样每次的匹配量越来越少 。一旦某个信息头完全匹配上 , 则根据该信息的类型做进一步处理 。如果是固定反馈 , 则匹配结束 。如果是含参反馈 , 则继续接收参数 , 对参数段采用先缓存后解析的方法:如果是混合反馈 , 则先接收参数 , 解析后进行新一轮匹配以接收第二行反馈信息 。如接收过程中未匹配成功 , 则立即开始新一轮匹配 。匹配流程如图3所示 。
 
图3 反馈信息匹配过程
本应用中 , 通过AT指令控制GR64模块连接GPRS网络并与监控中心进行分组通信的过程如表2所示 。该过程也适用于其他GPRS模块 。
表2 GPRS网络分组通信控制过程
 
2.2 RFID应用程序设计
本设计使用上海秀派电子生产的SuperRFID SPD300 RFID读卡器 。它是一款2.4GRFID产品 , 町同时读取200张RFID标签信息 , 识别距离从0米到80米可调 。RFID读卡器开机后将按照每0.5秒一次的频率扫描货箱内的RFID标签 , 标签信息由信息头(Ox02)和24bits标签编号组成 。在应用巾需要解决两方面的问题:一是如何降低RFID功耗的问题 。RFID读卡器连续工作时功耗较大 。本设计由单片机的I/O控制继电器实现RFID读卡器周期性工作 , 从而达到降低功耗的目的;二是如何得到可靠的RFID标签扫描结果的问题 。当货箱内RFID标签较多的时候一次读卡结果可能不全面 , 会漏掉某些标签信息 。这时需要综合多次扫描结果才能形成全面的扫描结果 。本设计中单片机每次采集1.9秒RFID信息(即=三次扫描结果)综合形成本次RFID扫描结果 , 结果全面可靠 。
2.3 RFID应用程序分为两部分 , 即货物装卸监测与在途监测 。
货物装卸监测程序流程可简述为:终端收到中心发来的货单后 , 开始匹配货场区域 , 一旦车辆驶入货场区域即提示车辆装货 。这时车内RFID读卡器以较短的间隔循环扫描车内RFID标签 。装货完成后 , 一旦GPS检测到车辆驶出货场即开始将车内RFID标签列表与中心下发的货单列表比较 , 如发现装错货物立即报警 , 否则转入在途监测程序 。当GPS监测到车辆到达货场区域时 , 监控终端提示卸货 。RFID读卡器监测卸货情况 。卸货完毕 , 终端核对货单 , 检验是否卸错货物 , 如卸错货物则报警提示 。
在途监测程序流程可简述为:单片机通过继电器控制RFID模块每隔一定周期扣描若干次RFID标签 。单片机采集其中三次扫描结果形成本次标签扫描结果进行比较 。如果发现标签有增减 , 刚主动通过GPRS向监控中心上报 。此外 , 根据中心设定的时间间隔 , 终端会定时上报车内现有货物信息 。
两部分程序的切换由车辆所处位置及货单执行情况决定 。单片机通过GPS实时监控车辆位置 , 监控中心会设定一些重要监控区域(如货场、禁止驶入譬域、危险区域等) , 车辆一旦进入这些区域 , 一方面监测程序做相应切换 , 另一方面终端会向监控中心报告车辆位置并警告提示 。货单则是控制RFID货物监测程序启动、结束、报警、上传数据的重要依据 。
3 结论
本文的创新点在于将RFID技术与车辆定位系统集成到了一起 , 填补了货物在途监测环节的空白 。在使用中 , 终端表现出运行稳定 , 配置方便等特点 。将RFID技术应用于车辆监控终端中 , 满足了货物在途检测的需求 , 为实现货物从生产至销售的全程检测提供了有利支持 。本文介绍的AT指令解析及控制GPRS模块通讯的方法具有通用性 , 可直接用于类似的设计中 。该设计已在北京市快速公交1号线和北京物资学院物流实验教学系统中得到应用 。

    推荐阅读