575203313毕业设计(论文)汽车导航系统POI电话检索的设计与实现

上传人:仙*** 文档编号:33632713 上传时间:2021-10-18 格式:DOC 页数:65 大小:2.50MB
收藏 版权申诉 举报 下载
575203313毕业设计(论文)汽车导航系统POI电话检索的设计与实现_第1页
第1页 / 共65页
575203313毕业设计(论文)汽车导航系统POI电话检索的设计与实现_第2页
第2页 / 共65页
575203313毕业设计(论文)汽车导航系统POI电话检索的设计与实现_第3页
第3页 / 共65页
资源描述:

《575203313毕业设计(论文)汽车导航系统POI电话检索的设计与实现》由会员分享,可在线阅读,更多相关《575203313毕业设计(论文)汽车导航系统POI电话检索的设计与实现(65页珍藏版)》请在装配图网上搜索。

1、 学号:学号:20040101032004010103 哈尔滨师范大学哈尔滨师范大学学士学位论文学士学位论文 题题 目目 汽车导航系统汽车导航系统 POIPOI 电话检索的设计电话检索的设计 与实现与实现学学 生生 指导教师指导教师 副教授副教授年年 级级 20042004 级级专专 业业 计算机科学与技术计算机科学与技术系系 别别 计算机科学与技术计算机科学与技术学学 院院 计算机科学与信息工程计算机科学与信息工程 学学 士士 学学 位位 论论 文文题题 目目 汽车导航系统汽车导航系统 POIPOI 电话检索的设计电话检索的设计 与实现与实现学学 生生 指导教师指导教师 副教授副教授年年 级

2、级 20042004 级级专专 业业 计算机科学与技术计算机科学与技术系系 别别 计算机科学与技术计算机科学与技术学学 院院 计算机科学与信息工程计算机科学与信息工程 哈尔滨师范大学2008 年 5 月 摘要:摘要:伴随着人们生活水平的提高,汽车作为一种非常便利的交通工具,逐步进入千家万户,为人们的生活带来了极大的方便。但是随着人们外出空间的不断扩大,如何使人们能够在一个陌生的环境中找到自己的方位,并且能准确地定位自己的目的地,成为人们关心的问题!汽车导航系统满足了人们的需求,解决了这个问题。汽车导航的基本功能是一个车载的电子地图,但是它比普通电子地图的功能强大百倍。在汽车导航系统中,人们不但

3、可以看到自己周边乃至全国的各个比例尺下的地图,而且还能通过 GPS 等信息准确地定位自己的方位,设定想要到达的目的地。在用户设定目的地后,系统会根据用户的要求自动计算出一条最佳路径,提供给用户,以作行驶参考。导航系统还能够完成设施检索、电话号码检索、住所检索等各种检索功能。更让人兴奋的是能够在汽车内进行无线上网等功能。关键词关键词:汽车导航 POI HMITooL目目录录第一章第一章 前言前言 .1 111 应用背景.112 目的和意义.213 关于本文.2第二章第二章 汽车导航系统知识简介汽车导航系统知识简介 .3 32.1 汽车导航的基础知识.32.1.1 汽车导航系统的基本概念 .32.

4、1.2 汽车导航系统的发展历史 .42.1.3 汽车导航系统的发展现状 .52.1.4 汽车导航系统的未来 .62.1.5 汽车导航系统的主要功能 .62.1.6 汽车导航系统的基本工作原理 .72.2 汽车导航系统的基本框架.82.3 关于 OPERATION BOOK.102.3.1 OPERATION BOOK 的作用 .102.3.2 OPERATION BOOK 的功能实现 .102.3.3 OPERATION BOOK 的制作 .112.4 专用词语 .11第三章第三章 需求分析需求分析 .13133.1 任务概述.133.1.1 项目任务概述 .133.1.2 课题任务概述 .1

5、33.2 课题目的及可行性分析.133.2.1 课题目的 .133.2.2 可行性分析 .133.3 工具 HMI TOOL 简介 .143.3.1 HMITool 的目的 .143.3.2 工具中各数据的构成 .143.4 COMPILER 工具简介 .183.5 FRAMWORK 简介 .203.5.1 AW 导航系统结构 .203.5.2 代码与系统结构图的对应关系 .203.5.3 画面编码的文件结构 .213.5.4 迁移处理部分(Frame Work) .22第四章第四章 概要设计概要设计 .26264.1 电话号码输入画面制作.264.2 电话号码检索结果目录画面制作.274.3

6、 检索的数据结构.294.4 电话号码输入画面编码.304.5 电话号码检索结果目录画面编码.31第五章第五章 系统实现系统实现 .34345.1 画面的数据制作.345.1.1 电话号码输入画面数据制作 .345.1.2 检索结果目录画面数据制作 .355.2 画面编码.375.2.1 电话号码输入画面编码 .375.2.2 检索结果目录画面编码 .39第六章第六章 测测 试试 .42426.1 实现过程中出现的问题及解决方法.426.2 运行结果.42结结 论论 .5252参考参考文文献献 .5353ABSTRAABSTRACTCT .5454 1第一章 前言1 11 1 应用背景应用背景

7、当今世界汽车的保有量逐年增加,给道路交通带来了严重的堵塞和拥挤,成为社会环境的一大公害,也造成了巨大的经济损失。修建道路,加大流通能力,虽然是解决交通拥挤的重要途径,但一些交通发达的国家都已清醒地意识到,仅仅靠扩建公路来解决交通拥堵问题是很有限的,必须谋求一种高科技手段的解决办法汽车电子导航系统。汽车电子导航系统不仅能够解决交通堵塞问题,更是汽车时代数码生活的新象征。现在,驾驶装有导航系统汽车的人们再也不必为工作或者旅游要去一个陌生的地方而感到苦恼,也不用担心面对高速发展的交通网不知怎样前往目的地,这就大大节约了时间,提高了效率,因此越来越受到人们的欢迎,逐渐走入人们的生活。现代汽车导航系统得

