引 言
消费者委员会对当前货运业存在的问题进行了调查分析,消费者委托运输的贵重物品在运输过程中丢失情况严重,致使消费者的受损金额越来越大。物流公司常常承担运输贵重物品的任务,而这些贵重物品的丢失将会导致他们巨额的损失。物流公司使用传统的 GPS定位技术跟踪贵重物品,可以减小物品丢失的机率。但在高架桥下或城市建筑物密集等复杂地理环境中,卫星信号容易丢失;且在整个物品的运输过程中,贵重物品放在货车的金属集装箱内或者存放在室内时,利用GPS技术也无法获得卫星定位信号,难以实现对贵重物品的有效跟踪定位。同时,在物流公司监控系统的传统解决方案中,GPS车载定位业务是以GSM或CDMA移动网络短消息作为通信媒介的,定位和报警信息是通过手机短信的方式发送到终端用户的,因而不便于物流公司对整个系统进行实时监控、查询和管理。
为满足物流公司跟踪定位贵重物品的迫切需要,本文提出了一组基于GPSOne技术的解决方案。该方案既能在各种环境中实时、准确地定位,又能在发生盗窃事件时通过Internet及时报警,便于物流公司实时监控、查询和管理,从而可以更加有效地防止物品丢失,并及时追究责任。
1 定位系统方案
使用CDMA的DTGS-800模块定位是一种很好的物流跟踪管理方案。该模块基于GPSOne技术,不仅可以实现定位,而且内置TCP/IP协议栈,能方便地连入Inter-net传输数据,便于物流公司监控管理。
GPSOne是一种由A-GPS(Assisted Global PositionSystem,网络辅助的GPS)与CDMA三角定位结合而成的混合定位技术。两者的有机结合使两种定位技术优势互补。在远离市区的郊外和农村,CDMA三角定位技术因无线基站稀少而精度较差,但这些地方卫星信号较强,可充分利用A-GPS提供的位置信息实现精确定位;在城市繁华地区、大型商厦、写字楼等高层楼宇密集的地方或者室内,卫星信号较弱,A-GPS定位不准,但这些地区CD-MA基站较密集,可利用AFLT(Advanced Forward LinkTrilateration,高级前向链路三角定位法)技术克服A-GPS的定位盲区缺点,实施精确定位。
同时,DTGS-800模块采用的是机卡分离技术,只要将一片R-UIM卡开通上网和GPSOne定位功能,然后插入模块就可获得上网和定位服务。 DTGS-800模块自带TCP/IP协议栈,只需通过单片机给模块相应的命令,模块就能自动通过无线方式使用TcP协议连接到Internet。进行连接前,设定所连接的IP地址和端口号为监控端服务器的IP地址和端口号,就可以实现Internet数据传输功能。监控服务器上打开相应的软件接收这些信息然后保存到数据库,利用GIS(Geographic Information System,地理信息系统)即可实现实时跟踪和查询物流车辆及物品的位置等功能,便于物流公司实时监控和管理。整个定位系统如图1所示。
定位系统包括定位终端、CDMA网络、卫星系统及物流公司监控平台4个部分。定位终端通过卫星或者CD-MA基站获取了当前的时间、经纬度信息后,通过 CDMA网络发送到Internet上,物流公司监控平台利用软件接收来自Internet的相应信息。只要R-UIM卡开通了CD-MA的GPSOne 定位和上网功能,就可获得CDMA网络和卫星系统的相应服务。数据传输的过程可视作透明传输,即可看作数据直接从定位终端发送到物流公司监控平台上。
整个定位系统的工作方式如下:将DTGS-800模块、行程开关、天线和其他辅助电路封装成一个独立单元制成定位终端,固定在存放物品集装箱的开箱口。运输过程中,当集装箱密封完好并正常运输时,此定位终端可以定时向监控平台发送经纬度、时间等信息;而当集装箱被非正常开启时会触及行程开关,该定位终端可及时向监控平台发送报警信息和定位信息。物流公司通过监控平台接收这些信息并结合物流调度表,分析事发时的物流情况,即可判断是否发生异常,并及时作出处理,从而实现物流过程跟踪、防盗、查询和管理等实时监控功能。
2 系统硬件设计
定位终端硬件总体框图如图2所示。
2.1 系统组成
整个定位终端系统包括电源和电池供电模块、MCU模块及外围电路、DTGS-800模块及外围电路。由一片单片机来控制具有定位功能的DTGS-800,它们之间的通信是通过串口来完成的。由于所选单片机和DTGS-800的工作电平都在各自的工作电平范围之内,所以可以直接互连,无需额外的电平变换电路。DTGS-800采用机卡分离技术,提供与R-UIM卡的连接接口。
2.2 系统各模块设计
2.2.1 电源和电池供电模块
电源供电部分包括两部分:专门的电池供电和汽车电源供电。整个终端系统使用的是专门的电池供电,在运输行程较长而导致电池供电不足时,系统电压检测电路会发出报警,这时可以转换成由汽车电源对其进行供电。下面从两个方面介绍电源部分。
专门的电池供电。DTGS-800供电有两种方法:电池供电(VBATT_INT引脚输入)和外部供电(VEXT_DC引脚输入)。当用电池供电时,要求供电电压VBATT_INT范围为+4.O V±10%。因此选用的是容量为10Ah、输出电压为3.7 V的锂聚合物电池。由于选择的单片机是3.3 V供电,故电池在向单片机供电时需加一片LDO(低压差线性稳压器)芯片MIC5219,其最小压差可以达到0.3 V,满足设计要求。
汽车电源供电。目前汽车用的电池多为铅酸蓄电池,小型汽车用电池一般为12 V,大中型汽车(柴油发动机)为24 V。DTGS-800启动时首先要初始化系统和寻找网络,功耗较高,约300~500 mA,稳定下来后最高功耗(打电话或者上网、定位的情况下)大约在300 mA。设计时要留有余量,因此供电电源要求在外部供电(VEXT_DC)的情况下能有4.5~5 V、1 A的稳定直流供电,最高不能超过5.5 V。考虑到压差较大,且要求输出电流大于1 A,选用的是输出电压为5 V、输出电流最大为3 A的DC-DC(开关电源)芯片LM2576-5。与LDO压差较大时功耗高且转换效率低的缺点相比,DC-DC电源芯片具有较高的转换效率,且在压差较大时保证功耗不会太大。电源及电池供电模块电路如图3所示。
2.2.2 MCU模块及外围电路
MCU选用的是宏晶科技公司的STC12LE5410AD,其工作电压为3.3 V,便于在所选定的系统电源下工作。这是一款带A/D转换的单片机芯片,具有超强抗干扰的特性,并且具有超低的功耗,正常工作时电流仅为4~7mA,空闲时电流<1 mA。它的工作周期仅为一个时钟周期,可以大大降低使用的晶振频率,从而降低EMI(Elec-tromagnetic InteRFerence,电磁干扰)。STC12LE5410AD具有引脚少、体积小、价格低、使用方便等特点,可降低开发成本,缩短开发周期。
MCU外围电路包括晶振电路、复位电路、开关检测电路和电压测量部分。开关检测电路用来检测行程开关的动作,电压测量部分利用单片机的A/D转换功能是来测量DTGS-800供电的电池电压,当检测到电池电压不足时会发出报警,此时需将供电部分转换到汽车电源上。MCU及外围模块电路如图4所示。
2.2.3 DTGS-800模块及外围电路
CDMA模块选用的是美国高通公司带有GPSOne定位功能的集成MSM6050芯片组的DTGS-800。此模块接口共有100个引脚,可提供电话、短信、音频、传真、定位、上网和数据传输等功能,还提供多种用户接口,如串口、键盘及LCD等接口,用户可方便地根据需要进行开发。
DTGS-800与单片机接口使用的是3线(TXD,RXD,GND)串口,利用AT指令可以实现打电话、发短信及定位等功能,但是在上网和数据传输时需要接串口的流控信号(如RTS、CTS及DTR等)。RTS为请求发送信号;CTS为清除发送信号,起流控作用;DTR为数据终端准备好信号,用来指示上网时数据连接的有效性,系统中使用单片机的一个I/O口来控制。当DTR=1时,表示允许数据连接。此时单片机向DTGS-800发送上网指令,DTGS -800就被允许连接到Internet,单片机即可通过串口控制DTGS-800向指定IP地址和端口号的服务器上传输数据。注意,当模块处于数据连接有效状态时,是不响应任何AT指令的。当数据传输完毕时,将DTR置0可断开数据连接,此时DTGS-800就可以再次响应AT指令。
3 系统软件设计
单片机与DTGS-800通信,分为单片机控制DTGS-800执行相应的功能,以及控制 DTGS-800通过网络向监控服务器传输数据2部分。单片机控制DTGS-800执行相应的功能,只需要通过串口给DTGS-800发送AT指令,不同的AT指令可以实现不同的功能。AT命令是以“AT”为首,字符结束的字符串。单片机每向模块发送一个AT指令,模块都会返回数据。返回的数据是以结束的字符串。单片机收到数据之后,要经过一定的解析和处理,才能重新发送给监控服务器。串口的设置如下:115 200 bps,8位数据位,1位停止位。单片机控制DTGS-800向监控服务器发送数据时,定义了相应的数据格式:帧头+数据内容。帧头包括以下内容:16字节定长的R-UIM卡号码、1字节的命令标识、1字节的数据内容长度。当数据内容长度不够时,按左对齐,右侧填0x00。数据内容即发送的数据。命令标识定义命令的类型,命令类型说明如表1所列。
例如,当发送的数据是定位信息时,帧数据依次是:16字节的R-uIM卡号码(通常为11字节),类似于手机号码,不够16字节时,后面补0x00;1字节的数据内容长度,用来说明每帧帧头后面发送的数据内容的字节数;1字节的命令标识,表明发送的数据帧的意义,如果是定位信息,则发送的是0x12;紧接着是数据内容。在通信协议里还规定了不同信息内容的数据格式。
系统软件工作过程如下:在运输过程中,单片机使用定时器定时向监控平台服务器发送定位信息。发送的数据格式遵照前面所述的通信协议数据格式。首先,单片机向DTGS-800发送定位指令“AT+GPSSRT”,CD-MA模块完成定位后向单片机返回定位信息。单片机对此信息进行解析,提取经纬度及当前时间等有效信息后对数据进行转换;再向模块发送上网指令“ATDT1123”,数据连接状态有效后,就开始向监控服务器发送定位信息。当行程开关动作时,首先要发送上网指令和报警信息,然后按照上面的步骤进行通信。软件流程如图5所示。
注意:在TCP连接并发送数据时使用了握手机制,即应答机制。为使系统的流程更加清晰,图5中未给出握手过程。当DTGS-800模块向监控端发送数据时,监控端需要根据情况返回应答信号;模块如果在规定的时间内没有得到应答,默认为连接超时。为避免在TCP连接过程中由于没有收到应答而出现死机情况,系统中运用了超时重传机制,保证了通信的可靠性。
结 语
传统的GPS定位技术在物流中应用时,除了使用GPS模块之外,还需要另外使用GSM模块等其他辅助硬件才能实现定位报警功能。而在本文基于GPSOne 技术的定位终端中,DTGS-800模块融合了定位、GSM及CDMA网络服务等多种功能,集成度和性价比高。系统测试表明,本方案在楼群密集的市区或者室内实现了精确定位,克服了GPS技术定位盲区的缺点。此系统装置体积小,便于安装在物品集装箱内;定位数据能及时地通过网络发送到物流公司的监控平台服务器上,便于实时监控和管理;还可以在发生物品被盗事件时及时报警,便于物流公司查清事实,追究责任,在一定程度上能防止物流公司内部员工盗窃。