基于S3C2440处理器Linux平台的物流配送系统设计

  作者:angelazhang 时间:2015-06-24

引言

现代的物流系统已经进入了信息化的阶段。信息化配送系统对信息化物流有着重要的影响。物流配送信息化,就是运用现代信息系统与电子化手段加强对 企业物流链管理,形成企业物流的支撑体系,进而实现物流配送的高效率与高效益。本文通过嵌入式系统模块与GPS定位技术的融合,加上计算机控制中心,形成 一个比较完善的物流配送系统。在物流配送过程中,通过这个系统对整个物流配送过程进行监控与管理。

 

1  相关核心技术概述

 

1.1  移动定位技术

目前的移动定位技术已经非常成熟,最主要的有3类:

 

① 利用卫星进行后方交汇的定位技术, 即GPS(Global Positioning System,全球定位系统),是由美国建立的一个卫星导航定位系。利用该系统,用户可以在全球范围内实现全天候、连续、实时的三维导航定位和测速;另 外,还能够进行高精度的时间传递和精密定位。

 

② 利用移动通信技术提供位置服务的定位技术,即CellID (Cell Identification,小区识别码),通过识别网络中哪一个小区传输用户呼叫,并将该信息翻译成纬度和经度来确定用户位置,从而实现定位。确保终 端在GPS定位失去信号的情况下, 保持最低限度的定位信息的提供。CellID方式在城市及人口密集区域能提供相对高的精度, 与GPS在城市高层建筑、林荫道、地下隧道等遮蔽情况下性能降低形成较好的互补。由于GSM(Global System for Mobile Communications,全球移动通信系统)相对于CDMA具有更小的小区半径, 因此具有相对较高的CellID定位精度。

 

③ 利用射频设备记录位置的定位技术,即RFID(Radio Frequency Identification,射频识别)。通过读取用于标识地理坐标的标签数据来获取定位信息。其定位精度仅取决于标签存储定位信息的精确性, 理论上可以达到任意高精度。RFID可用于仓库、码头等需要高精度定位信息的场所,来提供定位信息和其他辅助功能。RFID现在广泛用于公交报站系统,公 交车上的设备检测到站点的射频设备后就自动报站,免去了公交司机到人工开启开关报站的麻烦。

 

本文在物流配送网络中采用GPS辅助定位系统(GPS十CellID+RFID三者结合)的定位技术,以保证在任何时刻都能达到比较好的精度。

 

1.2  移动终端通信技术

目前,常用的移动终端技术主要包括蓝牙技术、GPRS接入互联网技术、构筑在GPRS基础上的无线数据传输技术等。

 

蓝牙技术是一种支持设备短距离通信(一般10 m内)的无线电技术。蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4 GHz ISM(即工业、科学、医学)频段。其数据速率为1 Mbps,采用时分双工传输方案实现全双工传输。

 

GPRS技术是一种新的GSM数据业务,它可以给移动用户提供无线分组数据接入服务。GPRS主要是在移动用户和远端的数据网络(如支持 TCP/IP、X.25等网络)之间提供一种连接,从而给移动用户提供高速无线IP和无线X.25业务。GPRS采用分组交换技术,它可以让多个用户共享 某些固定的信道资源。

 

2  系统设计

 

2.1  物流配送系统模块设计

物流配送系统物理结构设计如图1所示。

图1  系统物理结构设计

 

2.2  物流配送控制中心的功能设计

控制中心由GPRS/GSM通信服务器、GIS服务器、Web服务器、地图数据库服务器、业务服务器组成,通过路由器连接至Internet。 GPRS/GSM通信服务器处理与各个终端之间的一对多双向数据通信;GIS服务器主要实现电子地图的功能,并负责地图数据的传输;Web服务器则是将电 子地图和各目标信息结合起来,为控制用户提供监控界面;地图数据库和业务数据库分别存储电子地图数据和监控业务数据。

 

控制中心软件部分主要包括10部分,结构图如图2所示。

 

图2  控制中心软件结构图

 

2.3  移动终端的硬件设计

移动终端可以实现个人用户的实时信息查询,用户可以通过GPS辅助定位系统获得本机的位置描述,并通过GPRS网络将本机的位置描述实时地传送 到物流配送控制中心,实现控制中心对移动终端的监控,同时,也可以通过GPRS从控制中心平台获得查询对象的所在位置描述。这些操作均利用GPRS无线网 络以Web Service的方式实现。

基于S3C2440的移动终端硬件设计如图3所示。S3C2440模 块(包括各种硬件接口及嵌入式Linux软件等)负责对GPS信号的接收处理、视图显示及对数据的处理。从GPS模块中获取定位数据,从RFID模块与 CellID模块获得更详细的定位信息作为补充,然后将位置信息通过GPRS发送给控制中心。实现终端和控制中心的信息上传和下传功能。

 

图3  基于S3C2440的移动终端硬件设计

 

RFID模块主要负责对当前物流载体的数据采集,以获得RFID定位信息,并将采集到的RFID信息通过蓝牙模块传输给S3C2440。GPS 模块根据卫星定位获得当前位置信息,同样通过蓝牙模块进行传输(如距离比较近,也可以有线传输)。CellID模块主要通过无线数据传输获得定位信息,然 后通过GPRS模块传输给中心控制器。LCD模块主要提供人机交互的功能,除了显示屏外还需配备键盘等输入设备,或者直接采用液晶屏。存储器模块除了扩展 的片外RAM外,还需给嵌入式数据库提供一定的存储空间。

 