8、到普及和推广是伴随着美国 GPS(Global Positioning System,即全球定位系统)系统的发展而出现的,是一种可以实现汽车即时定位、路径诱导、路径计算等功能的车载定位系统。20 世纪 90 年代,美国将导航系统的研究从传统的惯性导航领域推进到了现代的卫星导航领域。GPS 系统是由空间卫星、地面监控和用户接收等三大部分组成。空间卫星由 24 颗卫星组成一个分布网络,分别分布在 6 条离地面 2 万公里、倾斜角为 55的地球准同步轨道上,连同设在美国本土的地面监测中心和采用伪随机编码测控技术的 GPS 接收机,可以提供全球范围从地面到 9000 公里高空之间任何载体的高精度三维位

9、置、三维速度和系统时间。该系统于 1993 年全部建成,随之对民间开放使用。就目前的发展情况看,车辆导航技术最发达的地方是美国、日本和欧洲等地区,其导航技术的现状代表了本领域研究和应用的发展方向,尤其是日本导航技术的发展更是处于领先地位。在日本的一些豪华轿车上,导航系统已不再是选装,而成为了标准设备。例如丰田公司的 Windom,日产公司的 Cina,本田公司的 Legend。此外,还有一些进口轿车,如奔驰公司的 S 级轿车,宝马公司 I 的新 7 系列和 5 系列轿车都装备有这种电子导航系统。三菱汽车公司更是大胆赌注,作为标准设备,把导航系统装在了中级轿车 Galant 上。由于汽车导航系统

10、扩展到更多的车型,因此在 2车内装饰设计中,在仪表板上预先留出一块 15 厘米左右的视频显示屏幕的位置,已成为常规。美国福特公司的 GPS 系统只有汽车收音机大小,它与收音机,电话集装在一起。显示屏位于中央,为司机指示方向并提供声音指示。 GPS 汽车导航系统的研制和应用在我国起步较晚,还处于初级阶段,目前主要是应用在专用汽车上,如银行运钞车,公安巡逻车等。近几年,我国自行开发的汽车卫星导向仪已正式推向市场。它可将汽车的任何动态位置随时准确无误地显示在仪器的电子地图上。该导向仪的电子地图自动跟踪显示汽车当前位置及周边情况。这种导向仪已内存我国各大城市道路的电子交通图及全国高精度的公路网及其沿线

11、村镇以上级别的地名。司机可随时在导向以上查询周边半径 300 公里地区的地理信息,为汽车提供安全顺畅的行车路线。此外,驾驶员亦可将行走的路线随时输入导向仪,以确保按原路返回。该仪器只有一本普通书大小,重 600 克,采用汽车点烟器电源供电,使用十分方便。目前,越来越多的汽车行业厂商开始投入导航系统的推广。可以预见,随着更多汽车企业的介入,导航产品市场将逐渐成熟。汽车导航已经进入了一个蓬勃发展的时代。未来的导航系统将集娱乐、通信和导航于一体,更注重个性化、个人化、小型化。预计不久的将来,导航系统将成为现代化汽车的标准配置,让更多的用户都享受高科技带来的乐趣。1 12 2 目的和意义目的和意义此次

12、毕业设计的目的是为了将在学校所学的知识运用到实践当中,锻炼自己动手能力,和学习能力,由于我是在公司完成毕设,所以也有熟悉业务工作的目的。1 13 3 关于本文关于本文此次毕业设计所选择的大题目是公司给定的,因为所在部门是汽车导航,所以公司给的大的题目是汽车导航系统 POI 部分的设计与实现 ,POI 部分是完成检索功能,包括设施检索、电话检索、住所检索、五十音检索等,我的论文所要研究的就是电话检索的部分。 3第二章 汽车导航系统知识简介2.12.1 汽车导航的基础知识汽车导航的基础知识2.1.12.1.1 汽车导航系统的基本概念汽车导航系统的基本概念因为对汽车导航不熟悉,很多人一听到“汽车导航

13、” ,想到的就是 GPS 全球定位。其实这种知识是不全面的。当人们为了工作或旅行要开车去从来没有去过的地方时,会犹豫不知该怎么走才好。这时汽车司机常常会一边打开地图,一边观察周围一些能够成为目标的建筑物和信号器具上的标志,确定自己的位置。然后,从这些信息中得知到目的地为止的大概的距离和方位,在地图上确认到达目的地为止的路径。汽车导航系统就是由“知道自己位置的”定位功能, “引导到目的地为止”的路径引导功能,再加上把这样的情报通知给驾驶员的代替地图的显示器和语音输出设备构成。现在汽车导航的特征是“电子地图”和“GPS 定位功能” 。电子地图就是将各个地区的地图以特殊格式存入 DVD(VCD)或硬

14、盘中,在需要的时候有导航仪读取。GPS 定位功能是美国国防部的 NAVSTAR(Navigation System with Time And Ranging )卫星导航系统,可以在全地球上测定绝对位置(精度,纬度,高度) 。通过推测算法、地图匹配以及来计算出自车位置。 4电波电波 BeaconBeacon AntennaAntenna FMFM 多重多重 DisplayDisplay光光 BeaconBeacon N N A A V V I Iautennaautenna VICSReceiverVICSReceiver GPSGPS AntennaAntenna CD-ROM/DVDCD-

15、ROM/DVD PCMCIAPCMCIA图 2.1 汽车导航的产品形态2.1.22.1.2 汽车导航系统的发展历史汽车导航系统的发展历史现在汽车导航的特征之一 的“电子地图”和“定位功能”正式投产是 1987 年的丰田皇冠系列,那时推测航法已经作为定位技术被使用了。这是把通过地磁气传感器得到的方位和通过车速传感器得到的距离,按照向量积分算出车辆的行驶轨迹,求得从出发地的相对位置。1989 年生产的日产车(公爵)第一次采用了地图匹配技术。这是把通过推测航法算出来的车辆的行驶轨迹和存放在 CD-ROM 里的道路形状相比较,找出自车的行驶道路,确定自车位置的技术。1990 年的马自达第一次采用了 G

