基于嵌入式Linux系统的车载导航终端
摘要: 本文研究的是嵌入式系统在车载导航终端中的应用,以Intel PXA255处理器为核心处理器,以嵌入式Linux系统为操作系统,结合USB摄像头,GPS接收机,CDMA无线传输模块等外设构建了基于嵌入式系统的多功能车载导航系统。系统达到了设计要求,具有一定实用价值。
关键词: ARM;嵌入式系统;Linux;车载导航
车载导航系统是ITS系统(智能交通系统)的重要组成部分,它将卫星定位技术(GPS),地理信息系统(GIS)以及现代通信技术融于一身。主要功能是将装有GPS接收机的移动载体的动态位置、时间、状态等信息实时的通过无线网络链接到指挥控制中心,而后在具有强大地理信息处理和查询功能的电子地图上进行载体运动轨迹的显示,并能对载体的准确位置、速度、运动方向、车辆状态等基本信息进行监控和查询。
总体设计方案
系统采用Intel公司Xscal架构的PXA255处理器为核心处理器,操作系统选用嵌入式Linux系统。本系统所包含的功能如下:视频取证功能、卫星防盗功能、无线追踪功能、辅助倒车功能等。
本系统整体功能见图1。其中多功能车载GPS终端分布在各移动的车辆上,负责接收GPS卫星定位信息,通过GPS接收机中的处理器解算出车辆所处的位置坐标。坐标数据经处理后可以显示在本机上,由 CDMA模块,以短信的形式将车辆的位置、状态等信息发送至公网,公网将接收到的车辆定位信息传送至监控中心,在监控中心经过计算机系统的处理后与计算机系统上的GIS电子地图进行匹配,并在地图上动态显示坐标的正确位置。同时,系统可以通过连接在终端上的视频采集设备(USB摄像头)对当前的图像以一定的速率采集并保存成视频信息以供日后事故鉴定之用,也可选择视频实时显示模式,作为辅助倒车之用。此外,截取的关键视频图片还可以通过无线网络传送到监控中心,实现远程无线图像监控。
图1系统整体功能模块构成示意图
各主要功能模块设计
本系统车载终端硬件部分主要包括X-Hyper Xscale PXA255B开发板,液晶屏,GPS接收板,USB摄像头、CDMA通信模块等。软件模块主要包括GPS接收模块、语音留言模块、视频取证与辅助倒车模块、无线监控模块,并设计有统一的图形用户界面。
GPS定位模块
GPS接收机采用u-Blox RCB-LC,接收数据采用NMEA0183格式,波特率设为9.6Kbps。GPS模块的工作流程图如图2所示,对GPS数据的读取需要通过对串口的操作来实现。在Linux下,所有的硬件设备都被看成是普通文件,可以通过和普通文件相同的标准系统调用来完成打开、关闭、读取和写入设备等操作。系统中每一个设备都用一种特殊的设备相关文件来表示,存放在/dev/目录下。在Linux中,对每一个设备的描述是通过主设备号和次设备号来实现的。由同一个设备驱动控制的所有设备具有相同的主设备号,主设备号描述控制这个设备的驱动程序,即驱动程序与主设备号是一一对应的;次设备号用来区分同一个驱动程序控制的不同设备。
图2 GPS模块的工作流程图
视频取证与辅助倒车模块
视频取证与辅助倒车模块的具体功能如下:当车辆启动时,由置于车前的摄像头采集图像数据。采集数据的形式分为手动采集和自动采集两种。手动采集主要用于小的交通摩擦,在车辆的行驶速度没有发生较大变化时车主可以根据自身需要手动选择;自动采集,主要用于当车辆发生大的交通事故时,车辆行驶速度由于碰撞发生较大变化,系统会自动启动视频取证功能。在车尾安装摄像头,用于辅助驾驶员倒车。由于摄像头安装在车尾正后方,恰好可拍摄到驾驶员后视镜看不到的地方。而且摄像头的倾角偏下,可很好的查看地面是否有突起的障碍物,以辅助驾驶员倒车。视频取证模块程序流程图与辅助倒车模块程序流程图如图3所示。
图3 视频取证与辅助倒车模块程序流程图
(a) 视频取证模块流程图
(b) 辅助倒车模块流程图
摄像头属于视频类设备,遵循Video for Linux (V4L)标准。这个标准定义了一套API接口,内核、驱动、应用程序都以这个接口为标准进行交流。
无线传输模块
无线传输模块系统构成如图4所示,通过具有无线上网功能的CDMA1X无线通信模块实现无线上网,数据收发。短信收发程序使用AT命令进行相关操作,无线传输模块实现原理如下:
图 4 无线传输系统构成
(1) 手机向终端发送带有“position”字串的短信,终端收到短信后,结合GPS模块,得到当前系统所在的经纬度,然后以短信的方式返回给手机。
(2) 手机向终端发送带有“listen”字串的短信,终端收到短信后,主动的给手机回电话。
(3) 手机向终端发送带有“stop”字串的短信,终端收到短信后,自动挂断当前的电话。
(4) 手机向终端发送带有“internetxxx. xxx.xxx.xxx”字串的短信,终端收到短信后,提取IP xx.xxx.xxx.xxx,并主动拨号上网,上网后,和服务器进行绑定尝试。如果绑定成功,则结合GPS和摄像头进行GPS和摄像头数据的传送;服务器收到终端的数据后,分别将图片数据存为文件并显示,将GPS数据发送给电子地图,这样就可实现远程监控。如果绑定失败,则终端会自动下线。
(5) 在数据传送过程中,无论服务器关闭或服务器向终端发送停止命令终端都会自动下线。
(6) CDMA1X的短信电话功能和上网传数据功能不能同时占用信道,所以在进行短信或电话功能时不能进行上网数据业务,反之亦然。
当接收到的短信中含有上网的有效信息时,终端便开始上网,使用PPP拨号协议。终
端成功上网后,便可进行数据传送。为了保证数据传送的稳定性(相对UDP协议不乱序,不丢包等),程序采用了TCP协议传送。ppp拨号上网最重要的部分,负责打开串口并设置,引导客户端与服务器进行会话,引导进行身份密码验证,引导把ttySx(串口)和ppp0(ppp拨号上网用来处理网络业务中的一系列操作)绑定,进行正常的数据传送业务等。
/usr/sbin/chat 用来和服务器进行会话,对超时、无应答等进行设置,和服务器进
行身份密码验证。为保证无线modem的正常工作,使用的方法有:
(1)收到一条短信处理完就删除掉,如收到的短信中没有相关内容,则会自动删除。这样模块收到的短信总数永远不会超过20条的上限,可以保证短信的正常收发(如果短信已满,则收不到新的短信)。
(2)由于无线上网和手机业务(短信和打电话)各自对无线信道的独占性,即打电话时不能上网,但可以收发短信,上网时收不到短信和接不了电话。程序采取的措施是电话结束后发送stop短信保证不再占有信道,上网过程中遇到一些情况,比如:服务器关闭,未打开,绑定失败,服务器要求停止传送等,都会自动下线,并恢复到上网前的状态。
结语
本课题在设计过程中,对硬件实现采用集成化的思想,充分利用开发板的资源;软件设计采用模块化思想,提高系统的可扩展性和可维护性,增长软件的生命周期。设计初步实现了全天候定位、视频图像采集与无线传输等功能的GPS车载导航终端。
参考文献:
1. lessandro Rubini&Jonathan, Linux Device Driver,O'Reilly&Associates,2001
2. Detlef Fliegl,Programming Guid for Linux USB Device Driver,www.usb.org,2000
评论