2.4  软件设计

2.4.1  软件总体设计

如图4所示,按照功能可以将软件分为以下4部分。

图4  软件总体设计图

 

① 用户界面。要实现一个友好的用户界面,以便用户在S3C2440 LCD屏上直观地获得图文并茂的信息,以及选择服务功能和输入信息。

 

② 地图数据处理。主要实现电子地图的数据组织、地图显示、地图标图功能、定位导航功能,便于用户使用地理信息的服务功能。终端处理的数据包括GPS数据、GIS数据、文本数据、多媒体数据。

 

③ GPS通信模块。S3C2440模块通过蓝牙与GPS模块相连接,对接收到的GPS数据进行处理,才能得到所需要的定位信息(比如经纬度数据等)。利用篮牙进行串口通信的编程,包括打开串口、配置串口、发送接收数据、关闭串口4个步骤。

 

④ GPRS通信模块。利用GPRS无线物流在S3C2440和控制中心之间进行双向通信。本文采用Web Service的方式来进行。

 

2.4.2  GPS与RFID数据提取

GPS接收机只要处于工作状态,就会源源不断地把接收并计算出的GPS导航定位信息通过串口传送到计算机中。从串口接收数据后将其放置于缓存 内,在没有进一步处理之前缓存中是一长串字节流,这些信息在没有经过分类提取之前是无法加以利用的。因此,必须通过程序将各个字段的信息从缓存字节流中提 取出来,将其转化成有实际意义的、可供使用的定位信息数据。例如,“$GPRMC”帧结构的1、2、3、5、9段是我们需要得到的数据,分别是时间、数据 的可信度、纬度、经度、日期。从“$GPRMC”帧中获取定位数据的代码如下:

  for(int i=0;i<DATALENGTH;i++){

  if(Data[i]="$")//帧头,SectionID为逗号计数器

  SeetionID=0;

  if(Data[i]==10)//帧尾

  if(Data[i]=",")//逗号计数

  SectionIiD++;

  else{

  switch(SeotionID){

  case1: //提取出时间

  m_sTime+=Data[i];

  break;

  case2: //判断数据是否可信(GPS天线至少接收到3颗GPS卫星时为A,可信)

  if(Data[i]=="A")

  GPSParam[m_nNumberl].m_bVaIid=true;

  break;

  case3: //提取出纬度

  m_sPositionY+=Data[i];

  break;

  case5: //提取出经度

  m_PositionX+=Data[i];

  break;

  case9://提取出日期

  m_Date+二Data[i];

  break;

  default:

  break;

  }

  }

  }

 

RFID模块通过串口将信息传输至移动终端,信息传输流程如图5所示。当接收缓冲区内字节个数达到或者超过该值后就取出数据并对相应事件进行处 理。程序设计的主要任务是:读出标签ID信息(读ID命令);向标签写入存放在数据库中的数据信息(写信息);读取标签中写入的数据信息,查询数据库以得 到具体的产品信息(读信息);实时显示读标签信息的结果。

图5  RFID模块至移动终端的信息传输流程

  读ID代码:

  void CMyDlg::OnBtn_ReadID() {

  SendData("Read");

  if(0==m_ctrlComm.GetOutBufferCount())

  m_ctrlComm.SetRTHreshold(18): //读取标签ID所设的阈值

  }

  读信息代码:

  void CMyDlg::OnBtn_ReadMessage(){

  SendData ("ReadString(18,67)int(8*),int(90,4)");

  if(0==m_ctrlComm.GetOutBufferCount())

  m_ctrlComm.SetRTHreshold(40): //读取标签ID所设的阈值

  }

 

2.4.3  移动终端S3C2440模块软件设计

采用模块化结构设计,根据不同功能分别进行编写和调试,等到各个模块都调试成功后,将各个模块连成整体,组成软件系统。

 

移动终端S3C2440模块完成的主要内容包括两部分:

 

① 完成从移动终端到远程控制中心的定位信息的上行传输。当远程控制中心要从移动终端获取定位信息时,可以发送命令给S3C2440。这时S3C2440便产 生一个中断,并发送命令给各定位模块来获取定位信息,将定位信息进行处理后再通过GPRS模块传给远程控制中心;或者是移动终端由人员键盘控制产生中断, 然后采集定位信息传送给远程控制中心。

 

② 接收控制中心到移动终端的下行传输的信息。控制中心可以将各种数据传送给终端设备。比如,控制中心通过GIS发现当前移动终端所选道路拥塞,则可以给移动终端发一条改变路线的建议信息,这样非常方便地实现了远程控制中心与移动终端的交互。

 

S3C2440上行至控制中心的软件设计主要流程如图6 所示。

 

图6  S3C2440上行至控制中心的软件流程

 

结语

本文以GPS定位数据为基础,GPRS网络作为承载网络,结合物流业发展实际需要,将物流配送过程数字化与信息化,实现了对物流配送系统的监控与管理。射频识别技术、定位技术、传感器技术以及无线通信技术在未来必将深入到物流业的各个方面。

参考文献:

[1]. S3C2440 datasheet http://www.dzsc.com/datasheet/S3C2440_589562.html.
[2]. GPRS datasheet http://www.dzsc.com/datasheet/GPRS_1594650.html.

关键词: S3C2440 物流配送系统 Linux

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关电路