16、PS 定位技术。由于 GPS 可以确定在全球范围内的绝对位置,这样使自车定位的精确度大大提高了。1991 年丰田里第一次安装了自动计算到目的地为止的经路的路径引导功能,通过他产生了汽车导航的 2 个基本功能。这时,作为定位技术采用的有推测航TFT液晶 5法,地图匹配,还有用 GPS 补正绝对位置的混合航法,现代汽车导航系统的基本功能已经实现,并且精确度也有了很大的提高。 1992 年的丰田上采用了通过声音进行路径引导的方法,使导航使用起来更加容易。至此,汽车导航系统的导航功能已基本成熟。1995 年到 2000 年,车辆内的信息化的急剧的推进,汽车导航实现了动态的交通信息接收并向小型化的方向进

17、行发展,推出了基于掌上电脑的导航仪产品。2.1.32.1.3 汽车导航系统的发展现状汽车导航系统的发展现状目前,索尼日本推出的一款名为“XYZ”的汽车导航系统刚刚在日本市场投放,就受到了众多汽车爱好者的极大关注。“XYZ ”的汽车导航系统通常被安装于汽车驾驶座前方的仪表盘控制区,主体部分是一个设计小巧的显示器,其最为奇特之处就在于这块显示器的图像输出上:“XYZ”可以输出类似于三维游戏画面的立体影像,不仅告诉驾驶者现在所处的位置及周围环境,还可以显示接下来的街道,拐角或交叉路口的交通状况等,因为是三维成像,如同“极品飞车”的游戏画面一样,能够给驾驶者带来身临其境的真实感觉。它的可移动式硬盘存储

18、器拥有 30 GB 的强大存储量,除了可以保存大量的 3D电子地图外,还能余下空间使驾驶者保存自己喜欢的各种音频和视频文件。可以将存储器从汽车上卸载下来,连接到电脑或因特网下载电子地图或影音文件等。设计者还别出心裁地为“XYZ”配备了一个触摸屏,可以直接用手指点击,进行播放、进退及建立播放列表等操作。目前,在国内也有许多公司在这个方面开展研究.比如, 国内第一款便携式、多用途卫星定位自导航产品“城际通”,已由北京城际在线网络科技有限公司研发成功并已通过部级专家鉴定.它采用了一种综合了卫星定位技术(GPS)、地理信息技术(GIS)、嵌入式系统、互联网技术的便携式、多用途卫星定位自导航信息终端。国

19、内也有许多公司在汽车导航方面有很高的技术水平.而且在国内的许多汽车上面没有加载汽车导航系统,同时在汽车私人购买量迅速增加的过程中发展迅速,这就为汽车导航产品留下了巨大的市场空间。近年来,全国许多地方如北京、厦门、深圳、成都等地都在研制汽车卫星定位 6系统,并且已有六七个产品投放市场,但这些产品大都局限于汽车的跟踪定位和防盗,真正可以广泛运用于大众的汽车卫星导航系统并不成熟。直到最近,被业界关注的“卫星导航仪”出现在人们视野的时候,把一度涌动的全球卫星定位系统(GPS)产品开发潮推向了前端。2.1.42.1.4 汽车导航系统的未来汽车导航系统的未来在日本汽车导航技术在汽车制造业中的普及率较高,并

20、且各公司的产品之间竞争十分激烈,相关技术发展也较快。欧美国家以及日本的汽车导航市场也已经初步形成。汽车导航系统并不是单纯地向目的地的诱导,而是考虑了进行安全行使机能的一部分以及与高速道路的收费系统连接等各种用途。在将来的市场中,汽车导航系统将向着多媒体和人工智能的方向发展。.国外汽车导航的发展告诉我们,汽车导航技术在应用领域有着广阔的前景。是未来汽车制造业发展的必经阶段。我们有必要将这一先进技术带入中国的汽车工业,为民族汽车工业的腾飞打好基础。2.1.52.1.5 汽车导航系统的主要功能汽车导航系统的主要功能(1) 定位功能汽车电子导航系统,必须在地图画面上表示出对车辆正确的测定位置。位置的测

21、定方法有:自行定位法, GPS 全球卫星定位法, 复式定位法, 地图匹配法。(2) 电子地图显示功能电子地图上显示的内容包括,地图背景,自车位置,引导路线,Mark(标记点),UserMark(用户自定义标记点),比例尺,地图方位,到达时间,残余距离,走行轨迹等。(3) 导航功能用户在电子地图上指定目的地后,给出目的地和当前车辆位置的连线,并给出合适的到达目的地的最佳路径,以醒目的颜色显示,并根据汽车新位置不断修正以上显示;用户还可以根据自己得喜好选择各种路线条件,如推荐,距离优先,一般道优先,道幅优先等。(4) 查询功能可以通过住址、设施名称、电话号码等进行检索地图中各单元的信息。以便设定为

22、目的地或经由地或进行其他操作,还可以查看引导道路情况及标记点周边情况 7等。(5) 多媒体功能随着导航技术的日益成熟化,导航仪上的功能也日益多元化。不仅仅起到导航的功能,更增加了电视、DVD/CD、MP3、FM 等多媒体功能,让用户在开车的时候能充分享受到导航系统带来的驾驶乐趣。2.1.62.1.6 汽车导航系统的基本工作原理汽车导航系统的基本工作原理(1)定位算出车辆的现在位置的定位方式有自立航法和电波航法。自立航法是通过安装在车辆上的方位传感器和距离传感器求得行驶轨迹,求得车辆的相对位置。电波航法里,GPS 被实用化,接受由人造卫星发出的电波,求得车辆的绝对位置。还有,在各自的航法中通过比

23、较地图的道路形状数据和车辆行驶轨迹的形状,提高现在地的推定位置的方法就是地图匹配。车辆厂家纯正导航是从自立航法出发,加上 GPS、地图匹配提高了精度。同时,市场导航是从 GPS 出发,加上地图匹配提高了精度,但是如果只使用 GPS 的话,由于存在电波的遮蔽地方,所以不能时常保持其精度。因此自立航法和地图匹配、GPS同时使用,维持精度的类型逐渐变为一般化。这样,自立航法和 GPS 同时使用的航法叫做混合航法。图 2.2 复合定位法定位功能是由减低电波航法 GPS 和方位传感器、距离传感器拥有的误差,算出 8经纬度、方位、行驶轨迹的混合航法和对照通过混合航法得到的行驶轨迹和道路数据,算出现在位置的

