基于ARM的车载导航系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计
题目:
基于ARM的车载导航系统设计
班级:
姓名:
学号:
指导教师:
成绩:
电子与信息工程学院
信息与通信工程系
基于ARM的车载导航系统设计
引言
随着我国经济水平的快速发展,汽车行业也蓬勃发展起来。现代物流对运输车辆和货物安全与准时调运的要求、公交与出租车的运营管理、大型的企事业单位日常车辆管理也都对车辆的监控与导航有迫切的需求。面且随着旅游行业的发展,人们急需要一种可以随时随地知道自己方位和目的地的方便设备。
GPS(全球定位系统)具有全球、全天候工作,定位精度高,功能多,应用广的特点,通过GPS接收机可以实现精确的自主定位,这为实现车辆的定位和导航奠定了基础。伴随ARM处理器、嵌入式操作系统、路径优化控制算法和GPS网络的成熟,车辆定位导航系统有了新的发展,可以在短时间内实现定位和最优路径导航。
本项目在信息系统终端的设计中采用了ARM处理器和嵌入式操作系统uC/OS-II作为开发平台,通过采用ARM处理器可达到最大为60MHz的CPU操作频率,使得数据处理能力大大加强,同时,基于嵌入式操作系统uC/OS-II开发设计的软件具备了很强的扩展性和稳定性。
1.方案简介
1.1功能简介
该嵌入式GPS导航系统由GPS系统获得当时所在的位置的经纬度,通过换算和地图匹配在地图上得到当时的实际位置,然后由用户输入目的地,通过A*最短路径算法计算最短路径并在矢量地图上显示,同时提取GPS提供的速度,时间等信息显示在屏幕上。
1.2硬件实现
本嵌入式GPS导航系统的硬件核心是意法半导体ARM7系列中的16/32位RISC处理器STR710FZ2T6芯片,该芯片强大的实时处理能力和丰富的外围接口非常适合嵌入式系统的开发,本系统正是基于该芯片的这些特点面设计的。系统框图如图1-1所示。
系统以STR710FZ2T6微处理器为核心,与2片512KB的SDRAM(IS61LV25616)、一片8MB的NAND Flash和一片2MB NOR FLASH(SST39LF160)组成。外部添加了用于接收GPS 信号的GPS模块,用于显示的液晶面板以及键盘输入模块。
图1-1 硬件框图
2.软件设计
2.1软件数据设计
导航软件中的数据主要是导航地图的空间数据,主要由与导航需求相关的一些信息组成,包括道路网几何形状、道路等级、道路特征、交规限制、地理政治边界、感兴趣的点、路标和服务设施等。这些数据主要分为两大类:道路网数据和非道路网数据。道路网数据包括基本的道路网的地理数据以及道路上与车辆行驶相关的数据。道路网数据的主要特征是有较强的拓扑关系。非道路网数据主要包括能反映区域的基本地理面貌的地物信息以及与出行信息相关的单位信息。整个导航数据的获取和录入可以通过转换通用的地图为矢量图,并且以点代替具体的路面实况。
2.2软件系统设计
导航软件是以导航数据库为数据基础的。针对导航数据库的操作行为.从功能上将导航软件分为具有导航功能的部分和具有浏览功能的部分。导航功能部分是在动态行进过程中进行导航规划服务的,可分为导航定位、地图匹配、路径规划和路径引导等模块。主要通过导航界面与用户实现交互、浏览功能主要是在静态过程中对导航的地理信息提供浏览查询服务的通过浏览界面与用户实现交互。软件系统结构如图2-1所示。
图2-1软件系统框图
2.2.1导航功能模块设计
该方面的设计中主要包括以下4个模块的设计:
(1)导航定位模块实时地从通信端口读取数据.然后进行分析处理,得到可以进行地图匹配的经、纬度数据并将其传给地图匹配模块。
(2)地图匹配模块根据导航定位模块输入的经纬度在导航数据库中进行匹配。
(3)路径规划模块主要是根据用户指定的出发地和目的地在导航数据库中的道路网络中规划出一条最佳路径。
(4)导航引导模块将地图匹配的结果和规划好的路径结合导航地图数据库的数据以地图的方式显示出来。这样就可以直观、无误地引导用户行进。
2.2.2浏览功能模块设计
该方面的设计中主要包括以下2个模块的设计:
(1)地图浏览模块主要是在浏览界面中实现对地图的缩放、平移等基本浏览操作。
(2)地图查询模块主要是根据用户的要求在导航地图数据库中进行查询操作并通过浏览界面显示出来。
2.3软件界面设计
如前所述,从大的功能上导航软件分为具有浏览功能的部分和具有导航功能的部分。因此在界面方面也设计了两种不同的界面:浏览界面和导航界面。浏览界面主要为用户在
查找浏览相关地理信息过程中提供交互服务。导航界面主要将当前的位置在导航地图中显示出来并在实时定位过程中为用户提供关于导航服务方面的一些交互提示。要求浏览界面和导航界面可以实时地进行切换这样可以方便地为用户提供所有的功能。
2.4嵌入式软件设计
该嵌入式系统采用uC/OSII操作系统,由于MCU的处理功能有限,所以在具体的软件实现过程中采用多线程技术,如图2-2所示。
图2-2线程图
主控线程主要实现界面功能、导航功能中的地图匹配和导航引导模块、浏览功能中的地图浏览模块以及这些模块间的消息派送、接收和处理,同时协调各个工作线程异步运行。
导航定位线程主要完成导航定位模块中的接收当前位置数据(经、纬度)的功能。在导航过程中运行线程,线程处理函数把接收到的经、纬度数据实时通过消息发到主线程,由主线程调用地图匹配模块作处理。
路径规划线程主要完成在道路网中求解最佳路径的任务。在用户要求提供最佳路径时根据用户的出发地和目的地求出一条最佳路径。在最佳路径求解算法中采用A*算法。
地图数据库查询线程主要完成对导航地图数据库的查询功能,根据用户要求生成线程.完成对相关地理信息的查询。
2.4.1软件的导航功能由主控线程控制实现.其基本实现流程如下(图2-3)
(1)运行导航定位线程从输入口读取GPS人线接收到的当前位置的经纬度坐标值。
(2)将经纬度坐标转换到屏幕的像素坐标。
(3)根据当前位置结合导航地图进行匹配处理,把当前位置信息匹配到地图上。
(4)显示并实时刷新导航地图和当前位置。
(5)是否求解最佳路径,若是,则执行(6);否则执行(4)。
(6)在导航数据库中选择起始和终止位置,运行路径规划线程在道路网数据中解算出最佳路径并显示到地图上。