基于嵌入式LINUX的智能车载终端系统的设计
扫描二维码
随时随地手机看文章
随着国内汽车使用量增加,公路建设在跨越式发展,道路的复杂程度越来越大,这些因素给车辆安全运行带来了困难。如何让车辆安全行驶,并能够对车辆进行有效监管,已经成为驾车人和交管部门重点关注的焦点。智能交通系统ITS(Intelligent Transportation Systems),通过引进信息管理技术,优化传统的交通管理系统,形成新型现代交通管理系统,体现出信息化、智能化和社会化的特点。在智能交通系统中,车载终端是重要组成部分,它使用卫星全球定位GPS功能对道路上运行的车辆,进行实时监管、控制和调度。具体设计实现时,使用GPS接收机,接收车辆实时运动位置信息,并将这些数据发送到车辆监控中心;监控中心根据接收到的车辆运行状态数据,以及当前道路实际监测状况,向车载终端发送控制指令,以达到对运行车辆的调度和监控。
当前,电子技术飞速发展,出现一些处理能力强、外设接口丰富的处理器芯片,比如ARM(Advanced RISC Machines)系列处理器,为开发多功能的车载终端提供了硬件技术基础;此外,LINUX操作系统日渐成熟稳定,且外设驱动支持丰富,被广泛应用于消费电子产品中,为开发智能车载终端提供了强大的软件支撑平台。
文中根据车载终端系统的功能需求,提出了一种基于ARM和LINUX的智能车载终端系统的设计方案。在该设计方案中,硬件平台主要围绕S3C44B0X处理器,配置GPS定位信息模块、GPRS通讯模块以及其他外设;软件平台以嵌入式LINUX为平台,对操作系统组件做适当的功能裁减,辅助必要的业务数据处理程序。
1 硬件设计方案
本智能车载终端系统的硬件组成主要包括4个部分:GPS定位模块、GPRS通信模块、触摸屏模块和ARM控制模块,系统的硬件结构见图1所示。本系统中的触摸屏模块选用了成熟的解决方案,下面着重说明本系统中GPS定位模块、GPRS通信模块和ARM控制模块的设计方案。
1.1 ARM控制模块设计
本智能车载终端系统中的ARM控制模块,主要用于设置GPS定位模块、GPRS通信模块、触摸屏模块以及外设器件的工作方式,使得各个硬件组件按照设计方式工作。
考虑到本系统的业务逻辑控制并不是异常复杂,经过慎重比较,选择了集成ARM公司的ARM7TDMI核的嵌入式微处理器S3C44B0X,作为主控制模块的处理器。S3C44B0X处理器内设丰富,集成了LCD控制器、存储器控制器、IIC总线控制器、IIS总线控制器等设备控制器,还有UART等外部接口。使用这款处理器,既简化了系统整体硬件设计,又降低了硬件成本。
1.2 GPS定位模块设计
本智能车载终端系统中的GPS定位模块,主要负责接收定位卫星的定位信息,通过RS232接口连接ARM主控模块,传递定位数据,用于计算行车的位置和坐标。
考虑到在通常行车环境下,GPS定位模块只能与4~8颗卫星同时通信。在设计本系统的GPS模块时,考虑了高性价比的选择标准,选择了上海丽浪公司的GPS—R25型GPS模块。该GPS模块有这样的特性:支持12通道C/A码接收控制,同时监控12路卫星信号;内部集成16位ARM处理器内核,电池可在正常使用中充电;数据误差范围为1~5m;有串行接口;达到工业级标准。
1.3 GPRS通信模块设计
本智能车载终端系统中的GPRS通信模块,是车载终端与后台监控中心的通信通道,实现将处理好的GPS数据和其他监控数据发送给监控中心,并接收后台监控中心发送给车载终端的控制数据。
本系统选用的GPRS模块是索尼爱立信公司推出的GR47模块,其主要特点:采用实时操作系统;内置完整的TCP/IP协议,允许一个TCP/UDP传输机制,以最小的前期配置和操作来被使用;内嵌控制器,方便集成用户的应用,减少外部控制器的需求。GR47支持双频GSM带宽900MHZ/1800MHZ,可以通过SMS短信息服务、CSD、HSCSD或GPRS来收发资料,并支持语音处理和传真。可通过AT命令或嵌入式应用访问其TCP/IP协议栈。由于GR47模块内嵌了TCP/IP协议栈,因而可以直接使用AT命令对其控制,使用方便。
2 软件设计方案
2.1 软件模块设计
本智能车载终端系统的软件部分主要包括:主控子模块、GPS采集/处理子模块、GPRS报文通信子模块和显示驱动子模块。
主控子模块:负责初始化硬件通信接口、GPS定位模块控制器、GPRS通信模块控制器、触摸屏控制器以及其他外设;从外设存储芯片中加载用户配置信息;响应并处理前台用户给出的控制命令,以及来自后台监控中心的控制指令。
GPS采集/处理子模块:负责接收GPS定位模块的定位数据,一方面对定位数据进行解析处理,从中提取位置信息,转交主控子模块,显示实时位置信息,便于车辆行驶人了解当前地理位置;另一方面对定位数据进行数据格式转换处理,然后借助GPRS通信接口,将转换后的数据发送给后台监控中心,方便后台控制中心实时了解车辆运行信息。
GPRS报文通信子模块:负责接收监控中心传递来的GPRS通信格式报文,并对接收到的报文按照约定的数据格式进行转换处理,通过内部消息,将转换后的报文数据送交至主控子模块继续处理;另外为GPS数据采集/处理子模块提供GPRS数据报文发送接口,按照GPRS约定格式的数据发送至后台监控中心。
显示驱动子模块:接收用户输入控制,比如:设置导航线路、发送行车状态等;显示定位信息数据,以及监控中心发来的控制命令。
2.2 多线程应用设计
借助于嵌入式LINUX系统的多线程技术、中断的快速响应机制、以及消息驱动机制,结合智能车载终端系统需要实现的功能,进行如下线程设计,如图2所示。
主要线程功能说明:
1)主控线程:本线程主要实现对GPS模块控制器、GPRS模块控制器、触摸屏模块控制器、以及其他外设器件初始化;接收报文接收线程发送的内部消息,处理后台监控中心的控制指令;接收GPS数据采集/处理线程发送的内部消息,实时更新显示地理位置信息;响应处理前台触摸屏控制用户的设置,设定行驶线路以及其他行车状态:
2)报文接收线程:本线程等待主控线程完成基本硬件器件初始化后,尝试连接GPRS通信网络;在连接成功之后,本线程开始接收后台监控中心发给本终端的控制命令报文,然后解析报文,转换为系统中约定的内部控制消息,交给主控线程继续处理;
3)GPS数据采集/处理线程:本线程等待主控线程完成基本硬件器件初始化后,开始采集GPS定位数据;采集到GPS定位数据后,发送内部控制消息给主控线程,实现地理位置
信息更新;同时对采集到的GPS数据按照约定的数据格式进行转换处理,然后使用GPRS报文发送接口,将转换后的数据报文发送给后台监控中心处理。
3 结束语
文中提出的技术实现方案,重点在于使用GPRS网络进行无线数据通信,代替传统的GSM短信息通信模式,提高了数据传输速率和传输可靠性;此外,基于嵌入式LINUX系统,通过使用多线程设计方案,解决了系统中多任务并行处理的问题,确保系统的稳定性和可靠性,相比现有车载终端,故障率降低了约50%;用户体验更好。