24、地图匹配构成。(2)路径案内案内是日文汉字,就是引导的意思。在最开始时,路径案内功能只是对被设定的目的地用箭头显示方向这一单一功能。然后是开发了自动算出案内路径的自动路径探索功能和基于被输入进去的路径案内到目的地为止的案内功能,现在发展到了把这两个功能组合起来的案内功能上。另外,这个案内的内容不仅仅是在地图上的方向显示,还出现了显示所分歧的交叉点的详细情报的交叉点扩大图和方向名称显示,用声音通知分歧的交叉点的声音案内,进一步出现了显示在 HUD(Head Up Display)里的案内等,面向更加详细案内的改良和更加容易理解的显示方法的研究也展开的非常火热。(3)路径案内主要的功能自动路径检索

25、功能:指的是根据所给的目的地和检索备件,加上地图 CD-ROM 中保存的数据(静态情报) 、还有从外部得到的动态情报(如 VICS 信息) ,自动算出推荐给驱动器的路径的功能。检索条件有是否把收费道路作为优先、是否设定通过点等。静态情报有道路网络、道路单一方向通行或交叉点通行规则、道路宽度、道路种类、收费道路、道路结构、状况等。动态情报有封闭交叉斜路(Ramp)等通行规则情报、表示道路拥挤程度的阻塞情报。路径指导显示(Route guidance):是指导使驾驶员安全、快速的且放心的到达设定目的地。路径指导显示方法中有表示路径概要的路径全体图或路径模式图、为减少看画面而进行的声音案内、表示用声

26、音不能表达好的分岔交叉点详细情报的交叉点扩大图、高速行驶时简单明快的案内的方面名称显示等。2.22.2 汽车导航系统的基本框架汽车导航系统的基本框架导航系统基本框架如下,由于 AW 部门只涉及 UI 层和功能层,故只对这两层做简要介绍。(1)HMI(Human & Machine Interface)HMI 实现的是用户的操作界面,是用户与导航系统交互的纽带。用户通过 HMI 9告诉导航系统想要进行的操作,导航系统再通过 HMI 显示出来。 (2)DG(Driver Guidance)相信每个人都有迷路的经历,当你徘徊在十字路口时,你需要的可能是一张地图,当你在地图上找不到参照物的时候,你需要

27、的是一个能告诉你正确道路的好心人,但对于一个 Driver 来说,在驾驶期间无论是查阅地图,还是问路都是一件既危险又麻烦的事。DG 所作的事情就是在你对行进方向感到迷惑的时候,告诉你正确的行进方向,以及提供给用户安全,准确到达目的地的动态和静态信息。(3)MAPMAP 即地图描画,此组件是提供导航系统中进行地图描画的功能及方法的组件。导航系统中的地图描画是指、根据应显示的地点位置从地图 Data base 读入地点情报,并根据描画算法进行描画及显示。(4)NOTENOTE 组件为用户提供信息的检索和管理功能。其中,信息包括导航信息和用户自定义信息两部分。导航信息是导航系统提供的数据,例如 Di

28、sc 数据、Vics 数据等,而用户自定义信息是用户自己设定的信息,例如 Mark 等。用户检索时可以检索所有两种信息,提供信息列表,详细情报等功能。而管理只是针对用户自定义信息,主要是提供了登录,删除,修改等功能(5)RP(Route Production/Route Planning)RP 就是在给定自车位置和目的地的情况下,按照用户设定的不同条件,计算出一条或多条从自车位置到目的地的花费(根据用户的设定,可能是指时间,费用等)最少的最优路以供用户使用。在导航系统(NAVI)中,RP 的定位是 DG 的子模块(Component),所有的计算要求必须通过 DG 的触发才能够实现,也就是说,

29、RP 的一切动作的来源都是 DG,如果没有计算请求,RP 自身不去主动算路。根据以上描述可以看出:提供两个地点间的推荐经路是 RP 的主要功能。 (6)VP(Vehicle Position)VP 即车辆定位,即:车行过程中,实时计算出车辆位置。 10车辆定位方法有自行定位法、GPS 全球卫星定位法、复式定位法、地图匹配法。在介绍导航功能时已经阐述过,在此不再重复。(7)VICS(Vehicle Information & Communication System)VICS 是 Vehicle Information &Communication System 的缩写,意为道路交通信息通信系统

30、。接受阻塞、规则、停车场、文字情报、简易图形等形式的 VICS 信息。要能够实时提供塞车情报、所需时间、交通管制情报以及停车场空位等等的情报。同样的,也能够对在事前将信息提供给各家庭或公司以对于旅行计划的制定有所帮助。2.32.3 关于关于 OPERATIONOPERATION BOOKBOOK2.3.12.3.1 OPERATIONOPERATION BOOKBOOK 的作用的作用OPERATION BOOK 就是实现汽车导航的用户操作界面。下图就是用户界面中导航界面的一部分.图 2.3 用户操作界面2.3.22.3.2 OPERATIONOPERATION BOOKBOOK 的功能实现的功

31、能实现BOOK 中的功能大概分为以下这 3 大类。 11(1) 功能实现根据 Event 启动,通过操作 MODEL 要求需要的功能。 (例:径路计算开始,电话受信等)(2) 画面描画把各画面中的必要的信息显示在屏幕上。 (例:Switch 描画、List 描画等)(3) 画面迁移进行与用户操作相对应的画面迁移,实现使用起来比较容易的用户界面。2.3.32.3.3 OPERATIONOPERATION BOOKBOOK 的制作的制作在 AW 项目组中,BOOK 画页的开发制作是利用 HMI Tool 这样一种工具来完成的。通过此工具,可以对导航画面进行方便的、可视化的编辑,并能根据生成的导航画

