德州学院汽车工程学院 曹鲁鲁
目前,智能型3C(computer,communication,consumer)合一的类PC嵌入式系统与技术已进入一个崭新的智能化、网络化的发展阶段[1]。GPS车载导航系统作为其中最具代表性的技术得到了空前的发展。人们经济生活的发展,使得对于信息技术的集成化雨来约有要求,集GPS、电子地图GIS技术以及移动通信技术为一体的嵌入式智能导航设备已成为必要[2],因而研究基于VxWorks的嵌入式GPS车载导航系统具有重要的意义。
GPS车载导航系统是通过商业通信卫星,把GPS应用到车辆导航上面,为汽车驾车人指路的汽车电子设备[3]。这种系统采用GPS与航位推算法组合方式实现定位,通过触摸显示屏或遥控器进行相互操作,能够实现实时定位、目的地检索、路线规划、画面和语音引导等功能,帮助驾驶人准确、快捷地到达目的地。
VxWorks操作系统是美国温瑞尔(Wind-River)公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分[4]。
当用户需要进行定位、导航等服务时,GPS信号接收模块会获取来自GPS卫星定位系统上的各个卫星(至少4颗)发出的定位到当前车辆的航位信息,并负责对接受的这些信息进行推算,将定位信息交给嵌入式系统进行处理,由运行在其上的导航软件系统为用户提供地图查询、路径搜索、导航等功能,由显示模板负责提供人机交互界面,执行用户的操作,完成用户的任务[5],GPS车载导航系统原理图如图1所示。
图1 嵌入式GPS车载导航系统原理图
图2 嵌入式车载导航系统硬件结构件图
系统硬件分为核心板与地板两部分,主要完成GPS串口数据的接收、点阵LCD触摸屏驱动、SD卡驱动、音频驱动等功能。核心板是实现CPU的最小系统,采用S3C2440 ARM9芯片作为处理器,Flash采用64MB的K9F1208UDM—YC80芯片,主存采用64M的SDRAM,而外围通信接口的设计,考虑到不同的需求,设计了以太网和通用串行总线口USB以及串口(UART)通信接口,为终端和外界的通信提供了可选的方式。图2为整个系统的硬件结构框图。
由于车辆导航系统对多任务性、实时性、稳定性的要求比较高,因此本系统采用了VxWorks嵌入式操作系统。它包括了进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分,而且高度可裁减,只占用很小的存储空间,保证了其能以较高的效率运行于导航系统中。
应用软件开发包括电子地图和导航应用程序设计:
(1)电子地图的设计
电子地图的设计包括图形界面和地图数据库两部分。本系统通过VxWorks的WindML(WindRiverMultimediaLibrary)实现了电子地图的图形界面。
WindML主要是用来实现基本的图形、视频和音频技术以及设计标准设备驱动程序框架,它提供了一个统一的图形硬件接口以及处理输入设备和输入设备事件的能力。电子地图数据库的数据结构采用了Arc—Node结构。
该结构的基本原理是在允许的精度范围内,通过加入多个节点将现实中的真实道路用一系列线段来模拟或近似表示,整个道路网络就是由Arc(小段的线段)和Node(Arc的两个端点)组成,并具有明确的拓扑关系,可以实现路径规划。
(2)导航应用程序的设计
导航应用程序包括了对电子地图的操作、GPS定位、收发短消息、语音提示、人机接口等功能的实现。在设计中,根据VxWorks提供的良好的多任务特性,将不同的导航功能模块分给了不同任务去执行,通过任务间通信机制保证多任务的同步。其中系统的主任务负责实现硬件设备的初始化(如串口、看门狗的配置等)、电子地图的初始化和首次显示、发起子任务等功能。
主任务中发起了四个子任务,分别负责响应用户的输入、标准串口的数据输入、ISA总线16C554的数据输入以及实现路径规划算法。
前三个功能独立出来是因为这些功能的触发时间都是不确定的,需要单独监视;最后一个则因为需要较大的运算量。这里只以接收串口数据的子任务为例进行分析。
该任务需要监视两个串口的信息:GPS数据和从语音模块返回的状态信息。VxWorks将I/O系统设计成为与设备无关的接口,因此对串口的操作可以视为对文件的操作。
串口的打开,关闭和写操作均比较简单,而串口的读操作采用了select函数,利用其触发机制阻塞任务。有数据到来时,任务才会被激活并从串口读取数据,然后通过任务间通信机制,通知主任务进行相应的处理,如进行地图更新、输出语音提示等操作。软件系统工作流程如图3所示。
图3 导航软件系统工作流程图
该系统展示了其GPS定位和路径规划的功能。随着嵌入式智能平台的发展及交通需求,基于VxWorks的GPS导航系统研发的现实意义将受到更广泛的关注。
[1]凌永成,于京诺.汽车电子控制技术[M].北京大学出版社,2011.
[2]杨继先,张树霞.导航基础[M].哈尔滨:哈尔滨传播工程学院出版社,1998.
[3]黄智.车载导航系统组合定位技术研究[D].湖南:湖南大学,2006.
[4]曹淑华,吴文红.GPS与车载导航系统[J].现代电子技术,2007.
[5]徐晖.基于ARM平台的车载导航系统的研究与设计[D].武汉理工大学,2008.