基于Linux的车载物流终端设计与实现

2015-02-18 01:10马丽洁
物流技术 2015年13期
关键词:车载嵌入式处理器

马丽洁

(内蒙古电子信息职业技术学院,内蒙古 呼和浩特 010070)

1 引言

自改革开放以来,我国经济取得了长足发展,人们生活日新月异,汽车不再是单独物体,而日益成为联络人类各种活动的载体。汽车在方便人们生活的同时,也因数量剧增,给城市交通带来了巨大问题。而汽车数量激增所导致的交通拥堵,不仅影响了广大居民的日常生活,更是给城市规划、道路建设、道路维护带来了挑战。如何高效监管、监测、预警、调控汽车数量和汽车使用,以保证人们的人身安全和财产安全,成为相关部门不得不面对的问题。

车载物流终端通过综合运用计算机、通讯、卫星定位等技术,为使用者提供多种多样的服务,旨在优化智能汽车内的服务效果,为用户提供更加安全、更加舒适的服务,减缓对环境的负担。此外,由汽车电脑、行车记录仪、智能导航仪和车载多媒体等仪器组成的车载信息系统具有诸多实用的功能,如提高汽车的综合性能、保证驾驶员的安全、简化驾驶员的操作等,有效地解决了城市交通安全、拥堵等问题。

因此,本文旨在为城市交通调度管理能力的提高与车辆安全管理的改善,提出一种有效的解决方案,即构建一个嵌入式Linux车辆监控管理系统的车载终端。该终端融合了GPS的定位系统和GPRS的网络数据系统,具有较强的实用性、易用性、功能多元性,且功耗较少。

2 车载物流终端的组织构成及工作原理

2.1 车载物流终端的组织构成

当前,车载物流终端主要由GPRS通信系统、监控中心以及最核心的部件—车载终端组成。该终端主要包括的功能单元有ARM嵌入式系统、安全防盗系统、GPS卫星接收模块和GPRS无线通信模块。GPRS无线链路是建立在GSM/GPRS移动通信公众网的基础上,因此包括的支撑节点主要有基站控制器(MSC)、业务支撑节点(SGSN)以及网关支撑节点(GGSN)。而该终端的监控中心则是由网关和信息服务器组成。

2.2 车载物流终端的工作原理

车载物流终端的工作原理十分复杂,首先,GPS卫星接收模块对GPS卫星发出的数据进行收集、计算,这一环节的目的在于快速、准确、动态、及时地确定车辆地理位置。其次,上述有关行进或驻地车辆的信息将经由ARM嵌入式系统加以处理,然后在GPRS无线通信模块的辅助下准确无误地发送到GPRS无线通信网络。第三,当GPRS网络接收到相关信息后,会自动依照协议或指令,在车载终端与处于工作状态(联网)的监控中心之间建立一条数据通道,该数据通道支持TCP/IP协议。第四,监控中心综合利用数据库和WebGIS技术,将行进或驻地车辆的地理位置标注在电子地图上。此外,监控中心还有一个重要的功能,即利用建立的通道进一步向下一级发送控制命令或服务信息。换言之,车载终端不是一个单一的车辆定位系统,是兼具移动电话服务等各类信息服务和安全、调度等多种管理功能的全面而综合的系统。

(1)语音与固定信息显示。车载物流终端拥有强大的汉字书写功能、较全的汉字库,即信息存储功能强,因此在信息查询、路程估价等方面的功能十分强大。具体表现为,当查询指令发出后,相关信息会在LCD液晶显示屏上快速地以汉字或模拟图的形式显示出来,如出发地点、目的地、里程数等。

(2)显示移动信息。在车辆的行进中,车载物流终端能够实时地通过语音或模拟图的形式报告行车路线、车辆行驶路况,甚至包括交通信息。

(3)GPS导航和定位功能。车载物流终端将城市甚至地图数字化。随着现代信息技术(如遥感技术、地理信息系统技术等)的快速发展,可以将车载物流终端看作是集成通信、导航等多种功能于一体的综合系统平台。能够为驾驶员提供清晰、路程最短的的行车路线。