32、面,自动生成描述导航画面的相关文档及用于导航系统上的源代码。应用 HMI Tool,可以实现导航画面处理的自动化,对导航系统的开发有很大的帮助。是用这种工具的好处是方便快捷,有可视化效果。2.42.4 专用词语专用词语因为设计书是日文,所以在其中有很多的专用名词是用日文书写的,而翻译时在中文中又没有特别确切的词来对应,或者翻译过来的解释很麻烦,罗嗦,所以就直接用了日文的中文汉字,在这里先解释一下这些专用名词的含义:(1)部品:部品指的是在画面上的每个组成部分都可以叫做是一个部品,例如一个 button,一个 bitmap 图;(2)SW 部品: SW 部品中 SW 是 switch 的缩写,指

33、的是由选择属性的部品,大多指的是 button,在点击后会有特定的触发事件发生;(3)意匠部品:意匠部品指的是有一定属性的 bitmap 图,通过变量可以控制,但是没有触发事件,只是在接受到讯息或画面迁移时可以发生改变。在变量说明书中,意匠部品一般使用阿拉伯数字来表示说明,如 1,2等;(4)固有意匠:指的是一般没有太多变化的 bitmap 图,如 title 之类的不变的部品,在变量说明书中,固有意匠一般使用小写英文字母来表示,如:a,b等。(5)案内:就是导航,日文汉字。 12(6)API:Application Programming Interface,应用程序编程接口,在本文中特指在

34、本模块以下的接口程序。(7)Tone down:SW 部品的一种状态,和普通相对应,是不可操作状态。(8)Event:导航仪中所有的事件都是以 event 的形式来发生。(9)Command:导航仪中所有的事件的处理都是用 command 来接收然后处理,event 和 command 是导航系统中事件处理方式。 13第三章 需求分析3.13.1 任务概述任务概述3.1.13.1.1 项目任务概述项目任务概述本项目是 AW 汽车导航系统的界面描画,迁移和导航基本功能的实现,其主要工作任务如下:(1)根据日方给的迁移式样书,通过画面数据制作工具 HMI TOOL 进行画面描画效果的设计与实现。(

35、2)实现画面本身的正确描画和画面间的正确迁移。(3)处理用户发给界面的各种操作,实现各种功能并传送到底层模块。(4)将底层模块的处理信息和反馈信息显示给用户。3.1.23.1.2 课题任务概述课题任务概述在这次毕设实习中我所做的题目为汽车导航系统 POI 电话检索的设计与实现 ,POI (point of interest ) 的意思是兴趣点,而实际所做的工作就是检索,POI 的部分包括电话检索,邮编检索,住所检索,周边设施检索等,我所做的是电话检索。具体任务如下:(1) 根据日方给的迁移式样书、意匠(即画面图片) ,通过画面数据制作工具 HMI TOOL 进行电话号码检索画面、检索结果目录画

36、面的数据制作。(2) 实现电话号码检索画面本身的正确描画和其他画面间的正确迁移。(3) 处理用户发给界面的各种操作,实现部分画面功能并将命令传送到底层模块。(4) 将底层模块的处理信息和反馈信息显示给用户。3.23.2 课题目的及可行性分析课题目的及可行性分析3.2.13.2.1 课题目的课题目的本课题的目的是完成导航系统中 POI(point of interest)即检索模块中画面的描画和迁移,是导航系统的基本功能。 143.2.23.2.2 可行性分析可行性分析从技术的角度讲,虽然从来没有接触过导航系统,但是部门从事导航系统的开发已有十多年的历史,身边有很多技术精湛、经验丰富的老员工给我

37、以必要的指点,而且我所做的工作是导航系统中的基本功能实现技术可行。从经济的角度讲,日方会根据项目的工作量和产品的质量给出合理的回报,完全可以保证项目的开发成本和后期维护费用经济可行。从竞争的角度讲,国内和东软有同样导航开发技术的公司基本还不存在竞争可行。从操作的角度讲,导航仪的操作键盘与开发出的画面的对应关系非常明了,没有任何使用经验的用户也可以很快的掌握操作方法操作可行。至于市场可行性和社会可行性是奥迪公司在项目开发之前作过周密调查的,也就是说项目完全满足可行性,课题作为项目内必不可少的一部分,可行性自然满足。3.33.3 工具工具 HMIHMI TOOLTOOL 简介简介3.3.13.3.

38、1 HMIToolHMITool 的目的的目的在传统的 BOOK 开发过程,是一个特别耗费成本、人力的繁琐的开发过程。为了减少这个开发过程的工作量,达到降低成本的目的,开发了本工具。换句话说,本工具是 BOOK 各项目的基本开发工具,用于制作 BOOK 画面数据,定义各种 BUTTON 事件,是BOOK 开发人员必须掌握并灵活运用的工具。3.3.23.3.2 工具中各数据的构成工具中各数据的构成(1)Project 构成projectLibraryScreenTextBitMapPaletteMacro DefinitionFont 15图 3.1 Project 构成Library将编辑画面

39、上制作的意匠按框单位登陆。登陆了的意匠按分类单位来管理。Library 中登陆的意匠通过再利用(继承 Copy)能够使用。可以由 Library 的各要素打开 Library 画面。画面画面的意匠按画面单位制作登陆。登陆的意匠按分类单位来管理。能够由画面的各要素打开编辑画面。文字列在 Project 内使用的文字列进行管理。登陆的文字列按分类单位进行管理。Bitmap在 Project 内所使用的 Bitmap 进行管理。登陆的 Bitmap 按分类单位进行管理。PaletteProject 内使用的 Palette 进行管理。登陆的 Palette 按分类单位进行管理。定数Project 内

40、使用的定数进行管理。登陆的定数按分类单位进行管理。FontProject 内使用的 Font 进行管理。登陆的 Font 按分类单位进行管理。(2)画面构成要素 16画面描画面Frameframelayerline矩形testbitmapdraw要素表示面表示框 BUTTONEVENTVariantMacro定数Operation Voice任意想circle任意框bitmaptest矩形line任意函数图 3.2 画面构成要素描画面 编辑画面上所配置的要素进行管理。表示面实际上显示的画面领域及多个画面的重合进行管理。Button作为 Button 的机能。条件进行管理。管理与多个框的关联。E

