《2020年(VR虚拟现实)基于ARM处理器的GPS导航系统设计报告》由会员分享,可在线阅读,更多相关《2020年(VR虚拟现实)基于ARM处理器的GPS导航系统设计报告(14页珍藏版)》请在金锄头文库上搜索。
1、(VR虚拟现实)基于ARM处理器的GPS导航系统设计报告基于ARM处理器的GPS导航系统设计报告一.引言随着我国经济水平的快速发展,汽车行业也蓬勃发展起来。汽车的增长速度远远超过公路的增长速度,汽车拥有量的急剧增加和城市现代化交通建设的相对滞后导致城市交通情况不断恶化。同时,现代物流对运输车辆和货物安全与准时调运的要求、公交与出租车的运营管理、大型的企事业单位日常车辆管理也都对车辆的监控与导航有迫切的需求。面且随着旅游行业的发展,人们急需要一种可以随时随地知道自己方位和目的地的方便设备。GPS(全球定位系统)具有全球、全天候工作,定位精度高,功能多,应用广的特点,通过GPS接收机可以实现精确的
2、自主定位,这为实现车辆的定位和导航奠定了基础。伴随ARM处理器、嵌入式操作系统、路径优化控制算法和GPS网络的成熟,车辆定位导航系统有了新的发展,可以在短时间内实现定位和最优路径导航。本项目在信息系统终端的设计中采用了ARM处理器和嵌入式操作系统uC/OS-II作为开发平台,通过采用ARM处理器可达到最大为60MHz的CPU操作频率,使得数据处理能力大大加强,同时,基于嵌入式操作系统uC/OS-II开发设计的软件具备了很强的扩展性和稳定性。二.方案简介1. 功能简介2.该嵌入式GPS导航系统由GPS系统获得当时所在的位置的经纬度,通过换算和地图匹配在地图上得到当时的实际位置,然后由用户输入目的
3、地,通过A*最短路径算法计算最短路径并在矢量地图上显示,同时提取GPS提供的速度,时间等信息显示在屏幕上。3. 硬件实现4.本嵌入式GPS导航系统的硬件核心是意法半导体ARM7系列中的16/32位RISC处理器STR710FZ2T6芯片,该芯片强大的实时处理能力和丰富的外围接口非常适合嵌入式系统的开发,本系统正是基于该芯片的这些特点面设计的。系统框图如图1所示。系统以STR710FZ2T6微处理器为核心,与2片512KB的SDRAM(IS61LV25616)、一片8MB的NAND Flash和一片2MB NOR FLASH(SST39LF160)组成。外部添加了用于接收GPS信号的GPS模块,
4、用于显示的液晶面板以及键盘输入模块。图1 硬件框图三.软件设计3.1 软件数据设计导航软件中的数据主要是导航地图的空间数据,主要由与导航需求相关的一些信息组成,包括道路网几何形状、道路等级、道路特征、交规限制、地理政治边界、感兴趣的点、路标和服务设施等。这些数据主要分为两大类:道路网数据和非道路网数据。道路网数据包括基本的道路网的地理数据(如道路的地理位置信息)以及道路上与车辆行驶相关的数据(如道路的交规信息、收费信息、和限速的信息)。道路网数据的主要特征是有较强的拓扑关系。非道路网数据主要包括能反映区域的基本地理面貌的地物信息(如河流.湖泊.边界等)以及与出行信息相关的单位信息(如学校、政府
5、机关、医院等)。整个导航数据的获取和录入可以通过转换通用的地图为矢量图,并且以点代替具体的路面实况。3.2软件系统设计导航软件是以导航数据库为数据基础的。针对导航数据库的操作行为.从功能上将导航软件分为具有导航功能的部分和具有浏览功能的部分。导航功能部分是在动态行进过程中进行导航规划服务的,可分为导航定位、地图匹配、路径规划和路径引导等模块。主要通过导航界面与用户实现交互、浏览功能主要是在静态过程中对导航的地理信息提供浏览查询服务的通过浏览界面与用户实现交互。软件系统结构如图2所示。图2.软件系统框图3.2.1导航功能模块设计 该方面的设计中主要包括以下4个模块的设计: (1)导航定位模块实时
6、地从通信端口读取数据.然后进行分析处理,得到可以进行地图匹配的经、纬度数据并将其传给地图匹配模块。 (2)地图匹配模块根据导航定位模块输入的经纬度在导航数据库中进行匹配。 (3)路径规划模块主要是根据用户指定的出发地和目的地在导航数据库中的道路网络中规划出一条最佳路径。 (4)导航引导模块将地图匹配的结果和规划好的路径结合导航地图数据库的数据以地图的方式显示出来。这样就可以直观、无误地引导用户行进。3. 2. 2浏览功能模块设计 该方面的设计中主要包括以下2个模块的设计: (1)地图浏览模块主要是在浏览界面中实现对地图的缩放、平移等基本浏览操作。 (2)地图查询模块主要是根据用户的要求在导航地
7、图数据库中进行查询操作并通过浏览界面显示出来。3. 3软件界面设计如前所述,从大的功能上导航软件分为具有浏览功能的部分和具有导航功能的部分。因此在界面方面也设计了两种不同的界面:浏览界面和导航界面。浏览界面主要为用户在查找浏览相关地理信息过程中提供交互服务。导航界面主要将当前的位置在导航地图中显示出来并在实时定位过程中为用户提供关于导航服务方面的一些交互提示。要求浏览界面和导航界面可以实时地进行切换这样可以方便地为用户提供所有的功能。3.4嵌入式软件设计该嵌入式系统采用uC/OSII操作系统,由于MCU的处理功能有限,所以在具体的软件实现过程中采用多线程技术,如图3所示。图3.线程图 主控线程
8、主要实现界面功能、导航功能中的地图匹配和导航引导模块、浏览功能中的地图浏览模块以及这些模块间的消息派送、接收和处理,同时协调各个工作线程异步运行。 导航定位线程主要完成导航定位模块中的接收当前位置数据(经、纬度)的功能。在导航过程中运行线程,线程处理函数把接收到的经、纬度数据实时通过消息发到主线程,由主线程调用地图匹配模块作处理。 路径规划线程主要完成在道路网中求解最佳路径的任务。在用户要求提供最佳路径时根据用户的出发地和目的地求出一条最佳路径。在最佳路径求解算法中采用A*算法。地图数据库查询线程主要完成对导航地图数据库的查询功能,根据用户要求生成线程.完成对相关地理信息的查询。3.4.1软件
9、的导航功能由主控线程控制实现.其基本实现流程如下(可见图4)(1)运行导航定位线程从输入口读取GPS人线接收到的当前位置的经纬度坐标值。(2)将经纬度坐标转换到屏幕的像素坐标。(3)根据当前位置结合导航地图进行匹配处理,把当前位置信息匹配到地图上。(4)显示并实时刷新导航地图和当前位置。(5)是否求解最佳路径,若是,则执行下面的第(6)条;否则执行前而的第(4)条。(6)在导航数据库中选择起始和终止位置,运行路径规划线程在道路网数据中解算出最佳路径并显示到地图上。图4.导航功能流程图3.4.2GPS数据提取GPS板只要处于工作状态就会源源不断地把接收并计算出的GPS导航定位信息通过串口传送到嵌
10、入式系统中。由于从串口接收的数据帧是一长串ASCII码字节流,在没有经过分类提取之前是无法加以利用的。因此,必须通过程序将各个字段的信息从接收到的字节流中提取出来,将其转化成有实际意义的,可供高层决策使用的定位信息数据。对GPS信息进行提取必须首先明确其帧结构,数据帧主要由帧头、帧尾和帧内数据组成。对于不同的数据帧,其帧头是不同的,主要有“$GPGGA”、 “$GPGSA”、“$GPGSV”以及“$GPRMC等。这些帧头标识了后续帧内数据的组成和结构特点。各帧均以回车符和换行符作为帧尾,标识一帧的结束。对数据帧处理,是先对帧头进行判断,然后只对感兴趣的帧进行数据的提取处理。由于帧内各数据段被逗
11、号分割,因此在处理接收数据时一般是首先通过搜寻ASCII码“$”来判断是否是帧头,接着对帧头的类别进行识别,然后再根据识别出来的帧类型以及逗号,个数来确定当前正在读取的是哪个定位导航参数,并作出相应的提取和存储。流程图如图5所示。图5.GPS数据接收与提取流程图3.4.3显示与查询通过GPS和人工输入接收到的数据,经过MCU的处理,在地图上用醒目的颜色显示出来流程图如下:图6.显示流程图四.可靠性分析在导航定位系统中GPS系统是口前世界上应用得最为广泛的,其功能作用已广为人所接受,加之GPS的接收模块的种类也很多,选择余地很大,可根据系统要求的精度、体积、定时标准加以选择。而且,随着美国取消了
12、其SA政策,提高了输出导航电文的定位精度,使得GPS信号在被接收后不需经过GPS差分站的差分处理,其定位精度也能至少小于15米,这对于大多数民用系统是完全足够的。而且,GPS是一个全天候的系统,极少有工作盲区,除非在有着较为严重的空间遮挡的情况下,一般GPS天线都可以较为顺利的接收到GPS信号。同时,国内外相关行业的产品己大量运用该技术,因此,将GPS定位系统应用于本导航系统不仅具有很高的可行性,还具有相当的可靠性。五.总结感谢意法半导体有限公司,深圳市英蓓特信息技术公司和本届大赛组委会给我们这次机会,为我们提供了一个与世界著名的半导体公司和众多嵌入式爱好者交流的平台。在设计过程中我们遇到了很多的困难,但是通过大家的努力已差不多解决,这过程中我们都学到了不少的知识和技术。我们知道这只是刚刚开始,我们相信可以克服以后的困难将我们最后的产品展现在组委会的面前。