基于S3C2440处理器Linux平台的物流配送系统设计 2
![Rank: 6](images/default/star_level3.gif) ![Rank: 6](images/default/star_level2.gif)
- UID
- 864567
|
![](http://images.eccn.com/silabs/silicon_chip_980x60_202203.jpg)
基于S3C2440处理器Linux平台的物流配送系统设计 2
![](http://gg.eefocus.com/www/delivery/lg.php?bannerid=1869&campaignid=534&zoneid=212&loc=http%3A%2F%2Fwww.eefocus.com%2Fembedded%2F318155%2Fp2&referer=http%3A%2F%2Fwww.eefocus.com%2Fembedded%2F318155&cb=ca107e58ac)
基于S3C2440的移动终端硬件设计如图3所示。S3C2440模 块(包括各种硬件接口及嵌入式Linux软件等)负责对GPS信号的接收处理、视图显示及对数据的处理。从GPS模块中获取定位数据,从RFID模块与 CellID模块获得更详细的定位信息作为补充,然后将位置信息通过GPRS发送给控制中心。实现终端和控制中心的信息上传和下传功能。
![](http://upload.semidata.info/article/image/2013/03/05/51354a277af19-thumb.JPG)
图3 基于S3C2440的移动终端硬件设计
RFID模块主要负责对当前物流载体的数据采集,以获得RFID定位信息,并将采集到的RFID信息通过蓝牙模块传输给S3C2440。GPS 模块根据卫星定位获得当前位置信息,同样通过蓝牙模块进行传输(如距离比较近,也可以有线传输)。CellID模块主要通过无线数据传输获得定位信息,然 后通过GPRS模块传输给中心控制器。LCD模块主要提供人机交互的功能,除了显示屏外还需配备键盘等输入设备,或者直接采用液晶屏。存储器模块除了扩展 的片外RAM外,还需给嵌入式数据库提供一定的存储空间。
2.4 软件设计
2.4.1 软件总体设计
如图4所示,按照功能可以将软件分为以下4部分。
![](http://upload.semidata.info/article/image/2013/03/05/513549adbfe77-thumb.JPG)
图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="$")//帧头,SectionID为逗号计数器
SeetionID=0;
if(Data==10)//帧尾
if(Data=",")//逗号计数
SectionIiD++;
else{
switch(SeotionID){
case1: //提取出时间
m_sTime+=Data;
break;
case2: //判断数据是否可信(GPS天线至少接收到3颗GPS卫星时为A,可信)
if(Data=="A")
GPSParam[m_nNumberl].m_bVaIid=true;
break;
case3: //提取出纬度
m_sPositionY+=Data;
break;
case5: //提取出经度
m_PositionX+=Data;
break;
case9://提取出日期
m_Date+二Data;
break;
default:
break;
}
}
}
RFID模块通过串口将信息传输至移动终端,信息传输流程如图5所示。当接收缓冲区内字节个数达到或者超过该值后就取出数据并对相应事件进行处 理。程序设计的主要任务是:读出标签ID信息(读ID命令);向标签写入存放在数据库中的数据信息(写信息);读取标签中写入的数据信息,查询数据库以得 到具体的产品信息(读信息);实时显示读标签信息的结果。 |
|
|
|
|
|