41、ventButton 的 Event 进行管理。Event 処理的 Source 能够根据 Editor 进行编辑。变数以画面单位使用的变量进行管理。Test Pattern保持编辑画面使用变量一览 Dialog 中设定的、变量的值。定数 17画面单位使用的定数进行管理。操作音声画面显示時输出的操作音声的 ID、条件进行管理。框将多个要素进行 Group 管理的要素。具有矩形的坐标、没有描画出来的图形。Group 中的要素、其坐标以框的坐标为基准。能够记述显示条件,Group 中的要素根据此条件分为显示非显示。能够进行移动、旋转、倍率的设定 。Layer将多个要素进行 Group 化的要素,没

42、有坐标。能够记述显示条件,Group 中的要素根据此条件分为显示非显示。线线是画面上显示的直线、能够设定显示颜色。矩形矩形是画面上显示的四边形。能选者填充或不填充。填充者,可进行填充内容(Palette、Bitmap 或透过)的设定。Text将文字在画面上显示的要素、能设定表示文字列的属性,如 Font Size、Palette。任意函数能将用户给定的函数进行登录。Draw 要素将多个描画用的要素进行了 Group 化的要素,具有矩形的坐标。Group 内的各要素可设定不同的颜色。Draw 要素中 Group 化了的要素不能定义( 框、Layer 不能使用) 。继承是以 Draw 要素单位进行

43、。 18Poly line是画面上显示的 Poly line。Draw 要素选择时机定义、编辑。Polygon画面上显示的 Polygon、能指定 Palette 或 Bitmap 中。Draw 要素选择时可以定义、编辑。圆画面上显示的圆、能填充的有无。Draw 要素选择时可以定义、编辑。3.43.4 COMPILERCOMPILER 工具简介工具简介和 HMITOOL 一样,COMPILER 也是东软公司和日本 AW 公司合作开发的,目的也是为更好的开发导航系统的用户界面部分,正向前一节所说的,HMI TOOL 将制作过程中工具生成的画面数据信息保存在 XML 文件中,然而,XML 格式的文

44、件并不能直接同 C 代码一起编译生成可执行文件,必须将 XML 文件中的数据信息取出,并将其转换成 C 代码,或存放在 C 格式的文件中,COMPILER 便是起到了这个作用。此工具的使用很简单:第一步:打开要转化的工程的目录,选择输出到的目录。 19 图 3.3 HMITOOL 使用步骤 1第二步:上图点击 ok 后,进入“变换内容定义”画面,选择要变换的内容。 图 3.4 HMITOOL 使用步骤 2点击 ok 之后,开始变换,完成之后,转化结束。 203.53.5 FramworkFramwork 简介简介3.5.13.5.1 AWAW 导航系统结构导航系统结构下图是系统结构图。NAVI

45、功能NAVI CORE SOFTOS和Device画面构成数据和代码迁移处理功能处理用工具制作的画面数据根据日方提供的迁移式样书,编写的画面迁移控制代码和画面描画控制代码画面迁移FrameworkHMI DriverAPI 应用层功能函数群硬件消息接收、并发送硬件事件消息变量初始化 图 3.5 导航系统结构3.5.23.5.2 代码与系统结构图的对应关系代码与系统结构图的对应关系对应以上的系统结构,我们编写的代码包括三部分:变量初始化部分;迁移处理、功能处理部分;BUTTON 事件处理部分。(1)变量初始化部分在我们制作画面数据时,为了对画面描画状态进行控制,需要定义各种各样的变量。例如:为了

46、控制一个部件 A 的显示状态:NORMAL 和 TOWN DOWN。我们要定义一个变量 bTownDown。并设定该变量值为 0 时,显示 NORMAL 状态;该变量值为 1 时,显示TOWN DOWN 状态。对于我们在 HMI TOOL 工具中定义的所有变量,在 HMI TOOL 的输出代码中都没有定义。而是采用使用外部变量的方式。为了取得外部变量的地址,HMI TOOL 针对每个变量定义了一个获取外部变量地址的函数。同时,由于 HMI TOOL 不知道外部变量是如何定义的,因此,所有的这些获取外部变量的函数都被定义为外部函数。这些外部函数的函数实体需要我们来定义。所有这些外部函数就构成了我

47、们的 xxxx_var.c 文件。由于一旦画面被描画,HMI DRIVER 就需要通过变量地址来取得变量的值,从而判 21断该如何描画该画面。如上面说到的部件 A, 一旦需要描画,DRIVER 首先需要判断是描画 NORMAL 状态还是描画 TOWN DOWN 状态。此时,必须引用变量 bTownDown 的值。从这点可以看出,我们定义 HMI TOOL 中定义的变量时,必须保证一点:定义的变量不能是局部变量,并且变量的生命周期跟画面的生命周期相同。(2)迁移处理、功能处理部分这部分是我们编写的用于控制画面迁移的代码,和对各种式样要求的功能进行实现的代码部分。迁移处理,必须通过 Frame W

48、ork 来实现。换句话说,frame work 是具有三项功能。一、通过 HMI DRIVER 来控制画面的描画;二、登录画面;三、对登录的画面进行管理。为了管理登录的画面,在 Frame Work 或与 FrameWork 相关的模块中,定义了一个画面管理的堆栈。我们暂时理解为该堆栈在 FrameWork 中处理,以便于我们的理解。在该堆栈中,管理每个画面的 ID 标识和画面相关信息。(3)BUTTON 事件处理部分硬件接收到用户的操作后,需要通过 FrameWork 调用 BUTTON 处理函数来对用户的操作进行响应,并通过调用迁移处理来完成画面的迁移功能。3.5.33.5.3 画面编码的

49、文件结构画面编码的文件结构对应以上部分,我们编码时也分为三个部分:变量初始化部分;迁移处理、功能处理部分;BUTTON 事件处理部分。对应的文件按如下方式划分。(1)变量初始化部分该部分完成的工作为:编写 HMI TOOL 中对应每个变量定义的外部函数的函数体,文件名称为:xxx_var.c。(2)迁移处理、功能处理部分该部分需要完成的文件包括 XXX_in.h、XXX_frm.c;功能处理的部分包括文件XXX_func.c。必要时需要生成 XXX_com.h 和 XXX_com.c。完成的功能如下:完成本画面的登录工作。生成 Frame Work 能够识别的消息处理循环(具体的参见迁移处理部

50、分)。调用各种 API 函数,完成画面的各种功能。(3)BUTTON 事件处理部分该部分的功能主要完成画面的 BUTTON 处理函数的编写。现在,在编码中需要处理 22的仅仅为登录一个 CMD 命令,然后在 Frame Work 的消息循环中处理该 CMD 即可。为了减少文件 XXX_frm.c 的大小,一般将具体的处理做成单独的处理函数,并将它放在XXX_func.c 中,在消息循环中调用处理函数即可。3.5.43.5.4 迁移处理部分迁移处理部分(Frame(Frame Work)Work)(1)画面登录函数的做成为了将一个画面登录到 Frame Work 的画面堆栈中,对每个画面必须编写