(4)车辆监控功能。车载物流终端还集成了监控系统。该系统可以利用GIS和可视化的界面,接收监控中心的多种监测结果,并且能够发出多种遥控指令。因此,在监控系统和控制系统的共同作用下,监控中心能够对汽车实现安防领域等多种远程控制。

(5)黑匣子功能。车载物流终端还可以作为一个“黑匣子”,实时记载车辆的行驶状况,以便一旦发生交通事故,交通管理部门可以利用该系统及时收集证据、确定事故的责任方,以便有效解决问题。

3 车载物流终端的硬件设计

上述分析表明,车载物流终端具有强大的功能,这些功能需要诸多硬件作为支撑,主要包括GPRS无线通信模块、ARM处理单元、语音播报单元、文字图形显示单位、GPS接收模块等。而在整个系统中,中央处理单元的作用举足轻重。通过综合权衡系统性能、综合考虑产品成本等因素,设计如下方案:

(1)中央处理器选择ARM7TDMI内核的LPC2292。该型号的处理器属于微型处理器,是由飞利浦公司专门为手持设备打造的一款16/32位RISC处理器,该处理器价格低、功耗小、性能高、体积小。与其它处理器相比,它具有一个显著的特征,使用了由ARM有限公司打造的16/32位ARM7TDMI RISC处理器作为其核心部分,即CPU核心。在此基础上,一整套系统外围设备的配置有效地降低了整个系统的成本,大大减少了该系统对其它硬件的需求。

值得说明的是,LPC2292微型处理器包括了数十种内部设备,能够最大限度地发挥该处理器的功效。具体的内部设备见表1。

(2)GPRS无线通信模块。该模块的功能是支持GPRS/GSM网络,进而能够有效地承载数据、图形、语音及传真等多种业务。在设计过程中采用由西门子公司设计的MC35I。该设备拥有超级语音功能模块,其优点主要表现为:一是内置语音处理电路;二是拥有单独的语音接口。此外,通过在车载终端上设计操作键盘和显示器,用户就能够安全地使用移动电话。

表1 LPC2292微型处理器的内部设备

值得指出的是,通过将中央处理器的LPC2292和GPRS无线通信模块的MC35I连接成一个串行口,便可以实现信息的传输,并进一步将传输速度设置为115 200bps。此外,在两者之间的物理接口上,还需要安装如下设备:诸如DCD数据载波检测、DTR终端检测等。前者主要是MC35I的配套设备,其功能表现为检测MC35I模块处于何种状态,是正在传送数据还是传送命令。而后者则是用来检测数据或者命令的传送是否结束。

(3)GPS接收模块。GPS接收模块采用TFAG30,该设备由飞鹰公司设计,与LPC2292通信组成串行口,传输速度高达9 600bps。GPS接收模块内置ARM7处理器且具有12路卫星通道,主要用途为支持DGPS正常运行。该模块能实现较高的目标移动速度和较准的精度,分别为515m/s和25m。为了有效地避免射频等外部干扰对系统中其他单元的不良影响,该模块由全金属外壳封闭,而内部设计也十分紧凑,整个模块大小约为30×40×7(单位均为mm)。

(4)语音合成模块。对于绝大多数驾驶员而言,在车辆行进过程中,尤其是在高速路段上行驶时,数据读取十分困难,容易漏掉一些非常重要的信息。对此,设计了一个TTS文本语音播报单元,即XF-S3011语音合成模块。该模块的最大功能是将原有需要阅读的信息转化为声波的形式,这就极大地降低了司机的危险,保证了驾驶人员的安全。

需要说明的是,XF-S3011是以IIC与LPC2292为技术支撑。键盘电路由锁存器和缓冲器共同组成,使用的型号分别为74HC273和74LVCH244。而LCD则是一款由行/列驱动器与192×64全点阵组成的液晶显示器,可以快速地呈现出图形矩阵,型号为WDT-19264B。当然,该显示器不仅可以显示出图形,还可以显示出文字。

4 车载物流终端的软件设计

车载物流终端除了需要完备的硬件以外,还需要三个主要的软件。

