kaiyun官方注册
您所在的位置: 首页> 通信与网络> 设计应用> 基于GPS+GIS+CDMA系统构架的物流车辆监控终端设计
基于GPS+GIS+CDMA系统构架的物流车辆监控终端设计
EEworld
EEworld
摘要:本文对物流车辆监控终端进行研究,提出了基于GPS+GIS+CDMA的总体系统构架。系统将全球定位系统(GlobalPo...
Abstract:
Key words :

关键字:物流 车辆监控 终端

  本文对物流车辆监控终端进行研究,提出了基于GPS+GIS+CDMA的总体系统构架。系统将全球定位系统(Global Position-ing System,GPS)、地理信息系统(Geographic Information System,GIS)以及CDMA(Code Division Multiple Access)无线通信技术融于一身。

  本文设计的物流运输车辆监控终端,通过GPS卫星定位获得车辆的经纬度等信息后,经过CDMA无线通信网络与监控中心进行通信,实时地将运输车辆的各种信息传输给监控中心,供监控中心对整体运输车队进行显示、查询、调度。

  1 系统总体设计

  基于GPS和CDMA的物流运输车辆监控系统由车辆监控终端、数据传输网络以及监控中心组成。其中数据传输网络由CDMA网络和Internet组成。

  通过GPS卫星网络,车辆终端能够对物流车辆和物流对象进行精确定位,经CDMA无线网络接入Internet链接到监控中心服务器,实时向监控中心传输物流车辆的经纬度、速度、航向、海拔、时间等GPS数据信息,监控中心可以在具有地理信息处理和查询功能的电子地图上显示、查询车辆的各种信息,实时监控车辆运行状态。

  另外监控中心还具有与车载终端通讯的功能,能够对物流运输车辆实时调度、对突发事故进行及时处理,适用于各种物流交通领域。

  2 终端硬件设计

  本文设计的物流车载终端硬件结构由S3C2440A、JTAG片上调试接口、视频接口、音频接口、复位电路、CDMA无线通信模块、GPS模块、电源电路、LCD触摸屏、键盘等组成,外接SDRAM、NAND FLASH、NOR FLASH作为外部存储器,其硬件结构如图1所示。

终端硬件设计硬件结构

  图1 终端硬件设计硬件结构

  2.1 CPU选型

  为了满足系统对实时性、大数据量处理、GPS信号接收、CDMA数据发送等各方面的要求,终端采用三星公司的S3C2440A 32位ARM芯片作为CPU。S3C2440A采用了先进的ARM920T内核,片上集成了3路UART串口,2路SPI口,8路10位ADC,具有日历功能的RTC,带PLL的片上时钟发生器,130个通用I/O口,24个外部中断源等丰富的资源,易于开发,是一款性价比非常高的芯片。

  2.2 CDMA模块接口设计

  终端采用了华为EM200 CDMA1X模块。该模块工作频段为800 MHz,最大发射功率为0.25 W,接收灵敏度小于-106 dBm,工作电压3.3~4.2 V,集成了UART,UIM卡,天线等丰富的资源接口。支持标准AT指令集。极限工作温度为-30℃~+75℃,工作温度范围广,适合各种物流运输环境。

  S3C2440A有3个UART串口,EM200模块与S3C2440A通过串口1相连,因为二者输入输出都是TTL电平,所以无需电平转换可直接相连,其中EM200的管脚是数据发出端,与S3C2440A的RXD端相连;EM200的管脚是数据接收端,与S3C2440A的TXD端相连,由此实现了两者之间的数据收发。华为EM200 CDMA1X模块与S3C2440A连接图如图2所示。

华为EM200 CDMA1X模块与S3C2440A连接图

  图2 华为EM200 CDMA1X模块与S3C2440A连接图

  其中S3C2440的TXD0、nRTS0、DTR脚,分别经过3个1 kΩ电阻与EM200的脚相连,目的是防止电流过大对芯片造成损害。

  2.3 GPS模块接口设计

  GPS模块是终端实现精确定位的关键,是终端设计的核心,所以本终端选取了Gstar公司的SIFEIII代GS-15B模块。

  GS-15B是一个高效能、低功耗的智能型卫星接收模块。它采用台湾联发科技股份有限公司所设计的MT3329F卫星定位接收芯片,是一个完整的卫星定位接收器。同时具备全方位功能,能满足专业定位的严格要求与工业级需求。内置GPS天线,采用MTK高灵敏度、低耗电量芯片MT3 329F。具备快速定位及追踪32颗卫星的能力。体积超小,芯片内建20万个.运算器,大幅提高搜寻及运算卫星讯号能力。支持NMEA-0183 v2.2版本规格输出。接收灵敏度为-157 dBm,工作温度为-40℃~85℃,TTL电平输出,工作电压3.3~5.0 V,冷启动定位时间仅为42 s,平均定位精度为10~15 m。既满足了终端对高性价比需求,也满足了终端的精确定位的需求。

  S3C2440A与GS-15B的接口连接图如图3所示。终端使用S3C2440A的串口2连接GPS模块,为了增强驱动能力,在 S3C2440A的TXD1和PXD1管脚上加了2个100 kΩ的上拉电阻。终端一般只接收GPS信息,不对GPS做写操作,所以为了保护芯片,在S3C2440A的RXD1与GS-15B之间加了1个100 Ω的电阻和1个型号为MCIA148的反向二极管,从而保证了终端运行时的稳定。

S3C2440A与GS-15B的接口连接图

  图3 S3C2440A与GS-15B的接口连接图

3 终端软件设计

  终端的软件部分是基于WinCE 5.0嵌入式操作系统设计的,WinCE是一个多任务、完全抢占式的32位嵌入式操作系统,支持WinCE MFC、ATL、WinCE API和一些附加的编程接口以及各种通信技术。WinCE嵌入式操作系统具有操作界面良好、实时性较高、占用资源少、开发工具丰富以及强大的技术支持等优势,充分满足本终端软件的设计需求。

  3.1 终端软件设计流程

  首先系统上电,启动bootloader,加载WinCE内核,启动WinCE嵌入式操作系统。然后初始化CPU、LCD、GPS,CDMA等外围模块,再加载串口驱动和网络协议,若加载成功则执行用户应用程序,若加载失败则返回,重新加载串口驱动和网络协议。其中终端的用户应用程序包括:CDMA无线网络接入程序、网络数据传输程序、GPS串口接收程序等。终端软件设计流程图如图4所示。

终端软件设计流程图

  图4 终端软件设计流程图

  3.2 CDMA无线网络接入程序

  终端通过AT指令控制CDMA模块,实现无线网络接入和网络数据传输。

  系统运行后,首先初始化CDMA模块,设置波特率为115 200 b/s,然后进入拨号等待状态,终端经过PPP拨号连接登录网络,接入号为777,用户名和密码均为card。确认登陆网络成功后,则调用GPS串口接收程序和网络数据传输程序,采用定时方式向监控中心发送终端的GPS定位信息。

  建立PPP(point-to-point protocol)连接的AT指令及返回值如下:

连接的AT指令及返回值

  3.3 CDMA无线网络通信程序

  终端通过CDMA网络接入Internet后,无线网络通信程序将终端解析的GPS数据通过Intemet上传到监控中心。本终端软件设计采用流格式套接字进行网络通信,对应于TCP/IP协议中面向连接的TCP协议。网络数据传输程序采用客户机/服务器机制编程,终端(客户机)进程由用户操纵;而监控中心(服务器)进程则驻留在主机上连续运行,等待终端连接请求进入。

  监控中心的网络通信程序流程如下:1)用socket()函数创建套接口,并给套接口地址结构赋值;2)用bind()函数使套接口与本地IP地址、端*绑定,选用静态IP地址;3)用listen()函数在该套接口上*连接请求;4)用accept()函数接收终端连接请求,产生新的套接口及描述字并与终端连接,利用新的套接字发送和接收数据;5)用 fork()函数派生新的子进程与终端通信,父进程继续*其他请求。这样就可避免一个终端与监控中心建立连接后,监控中心不能再与其他终端通信的问题。

  终端的TCP程序流程如下:1)用socket()创建本地套接口,给监控中心套接口地址结构赋值;2)用connect()函数使本地套接口向监控中心套接口主动发出建立连接请求,经三次握手建立TCP连接;3)若连接建立成功,则用send()和recv()函数与监控中心通信;4)通信结束,用close()关闭套接口。

