摘 要:采用我国北斗(BD)定位系统,基于多种通信回传模式,设计开发了一种应用于物联网环境的物流定位跟踪通信终端。以ARM11处理器为核心,运用北斗二代卫星定位系统,与多种回传通信模块相结合,通过RFID采集相关物流信息,实现对物流的定位追踪。软件平台基于嵌入式Linux操作系统。在QT平台上实现对物流定位信息的采集和显示,并采用多模式的信息回传方式与中心站进行通信。实验表明,该终端可以满足物流环境下的应用需求。
关键词:物流;多模式回传;北斗定位跟踪
在物联网应用环境下,物流的定位跟踪是一个重要的技术环节,可靠、无缝地实现定位和跟踪至关重要。除了获得可靠的定位信息以外,如何确保定位信息可靠、有效地回传也是关键。
现有的各种物联网定位跟踪通信设备绝大部分是基于GPS全球定位系统来实现[1-3]。这种严重依赖国外导航的状况,一方面受制于人,另一方面可能威胁到国家和社会的安全,存在极大不确定性。如今,“北斗二代”(BD2)系统已开始正式运营并提供区域服务。以“北斗二代”系统为依托,设计一款性能强大、工作可靠、成本低廉的物联网定位跟踪通信终端,既可以满足物流领域的需求,可以摆脱受制于人的局面。
现有的物流定位跟踪终端产品大多采用SMS/GPRS作为信息回传方式[2-4]。这种传输方式不仅传输速率较慢,而且在某些特殊的应用环境,不能得到运营商移动网络的很好支持或者移动网络覆盖不佳,都给系统应用带来严重的问题。
针对现有系统存在的问题,基于北斗二代定位技术,采用WCDMA/GPRS为主的信息回传模式,在兼顾了传输速率的同时,采用其他多种信息回传方式,实现物流定位跟踪与通信。终端可根据物流所在地的网络状况自动切换适合当前环境的信息回传模式,因此可以很好地适应各种不同的应用环境。硬件平台基于ARM11处理器[4-6],可以灵活适应各种应用的需求,且具有良好的扩展性。软件平台采用嵌入式Linux系统环境,采用Qt Creator编写应用程序并移植到终端系统上。
1 终端硬件设计
1.1 终端硬件结构
定位跟踪终端以ARM11为核心,总体架构如图1 所示,包含电源模块、RFID模块、BD/GPS定位接收模块、ARM11处理控制模块、LCD显示模块、摄像头模块、WCDMA/GSM模块、甚高频等其他可扩展通信模块。电源模块负责给整个终端供电。由于涉及的通信模块较多,每个模块所需的工作电源都不一样,结合实际的物流应用场景,需要设计专门的供电模块。RFID负责采集物流信息;BD/GPS模块负责接收卫星信号,输出导航电文,对物流进行实时定位;LCD显示模块显示相关定位和物流信息,配置相关参数;摄像头模块负责采集物流所在地的实时图像。
ARM11处理控制模块负责数据处理及各个通信模块间的调度。ARM11处理器对导航电文进行解析,从中提取出时间、经纬度、速度等信息,并把接收到的物流信息一起打包发送到WCDMA/GSM模块,根据实际情况发送图像信息。WCDMA/GSM模块负责将ARM传过来的信息回传到控制中心。移动通信网络已经覆盖得较为广泛,利用高速3G网络可以传输大容量的信息。信息的回传以3G网络的数据业务或者GPRS为主,也可以选择短信方式。根据系统的实际应用环境,选择其他可扩展通信模块实现应用区域的广泛覆盖。在设有企业无线数据专网覆盖的区域,自动切换到相应的数传模式。
1.2 主要模块的硬件选型
1.2.1 ARM核心控制模块
ARM控制器与各模块间进行通信,对接收的数据进行处理,是整个终端最核心的部分。ARM处理器采用三星的S3C6410。S3C6410是基于16/32 bit RISC内核的低成本、低功耗、高性能微处理器解决方案。S3C6410采用90 nm COMS工艺,功耗低,设计简洁,非常适合对成本、功耗敏感的应用。本终端各部分模块的通信以串口为主,S3C6410集成了4通道UART,可以同时满足多个串口设备的通信。S3C6410提供了丰富的外设接口,使得终端的可扩展性得到提高。
1.2.2 RFID模块
RFID模块负责采集物流的信息。RFID的核心采用PN532。PN532是NXP最近推出的一款NFC芯片,支持读卡器模式和卡模式(需要卡芯片Smart MX),支持TypeA、TypeB、TypeC 3个标准,支持命令方式,支持UART接口。该模块简洁方便,成本低,性能好。本终端PN532采用UART接口,直接与ARM串口连接即可成为一个RFID读卡器。
1.2.3 北斗/GPS接收模块
北斗/GPS定位接收模块负责接收北斗卫星信号。采用CC50-BG卫星导航模块。CC50-BG 卫星导航模块是基于导航SoC芯片ProGee II的一款小体积、低功耗、易集成的模块产品,可以实现机动载体的实时、高精度三维定位、三维测速、精确授时,广泛应用于车载监控、车载导航、手持及物品跟踪等领域。该模块体积仅为26.9 mm×40 mm×3.4 mm;同时支持BD2 B1和GPS L1 两个频点,并行双32通道;标准NMEA0183数据输出,数据刷新率为1 Hz;业界主流的SMD封装,支持标准取放及回流焊接全自动化集成。该模块可以设置BD和GPS组合定位,定位精度高,工作稳定,发热低,功耗小,非常适合集成在小型化的终端上。
1.2.4 WCDMA/GSM模块
在全球三大3G标准中,WCDMA为最主流标准。其技术成熟度最高,产业链最完善,可以实现全球大范围的漫游。sim5320A是芯讯通(SIMCom)公司推出的一款高性价比的WCDMA/HSDPA模块。该模块为城堡式SMT封装,体积小;支持AT指令,支持下行速率最高可达到3.6 Mb/s,上行速率最高可达到384 kb/s;模块终端利用模块上传速率较快的优点,可以传输较大容量的图像信息;与北斗/GPS接收模块相结合,非常适用于跟踪系统、车载信息系统。
1.2.5 可扩展通信模块
终端可以根据应用的需要,灵活扩展甚高频通信、短波数传通信、卫星通信等各种通信模块。例如,甚高频通信采用日精ND250A专业数传电台。日精ND系列高速数传电台采用数字信号处理技术,以软件的方式实时地实现无线数字调制/解调算法,而且允许用户通过AT指令用软件设置各种参数,实现无线信道与MODEM的最优化匹配,进而实现最佳的数据传输性能。该电台模块传输速率最高可以达到38.4 kb/s,传输速率稳定。由于物流环境下常常会遇到通信环境相对恶劣的应用场景,而日精电台超强的前向纠错和交织算法的结合可以在恶劣的通信环境中保障通信的可靠性,所以非常适合用于物流领域。
1.2.6 LCD显示模块
终端LCD显示屏显示相关的信息量,并可通过触摸式显示屏直接对终端的各项参数进行配置。结合以上功能以及对终端体积、成本的考虑,LCD显示部分采用4.3英寸电阻式触摸屏,分辨率为320×240。
1.2.7 摄像头模块
采用常见的USB摄像头,分辨率为320×240。其方便、灵活的特性,使其易于集成到嵌入式系统中。嵌入式操作系统Linux2.6及以上版本都支持USB设备。
1.3 模块间接口设计
基于S3C6410的硬件系统需要设计的接口有电源接口、RS232接口、USB接口、LCD接口。RFID读卡接口采用RS232接口,波特率为115 200 b/s;WCDMA模块、摄像头模块接口采用USB接口,WCDMA模块波特率为115 200 b/s;LCD接口采用40 pin LCD接口;其他可扩展通信接口采用RS232接口,波特率可变,以适应各种通信模块。
2 软件设计
2.1 软件设计思想
软件总体框架如图2所示,分为物理层、系统层和应用层。物理层包括各通信模块的硬件和物理接口,以及各自所遵循的通信协议;系统层指嵌入式Linux操作系统,集成了各个模块的驱动,负责完成系统各模块的初始化任务;应用层实现信息处理和模块间通信。应用程序采用多线程的设计思想。因为每个通信模块都采用串口,都需要不断地吞吐数据,对每个通信模块采用独立线程的方式可以避免程序陷入死循环,提高程序的运行效率。线程间的数据传递采用信号与槽的方式。
该终端系统层采用嵌入式Linux操作系统,应用层软件开发环境采用QT Creator。Qt Creator是跨平台的轻量级集成开发环境,可移植性强,支持嵌入式Linux操作系统。Qt提供了丰富的库函数,可以设计出友好的嵌入式应用程序。
2.2 多模式切换机制
终端应用程序多模式切换机制如图3所示。BD数据处理线程不断地读取电文并提取相关信息。RFID线程只在有卡靠近时被唤醒,其他时候处于休眠状态。WCDMA传输模式为数据传输的主要模式,采用TCP/IP协议,主动连续地向中心站发送数据。当连接出现异常时,重试发送3次数据,若3次之内发送成功,则继续当前的网络连接,否则认为网络连接已经断开,启动短信发送。若短信发送失败,则唤醒其他通信传输线程,自动切换到其他通信传输模式发送数据,具体通信模式的选择可由用户自行设定。同时,应用程序重新建立TCP/IP连接。如GPRS网络成功建立,则自动切换回WCDMA线程,关闭其他通信传输模式;如果所有的传输方式都无法使用,则设置警告指示,并再次尝试重新连接。
2.3 关键软件模块设计
2.3.1 BD数据处理
BD线程处理如图4所示。BD定位模块设置好接口参数之后上电。接口会不断地输出NEMA格式的导航电文。从电文中可提取出经纬度、实时时间、速度信息。这些信息都包含在“$GPRMC”的帧结构中。BD/GPS模块输出的时间是标准的格林尼治时间,需要转换成当前所在时区的时间。速度是以节为单位。
2.3.2 RFID读取软件
RFID模块的软件部分流程如图5所示。首先配置RFID的接口。PN532在每次上电之前都要先发送指令对其进行唤醒。然后检测当前是否有IC卡。当检测到IC卡时,PN532内部进行防冲撞检测,然后控制器发送指令获取IC卡的UID号。用获取的UID号来对IC卡进行数据的读取。
2.3.3 GPRS回传
从BD定位模块提取的信息和RFID或者摄像头采集到的信息经过打包之后,通过GPRS回传到中心站,具体流程如图6所示。该终端所采用的SIM5320A通信模块支持TCP/IP和UDP协议。为确保回传信息的实时性和可靠性,选择TCP/IP协议进行传输。向模块发送相应的AT操作指令,就可以完成相关数据的发送。这里需注意,接收端需具有公网IP,否则无法建立连接。
2.3.4 短信回传
SIM5320A通信模块可通过AT操作指令来实现短信发送。发短信之前需要确定几个因素:(1)信号强度一般大于-93 dBm都可以;(2)查询网络是不是注册上了,如中国移动、中国联通。
2.3.5 甚高频回传
甚高频传输模块工作流程如图7所示。甚高频模块在工作前需要确保模块收发两端信道、空中波特率、串口波特率以及校验一致。本终端所采用的甚高频模块的数据传输采用透传传输模式。该模式下,用户不必关心具体的协议,只需直接发送数据即可。
随着BD二代卫星导航系统的日益完善,设计一款适用于物流环境的北斗定位多模通信终端显得非常有必要。本文详细介绍了基于北斗的物流定位追踪和多模式回传终端的实现。采用嵌入式Linux系统结合QT应用程序实现物流的定位追踪和多种通信模式的信息回传的切换功能,具有功能强大、可靠性强、扩展性好的特点,在物流领域具有很好的应用前景。
参考文献
[1] 罗金玲,刘罗仁.基于ARM+Linux的物联网远程监控终端设计[J].计算机系统应用,2013,22(1):189-199.
[2] 王盛学,李著信,何平.基于3G无线网络的工业监控系统设计[J].电子技术应用,2011,37(8):75-81.
[3] 王肖楠,张兴波,李炳祥.基于GPRS和基站定位的城市公交监控装置[J].电子技术应用,2013,39(2):39-41.
[4] 姚立,刘幺和.基于ARM的物品精准定位和二维条码扫描系统设计[J].计算机与数字工程,2012(8):149-151.
[5] 史军勇,张晓煜.基于GPRS的实时路况车载导航终端研究与实现[J].计算机技术与发展,2011,21(9):156-159.
[6] 周恒恒,全泉,朱志青.基于嵌入式的物流管理无线PDA终端[J].电子科技,2012,25(9):49-51.