51、一个start 函数。由于在登录画面的同时,需要将为 HMI TOOL 中定义的变量申请内存空间并将该内存空间登录到 Frame Work 的堆栈中,因此,在编写该函数前,必须先定义一个结构体。(2)定义变量设定函数和其他 Frame Work 要求的消息循环函数在 Frame Work 中,将一个消息循环的函数定义为一个统一结构的结构体。在这个结构体里定义所有的 Frame Work 需要的功能函数和消息处理函数,并传给 Frame work的迁移句柄,这样整个画面就能够顺利的进入消息处理的循环。typedef structF_HFSTARTstart;迁移开始函数F_HFEND end;迁

52、移终了函数F_HFGETSCRNIDgetscrnid;画面显示情报取得函数F_HFVARSET varset;变量设定函数F_HFDISP disp;画面显示更新函数F_HFEVTOEV evtoev;EventEvent 转换函数F_HFEVTOCMD evtocmd1;各画面的 EventCommand 转换F_HFEVTOCMD evtocmd2;共通的 EventCommand 转换函数F_HFCMDPROC cmdproc1;各画面的 Command 处理函数函数F_HFCMDPROC cmdproc2;共通的 Command 处理函数函数DWORD attr;画面属性DWORD

53、time;定期显示更新时间S_HMIFRMFUNC;每个画面都需要定义一个类型为以上类型的全局变量,并将我们为该画面定义的各种函数的指针付值给该全局变量。以下是按每个画面分别需要定义的各种函数,其 23中,(必)表示该函数必须被调用,其他的可以省略。省略的函数,将其变量设定为NULL 即可。(标)Frame work 标准函数,后面的即为标准函数的名称。迁移开始函数(必)(标)( hmifrm_std_procstart)迁移终了函数(必)(标)( hmifrm_std_end)画面显示情报取得函数(必)变量值设定函数画面显示更新函数(必)(标)( hmifrm_std_display)Eve

54、ntEvent 转换函数EventCommand 转换函数Command 处理函数画面属性下面主要介绍一下各种函数在一个画面的各个阶段的调用顺序。(3)画面的各种函数的调用顺序一个画面可能被描画的唯一时机排除不能被描画的画面外(即一个画面的描画函数被设成了 NULL) ,一个画面要想被描画出来,则它必须处于当前描画的 Frame Work 堆栈的顶部。登录画面每个画面要想描画出来,第一项工作是将该画面登录到 Frame Work 中。即:第一个会调用到的函数为 XXX_start 函数。描画时,各个函数的调用顺序不管一个画面是刚登录到 Frame Work 中,还是已经在 Frame Work

55、 中,描画时,第一个调用的函数是变量设定函数,然后是描画函数。这样,一个画面即可描画出来。换句话说,在我们编写的函数中,每次必须被调用的函数是变量设定函数和描画函数。而从我们做 AW 的导航项目以来,很少编写画面描画函数。这样,就剩下变量设定函数是每次描画画面都必须调用的函数。如果我们在这个函数中编写的代码过多或执行这个函数需要的时间长,都会直接影响画面的描画效率,从而影响系统使用者的第一印象。为了确保系统的效率,如果一个变量的值不是经常变化或仅仅在固定时刻 24变化,则这个变量的赋值不要在变量设定函数中完成,而采取其他的调用时机不多的函数中进行。迁移终了函数的调用时机在两种情况下需要调用一个

56、画面的迁移终了函数。一种是画面从 Frame Work 中退出,另一种是一个画面在 Frame Work 的堆栈中的位置从栈顶变成非栈顶时,系统会调用该画面的迁移终了函数。EventEvent 转换函数该函数完成 Event 到 Event 的转化。比如其他的模块发送过来一个 event A。而在我们编写画面函数中没有处理该 event。同时,在我们的画面中处理了 event B,且系统要求对这两个 Event 的处理是一样的。这时候,我们就需要编写该函数,并在该函数中处理 event A。处理的具体内容,就是向本画面发送 event B 即可。这样,借用 B的消息流程和现有代码,完成 A 的

57、处理即可。而在我们做 AW 导航的项目以来,还没有遇到过这样的情况,因此,我们一般不用编写该函数,设定为 null 即可。EventCommand 转换函数这就涉及到我们对画面 Event 的具体处理过程。在画面中,我们处理的一般为 CMD,很少直接处理 Event 消息。这样就要求我们将 Event 转换为 CMD。因此,在该函数中接收到一个 Event 时,我们向本画面发送一个 CMD 就可以了。这样做没有别的特殊的原因,仅仅是 AW 的要求。当系统中有没有正在处理的 CMD 时,系统将自动调用该函数,并将未处理的 CMD发送过来。所以,我们一旦发送 CMD 后,都需要在 Command

58、处理函数中,处理该 CMD。迁移开始函数(ProcStart 函数)该函数的调用时机非常固定。在一个画面成为 FrameWork 处理栈的栈顶画面时,系统自动调用一次该函数,其他时机不会调用。详细说,当调用一个 start 函数将一个画面放入堆栈时,立即成为该堆栈的栈顶画面,然后马上调用迁移开始函数。当一个画面已经在堆栈中,如果不是栈顶画面,当他突然变成栈顶画面时,调用的第一个函数就是迁移开始函数。另外,当迁移开始函数返回失败时,系统不会启动该画面的描画流程,而直接调 25用该画面的 End 函数,将该画面推出堆栈。其它变量或函数的使用时机由于其他变量或函数的使用时机不影响到我们的编码或设计工