(1)U-Boot移植软件。该软件是一款嵌入式MCU的Boot-loader程序,支持该软件的对象有许多种,其中一个重要的对象是ARM7TDMI系列芯片。该软件除了支持嵌入式以外,还包含许多开发板实例。CPU文件夹目录下同时存放MCU文件和Board文件,而开发板的相关程度就放在Board文件夹中。而开发板移植的重点工作就是针对上述CPU下两个文件夹的相关代码进行修改。为了减缓工作量,选择对Board文件下的相关代码进行修改是一个很好的举措。具体移植过程如下:

①建立一个交叉编译环境。首先,Linux系统中的make工具为U-Boot提供了一个有效的管理和编译环境。之所以不采用宿主机的工具是因为嵌入式的编译环境必须交叉编译。如尝试利用arm-linux-gcc-3.3.2.bz.tar建立上述环境,具体操作为,在根目录中利用上述压缩文件系统生成一个交叉编译环境。

②为创建的新平台移植U-Boot。

③配置U-Boot中处理器和开发板其他硬件。

④生成U-Boot映象。首先,编译选项是编译工作得到实现的一个重要工具。具体操作为在Makefile文件夹中增添pav_config编译说明。其次,通过make clean、make pav_config和make三种命令实现编译。在实现编译后就会生成以u-boot为命名的三个文件,其中三个文件的扩展名分别为无、.bin、.srec。并进一步将上述文件下载到目标板中。

(2)移植uClinux内核。车载终端选用的操作系统为uC-linux。它是一个由Linco公司维护的嵌入式操作系统,是Linux2.0/2.4内核的派生品。该系统具有独特性:第一,专门适合于没有MMU的CPU;第二,简化工作;第三,体积小;第四,适用于没有MMU和虚拟内存的处理器,因此,对于那此内存小且嵌入式的系统,该系统是一个绝佳的选择;第五,移植性能稳定;第六,网络功能完善;第七,支持绝大多数文件系统;第八,具有精准标准的、丰富的APT。

进一步,本文选择的uClinux内核版本为uClinux-dist-20070130.tar.gz。uClinux内核移植的详细步骤如下。

①修改编译选项(Makefile),指定交叉编译器;

②对flash进行分区,并将其划分为禁止Flash ECC校验区、指定启动时初始化区等。

③设置启动时支持挂载jaffs2,为了实现该功能可以对fs/Kconfig进行修改。

④生成以.config为扩展名的文件,为了实现该功能可以运行make menuconfig命令。

⑤修改I/O端口、存储单元及驱动等,使其与选择的硬件相匹配。

⑥通过make命令实现uImage映象。

(3)开发应用程序。利用Linux编程,在装有Red-hat9.0的宿主机上编写程序。然后按照上述过程,首先实现交叉编译;其次传送到Linux的文件系统;第三,修改终端上的启动文件以实现程序运行;第四,在通上适合的电流后,装载、启动上述操作系统,实现应用程序开发。

5 结论

本文的目标是提出一个车载终端的方案,该方案是一个融合嵌入式Linux监管系统、微处理器实用又成熟的操作系统。并且融合了GPS定位技术、GIS技术、GPRS网络数据传输技术。该车载终端的性能高、功能稳定、实用强、精准度高、数据传送速度快、可扩展性好,其开发能极大地缓解城市交通拥堵问题,为交通调度管理和车辆安全管理提供一个有效的解决方案。

[1]普措才仁,冯旭.基于Linux的ARM9嵌入式车载信息系统的设计与实现[J].自动化与仪器仪表,2010,(4).

[2]孙弋,张晓刚.基于嵌入式Linux的车载终端的设计与实现[J].微计算机信息,2009,(25).

[3]刘江林,袁宏彦.基于嵌入式技术和Webservice技术的物流信息系统研究[J].物流技术,2012,(8).

猜你喜欢
车载嵌入式处理器
一种车载可折叠宿营住房
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
高速磁浮车载运行控制系统综述
奔驰S级48V车载电气系统(下)
TS系列红外传感器在嵌入式控制系统中的应用
搭建基于Qt的嵌入式开发平台
智能互联势不可挡 车载存储需求爆发
ADI推出新一代SigmaDSP处理器
倍福 CX8091嵌入式控制器
火线热讯