3.4 终端GPS串口程序

  软件开发工具采用EVC(embedded visual C++),EVC是Windows CE上的主流开发工具,封装了网络底层通讯、COM互操作、RAPI等。EVC支持MFC类库的子集,使Win32平台上的VC程序可以方便地移植到WinCE平台上。

  终端GPS串口程序主要完成两个功能:接收GPS数据和解析GPS数据。GPS模块输出遵循NMEA-0183标准。程序流程如下:

  1)使用OpenPort()函数打开串口,该函数使用创建文件函数CreatFile()打开串口2,以获取串口2的操作句柄m_hComm;

  2)如果串口2打开成功,则读取当前串口的设置,即通过GetCommState()读取串口参数结构体DCB变量;

  3)用SetCommState()对串口2进行相应的设置:如设置波特率为4 800 b/s,8位数据位,无奇偶校验,1位停止位,无数据流控制;

  4)按位读取数据,判断帧起始是否为$GPRMC,若为$GPRMC则从中提取时间、经度、纬度、速度等信息并存入相应结构体;判断帧起始是否为$GPGGA,若为$GPGGA则从第9字段提取海拔高度并存入相应结构体;判断帧起始是否为$GPGSV,若为$GPGSV则从中提取有效卫星数目、有效卫星编号等信息并存入相应结构体;

  5)用SetWindowText()在LCD上显示接收到的GPS数据和解析后的GPS信息;

  6)最后,在需要时用ClosePort()函数关闭串口2。该函数使用CloseHandh()关闭串口2的句柄m_hComm。

  4 运行结果

  本文所设计的终端软件运行结果如图5所示。终端GPS数据显示包括UTC时间、经纬度、星历、方向、海拔等。实现了全面地、直观地显示GPS数据的功能,具有友好的人机界面风格。其中图5(a)中可以对GPS串口进行配置,以及显示接收到的原始NEMA-0183语句。图5(b)中的经纬度是在天津市北辰区河北工业大学新校区测得的,精确到秒级,经度为东经117°41’34.4”,纬度为北纬39°37’6.2”。测试时间是2010年6月6日,下午16点24分22秒。

终端GPS数据显示界面

  图5 终端GPS数据显示界面

  测试表明,终端软件能平稳地运行在嵌入式WinCE 5.0系统上,具有良好的实时性和准确性。

  另外,终端通过CDMA无线通信网络实时地将GPS定位数据传给监控中心,监控中心的电子地图上即实时显示终端的地理位置。经测试,终端的实际位置与电子地图上的位置完全符合,并且具有良好的实时性,数据刷新时间小于3 s,GPS位置漂移值小于20 m。

  5 结束语

  针对我国物流行业快速发展的背景,本文对基于GPS和CDMA的物流车辆监控终端进行了软硬件设计。实现了对物流车辆的远程监控和实时调度。相比传统的车载终端,本设计采用32位ARM处理器,具有更快的处理速度、更大的存储空间、更直观的界面显示等优点。尤其在GPS数据无线传输方面采用了 CDMA无线通信技术,比传统GPRS技术更适用于长距离、大数据量、实时性要求非常高的车载终端领域。

此内容为AET网站原创,未经授权禁止转载。
Baidu
map