59、作,因此我们不用追究。 26第四章 概要设计4.14.1 电话号码输入画面制作电话号码输入画面制作下面是电话号码检索输入画面的式样。*1(詳細)*1戻AB完了C電話番号1修正D市外局番入力下2市外局番入力下图 4.1 电话号码输入画面式样表 4.1 各部分定义号码 名称关联性表示消去tonedown走行状态长压A返回无时常无无无无B数字输入键无时常无无有无C完了无时常无有无无D修正无时常无有有无1标题无时常无无无无2电话号码输入区无时常无无无无根据给定的式样和各部分的制作要求,有以下一些任务需要完成。将电话号码输入显示部分和修改 button 做成 lib,需要设定变量用来记录输入部分的文字,

60、另外需要将文字显示部分做成 list 要素,该 list 要素由 13 个位图(bitmap)组成,用来显示输入的文字,通过 index 要素控制描画哪个要素,index 要素由参照变量和 offset 变量组成,因此要定义 13 个变量作为文字显示的 offset 变量,同时还要定义一个变量作为 list 要素的参照变量,需要定义一个变量来作为输入层和 27其他文字显示层的显示条件和修正 button 的 tonedown 状态的条件。将十个数字输入键做成一个 lib,由于在车的走行过程中十个数字键要处于tonedown 状态,所以要定义 10 个变量。将返回 button,完了 butto

61、n 也分别制作成 lib。在画面制作的时候,要继承前面所说的两个 lib,而且要定义一个变量用来记录画面输入文字的个数,同时控制完了 button 的 tonedown 状态的条件。4.24.2 电话号码检索结果目录画面制作电话号码检索结果目录画面制作下面是电话号码检索结果目录画面的式样.*1(詳細)*1前次戻AB電話番号12CDEF3 GH 4图 4.2 电话号码检索结果目录画面式样表 4.2 各部分定义号码 名称关联性表示消去tonedown走行状态长压A返回无时常无无无无B目录(电话号码)无时常无有有无C向前翻一条无时常无有有无D向前翻一页无时常无有有无E向后翻一页无时常无有有无F向后翻

62、一条无时常无有有无 28G文字右移有文字左端有有有无H文字左移有文字右端有有有无1标题无时常无无无无2索引对象电话号码无号码输入状态有无有无3目录位置表示无时常无无无无4地点标志无时常无无无无根据给定的式样书和各部分制作要求,有以下一些任务需要完成。将电话号码显示部分制作成 lib,同时需要定义两个变量,一个用于显示取得的电话号码,一个用于电话号码显示的条件。将上下滚动 button 制作成 lib,同时定义四个变量用来控制四个 button 的tonedown 状态的条件。将上下滚动监视条部分制作成 lib,定义一个变量用来控制位置指示器的位置。将一条目录显示部分制作成 lib,定义 8 个

63、变量,用来控制目录的 tonedown 状态,纪录目录个数,表示目录的名称,记录文本的偏移量,作为名称显示状态标志,作为名称标志显示的标志,记录名称标志的类型,作为选择标志,定义 3 个变量分别表示空白行条数,检索标志和输入标志来控制 button 输入,定义一个描画函数描画名称标志,由于名称标志有时需要用 list 要素来表示,所以要定义两个变量分别作为 list要素的参照变量,和 offset 变量。继承 5 个上面的目录 lib,做成一个具有 5 条记录的 lib,定义一个变量用来改变纪录的宽度。将文本框左右滚动的一个控制 button 制作成 lib,定义一个变量用来控制显示左箭头,右

64、箭头,还是 tonedown 状态,定义三个变量分别表示空白条个数,当前目录号和总的目录数,他们共同控制 button 的显示。继承 5 个上面的文本框左右滚动的控制 button 的 lib,做成一个具有 5 个控制button 的 lib.将返回 button 制作成 lib。 29在画面制作的时候目录画面为了实现滚动时平滑滚动的效果,即看起来并不是文字突然跳动到另外一行而是整个 List 部分在向上滚动(就像放电影是连续播放的而不是仅仅像 gif 图片一样跳变的) ,因此画面要做成 Front 层和 List 层,这样就需要定义一个变量决定显示哪个画面。在画面中还需定义一个变量用于 li

65、st 要素的参照变量,定义 12 个变量作为 offset 变量,定义 12 个变量用来控制 list 要素中每个文字的显示。下面是 List 页面的式样。* *1 1AB图 4.3 电话号码检索结果目录画面式样将画面中 A 部分制作成 lib,该 lib 中的每一条主要继承于上面的一条目录所作成的 lib.将画面中的 B 部分制作成 lib,该 lib 中的每个 button 主要继承于文本框左右滚动的一个控制 button 所作成的 lib.4.34.3 检索的数据结构检索的数据结构一提到 POI(检索)也许就会想到数据库以及和数据库相关的一些工具,查询语句,然而在汽车导航系统中你根本找不

66、到类似的东西,因为汽车导航中用的是地图光盘, 30地图盘里存储着相应的数据,而且他们的存储格式并不像我们所想象的那样按顺序存储一些地点信息,地图光盘中的数据是以特定的格式存储的(KIWI 格式),数据有自己的结构,POI 的功能是检索以及管理检索结果数据,POI 调用 CD 模块读取地图光盘中的数据,然后找到相应的数据读取出来之后再存储为相应的格式,POI 调用 CD 模块查找和读取数据的过程实际上就是检索的过程,存储的格式就是经过 POI 处理后的数据,格式是依照各检索类的不同而不同,最后的得到的地点信息就是 S_PointInfo 的格式,S_PointInfo 中的数据主要用于画面的显示以及地图打开时的参考,地图的打开主要会参考 S_PointInfo 中的坐标、比例尺等信息。我们在编码的时候真正用到的 POI 也只是各相应的检索接口函数,用到的地点信息也就是 S_PointInfo 格式的。其中地点(point)纪录的是经度和纬度信息,面积纪录的是经度、纬度的最小值和最大值。Poiinf 中记录连接类型,指针,poihandle 中记录指向数据的指针,poi 句柄,检索类型。4

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!