第四章车载导航系统目录•常规导航产品介绍•服务型导航软件介绍•嵌入式操作系统介绍•自主式车辆导航系统的设计•中心决定式车辆导航系统的设计•导航系统的市场发展嵌入式操作系统嵌入式操作系统可以分成两类:•一类是面向控制、通信等领域的实时操作系统,如WindRiver公司的VxworkS、AcceleratedTech.公司的Nudeus系列等;•另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(PDA)、移动电话、机顶盒等,如windowsCE、Palm0S、嵌入式Linux和EPOC等嵌入式操作系统的核心通常要求很小,因为硬件的ROM容量有限。嵌入式操作系统按照层次的不同可分为三个部分:最小的基本部分包括一个用作引导的可用设施,一个具备内存管理、进程管理、定时器服务的微内核,一个初始进程。为了具备一定的实用性,还需加上硬件驱动程序,一个或几个应用进程完成必需的功能。随着对系统要求的增加,一般还包括一个文件系统(放在ROM或RAM中),TCP/IP网络协议栈等嵌入式系统的技术特点•嵌入式系统是集软件、硬件于一体的高可靠性系统。嵌入式系统麻雀虽小,五脏俱全。•嵌入式系统是资源开销小的高性价比系统。为了满足系统资源开销小、高性能、高可靠性的要求,大多使用FlashMemory。•嵌入式系统是功能强大、使用灵活方便的系统。嵌入式系统应用的广泛性,要求该系统通常是无键盘、无需编程的应用系统,使用它应如同使用家用电器一样方便。车载导航系统•车辆导航系统是集成应用了自动车辆定位技术、地理信息系统技术、数据库技术、多媒体技术和通信技术等的综合系统。•从实现导航功能的角度看,可分为两类:–自主式(分布式)车辆导航系统,其定位和路径规划功能全部在车载设备实现。–中心决定式(服务型)车辆导航系统,它的某些功能需要借助通信网络才能完成。接下来学习这两类系统的硬件原理、软件原理和导航原理系统总体设计•设计原则:–(1)、稳定性原则:系统功能必须稳定可靠;–(2)、易用性原则:为加强产品的亲合力、面向用户的实际需求,系统的操作过程应尽可能做到简单方便;硬件的接口、按键设计简洁明了;软件操作界面直观友好,全面体现贴近用户、易学易用的风格;–(3)、经济性原则:在保证完成设计目标的前提下,应尽可能地优化方案设计、精简系统的功能部件,以降低单位产品的制造成本;–(4)、灵活性原则:一个良好的设计应为系统今后的改进和功能扩展提供稳定的基础,因此系统需要有一定的扩展空间,使其在预期的产品生命周期内能够适应市场需求和运行环境的变化。导航系统的功能解析我在哪里?从出发地到目的地的最佳路径如何到达目的地?附近有无加油站/停车场?实时地显示当前位置路径规划路径引导附近设施查询*电子地图数据*GPS/DR信号解析*地图匹配*GIS空间分析*拓扑分析*检索服务点信息*GPS/DR信号解析*地图匹配*检索道路网络信息用户的问题导航系统功能引用的技术图6-7导航系统的功能解析自主式车辆导航系统的设计自主式车辆导航系统的设计•概述车载导航系统由硬件平台、嵌入式操作系统(如WindowsCE)、导航系统软件三部分构成。–硬件平台基于嵌入式处理器,同时应用GPS全球定位系统。–多任务、实时性和图形化的嵌入式操作系统为导航软件提供良好的平台。–运行在嵌入式操作系统之上的是导航系统软件,借助于硬件平台和操作系统,导航系统软件完成地图显示、GPS定位、地图匹配、路径规划、行驶引导、场所查找等功能。自主式车辆导航系统的设计•硬件结构自主式车辆导航系统硬件结构其中一些周边设备(如,音响、显示、控制、存储媒介)甚至通信设备等既可以作为导航系统专用的部件,又可以与其他车辆娱乐设备或非导航设备共用。自主式车辆导航系统的设计•硬件平台——导航计算机系统它是自主式车辆导航系统硬件体系的核心部分,除定位外,系统其他功能模块都以导航计算机为硬件平台,通过软件来实现;用户对整个系统的操作和控制也通过导航计算机来完成。在性能指标上看,必须具备足够的计算能力必须负担地图的显示与刷新、定位数据处理与转换、行驶指令计算等具有较高实时性要求的任务和类似路径规划这样的大计算量的任务;从功能指标上看,必须具备基本的多媒体功能,强大的控制能力和良好的扩充性满足系统控制、输出和功能扩展;从环境适应性上看,必须具备良好的抗震性能,其外形尺寸和功耗也要受到严格限制适应车载环境;自主式车辆导航系统的设计•硬件平台——导航计算机系统–车载导航系统是一种嵌入式系统,它在软、硬件系统架构设计上与普通嵌入式系统并没有差异。–在PC产业里,运算平台的选择,也就是处理器及其相关参考设计的选择,是相当有限的,不外乎Intel或是AMD的那几种,–然而嵌入式系统的硬件部件较少,结构更加紧凑,需要面对各式各样不同的需求,去掉对大量不必要工业总线标准的支持。–正确的选型及架构设计必须能符合客户及产品需求,这是一件相当重要的事情。•对任何硬件平台而言,灵活性和伸缩性对架构能否成功获得市场接受都至关重要,无论是基本系统还是高性能的高端车载信息•三星S3C2440ARM9处理器是系统的核心(400M主频)完成GPS数据采集、存储、图形显示、音频采集和播放、用户输入响应和网络通信等功能。•存储系统包括SDRAM、NandFlash和SD卡。SDRAM和NandFlash都选用64M,嵌入式操作系统内核固化在NandFlash的前32M空间,运行时被拷贝到SDRAM中。导航软件可以存放在NandFlash中,也可以存放在SD卡中,通常情况下,应该与内核一起烧固化到NandFlash。导航软件运行时也会占用SDRAM空间,除嵌入式操作系统内核运行所需要的32M空间外,剩下的SDRAM都可以由导航软件使用。SD卡大小可随意选择,主要用于存放电子地图,电子地图还可以存放在CF卡或光盘中。•网络通信系统由USB、GPRS构成。USB是PC主机和目标机通信的有效手段,可用于下载内核、调试应用程序和更新地图信息等功能,同时支持U盘和鼠标操作。GPRS用于无线通信(扩展功能)。•人机接口系统由LCD、触摸屏、键盘和音频构成。•GPS定位系统由GPS芯片(带DR功能)、车速传感器、电子陀螺构成。•电源管理在车载导航系统中占有重要地位,直接影响到硬件平台的稳定性和可靠性。导航系统的电源来自车载,车载12V电源不能直接给CPU和各功能模块供电。所以电源管理最重要的功能是为不同的功能模块提供不同功率的电源,同时为用户提供人性化的开关机功能。自主式车辆导航系统的设计•硬件平台——导航计算机系统•处理器:IntelSA1110(260MHz)•RAM(随机存储器):系统工作时加载和运行应用程序•ROM/FLASH(只读存储器/闪速存储器):用于保存程序和数据•LCD控制器:图形显示功能,支持真彩色显示•扩展功能和与其他设备通信需要:1个串行通信端口、1个红外数据端口、1个闪速存储卡(CF卡)插槽和1个通用串行总线(USB)接口•电源管理:负责对中央处理器、存储模块、I/O设备和LCD实行供电控制GPS通信按键式红外遥控器输入电子地图下载内核等自主式车辆导航系统的设计软件体系结构:操作系统层和应用程序层•软件体系分层结构使得应用层软件具有硬件无关性、可移植性,即不依赖于具体硬件的独立性。无关性的两层含义:第一,系统中所有的硬件设备都由操作系统接管,应用程序不直接对硬件进行访问;第二,所有涉及硬件的操作都通过调用标准的API(应用程序接口)函数来完成。每一种硬件设备都通过驱动程序来被操作系统识别,并由驱动程序为系统对硬件设备的访问提供底层支持,即将具体的API函数翻译为直接对目标硬件进行的操作。自主式车辆导航系统的设计•操作系统由内核层和系统服务层组成,为应用层软件提供运行支持。为满足实时处理需要,支持多任务特性,即允许多个独立的应用程序同时运行。内核:包括硬件驱动程序,是软件体系中唯一直接与硬件交互的部分。系统服务(OSS)层:介于应用层和内核之间,它向应用层提供任务创建、内存分配、磁盘读写缓冲区创建与管理、创建消息队列、启动任务循环、事件监测等基本操作系统服务。•软件体系——嵌入式操作系统自主式车辆导航系统的设计•软件体系——嵌入式操作系统根据系统功能的要求,操作系统应提供良好的图形显示支持和强大的多任务管理能力。从应用软件开发的角度考虑,应选择开发平台功能强、共享软件资源丰富、硬件驱动支持多的操作系统。为适应车载环境,操作系统必须能脱离硬盘直接从ROM或其他非机械式存储媒介中启动,对内存开销、存储容量等硬件资源的要求也应尽量降低。车载导航系统中常见的嵌入式操作系统为WindowsCE和嵌入式Linux自主式车辆导航系统的设计•软件体系——嵌入式操作系统WindowsCE系统的主要特点包括:兼容于为软件公司的视窗(windows)电脑操作系统,支持超过1000个常用的32位视窗应用程序接口函数(Win32API),支持高分辨率真彩色显示;提供最广泛的硬件设备支持,包括通信接口、显示和打印设备、输入输出设备、音频设备、网络和存数设备等;支持数十种不同的32位微处理器芯片,包括Intel和AMD公司的x86系列、摩托罗拉公司的PowerPC、日立公司的SH3系统、东芝公司的MIPS系列等;采用模块化结构,配置灵活,运行时仅需要最少的存储器(RAM)资源,并且是可以直接从ROM(只读存储器)中启动的32位操作系统。嵌入式Linux系统的主要特点包括:Linux采取模块化设计,可以根据自己的需求定制不同的模块,因此Linux也适用于嵌入式领域。嵌入式Linux可移植性很强,用户通过重新配置、编译内核,很方便将其移植到MotorolaDragonBall、ColdFire、ARM7TDMI(SamsungS3C44B0x)等多种处理器计算平台。稳定、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API。自主式车辆导航系统的设计•软件体系——应用软件人机接口地图显示地图检索路径规划路径引导地图匹配导航电子地图数据GPS数据解析DR传感器数据解析速率传感器角速率传感器自主式车辆导航系统的设计•应用软件——GPS数据解析GPS接收机或GPS芯片中,均输出通用的NEMA0183标准格式的数据。NEMA的数据格式有很多种,我们通常用到的只有几种。而在车载导航系统中,我们最常用到的是GGA,其数据格式为:$--GGA,hhmmss.ss,bbbb.bbbb,N,1111.1111,E,q,nn,P,h.h,g.g,m.xxx,aaaa,*ss,CRLF自主式车辆导航系统的设计•应用软件——GPS数据解析例如某次接收数据如下:$GPGGA,040356,2810.2281,N,11255,5128,E,l,06,088,79,7,M,-19.3,M,,*61。上述数据中GGA表示定位语句040356为世界协调时(时分秒)(2810.2281,N)表示北纬28“10.2281‘(11255.5128,E)表示东经112度55.5128‘1表示非差分信号06表示可视卫星为6颗几何精度因子是0.88天线高度为79,7米自主式车辆导航系统的设计•应用软件——定位数据坐标转换坐标变换的目的就是,将GPS接收机接收到的WGS—84坐标系下的大地坐标(B84,L84,H84)转换为与导航电子地图坐标系的坐标(x,y)。尽管不同的导航电子地图具有不同的坐标系但是其转换过程基本上都是转换到地方独立坐标系。其转换步骤可以总结如下:l)WGS—84大地坐标(B84,L84,H84)转换为WGS—84空间直角坐标(X84,Y84,Z84);2)通过平移、旋转、缩放,把WGS—84空间直角坐标(X84,Y84,Z84)转换为BJ—54空间直角坐标(X54,Y54,Z54);3)BJ—54空间直角坐标(X54,Y54,Z54)转换为BJ—54大地坐标(B54,L54,H54);4)利用高斯投影变换,把BJ—54大地坐标(B54,L54,H54)转换为当地