(检测技术与自动化装置专业论文)基于嵌入式linux的车载自主导航软件的设计与实现.pdf_第1页
(检测技术与自动化装置专业论文)基于嵌入式linux的车载自主导航软件的设计与实现.pdf_第2页
(检测技术与自动化装置专业论文)基于嵌入式linux的车载自主导航软件的设计与实现.pdf_第3页
(检测技术与自动化装置专业论文)基于嵌入式linux的车载自主导航软件的设计与实现.pdf_第4页
(检测技术与自动化装置专业论文)基于嵌入式linux的车载自主导航软件的设计与实现.pdf_第5页
已阅读5页,还剩77页未读 继续免费阅读

(检测技术与自动化装置专业论文)基于嵌入式linux的车载自主导航软件的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

哈尔滨工程大学硕士学位论文 摘要 随着我国城市化进程的日益加快、私人汽车的保有量逐年增加,大城市 的交通拥挤成为了一个棘手的问题。利用智能交通系统来缓解城市交通拥挤 是一个在国际上普遍被采用的方案,而车载自主导航装置就是在这样的背景 下所产生的一种智能化的产品。 本课题选用嵌入式l i n u x 操作系统,并选用t r o l l t e c h 公司的q t e m b e d d e d 作为开发平台,研究车载自主导航装置的实现方案,开发具有自主知识产权 的车载自主导航装置。 电子地图文件是车载自主导航装置重要的研究对象。本文首先对系统所 使用的a r e l r t f o 公司的s h a p e f i l e 格式电子地图的数据结构进行了深入的研究; 然后,本文将网格技术应用到电子地图的显示算法中,解决了在嵌入式设备 上显示电子地图所产生的显示时间延迟较长这一问题;坐标系变换和地图投 影算法是g p s 导航的核心技术,本文分析了g p s 坐标系转化的基本原理, 研究了大地地心坐标系与空间直角坐标系的关系,并研究了从大地坐标系到 空间直角坐标系的转换算法,并推导了相应的计算公式。 本文主要完成了车载自主导航装置应用软件的设计和实现的工作。采用 嵌入式软件的通用开发流程。首先,从需求分析入手,提取了系统所要实现 的功能;然后,给出了软件的总体设计,根据功能需求划分了相应的功能模 块,实现了模块化的设计;针对重要的几个模块,本文一一给出了各模块的 详细设计:最后,文章给出了系统重要模块的实现过程,并解决了出现的一 些问题。系统基本功能完成后,对系统的各模块进行了详细的测试。 关键词:车载自主导航装置,q t e ,嵌入式l i n u x 系统,电子地图,g p s 哈尔滨工程大学硕士学位论文 a b s t r a c t a st h ef a s td e v e l o p m e n to fc i v i l i z a t i o na n dt h er a p i d l yi n c r e a s e dn u m b e ro f p r i v a t eo w n e dc a r s ,t h et r a _ f 矗cj a n li nt h eb i gc i t yh a sb e c a m eat o u g hp r o b l e m i n t e l l i g e n tt r a n s p o r t a t i o ns y s t e m ( i t s ) h a sb e e nw i d e l yu s e db ym a n yc o u n t r i e s , b e c a u s et h i si sa ne f f e c t i v e w a y t od e a lt h i s p r o b l e m t h e v e h i c l e a u t o - n a v i g a t i o nd e v i c ei si n t r o d u c e du n d e r t h i sb a c k g r o u n d t h i s p a p e r c h o o s ee m b e d d e dl i n u xa s t h e o p e r a t i o ns y s t e m ,a n dt h e t r o l l t e c hc o m p a n y sq t e m b e d d e da st h ep l a t f o r mt or e s e a r c ht h ei m p l e m e n tp l a n o ft h ev e h i c l ea u t o n a v i g a t i o nd e v i c e ,t h u st od e v e l o pad e v i c ew h i c hh a st h e i n t e l l e c t u a lp r o p e r t yr i g h t so f o u ro w n t h ee l e c t r o n i cm a pi sa l li m p o r t a n to b j e c tw ed i s c u s s f i r s t l y , t h i sp a p e r m a k e sad e 印s t u d yo nt h es h a p e f i l et y p ee l e c t r o n i cm a pw h i c hm a k eb ya r c - i n f o c o m p a n y ;s e c o n d l y , w ei n t r o d u c et h e 面dt e c h n o l o g yi n t ot h ee l e c t r o n i cm a p d i s p l a ya r i t h m e t i c ,i nt h i sw a yw ec a l ld i s s o l v et h el o n gl a t e n c yw h e no p e r a t i n g t h ee l e c t r o n i c m a p o nt h ee m b e d d e d d e v i c e ;t h i r d l y , t h e c o o r d i n a t e t r a n s f o r m a t i o na n dm a pp r o j e c t i o ni st h ec o r eo ft h ea u t o n a v i g a t i o nd e v i c e ,w e d i s c u s st h ep r i n c i p l eo fg p sc o o r d i n a t et r a n s f o r m a t i o n w er e s e a r c ht h e r e l a t i o n s h i pb e t w e e nt h eg e o d e t i cc o o r d i n a t ea n dt h es p a t i a lc o o r d i n a t e ,t h e n r e s e a r c ht h ea r i t h m e t i cw h i c hc a nc h a n g ef r o mt h eg e o d e t i cc o o r d i n a t et os p a t i a l c o o r d i n a t e ,a n dg i v et h ef o r m u l at oa c h i e v et h i s t h i sp a p e rf o c u s e so nt h ed e s i g na n di m p l e m e n t a t i o no ft h ea p p l i c a t i o no f t h ev e h i c l ea u t o - n a v i g a t i o nd e v i c e w et a k et h eu n i v e r s a lm e t h o d so ft h es o f t w a r e d e v e l o p m e n t f i r s t l y , w eb e g i n w i t l l m e e t i n g t h ed e m a n do fv e h i c l e a u t o n a v i g a t i o nd e v i c e ,t h e ng i v et h em a i nf u n c t i o no ft h ed e v i c e ,m e a n w h i l e ,w e d e s i g na n dm o d u l a r i z et h ea p p l i c a t i o na n dm a k ead e t a i ld e s i g no f s o m ei m p o r t a n t m o d u l e ,w ed e s i g nt h ec l a s s e s 、d i v i d et h em o d u l e 、g i v et h ef l o wc h a r t si n s i d e t h e s em o d u l e s a tl a s t ,t h i sp a p e ri m p l e m e n t st h e s ei m p o r t a n tm o d u l e s ,a n d 哈尔滨工程大学硕士学位论文 d i s s o l v e ss o m ep r o b l e m st h a ta p p e a r e dd u r i n gt h ei m p l e m e n t a t i o np r o c e s s w e m a k ead e t a i ls o f t w a r et e s ta f t e rw ef i n i s ht h ea p p l i c a t i o n k e yw o r d s :v e h i c l ea u t o - n a v i g a t i o nd e v i c e ,q t e ,e m b e d d e dl i n u xs y s t e m , e l e c t r o n i cm a p ,g p s 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导下, 由作者本人独立完成的。有关观点、方法、数据和文献等的 引用已在文中指出,并与参考文献相对应。除文中已经注明 引用的内容外,本论文不包含任何其他个人或集体已经公开 发表的作品成果。对本文的研究做出贡献的个人和集体,均 已在文中以明确的方式标明。本人完全意识到本声明的法律 结果由本人承担。 作者( 签字) : 酢盍 日期:溯年月i1 日 哈尔滨t 程大学硕士学位论文 第1 章绪论 1 1 选题的背景和意义 近年来,随着人们生活水平的不断提高,汽车的保有量逐年增加,汽车 销售总量和私人购车数量逐年上升。然而,车辆的广泛普及给人们的生活带 来了方便,同时也给使用者带来了更多的困惑:复杂的交通网络使人们无所 适从;频繁发生的交通堵塞使人们难于选择正确的行车路线;处在陌生的地 理环境中无法准确了解周围的交通条件和自己的位置;需要服务时却可能不 了解周围服务设施的分布而难以就近得到需要的服务。另外,交通安全状况 不断恶化,实际交通行为中无效出行大量存在。这些问题严重影响了我国城 市经济的发展和人民的生活。解决这些交通问题已成为我国大城市交通面临 的一项十分迫切的任务。 目前解决城市日益严重的交通问题主要有两个途径,一是多修道路以容 纳更多的车辆,但是由于城市道路的路网密度不可能无限制的增加,即道路 在城市中的比例必须有一定限制,否则将影响城市其它功能的发挥;二是采 用智能交通系统( i t s ) ,加强城市道路管理的水平和智能化程度是目前国际公 认的解决城市以及公路交通拥挤、改善行车安全、提高运行效率、减少空气 污染等的最佳途径,也是全世界交通运输领域研究的前沿课题。智能交通系 统是将先进的信息技术、数据通讯技术、电子传感器技术、电子控制技术及 计算机处理技术等有效的集成运用于整个地面交通管理系统而建立的一种在 大范围内、全方位发挥作用的实时、准确、高效的综合交通管理系统。 基于g p s 的车载导航装置是智能交通系统的最大的市场。车载导航装置 是近年来发展很快的一种安装在车辆上用来对车辆进行导航的系统,它将使 用者、道路网、交通运输工具三者作为一个整体综合考虑,使交通运输基础 设置得以发挥最大功效,明显改善车辆堵塞和交通拥挤,提高出行者的安全 度和舒适度,并且节约能源和保护环境,适应当前科技发展的要求。车载导 航的应用极大地改变人们的出行和生活方式,使行驶中的汽车不再是道路上 的孤立物体,因而很快就受到广大用户的重视和欢迎,在全球发达国家的应 哈尔滨工程大学硕士学位论文 用普及很高。车载导航装置不仅仅是高档豪华轿车的象征和专用品,而且己 扩展到大客车、出租车甚至载货汽车,就连经济型车辆也用上车载导航装置。 车载导航装置由于能与无线手机等结合,将成为汽车上不可缺少的重要信息 设备。 车载自主导航软件是车载自主导航产品的灵魂,它直接与用户发生互动, 给驾驶员提供着最为需要的信息;它关系着产品的使用性能;它使产品的价 值得到了体现。因此,开发具有自主知识产权的车载自主导航软件是开发车 载自主导航产品的关键,有着十分重要的意义。 1 2 车载自主导航发展状况 1 2 1 国外车载导航发展现状 全球第一台车载导航装置最早出现于1 9 8 7 年的丰田皇冠轿车上,限于当 时的技术水平,这个尝试性的车载导航装置只能使用安装在车上的行驶转向 和车速传感器信号,即为完全的自主导航。1 9 9 0 年出现了有实用价值的车载 导航装置,首次使用了g p s 卫星定位信号,并利用地图匹配计算出车辆的行 驶路径。1 9 9 4 年又问世了具有道路交叉路口语音提示功能的导航装置。目前, 发达国家的车载导航技术己经相当成熟,车载导航仪与其他汽车电子设备一 样成为汽车的重要组成部分。导航仪的功能已由自主导航向与i t s 紧密结合 的智能化导航和辅助安全驾驶方向发展。此外,导航产品呈现出多元化趋势, c a rp c 导航、手机导航、p d a 导航产品陆续推出,与无线通信技术相结合的 导航信息服务和数据更新服务进一步增强了系统的实用性。 近些年,一些发达国家的车载导航技术已经十分成熟,许多世界知名的 车载导航产品生产商都拥有自己公司自主研发的操作系统,如g a r m i n 、麦哲 伦以及诺基亚公司等。凭借着雄厚的研发实力,这些公司的产品在市场上的 占有率很高。 基于嵌入式l i n u x 的自主导航系统的开发是目前车载导航领域的一个热 点,由于l i n u x 是一个开源操作系统,随着2 6 版本内核的发布,其优秀的 实时性和稳定性已经得到了业界的好评,而且基于l i n u x 的软件开发在近1 0 2 哈尔滨工程大学硕士学位论文 年有了一定的积累。因此基于嵌入式l i n u x 开发车载导航软件的时机已经比 较成熟,业界越来越多的公司已经将目光转移到嵌入式l i n u x 的开发匕来。 现在,基于嵌入式l i n u x 的车载导航产品的市场占有率并不高,但是近几年 发展比较迅速。市场上基于嵌入式l i n u x 的产品比较有名的有t o m t o m 公司 的t o m t o m g o 系列产品4 ,该系列产品采用主频为2 0 0 m h z 基于a r m 9 2 0 t 内核的i n t e lx s c a l e 处理器,操作系统为2 41 8 版本内核的嵌入式l i n u x 操作 系统,其产品如下图所示: 图11t o m t o m g o 车载导航产品 基于开源的嵌入式l i n u x 开发是另外一个热点,l i n u x 开源社区在近1 0 年技术已经有了一定的积累,开源g i s 和嵌入式技术的不断发展给基于嵌入 式l i n u x 的车载导航技术奠定了一定的基础。同时,开源项目往往给大家提 供了丰富的代码以及参考文档,这已经成为开发人员学习的宝贵资源。目前 在互联网上比较有名的车载导航开源项目有g p s d r i v e 9 1 、n a v i t ”1 等。它们都 是基于嵌入式l i n u x + g t k + 方案的产品,下图为将g p sd r i v e 移植到惠普的 i p a q 上实现导航功能的效果图。 哈尔滨1 程大学硕士学位论文 v 妇墨茸丘蔑叵定日丑盘_ x 垂i h m l 札| 一i u l 图12 g p s d r i v e 在i p a q 上运行效果图 1 2 2 国内车载导航发展状况 我国车载导航市场尚处于启动阶段,从系统的技术水平与产品的质量和 成熟程度来说,我国车载导航市场还处在发展初期。车载导航装置不如车辆 跟踪系统市场成熟,实时交通信息发布和完善的导航电子地图的提供与更新 机制,均缺乏实际的解决方案和途径。而且车载导航产品在硬件制造以及导 航软件等方面同国外差距很大,尚没有真正实用的高质量的导航产品面市。 但由于导航装置需要地理信息系统和导航软件的支持,同时,中外在交通习 惯以及道路建设等方面有很大的差别,国外导航装置在进入中国市场的过程 中也有很大的障碍,本地化进展并不顺利,到目前为止没有真正大规模进入 中国市场。 目前国内的车载导航产品市场的发展还存在一些问题,主要的问题有以 下四个方面”1 : 首先,消费需求不强烈。在产品使用上,我国与g p s 导航产品市场发达 的国家也有很大的不同。在美国、日本,人们日常开车出行半径都在几百公 里之内,而中国大多数车主的日常出行半径里程仅为其1 1 0 ,而且大多数 是往返居住地固定的道路上。因此中国的车主对g p s 车载设备还没有很强烈 哈尔滨工程大学硕十学位论文 的需求。 其次,缺乏行业标准。标准化问题是g p s 车辆跟踪系统产业化的核心问 题。目前,不同公司的g p s 产品及运营系统不能通用、兼容、联网。客户无 法在市场中选择最新最优的产品,以及将技术进行更新换代。此外,涉足该 领域企业的实力和信誉参差不齐,服务质量有待完善。这些问题妨碍了该产 品的推广应用。 然后,产品价格过高。价格昂贵使g p s 类产品不可能在中国市场迅速普 及的原因之一,开发出中国大多数消费可以接受的价位的导航产品是当前各 大g p s 厂商的主要任务。目前,市场中主流的g p s 系统高端市场单体接收 机价格大约为6 0 0 0 元左右,中端市场价格为4 0 0 0 元左右,低端单体接收机 价格为2 0 0 0 元左右。即使是简单车载系统平均价格也为1 5 0 0 - 2 0 0 0 元,这 样的价格使很大一部分潜在消费者望而却步。 最后,地图有待开放。在g p s 导航装置中,最重要的就是该产品所提供 的电子地图了。可是在中国出于国家安全的考虑,政府对地图数据进行严格 控制。另外,由于中国正在对基础设施和道路进行大规模的升级改造,所以 需要经常对地图进行更新。这就造成了电子地图的制作和更新成本居高不下, 无法进行市场化运作。从现状看,目前国内所开放的电子地图还不能满足消 费者的全部需求。 国内导航产品市场品牌林立,但上规模的并不多,掌握核心技术如嵌入 式操作系统、嵌入式g u i 的厂商更是凤毛麟角。国内大多数车载导航产品选 用w i nc e 、s y m b i a n 等商用操作系统作为产品的开发平台,其优点是系统稳 定、开发周期短、难度低,但是缺点也显而易见即:要支付高额的版权费, 同时企业没有自己的核心技术。 在国内,嵌入式l i n u x 技术同样是车载导航领域的热点,很多厂商把它 作为开发自主知识产权技术的突破口,有一些厂商开发出了基于嵌入式l i n u x 的比较出色的产品如北京的飞漫公司,在拥有自主知识产权的嵌入式图形用 户界面m i n i g u i 的基础上开发出了基于l i n u x + m i n i g u i 方案的m e a g l e 车 载自主导航产品【叼,该产品现在已经成为北京奥运会官方车辆上指定的车载 导航产品:万利达公司开发出了基于嵌入式l i n u x 的车载导航产品p c 7 7 0 0 2 , 哈尔滨工程大学硕士学位论文 该产品除了具有基本的导航功能外还可毗收发e m a i l 、播放音频、视频文件 功能强大。 图1 4 飞漫m - e a g l e图15 万利达车载导航装置 随着车载自主导航产品的市场竞争越来越激烈,许多厂商把目光放在了 产品的附加服务上,比如梦天游推出的语音导航服务,只要打个电话,向服 务台说明要去的地址,服务台就会自动帮你规划好路径。又比如 行者推出 的集成了o o o g l ee a r t h 功能的车载导航装置,这使得导航功能更具体、更直 观。 图16 神行者加入g o o g l ee a r t h 功能的导航产品 哈尔滨t 程大学硕士学位论文 1 3 嵌入式系统发展状况 1 3 1 嵌入式系统概述 根据国际电气工程师协会( i e e e ) 的一个定义,嵌入式系统是用来控制或 监视机器、装置或工厂等的大规模系统的设备。这种系统具有软件代码小, 高度自动化,响应速度快等特点,特别适合于要求实时的和多任务的体系。 嵌入式设备是指应用了嵌入式系统的计算机设备,从某种意义上来讲它确实 是大型计算设备的一个微缩,这一微缩肯定多少会带来相对性能上的减弱, 但正是这一体积的微缩带给人们的方便却是无法比拟的。嵌入式设备现在正 在日新月异的发展,并快速的进入了我们的生活和产品中。也可以说,嵌入 式系统就是嵌入到对象体系中的专用计算机系统。嵌入式计算机系统同通用 型计算机系统相比,具有以下特点: 1 ) 嵌入式系统通常是面向特定应用的,嵌入式c u p 与通用型的最大不同就 是,嵌入式c u p 大多工作在为特定用户群设计的系统中,它通常都具有 低功耗、小体积、高集成度等特点,能够把通用c u p 中许多由板卡完成 的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,因此, 器件的移动能力大大增强,同时与网络的结合也越来越紧密。 2 ) 嵌入式系统的硬件和软件都必须高效地设计,量体裁衣、去除冗余,力 争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器 的选择更具有竞争力。 3 ) 因为嵌入式系统和具体应用有机地结合在一起,它的升级换代也和具体 产品同步进行,所以,嵌入式系统产品一旦进入市场,一般都具有较长的 生命周期。 4 ) 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存 储器芯片或处理器之中,而不是存贮于磁盘等载体中。 1 3 2 嵌入式操作系统 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入 式系统( 包括硬、软件系统) 极为重要的组成部分,通常包括与硬件相关的底 7 哈尔滨工程大学硕士学位论文 层驱动软件、系统内核、设备驱动接口、通信协议等。嵌入式操作系统具有 通用操作系统基本特点,如能够有效管理越来越复杂的系统资源;能够把硬 件虚拟化;使得开发人员从繁忙的驱动程序移植和维护中解脱出来- 一能够提 供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入 式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的 专用性等方面具有较为突出的特点。 嵌入式操作系统按实时性能可以分为两类:一类是面向控制、通信等领 域的强实时操作系统,如w i n d r i v e r 公司的v x w o r k s 、p s o s 、q 岖系统软 件公司的q n - x 等,其中在国内市场中v x w o r k s 和p s o s 有较大影响;。另一 类是面向消费电子产品的弱实时操作系统,这类产品包括个人数字助理 ( p d a ) 、移动电话、机顶盒、电子书、w e bp h o n e 等,比较著名的有w i n d o w s c e 、p a l m o s 等。l i n u x 是一个类似于u n i x 的操作系统。现在己经是最为流 行的一款开放源代码的操作系统。l i n u x 从1 9 9 1 年问世到现在,短短1 0 年 的时间内已经发展成为一个功能强大、设计完善的操作系统,伴随网络技术 进步而发展起来的l i n u x 已成为m i c r o s o f t 公司的d o s 和w i n d o w s 9 5 9 8 的强 劲对手。l i n u x 系统不仅能够运行于p c 平台,还在嵌入式系统方面大放光芒, 在各种嵌入式l i n u x 迅速发展的状况下,l i n u x 逐渐形成了可与w i n d o w sc e 等嵌入式操作系统进行抗衡的局面。目前l i n u x 现己成为嵌入式操作系统的 理想选择。 1 3 3 嵌入式图形用户界面 与通用的图形用户界面( g u i ) 系统相比,嵌入式系统下对g u i 基本要求 包括:轻型、占用资源少、高性能、高可靠性和可配置性。面向嵌入式l i n u x 系统的具有代表性的g u i 有如下几种p 1 : m i c r o w i n d o w s n a n o x ,是针对体积小的装置建立的一套先进的窗口环 境,由美国一家公司在主持开发的一个开源项目,该项目的开发较为活跃, 国内也有爱好者参与其中并编写了对g b 2 3 1 2 字符集的支持。 m i n i g u i ,是遵循g p l 条款的自由软件,由中国飞漫公司魏永明主持开 镘别辩穷苦备睁多窑且机崩焯群媾皑胡搏哺扯采用孑类w m 3 2 的鲤i 接口。 8 哈尔滨工程大学硕士学位论文 i i i 实现了简化的类w i n d o w s 风格的用户界面。 t i n y x ,是x f r e e 8 6 项目的一部分,由k e i t hp a c k a r d 发起,去掉x f r e e 8 6 的一些功能而形成,一相对其他嵌入式g u i ,体积更大,而且一般基于t i n y x 之上的g t k 图形库再进行g u i 程序开发,使得占用空间更大。 q t e m b e d d e d ,q t 是由挪威的t r o l l t e c h 公司开的一个跨平台c + + 图形用 户界面开发工具,跨平台性能好,易于编程。q t e m b e d d e d 是q t 的面向嵌入 式系统的q t 版本,是一个专门为小型设备提供图形用户界面的应用框架和窗 口系统,被看作是q t 版本的嵌入式l i n u x 端口,也是完整的自包含c h g u i 和基于l i n u x 的嵌入式平台开发工具。它为开发者提供了丰富的窗口构件,。 同时还支持窗口部件的定制,因此可以为用户提供丰富的图形界面。目前它 的应用很广泛,应用在各种电子消费品和工业控制设备上。 1 4 本文研究的内容 本文设计实现了一个基于嵌入式系统的车载导航装置的应用软件,系统 采用三星$ 3 c 2 4 1 0 嵌入式3 2 位处理器,以嵌入式l i n u x 作为操作系统,使 用q t e m b e d d e d 作为嵌入式图形用户界面( g u i ) ,外接g p s 接收仪,内置 s h a p e f i l e 格式的电子地图,可以提供基于电子地图的地理信息与导航功能, 可以安装在各种类型的车辆上使用,也可以作为手持设备使用。与市场上同 类系统相比,本系统采用嵌入式l i n u x 操作系统,同时在不使用专业的地图 二次开发工具的条件下实现了车载自主导航产品所具有的基本功能,是嵌入 式l i n u x 下车载导航装置的一个有意义的尝试。 论文主要讨论了车载导航装置的设计与实现,本文主要研究的内容、以 及各章节之间的关系如下: 1 ) 软件总体结构 在第二章中,从整体出发,介绍了车载自主导航装置的特点和功能要求; 然后根据系统需求设计了软硬件平台的架构和实现方案,并且分析了嵌入式 软件开发的一般流程,这同时也是本文总体思路。最后,根据功能需求对软 件进行了模块划分,在第四章中将对其中的核心模块进行详细设计。 2 ) 电子地图格式分析及嵌入式设备上地图快速显示算法、坐标转换算法 9 哈尔滨工程大学硕十学位论文 在第三章中,针对车载导航装置所使用的电子地图,对地图格式、数据 结构进行了详细的分析,然后给出了在嵌入式设备上高速显示电子地图的算 一一法。同时给出了在地图显示以及g p s 定位时所用到的坐标变换算法,在地图 显示模块以及轨迹管理模块的实现中将用到这两个算法。 3 ) 软件详细设计 在第四章中,针对几个重要的模块进行了模块的详细设计,包括模块中 类的建模、模块内部的流程图、子模块的划分等。 4 ) 软件的实现及测试 在第五章中,给出了地图显示、缩放、漫游、历史轨迹回放、g u i 设计 等重要部分的实现过程。同时,针对出现的一些实际问题给出了解决的办法。 上述的四个部分中第一部分是总体设计,第二部分是系统分析、实现的 基础内容,第三部分和第四部分是系统开发的核心内容。 1 0 哈尔滨工程大学硕士学位论文 第2 章车载自主导航装置总体设计 2 1 功能分析 目前市场上的车载自主导航装置种类繁多,功能各具特色,但是有些功 能暂时并不适用,例如:市场上很多的产品都有路径规划功能,但实际上这 些产品使用的地图上的道路层并没有对道路的交通规则进行限制( 如:单行 道) ,而且,现在我国城市化的建设速度很快,地图上的一些场所变动很大, 电子地图往往不能及时的进行更新,因此,基于一些不合适、不准确的地图 信息进行路径规划是没有实际意义的。车载导航装置功能的设定应该基于用 户实际的需求,同时还需要考虑考地图是否含有交通信息、规则的约束。 本文在参考了一些比较成熟的产品的功能后,确定了车载自主导航装置 的一些基本功能,这些基本功能主要有p 1 :地图操作、地图管理、轨迹管理、 信息查询、导航操作4 块功能。因为本文使用的地图没有专门的交通信息层, 因此本软件并没有定义路径规划功能。装置所要实现的功能说明如下图2 1 所示: 图2 1 车载导航装置功能结构图 1 1 :门目一n剖 哈尔滨工程大学硕士学位论文 功能特性描述如表2 1 所示: 表2 1 车载导航装置功能特性描述表 i d 特性 一j 特性描述 1 地图显示 一 可读入s h a p e f il e 格式的电子地图 一 按照标准进行要素信息显示 一 当地图第一次显示时,使用适用的最大比例尺的标 准显示 一 可以全图显示 2 地图漫游 一 实现平滑、无闪烁的地图漫游 - 实现地图自动拼接 3 地图缩放 一 实现地图平滑、无闪烁地放大、缩小、地图自动拼 接 一 按比例尺缩放地图 4 地图选择 一 手动选择s h a p e f il e 格式的电子地图 -s h a p e f i l e 格式的电子地图可“即插即用” 5 当前轨迹 一 查看当前车辆行驶的轨迹 - 保存当前车辆行驶轨迹 6历史轨迹 一 浏览历史轨迹:可以选择之前保存过的历史轨迹进 行查看 一 轨迹管理:对之前保存过的某条历史轨迹进行编辑、 删除、导出等操作 7 g p s 信息查询 一 车辆信息查询:查询车辆当前所在地的经度、纬度 以及车辆的时速信息 -查询当前可用的卫星颗数 2 2 硬件设计方案 本装置的实现方案采用比较成熟的a r m 9 + 嵌入式l i n u x 解决方案。处理 器选择三星公司生产的s 3 c 2 4 1 0 a 处理器u ,s 3 c 2 4 1 0 a 是一款3 2 位r i s c 处理器,是专为手持设备和一般类型的应用设计的低价格、低功耗、高性能 微型控制器的解决方案。s 3 c 2 4 1 0 a 的内核基于a r m 9 2 0 t ,带有m m u 功能, 其主频可达到2 0 3 m h z ,适合于对成本和功耗敏感的需求,同时还采用了 1 2 哈尔滨丁程大学硕士学位论文 a m b a ( a d v a n c e dm i c r o c o n t r o l l e rb u ta r c h i t e c t u r e ) 的新型总线结构,实现了 m m u 、a m b ab u s 、h a r v a r d 的高速缓冲体系结构,同时支持t h u m b l 6 位压 缩指令集,从而能以较小的存储空间需求,获得3 2 位的系统性能。同时,三一 星公司针对$ 3 c 2 4 1 0 a 处理器提供了较为完善的软件支持工具,可以大大加 快系统的开发效率。 由于此装置正处于初期研究阶段,硬件平台暂时使用基于$ 3 c 2 4 1 0 处理 器的开发板,配以6 4 m 的s d r a m 、6 4 m 的n a n df l a s h 、g p s 模块通过串口 与处理器相连、s d 卡用来存储地图文件。本装置的硬件框图如下图2 2 所示: 图2 2 硬件组成框图 2 3 软件开发流程及方案设计 2 3 1 软件体系结构 车载自主导航装置软件是以嵌入式l i n u x 以及在其之上的嵌入式g u i ( q t e m b e d d e d ) 和文件系统为基础1 3 删,软件体系结构如图2 3 所示: 甲 哈尔滨工程大学硕士学位论文 车载自主导航应用程序 ; q t e m b e d d e d 库根文件系统 ; 嵌入式l i n t l x 内核 设冬驱动 之乡 嵌入式硬件平台 图2 3 嵌入式软件体系结构 2 3 2 嵌入式软件开发流程 1 ) 嵌入式软件平台选择5 1 : 软件平台的选择涉及到操作系统、编程语言和集成开发环境三方面。 嵌入式操作系统的选择:选择嵌入式操作系统可以从以下几点进行考 虑:首先,要考虑操作系统提供的开发工具如编译器和调试器等,有 些操作系统应用广泛,并且有第三方工具可以使用。其次,要考虑到 操作系统向硬件接口移植的难度,尽量选择那些可移植性高的操作系 统。最后,要考虑到操作系统的可裁剪性、实时性等。 编程语言的选择:首选汇编语言和c 语言,然后考虑c + + 语言或j a v a 语言。 集成开发环境的选择:集成开发环境的选择要考虑到系统调试器的功 能、支持的库函数以及连接程序是否支持所有的文件格式和符号格 式。 2 ) 软件设计: 模块结构设计:模块结构设计的基本任务是将系统划分为模块,确 定软件的结构,模块的功能和模块间的接口,以及全局数据结构的 设计。模块结构设计是软件开发过程中关键的一步,软件的质量以 及一些整体特性基本上是由这一步决定的。 1 4 哈尔滨工程大学硕士学位论文 结构化软件设计方法:结构化设计方法是一种面向数据流的设计方 法,它可以与结构化分析方法衔接。结构化设计方法的基本思想是 将系统设计成为由相对独立、功能单一的模块组成的结构。结构化 设计方法的设计步骤为:首先,复查并简化数据流图;然后确定d f d 的信息流类型,根据流类型分别实施变换分析或事物分析;最后根 据系统设计的原则,对程序结构进行优化。 面向对象软件设计方法:面向对象设计( o o d ) 是将面向对象的分 析模型转变为软件构造蓝图的设计模型。在o o d 中系统由一系列子 系统组成,每个子系统又可由下级子系统组成,所有的数据和操作 都被封装在“模块 中。o o d 的独特性在于它基于四个重要的软件 设计概念:抽象、信息隐蔽、功能独立和模块性。事实上,现代所 有的软件设计方法都试图建造具有这些特性的软件,但只有o o d 提 供了简便而又能达到这一目标的机制。 3 ) 嵌入式程序设计: b o o t l o a d e r 的设计:由于b o o t l o a d e r 的实现依赖于c p u 的体系结构, 所以大多数b o o t l o a d e r 都分为s t a g e l 和s t a g e 2 两部分。依赖于c p u 体系结构的代码,如设备初始化代码都放在s t a g e l 中,而且都用汇 编语言来实现,以达到短小精悍的目的;s t a g e 2 通常用c 语言来实 现,从而可以实现更为复杂的功能,并且代码会有更好的可读性和 可移植性。 设备驱动程序的设计:大部分的外围物理设备如键盘、显示器、鼠 标、磁盘、串口等都有一个专用于控制该设备的设备驱动程序。设 备驱动是建立在硬件i o 设备上的一个抽象层,这个抽象层的建立 可以允许上面的软件层使用统一的、独立于硬件的方式来访问设备。 应用程序的设计:依据系统所要完成的不同功能,在文件系统层之 上设计应用软件,通常需要用高级编程语言来完成 4 ) 编码 编码过程:通常分为四步:首先,确定源程序的标准格式,制定编 程规范;然后,准备编程环境包括软硬件平台的选择、操作系统、 哈尔滨工程大学硕士学位论文 编程语言、集成开发环境等;最后,编写代码,对代码进行审查以 提高代码质量。 一编码准n - 在编码的过程中要做到保持函数的短小精湛、对代码要 进行封装、消除冗余代码、减少实时代码并遵守代码编写标准。 5 ) 测试:系统软件的测试可以分为五个步骤: 系统平台测试:包括操作系统及底层驱动测试等。 单元测试:也称为模块测试,主要从模块接口、局部数据结构、重 要执行路径、出错处理、边界条件等方面进行测试。 集成测试:集成测试又称为组装测试,就是把各个模块按照系统设 计说明书的要求组合起来进行测试。 系统测试:系统测试是将嵌入式软件、硬件、外设和网络等各种因 素结合在一起,进行整个系统的组装测试和确认测试。 6 ) 下载和运行: 嵌入式系统采用宿主机目标机模式来开发嵌入式应用软件,然后通 过串1 :3 或网络等通信线路,将交叉编译生成的目标代码传输并装载 到目标机上,在监控程序或操作系统的支持下利用交叉调试器进行 分析和调试,最后目标机可以在特定环境下脱离宿主机单独运行。 2 3 3 嵌入式系统开发平台和工具的选择 1 嵌入式操作系统的选择 与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相 关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入 式操作系统同样具有通用操作系统基本特点,如能够有效管理越来越复杂的 系统资源:能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护 中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。嵌入式操 作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通 信协议等,是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统( 包 括硬、软件系统) 极为重要的组成部分。 1 6 哈尔滨工程大学硕士学位论文 j p - i i i i i i i i i i i i i i 宣i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i 宣i i i 嵌入式操作系统主要有风河公司的v x w o r k s ,q n x 系统软件公司的 q n ) ( ,微软公司的w i n d o w $ c e 、p a l m 公司的p a l m 0 s 以及诺基亚公司的 s y m b i a n 等。但这些专用操作系统都是商业化产品,一其高昂的价格使许多低 端产品的小公司望而却步;而且,源代码封闭性也大大限制了开发者的积极 性。而对上层应用开发者而言,嵌入式系统需要的是一套高度简练、界面友 善、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统。l i n u x 为嵌入操作系统提供了一个极有吸引力的选择,它是一个和u n i x 相似、以核 心为基础的、完全内存保护、多任务、多进程的操作系统。支持广泛的计算 机硬件,包括x 8 6 、a l p h a 、x s c a l e 、m i p s 、a r m 等现有的大部分芯片,程序 源码全部公开,任何人可以修改并在g u n 通用公共许可证g n u ( g e n e r a l p u b l i cl i c e n s e ) 下发行,这样,开发人员可以对操作系统进行定制,再也不 必担心像w i n d o w s 操作系统中“后门 的威胁。同时由于有g l p 的控制, 大家开发的东西大都相互兼容,不会走向分裂之路。l i n u x 带有u n i x 用户熟 悉的完善的开发工具,几乎所有的u n i x 系统上的软件都己经移植到了l i n u x 上。l i n u x 强大的语言编译器g c c 、g h 等可以很容易得到。l i n u x 从1 9 9 1 年 问世到现在,短短l o 年的时间内已发展成为一个功能强大、设计完善的操作 系统,在各种嵌入式l i n u x 迅速发展的状况下,l i n u x 逐渐形成了可与 w i n d o w sc e 等嵌入式操作系统进行抗衡的局面。嵌入式l i n u x 操作系统以价 格低廉、功能强大又易于移植而正在被广泛采用,成为新兴的力量。 2 嵌入式g u i 的选择u 6 1 u 刀 普通l i n u x 一般都提供基于x w i n d o w s 的g n o m e 作为图形用户界面, 但对于嵌入式l i n u x ,显然过于庞大,因此各种面向嵌入式系统的g u i 也就 应运而生,有代表性的g u i 系统主要有m i n i g u i 、m i c r o w i n d o w s 、以及 q t e m b e d d e d 。这些g u i 系统在接口定义、体系结构、功能特性等方面存在 着很大的差别。 m i c r o w i n d o w s ,其主要特色在于提供了c s 体系结构,同时也提供了相 对完善的图形功能。但却无任何硬件加速能力,图形引擎中也存在着许 多未经优化的低效算法。 1 7 哈尔滨工程大学硕士学位论文 m i n i g u i ,建立在比较成熟的图形引擎之上,其特点是小巧精致。它尽量 保持与砌2 的兼容。 q t e m b e d d e d ,q t 是t r o l l t e c h 公司开发的一个跨平台f r a m e w o r k 环境, 采用c + + 语法以及面向对象设计、移植性好、能提供精美的图形用户界 面所需要的元素、支持组件编程,而且具有优秀的扩展能力。 上述g u i 的详细性能比较如表2 2 所示。 表2 2 三种主流嵌入式g u i 的性能比较川 m i n i g u lm i c r o w i n d o w s q t e m b e d d e d a p i w i n 3 2 风格w i n 3 2 子集q t ( c + + ) a p i 是否完备是 w i n 3 2 支持尚不完备 是 典型函数库大小

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论