基于RFID的物流运输管理系统的构建
引言
随着物流水平的提高,信息的提取和分析越发显得重要,货物运输管理的信息化水平已成为衡量当今物流工业先进性的标志。目前,国内运输信息化管理方法单一,大多数物流运营公司仅能提供实时的定位跟踪与查询服务,不能获得运载工具上的货物信息,无法及时发现货物装卸过程的失误,特别是危险品的运输,一旦出错,后果不堪想象。
本文设计了一种物流货物运输管理系统以解决这类问题。该系统基于GPRS、GPS和RFID(无线射频技术),采用单片机串口时分复用方式控制各功能模块,将采集的信息在运载工具上实时显示,并通过无线传输发送到远程终端。这样,不仅实现了对运载工具的定位,而且可以有效管理其装载的货物,达到及时发现错误,及时处理的目的,提高了货物运输管理中的效率,减少了时间成本。
硬件系统结构
功能模块
系统采用三个功能模块:RFID模块,GPS模块和GPRS模块。
RFID模块采用的是WJ公司的MPR6000,工作频率为UHF902~928MHz,支持EPC Class0、Class1和Class0+协议。
贴在箱内各货物上的电子标签(Tag)写入了货物的基本信息和编号,RFID模块与Tag之间可每几微秒通信一次,实时了解运载工具上的货物信息、以及运输途中货物装卸或出入库等情况,以便对货物进行智能管理。
2合1模块TRIZIUM-GPS采用Telit公司GPS和GPRS产品。
该模块支持4800、9600、38400、57600bps等常见波特率,并集成了GPRS和GPS两个模块,既可以独立工作也可以联合工作,并且两模块都各自有两对UART口(UART0和UART1)。在联合工作模式下,GPRS模块的UART1和GPS模块的UART0对接,使用AT命令,GPS模块采集的定位信息就可以传输到GPRS模块的UART接口上,然后通过GPRS的UART0口传输到MCU。
GPS的目的在于采集定位信息,用于对运载工具进行实时定位,以便实时跟踪、优化调度。GPRS模块的目的就是将采集到的信息发送到远程监控终端。
系统模型
系统模型如图1所示,MUC采用AT89S51单片机,功耗低,具有4KB在线可编程Flash存储器,片内WDT能提高系统的抗干扰能力。
图1 系统模型
3个功能模块共同由单片机控制,内置于运载工具内。
运行流程主要是数据采集、数据处理、数据传输和终端处理及反馈。单片机作为整个系统的控制核心,主要用于与3个功能模块和远程监控中心的通信。数据采集包括GPS模块和RFID模块的数据,通过串口传入单片机进行预处理,显示在 LCD上,同时通过GPRS模块发送到远程监控中心,进行终端处理分析。远程监控中心也可以通过GPRS传输命令,向单片机发出提示、警告或获取其他实时信息。
电路设计
单片机系统
电路原理图如图2所示,3个功能模块受1块51单片机控制,模块与单片机之间采用异步串行通行模式。虽然各功能模块提供了许多控制线,但为了简化接口设计,均采用两线(TXD、RXD)连接。模块之间通信的控制通过软件来实现,采用软件实现控制具有使用灵活的特点,避免了过多的硬件信号的检测。
图2 电路原理图
AT89S51单片机只有一对串口,这样,如何解决单片机串口的复用问题是整个硬件的重点之一。本系统用单片机的P3.0、P3.1、P3.2三个管脚来分别控制三个功能模块的RXD。串口通信的起始位处于“space”状态,只有当某控制管脚为低电平时,对应的模块才能享有使用串口的权力,达到串口时分复用的目的。
LCD显示模块采用OCMJ4×8,它是128×64点阵液晶模块。该模块内含GB2312 16×16点阵国际一级简体汉字和ASCII8×8(半高)及8×16(全高)点英文字库,用户输入区位码或ASCII码即可实现文本显示。
键盘控制器HD7279的主要作用是提供运载工具上“人机对话”的功能,可根据实际情况随时采集所需信息,并显示在车载LCD上,这样就可在货物装卸过程中获得当前状况,方便管理。
为了扩展MCU的外部ROM和RAM,单片机外接16k的E2PROM AT28C16和COMS静态RAM IDT6116。
此外TRIZIUM-GPS模块的逻辑电平为COMS2.8V,单片机和RFID模块均为TTL电平,本系统采用的是SN74HC245N电平转换芯片解决功能模块与单片机之间电平转换的问题。
外围电源电路
各功能模块中, RFID射频模块(工作电压为4.5v)对外围电源电路要求具有稳压功能和纹波小的特点。本系统中采用12V的输入电源,由于输入输出电压差比较大,所以线性调整器并不适用于该电压转换电路。为了衰减电流的峰值,必须使用100mF的旁路等效串联电阻电容来保护电路,并且去耦电阻、去耦电容和电感也要尽可能地靠近模块的电源输入端口,其原理如图3所示。
图3 电源电路
单片机系统的程序设计
软件结构
系统软件完成的主要操作包括:模块及MCU的初始化、与上位机通信、数据处理及显示,其工作流程如图4所示。当系统上电初始化后,根据现场对运载工具的不同监控要求,利用键盘或等待远程命令选择功能模块。针对不同工作模式,通过对多路串行通道的设置,读取所需的状态信息。对采集所得的数据预处理后保存在外部RAM,通过LCD显示出来(包括目前运载工具内货物数量、总类、各自编码或运载工具位置信息等),并由用户按键确认后返回。即可了解货物运载及装卸情况,并发送到远程终端。
图4 工作流程
GPS数据的采集
单片机与各模块间的通信都采用57600 bps的传输速率。帧格式为:无奇偶校验,一个起始位,8个数据位,1个停止位。
在TRIZIUM-GPS模块的联合工作模式下,对定位信息的采集可以使用AT命令来完成,过程如下:
发送:AT#GPIO=1,1,1<cr><lf> //在internal模式下,启动GPS功能;返回: OK
发送:AT$GPSDATA=1<cr> <lf> //设置GPS模块的通信管脚;返回:OK
发送:AT$GPSDATAS= 9600<cr><lf> //设置GPS模块与GPRS模块的通信比特率;返回:OK
发送:AT$GPSSAV<cr><lf> //保存设置;下次启动时,免去初始化操作;返回:OK
发送:AT$GPSACP<cr><lf> //获取位置信息;返回:$GPSACP:084148,3111.80791N,12129.2586 8E,99.0,218.73,2,0.0,0.0,0.0,120207,07
其中,80791N,12129.25868E 分别显示的是北纬和东经的度数。084148是当前格林威治时间。
RFID数据的采集
RFID模块的信息采集的软件实现方法和GPS类似,即发送命令,返回相应信息。其数据包帧格式为:
起始位
节点地址
长度/状态
命令
Data 0
…
Data N
CRC MSB
CRC LSB
在实际应用中,可根据实际需要,通过键盘设置信息采集频率,特别是在货位的装卸过程中,也可通过按键产生中断,即时采集信息,满足系统对货物监控要求。
GPRS无线传输
在无线传输部分,GPRS网络基于IP技术,因此基于GPRS的无线传输系统需要利用TCP/IP协议完成GPRS业务数据的装帧和拆帧,以及保证数据在网络中的安全可靠传输。MCU与无线通信模块的通信遵循PPP协议,需要将IP数据报按照PPP的帧格式封装成PPP帧,然后通过串口传给GPRS模块。
系统要和外部网络建立连接,首先要附着于GPRS网,然后发起PDP(Packet Data Protocol分组数据协议)上下文激活过程。通过此过程,系统才能与GGSN(网关GPRS支持点)建立一条逻辑通路,跟外部网络建立连接,使数据以IP报的形式进行传送。在发送AT命令时,采用模块化操作,用一个子程序完成,程序利用程序空间换数据空间技术,以节约内存空间。
发送AT命令子程序,以ODH表示发送结束符。其主要代码如下:
SEND_AT:CLR ES
MOV R3,#00H
LOOP1: MOV A,R6
MOVC A,@A+DPTR //DPTR 存放的是一条AT命令的ASCII码;
//用于初始化模块,及拨号连接到GPRS网络;
CJNE A,#0ODH,LOOP2
LOOP2: MOV SBUF,A
JNB TI,$
CLR TI
INC R3
AJMP LOOP1
SEND: MOV SBUF,A
JNB TI,$
CLR TI
SETB ES
RET
GPRS模块连接到远程监控中心后,通过GPRS通信链路完成信息的交互,监控中心服务器实现与车载终端的通信及数据分析、存储和管理。
结语
本文以普遍使用的51单片机作为MCU,应用串口复用的方法设计出了一套物流运输货物管理系统。采用人机对话方式操作,无论在远程终端或运载工具上,都能实时地了解当前运载情况。这对于目前物流货物管理,特别是危险品的运输管理起到良好的改善作用。■
参考文献
1. 张予川.物流信息系统[M].北京:化工工业出版社.2005.06:14-15
2. 孙剑斌.基于RFID技术的物流管理系统[J].中国管理信息化.2006.Vol9,No.5:34-35
3. Lawrence C Leung. A Framework for a logistics E-commerce Community Network:The Hong Kong Air Cargo Industry[J].IEEE Transaction on system. Man and Cybernetics-Part A :System and Humans,2000,30(4):446-445
4. 黄智伟.射频电路设计[M].北京电子工业出版社,2006:111-142
5. 林海、刘成良、 苗玉彬等.实现GPRS数据传输新方法的研究[J].工业控制计算机.2006.01:1-3