车载电子地图系统的研究毕业论文.doc_第1页
车载电子地图系统的研究毕业论文.doc_第2页
车载电子地图系统的研究毕业论文.doc_第3页
车载电子地图系统的研究毕业论文.doc_第4页
车载电子地图系统的研究毕业论文.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

引言随着我国城市建设和改造步伐加快,城区道路不断新建,错综复杂的道路交通甚至衍生出一批以指路为业者。新建的楼堂馆所,新铺的柏油马路让一些本来熟悉的地方变得陌生,纵横交错的城市道路,形态各异的立交桥,使得有车一族出门都不得不经常查看地图。有数据表明,每年北京图书大厦销售排行榜的前三名中一定有地图。 在这种背景下,同时随着GPS的发展,车载电子地图系统顺理成章地出现了。车载电子地图系统能够接收GPS卫星发送的数据,计算出用户的三维位置、方向以及运动速度和时间方面的信息,但要想实现路线导航功能还需要一套完善的包含硬件设备、电子地图、导航软件在内的系统。车载电子地图系统由两部分组成:一部分由安装在汽车上的GPS接收机和显示设备组成,另一部分由计算机控制中心组成,两部分通过定位卫星进行联系。整个车载电子地图系统起码有两大功能:一个是汽车踪迹监控功能,只要将已编码的GPS接收装置安装在汽车上,该汽车无论行驶到任何地方都可以通过计算机控制中心的电子地图上指示出它的所在方位;另一个是驾驶指南功能,车主可以将各个地区的交通线路电子图存储在软盘上,只要在接收装置中插入软盘,显示屏上就会立即显示出该车所在地区的位置及目前的交通状态,既可输入要去的目的地,预先编制出最佳行驶路线,又可接受计算机控制中心的指令,选择汽车行驶的路线和方向。1 绪论1.1 课题背景随着汽车的普及和道路的建设,城际间的经济往来更加频繁,活动的区域也越来越大,为了提高生活质量,大量的休闲活动、探险活动的举行使我们并不局限在自己认识的一小块区域中,不认识道路,找不到目的地的情况也屡有发生,就此,车载电子地图系统将以合适的价位走入车主的世界,成为车上的基本装备。而且计算机技术快速发展, 汽车系统已成为计算机软硬件的必争之地。车载电子地图系统是其中最为突出的应用之一。从应用的角度,汽车导航系统可分为两类。第一种方式是汽车拥有独立的GPS导航装置,可以进行自主导航。它将音响和导航技术融为一体,采用直观的菜单和易操作的遥控装置,只要输入目的地,并在它提供的最多8条路线中选定一条,就可在导航系统指引下轻松上路。它会通过车载喇叭,播放行驶方向的语音提示,并在大型彩色显示屏上显示导航图像。第二种方式则是公众信息服务性质的车辆定位跟踪、监控系统。目前,汽车电子地图系统的理论研究与实践探索已经呈现出方兴未艾的蓬勃趋势,许多软件公司都已开发除了自己的汽车电子地图系统。汽车电子地图系统的不断发展和成熟也必将为社会经济的发展带来更多的收益,为人们带来更多的方便。1.2 车载电子地图简介通常所看到的地图是以纸张、布或其他可见真实大小的物体为载体的,地图内容是绘制或印制在这些载体上。而电子地图是存储在计算机的硬盘、软盘、光盘或磁带等介质上的,地图内容是通过数字来表示的,需要通过专用的计算机软件对这些数字进行显示、读取、检索、分析。电子地图上可以表示的信息量远远大于普通地图,如公路在普通地图上用线划来 表示位置,线的形状、宽度、颜色等不同符号表示公路的等级及其他信息。在电子地图上,是通过一串X、Y坐标表示位置,通过线划的属性表示公路的等级及其他信息,比如1表示高速公路、2表示国道等,电子地图上的线划属性可以有很多,比如公路等级、名称、路面材料、起止点名称、路宽、长度、交通流量等等信息都可以作为一条道路的属性记录下来,能够比较全面地描述道路的情况,这些是普通地图简单的符号不可能表示出来的。相比较电子地图有以下特点:(1)电子地图以计算机屏幕和投影大屏幕为媒介,而传统地图一般以纸张作为信息的载体。(2)电子地图的制作、管理、阅读和使用能实现一体化,对不满意的地方能够方便实时地进行修改。而传统纸质地图的生产、管理和使用都是分开的。(3)电子地图显示地图内容的详略程度是可以随时调控的,而传统纸质地图的内容是固定的、不变的。(4)电子地图能把图形、图像、声音和文字合成在一起,而纸质地图则做不到。(5)电子地图的使用要依赖专门的设备,而纸质地图的使用则不需要。(6)电子地图由于受计算机屏幕尺寸和屏幕分辨率的限制,整幅地图显示的效果受影响,以分块分层显示为主。而传统纸质地图以图幅为单位整页出版印刷,幅面大,读图的整体印象深刻,地理要素相互之间的关系明白清楚。就目前的车载GPS系统终端通常由GPS模块、无线通信模块、报警控制模块、语音控制模块、显示模块和车载PC等几个部分组成:1.GPS模块:安装到车辆上的小型装置,是GPS车载单元的一部分,用来接收卫星所传递的信息。2.无线通信模块:通常采用车载无线电话、电台或移动数据终端(MDT)以完成信息交互功能。3.报警控制模块:向监控中心网络发出报警讯号,通报车辆异常信息。4.语音控制模块:完成声音控制及服务等功能。5.显示模块:用来显示位置路况等视频图象信息,可选用LCD、CRT或TV显示。6.车载PC:整合处理各功能模块,配合相应的软件,完成指定功能,如进行数据处理,计算出所在位置的经度,纬度,海拔,速度和时间等。由于使用环境的特殊性,作为系统核心的车载PC的必须体积小,集成度高,功耗低,处理能力强,操作简单便捷。目前车载PC较多的使用嵌入式操作系统,如WINDOWSCE和嵌入式LINUX等。根据车辆使用的频繁性以及道路的复杂性的要求,它必须可靠性要高,且扩展性和兼容性要好。GPS车载导航设备作为一种全新概念的汽车电子用品,可以在地理信息服务、城市导航、自驾远游等方面为车主提供诸多便利。在欧美、日本等国,GPS车载导航仪已经成为大众的一个生活辅助工具,甚至是必需品。目前,随着私家车保有量的大幅提升,参与国内GPS市场角逐的企业也如雨后春笋,GPS车载导航仪产品不再是少数专业人士及探险家手里的“发烧”级装备。选购此类高科技产品时,消费者往往处于“一知半解”的状态,容易产生困惑和迷茫。1.3 GPS简介GPS 是英文Global Positioning System(全球定位系统)的简称,而其中文简称为“球位系”。GPS是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统 。其主要目的是为陆、海、空三大领域提供实时、 全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的,是美国独霸全球战略的重要组成。经过20余年的研究实验,耗资300亿美元,到1994年3月,全球覆盖率高达98%的24颗GPS卫星星座己布设完成。在机械领域GPS则有另外一种含义:产品几何技术规范(Geometrical Product Specifications)-简称GPS。美国GPS:由美国国防部于20世纪70年代初开始设计、研制,于1993年全部建成。1994年,美国宣布在10年内向全世界免费提供GPS使用权,但美国只向外国提供低精度的卫星信号。据信该系统有美国设置的“后门”,一旦发生战争,美国可以关闭对某地区的信息服务。欧盟“伽利略”:1999年,欧洲提出计划,准备发射30颗卫星, 2009年该计划正式启动。 俄罗斯“格洛纳斯”:尚未部署完毕。始于上世纪70年代,需要至少18颗卫星才能确保覆盖俄罗斯全境;如要提供全球定位服务,则需要24颗卫星。 中国“北斗”:2003年我国北斗一号建成并开通运行,不同于GPS,“北斗”的指挥机和终端之间可以双向交流。去年5月12日四川大地震发生后,北京武警指挥中心和四川武警部队运用“北斗”进行了上百次交流。北斗二号系列卫星今年起将进入组网高峰期,预计在2015年形成由三十几颗卫星组成的覆盖全球的系统。目前,北京时间1月17日零时12分,我国在西昌卫星发射中心用“长征三号丙”运载火箭,将第三颗“北斗”导航卫星成功送入预定轨道。当通过硬件和软件做成GPS定位终端用于车辆定位的时候,称为车载GPS,但光有定位还不行,还要把这个定位信息传到报警中心或者车载GPS持有人那里,我们称为第三方。所以GPS定位系统中还包含了GSM网络通讯(手机通讯),通过GSM网络用短信的方式把卫星定位信息发送到第三方。通过微机解读短信电文,在电子地图上显示车辆位置。这样就实现了车载GPS定位。 与此同时,在车上安装相应的探测传感器,利用车载GPS定位的GSM网络通讯功能,同样能把防盗报警信息发送到第三方,或者把这个报警电话、短信直接发送到车主手机上,完成车载GPS防盗报警。这里可以看出,车载GPS定位的GSM网络部分实际上是一个智能手机,可以和第三方互相通讯,还可以把车辆被抢,司机被劫、被绑架等信息发送到第三方。 所以说车载GPS定位是定位、防盗、防劫的。 目前市场销售很广阔,经常被大家提及的是一般的民用的导航GPS,这样的GPS主要是给汽车定位,导航。目前越来越发达的道路,错综复杂的高架桥给驾驶者越来越难分辨道路。导航车载GPS的确是给驾驶者带来了极大的方便!而且现在的导航GPS还具有提前预警电子眼、查询全国旅游景点、酒店等服务。的确是旅游带来了极大的方便!以达伽马鹰隼G808为例,以上功能均可以自助实现,远程控制和查询!1.4 本论文任务本文从系统的角度对车载电子地图的硬件,软件的要求作出了讨论,从得出的种种的要求出发对系统进行了架构设计,然后以该架构为基础对个模块进行了选型,并且从实际出发在硬软件上对各模块进行了设计,使系统能实现以下几点:u 能在地图上按指定坐标任意添加删减图元(道路,建筑,图标等);u 能随车辆在整个地图上实现漫游;u 能通过方向键在整个地图上实现漫游;u 能对某个目标进行查找;u 能进行友好的人机交互。由于种种客观因素限制,实际制作系统的时候,并没一一全部实现前述目标,系统能实现以下几点:u 能在地图上按指定坐标任意添加删减图元(道路,建筑,图标等);u 能通过方向键在整个地图上实现漫游;u 能对某个目标进行查找(需对程序进行少许改进);图1-1 实物图如上图所示,可通过按下上,下,左,右四个键来在地图上进行漫游。2 系统设计方案 2.1 系统设计要求2.1.1 硬件设计要求今天,汽车电子设备在整车中所占的比例相当大。这些电子模块虽然为汽车用户带来了舒适性和安全性,但与此同时,从汽车环境中电子模块的可靠性来分析,也产生了一些不容忽视的问题。 汽车环境本身包括很多电气危害的源头,汽车的各种零部件,如点火开关、继电器触点、交流发电机、燃油喷射器等,都会产生电磁干扰、静电放电等电气干扰。传导性危害直接出现在线束内;辐射性危害则直接影响电子模块。这些由汽车环境产生的电气危害将会在两个方面影响电子模块:数据线和电源线。为了更好的适应汽车级的应用,使用一定数量的瞬间电压抑制器(TVS)器件是必不可少的。如固状器件(二极管)、金属氧化物变阻器(MOV)、可控硅整流器、其他可变电压的材料(新聚合物器件)、气体电子管和简单的火花隙。需要注意的是,不管选择怎样的TVS器件,它们在电路板上的布局非常重要。TVS布局前的导线长度应该减到最小,因为快速(0.7ns)ESD脉冲可能产生导致TVS保护能力下降的额外电压。另外,快速ESD脉冲可能在电路板上相邻(平行)导线间产生感应电压。如果上述情况发生,由于将不会得到保护,因为感应电压路径将成为另一条让浪涌到达IC的路径。因此,被保护的输入线不应该被放置在其它单独、未受保护的走线旁边。推荐的ESD抑制器件PCB布局方案应该是:放置在被保护的IC之前,但尽量与连接器/触点PCB侧尽量近这; 放置在与信号线串联任何电阻之前; 放置在包含保险丝在内的过滤或调节器件之前; 放置在IC之前的其他可能有ESD的地方。而CPU的选型主要基于低功耗的原则,延长车辆长期不启动情况下电子地图工作时间,降低耗尽汽车电瓶电量的可能性。因此选择德州仪器(TI)公司的基于Cortex-M3核Luminary作为终端处理器是比较好的选择,由于其内核是Cortex-M3的,所以它具有非常突出的特点:超低功耗;强大处理能力;丰富片上外围模块,极大减少了终端硬件设计复杂程度,有效地节约了成本和系统的占用体积;工作稳定,开发环境方便高效。2.1.2 软件设计要求目前几乎所有GPS厂商都遵循美国国家海洋电子协会(National Marine Electronics Association)制定的(NMEA-0183V20)通信标准格式。TIM GPS接收机的输出语句按串行通信协议, 数据格式为8个数据位、1个起始位、1个停止位, 无奇偶校验。可以根据需要选择传输速率。其输出语句采用的是NMEA-0183即ASCII格式码,输出语句达十多种,包括GGA、GSA、GSV、RMC、RMT、VTG 等。 这些定位数据语句不仅给出了位置、速度、时间等信息,而且指出当地的卫星接收情况。实际导航应用读取GPS的空间定位数据时,可以根据需要每隔几秒钟更新一次经纬度和时间数据。而更频繁的数据更新就没有必要了,而且不需要了解NMEA-0183通信协议的全部信息,仅需要从中挑选出所需要的那部分定位数据。其 余的信息可忽略。所以在提取过程中只提取RMC数据。软件设计中最大难题就是如何对海量的地图信息进行存储和读取,这同时也是现在电子地图的一个发展方向。GIS(Geographic Information System,地理信息系统)作为获取、存储、分析和管理地理空间数据的重要工具、技术和学科,近年来得到了广泛关注和迅猛发展。由于信息技术的发展,数字时代的来临,理论上来说,GIS可以运用于现阶段任何行业。 数据是GIS的重要内容,也是GIS系统的灵魂和生命。数据组织和处理是GIS应用系统建设中的关键环节,涉及许多问题: u 应该选择何种(或哪些)比例尺的数据? u 已有数据现势性如何? u 数据精度是否能满足要求? u 数据格式是否能被已有的GIS软件集成? u 应采用何种方法进行处理和集成? u 采用何种方法进行数据的更新和维护,等等。 方法指系统需要采用何种技术路线,采用何种解决方案来实现系统目标。方法的采用会直接影响系统性能,影响系统的可用性和可维护性。 人是GIS系统的能动部分。人员的技术水平和组织管理能力是决定系统建设成败的重要因素。系统人员按不同分工有项目经理、项目开发人员、项目数据人员、系统文档撰写和系统测试人员等。各个部分齐心协力、分工协作是GIS系统成功建设的重要保证。众所周知,电子地图现如今已经是比较大众化的产品了,普通大众都能很快,并且熟练地使用它,所以友好的人机交互界面设计也是必不可少的。2.2 硬件的整体设计方案Luminary1138电源模块显示模块LTM022A69B串口模块GPS模块按键模块图2-1 系统架构图在该框图中,只是大概的画出了几个模块相连接的情况。简单的勾勒出单片机及其外围电路框架,结构还是较清晰明了的,给人一目了然的感觉。下面分别介绍各个模块的具体内容与工作原理。处理器模块本系统采用了Luminary-ARM 1138作为系统处理器,Luminary1138是基于Cortex-M3内核的ARM7,由于算法限制,每显示一帧图像需要进行较多的浮点运算,和其它大多数ARM7一样,它也是32位,所以对于它将要在本系统中处理的内容来说,它的处理速度还是令人满意的。再就是显示模块的驱动芯片PD161704A的端口电平为0-3.3V,而1138的端口高电平为3.3-5V,完全能够胜任。显示模块本系统使用了东芝产TFT LTM022A69B,色彩度16位,驱动芯片总线最大宽16位,同时支持8位线宽,和SPI串行总线,使用较为灵活。按键模块为了使该电子系统使用更为灵活,所以设置了按键模块,用户可以通过该模块在地图上进行漫游,查看当前位置,或者查看某个其它想去的地方。串口模块与GPS模块。因为GPS模块支持通用串行口对外通信,所以在处理模块与GPS模块之间使用了串口模块来进行桥接。电源模块由于是车载电子地图,所以本系统采用了电池供电和车载电瓶供电两种选择,可进行切换。2.3 软件整体设计方案本系统借鉴了实时渲染中的算法,即预先将需要显示的所有图形(不管是多边形,还是弧形),都拆解成一条条线段,每条线段在程序中就是一个结构体,该结构体包含了显示时所需要的所有信息。然后为了尽量减少CPU的计算冗余,就必须在系统初始化的时候将线段信息结构体按一定的合理的结构方式放入内存中,本系统就借鉴了四叉树的存储方式进行排放。通过该种空间索引可以排除掉一些明显不符合条件的图元,得到后选集合,然后对后选图元集合进行精确几何运算,得到最终结果进行显示。2.4 IAR编译平台简介IAR Embedded Workbench for ARM(下面简称 IAR EWARM)是一个针对ARM处理器的集成开发环境,它包含项目管理器、编辑器、C/C+编译器和 ARM 汇编器、连接器XLINK和支持RTOS 的调试工具C-SPY。在IAR EWARM环境下可以使用 C/C+和汇编语言方便地开发嵌入式应用程序。比较其他的ARM开发环,IAREWARM 具有入门容易、使用方便和代码紧凑等特点。目前IAR EWARM4.42A版本以上的软件支持ARM Cortex-M3内核,现在IAR发布的最新版本是5.20,该版本软件支持Luminary全系列的MCU。为了方便用户学习评估,IAR提供一个限制32KB代码的免费试用版本。用户可以到IAR公司的网站/ewarm下载。IAR EWARM中包含一个全软件的模拟程序(simulator),使用它不需要任何硬件支持就可以模拟各种 ARM 内核、外部设备甚至中断的软件运行环境,从中可以了解和评估 IAR EWARM的功能和使用方法。Luminary Micro公司推出的Stellaris(群星)系列ARM采用的是结构简单、功耗低、性能出众的ARM Cortex-M3处理器内核。Luminary Micro公司免费地提供了基于C语言(符合ANSI C标准)的Stellaris外设驱动库,并且源代码是公开的。因此用户完全可以摒弃晦涩难懂的汇编语言,也不需要掌握底层寄存器的操作细节,只要懂C语言就能轻松玩转Stellaris系列ARM。Luminary MicroStellaris外围驱动程序库是一系列用来访问 Stellaris系列的基于ARMCortexTM-M3微处理器上的外设的驱动程序。尽管从纯粹的操作系统的理解上它们不是驱动程序(也就是说,它们没有公共的接口,未连接到一个整体的设备驱动程序结构),但这些驱动程序确实提供了一种机制,使器件的外设使用起来很容易。 驱动程序的功能和组织结构由下列设计目标决定: u 驱动程序全部用C编写,实在不可能用C语言编写的除外; u 驱动程序演示了如何在常用的操作模式下使用外设; u 驱动程序很容易理解; u 从内存和处理器使用的角度,驱动程序都很高效; u 驱动程序尽可能自我完善(self-contained); u 只要可能,可以在编译中处理的计算都在编译过程中完成,不占用运行时间; 它们可以用多个工具链来构建。 这些设计目标会得到一些以下的结果: u (站在代码大小和/或执行速度的角度)驱动程序不必要达到它们所能实现的最高效率。虽然执行外设操作的最高效率的代码都用汇编编写,然后进行裁减来满足应用的特殊要求,但过度优化驱动程序的大小会使它们变得更难理解; u 驱动程序不支持硬件的全部功能。尽管现有的代码可以作为一个参考,在它们基础上增加对附加功能的支持,但是一些外设提供的复杂功能是库中的驱动程序不能使用的; u API 有一种方法,可以移走所有的错误检查代码。由于错误代码通常只在初始程序开发的过程中使用,所以可以把它移走来改善代码大小和速度。 对于许多应用来说,驱动程序可以直接使用。但是,在某些情况下,为了满足应用的功能、内存或处理要求,必须增加驱动程序的功能或改写驱动程序。如果这样,现有的驱动程序就只能用作如何操作外设的一个参考。 支持以下工具链: u Keil TM RealView微处理器开发工具; u Stellaris EABI的CodeSourcery Sourcery G+; u IAR Embedded Workbench; u Code Red Technologies tools。外设驱动程序库和每个示范应用都有一个Embedded Workbench工程(扩展名为.ewp),可以在5版本的Embedded Workbench中编译。简单地把工程文件载入到 Embedded Workbench,再从“Project”菜单中选择“Make”或“Rebuild all”项,就可以进行编译。注意,外设驱动程序库(C:/DriverLib/src/driverlib.ewp)项目必须在任一示范应用编译之前编译。 在Embedded Workbench中具有一个工作空间文件(扩展名为.eww),它包括每个板目录下的一个特定板的全部工程。例如:在boards/dk-lm3s101目录下,具有一个dk-lm3s101.eww的文件,它包含外设驱动程序库的工程和DK-LM3S101板的全部板示例工程。使用4.42a版本的Embedded Workbench 时,同样也会有这些文件的其他版本。它们为*-ewarm4.ewp 和*-earm4.eww,并且位于与第 5 版本文件相同的地方。 3 本系统各模块简介3.1 本系统核心处理模块简介图3.1 Cortex-M3架构图图3-1 CPU结构框图Luminary Micro是一家使用32位ARM基CPU核的公司。ARM和Luminary虽是两个不同的公司,但在MCU的策略观点方面却很默契。双方一致深信Cortex-M3必将取代传统MCU架构。Cortex-M3具有基于ARMv7M的ISA(指令集结构),当初曾因Cortex-M3用了并非是完整的32位ARM指令集,而是自成一派的Thumb-2指令集,引起过激烈地争议。Cortex-M3是专为低功耗,小尺寸,短的中断延时和优异的确定性而设计。为此,Thumb-2专门增加了130条Thumb指令。原来的32位ARM指令集的16位的指令子集用于大幅度地降低代码容量。原ARM处理器支持多种CPU模式,其Thumb指令则在两种模式之间频繁地来回切换,以运行32位和16位的ARM指令。但是,当意外发生时,必须立刻切换到32位模式予以处理,从而引起很多的麻烦。与此相反,Thumb-2则有32位和16位各自的单周期的指令集,无需再有模式间的来回切换。当然,过去的ARM二进制指令不再能够运行于像Cortex-M3那样的Thumb-2机型之上了,与原始的Thumb指令兼容的Thumb-2编程器可以使用统一的ARM汇编程序库来转换ARM汇编语言的代码,但是使用C语言库时则必须重新编译。Cortex-M3同十年前原始的低价位ARM7TDMI处理器一样,都不具有指令和数据缓存器。缓存器会给实时控制引入最忌讳的不确定性。但是,Cortex-M3比ARM7TDMI的尺寸要小,内核需要的逻辑门少(仅需33K个)。另外,Cortex-M3还比ARM7TDMI增加了存储器保护单元(MPU)、总线接口、和其他一些及逻辑。全部所需计算在内,也仅需60K个逻辑门。Cortex-M3还专门为Cortex-M3设计了有两个任选的逻辑部件:存储器保护单元(MPU)和嵌入式的跟踪宏单元(ETM embedded trace macrocel) 。因此,Cortex-M3具有优于ARM7TDMI核的性能。该类MCU有许多异于一般嵌入式处理器的特殊功能。试看一个简单的马达控制系统,系统必须存在一条反馈通道,令MCU及时知晓当前马达所处的位置或是由马达拖动的设备的位移,以便MCU迅速做出下一步响应。例如一只机械手,在捡拾一只蛋的时候,必须要在手指触到了蛋的表面时,指尖上的传感器应该发出信号给MCU,使机械手适度收紧手指,抓住蛋并将蛋提起。如果机械手由于嵌入式处理器内部存在的缓存未能一次命中或偶尔发生的分页错误,致使处理器未能在预定的时间点上适度收紧手指的马达,那么机械手将变成煎蛋饼的手。为了不捏碎那只蛋,Cortex-M3删除了产生不确定性的指令和数据缓存器部分,改用片内的闪存或SRAM。控制系统还必须尽可能快地对异常事件作出响应,并且得到充分的保证。试想,当CPU正在处理其他任务时,突然外部中断发来机械手中的蛋出现破裂危机的警报,CPU必须立刻停下当前的任务,争取时间赶去停掉马达,防止把列蛋进一步捏碎。Cortex-M3采用硬件的办法来缩短中断的延迟,以及有效节省CPU在接到中断后转入处理程序所花费的时间。Cortex-M3的这段时间仅需12个时钟周期。除此之外,Cortex-M3还有嵌套的中断控制器,免除不必要的堆栈操作。正在处理前次中断的过程中又接收到较高级中断请求,这时没有必要将前次中断保存在堆栈中的信息弹出,可以一直留到该次中断服务程序结束时再行弹出。Cortex-M3知道应先把控制转到高优先级的中断及将必要的信息压栈。这种尾链(tail chaining)操作可以减少不必要的存储流量和加速中断处理,将延迟降到6个时钟周期。3.1.1 Luminary1138芯片简介Luminary Micro公司 Stellaris 所提供一系列的微控制器是首款基于ARM Cortex-M3的控制器,它们为对成本尤其敏感的嵌入式微控制器应用方案带来了高性能的32位运算能力。 这些具备领先技术的芯片使用户能够以传统的8位和16位器件的价位来享受32位的性能,而且所有型号都是以小占位面积的封装形式提供。该 Stellaris 系列芯片能够提供高效的性能、广泛的集成功能以及按照要求定位的选择,适用于各种关注成本并明确要求具有的过程控制以及连接能力的应用方案。 该Stellaris LM3S1000 系列使用更大的片上存储器、增强型电源管理和扩展I/O以及控制功能来扩展Stellaris 家族。 该Stellaris LM3S2000 系列是针对控制器局域网(CAN)应用方案而设计的一组芯片,它在Stellaris系列芯片的基础上扩展了Bosch CAN网络技术短距离工业网络里的黄金标准。 该Stellaris LM3S2000系列芯片还标志着先进的Cortex-M3内核和CAN能力的首次结合运用。 该Stellaris LM3S6000 系列芯片结合了10/100以太网媒体访问控制(MAC)以及物理层(PHY),标志着ARM Cortex-M3 MCU已经具备集成连接能力,还是唯一集成了10/100以太网MAC和PHY物理层的ARM架构MCU。 该Stellaris LM3S8000 系列结合了 Bosch 控制器局域网技术和 10/100 以太网媒体访问控制(MAC)以及物理 (PHY) 层。该LM3S1138 微控制器是针对工业应用方案而设计的,包括远程监控、电子贩售机、测试和测量设备、网络设备和交换机、工厂自动化、HVAC和建筑控制、游戏设备、运动控制、医疗器械、以及火警安防。至于那些对功耗有特别要求的应用方案,LM3S1138微控制器还具有一个电池备用的休眠模块,从而有效的使LM3S1138芯片在未被激活的时候进入低功耗状态。 一个上电/掉电序列发生器、连续的时间计数器(RTC)、一对匹配寄存器、一个到系统总线的APB接口以及专用的非易失性存储器、休眠模块等功能组件使LM3S1138微控制器极其适合用在电池的应用中。除此之外,该LM3S1138微控制器的优势还在于能够方便的运用多种ARM的开发工具和片上系统(SoC)的底层IP应用方案,以及广大的用户群体。 另外,该微控制器使用了兼容ARM的Thumb指令集的Thumb2指令集来减少存储容量的需求,并以此达到降低成本的目的。 最后,LM3S1138微控制器与Stellaris 系列的所有成员是代码兼容的,这为用户提供了灵活性,能够适应各种精确的需求。该LM3S1138微控制器包括下列的产品特性:u 32位RISC性能 采用为小封装应用方案而优化的 32位ARM Cortex-M3 v7M架构。 提供系统时钟、包括一个简单的24位写清零、递减、自装载计数器,同时具有灵活的控制机制 仅采用与Thumb兼容的Thumb-2指令集以获取更高的代码密度 工作频率为50-MHz 硬件除法和单周期乘法 集成嵌套向量中断控制器(NVIC),使中断的处理更为简捷 34 中断具有8个优先等级 带存储器保护单元(MPU),提供特权模式来保护操作系统的功能 非对齐式数据访问,使数据能够更为有效的安置到存储器中 精确的位操作(bit-banding),不仅最大限度的利用了存储器空间而且还改良了对外设的控制u 内部存储器 64 KB单周期Flash 可由用户管理 对flash块的保护,以2KB为单位 可由用户管理对flash的编程 可由用户定义和管理的flash保护块 16 KB单周期访问的SRAMu 兼容ARM FiRM的看门狗定时器 32位向下计数器,带可编程的装载寄存器 带使能功能的独立看门狗时钟 带中断屏蔽功能的可编程中断产生逻辑 软件跑飞时可锁定寄存器以提供保护 带使能/禁能的复位产生逻辑 在调试的时候,当控制器发出CPU暂停标志时,用户可以设定暂停定时器的周期u UART 3个完全可编程的16C550-type UART,支持IrDA 带有独立的16x8发送(TX)以及16x12接收(RX)FIFO,可减轻CPU中断服务的负担 可编程的波特率产生器,并带有分频器 可编程设置FIFO长度,包括1字节深度的操作,以提供传统的双缓冲接口。 FIFO 触发水平可设为1/8, 1/4, 1/2, 3/4 和 7/8 标准异步通信位:开始位、停止位、奇偶位 无效起始位检测 行中止的产生和检测u GPIO 高达9-46个GPIO,具体数目取决于配置 输入/输出可承受5V 中断产生可编程为边沿触发或电平检测 在读和写操作中通过地址线进行位屏蔽 可启动一个ADC采样序列 GPIO端口配置的可编程控制 弱上拉或下拉电阻 2mA、4mA和8mA端口驱动 8-mA驱动的斜率控制 开漏使能 数字输入使能u 功率 片内低压差(LDO)稳压器,具有可编程的输出电压,用户可调节的范围为2.25V到2.75V 休眠模块处理3.3V通电/断电序列,并控制内核的数字逻辑和模拟电路 控制器的低功耗模式:睡眠模式和深度睡眠模式 外设的低功耗模式:软件控制单个外设的关断 LDO带有检测不可调整电压和自动复位的功能,可由用户控制使能 3.3V电源掉电检测,可通过中断或复位来报告u 灵活的复位源 上电复位 复位管脚有效 掉电(BOR)检测器向系统发出电源下降的警报 软件复位 看门狗定时器复位 内部低压差(LDO)稳压器输出变为不可调整u 其他特性 6个复位源 可编程的时钟源控制 可对单个外设的时钟进行选通以节省功耗 遵循IEEE 1149.1-1990标准的测试访问端口(TAP)控制器 通过JTAG和串行线接口进行调试访问完整的JTAG边界扫描3.1.2 基于Luminary-ARM1138的周立功开发板简介EasyARM1138是专门针对广大电子信息专业在校大学生而设计的一款基于 ARM Cortex-M3 先进内核的高性能、低价格开发板,用于教学、毕业设计、电子竞赛,等等。也是广大单片机爱好者、开发工程师首选的 Cortex-M3 开发板。 EasyARM1138 的核心MCU是美国Luminary Micro公司的Stellaris (群星)系列ARM之LM3S1138。该芯片采用的是国际上最优秀的MCU内核设计公司ARM最新推出的先进Cortex-M3 处理器;由国内最大、技术最强的晶圆制造公司台积电(TSMC)代工;经世界上最专业的封装测试公司(OSE、i2a/IPAC)层层把关,确保产品的可靠性。Stellaris (群星)系列ARM芯片在电磁兼容性方面的优势明显。内嵌USB接口的下载仿真器 仅需插入一根 USB 电缆就能实现“三合一”功能: 5V 供电、程序下载与在线仿真、UART 串行通信 不再要求电脑具有串口或并口,无论台式机还是笔记本电脑, 只要拥有 USB 1.1 或 USB 2.0 接口就能运用自如, 除了能够下载仿真自身以外,保留的 JTAG 接口还可以, 用来仿真其它 LM3S 系列开发板,短接 JP2 短接器的, GND 和 U-RST,还可实现 JTAG 接口对内仿真功能, USB 接口提供虚拟 UART 的功能,不需要额外的接口电路。在软件上采用“C 语言驱动库”的新概念开发模式,由于 Luminary Micro 官方免费提供了基于 C 语言(符合ANSI C标准)的驱动库软件包,并且源代码是公开的,因此用户完全可以摒弃晦涩难懂的汇编语言,也不需要掌握底层寄存器的操作细节,只要懂 C 语言就能轻松玩转LM3S系列ARM。这也使得32位ARM的入门门槛大大降低。3.2 显示模块的设计3.2.1 TFT驱动芯片PD161704A简介PD161704A是单驱动TFT-LCD芯片,片上同时集成了Display RAM,它支持240*320点的18位色彩显示。PD161704A是典型的低功耗支持型产品,因为它的逻辑模块驱动电压只有2.3V,CPU/RGB总线驱动电压为3.4-5.5V。PD161704A支持3种总线形式:16-/18-位通用串行接口,i80/M68型8-/16-/18-位并型接口,以及6-/16-/18-位RGB接口,色彩度为262,144色每点,而且其片上自带时钟生成器,其总体结构框图如下:图3-2 PD161704A架构图3.2.2 PD161704A对外接口类型要想使用TFT,首先得详细了解驱动芯片,而对于驱动芯片,其中最应先了解该种芯片支持的总线类型,类型越丰富则使用起来越是灵活。而PD161704A支持3种总线,下面将详细介绍通用串行接口和并型接口这两种常用的总线接口类型。16-/18-位通用串行接口:如下图是Display RAM与18位串行总线上数据的关系: 图3-3 RAM与18位串行总线关系图如下图是Display RAM与16位串行总线上数据的关系:图3-4 RAM与16位串行总线关系图如下图是Display RAM与8位并行总线上数据的关系:图3-5 RAM与16位并行总线关系图下图是8位并口的传送时序图:图3-6 8位并口数据写入时序图3.2.3 片上校正曲线电路PD161704A片上包括校正曲线电路,可以通过寄存器设置来调节放大器。对完整的广播电视系统而言,要进行两次光一电的转换。一次是在摄像端,由摄像机把光像转变成电信号;另一次是在显像端,由电视机把电信号重新转换成光像。两次转换中,重要的转换器件使摄像器件和显像管。从整个系统的角度来看,显像管重现的图案,应该于被摄景物上各种亮度成比例,使两次转换的过程为线性,即重现的图像亮度B=K* BO(常数;BO景物亮度)否则图像就会出现亮度和色度的非线性失真。摄像器件的光电转换关系为:E0 =K1 * BO式中:E 0摄像器件输出电压;K1常数;BO景物亮度;转换非线性系数。对于CCD和氧化铅等摄像管,可近似认为,即摄像端的光电转换可以看作是线性的,即 E0 = K1 * BO而显像管的电光转换关系为:Bd = K2 * E2式中:Bd一显像管上的光像亮度;K2一系数;E一显像管栅极上的信号电压;2一显像管的转换非线性系数;一般2=2.2。显然,显像管的电一光转换是一种非线性性关系。这两种转换的特性如图3-55(a)、(b)所示:图3-7 特性图为了使整个系统的综合特性保持线性关系,就必须在图像传输过程中认为地加入一个特性与显像管端相反的非线性失真,以校正由2非线性造成的失真。设这一校正电路的传输特性为:E=K*EO要保正系统为线性特性,则一定要满足:*2*3=1可得出: =1/(*2)=1/2.2=0.45其特性如图3.6。我们把这种校正电路称为校正。校正可以在摄像机电路中进行,也可以在电视机电路中进行,由于电视机数量远远大于摄像机数量,从降低接收机成本考虑,校正同意安排在摄像机电路中实施。3.3 GPS模块的介绍GPS即全球定位系统。其目的是在全球范围内对地面和空中目标进行准确定位和监测。随着全球性空间定位信息应用的日益广泛,GPS提供的全时域、全天候、高精度定位服务将给空间技术、地球物理、大地测绘、遥感技术、交通调度、军事作战以及人们的日常生活带来巨大的变化和深远的影响。 目前的民用GPS设备包括测量型和导航型。其中测量型产品的精度可达到米级甚至毫米级,但至少需要两台(套)才能达到设计精度要求,而且其内部结构复杂,单机成本一般在几万到几十万,适合专业高精度测量环境使用;导航型产品,由于其使用者对精度要求不高,一般为几十米,因此机器内部硬件相对简单,只须一台就可以完成导航工作,加之其价格相对较低,因而更有普及和推广价值。 GPS系统一般由地面控制站、导航卫星和用户接收机三大部分组成。导航卫星至少24颗,均匀分布在6个极地轨道上,轨道的夹角为60度,距地平均高度为20200公里,每12恒星时绕地球一周。3.3.1 TU-30型GPS模块的原理框架简介本设计采用美国罗克韦尔公司的GPS产品-TU-30模块,其特点是体积小、接口简单、可靠性好。模块的组织结构是一个用于接收GPS信号的单片机小系统。GPS信号接收部分由Rockwell自行设计开发的芯片及其外围电路组成。其控制内核是一个DSP处理器,该处理器具有很强的数据运算处理能力,并有两个串口和时钟输出;外围电路有实时时钟,并带有E2PROM(保存重要参数)、SRAM、ROM等存储器,可对相关重要信息数据进行存储、交换;此外,还留有DGPS接口。该模块的卫星采集启动方式分为4种模式:热启动方式、初始启动方式、冷启动方式、冻结启动方式;而导航模式则有4维模式、2维模式和DG-PS模式4种。图所示是该模块的硬件结构。 TU-30型 GPS模块留有天线接口,可以用同轴电缆与天线进行连接,天线可延长30米。此外,它还留有20PIN应用接口,可方便地与单片机、PC机等设备进行接口。下图为模块原理框图:图3-8 TU-30框架图4 系统硬件设计4.1 系统的处理模块设计本系统直接采用周立功EasyARM1138开发板作为处理模块,该开发板外围电路设计简明,调试时无需任何连线和跳线,操作很方便,板子上资源如下:内嵌 USB 接口的下载仿真器 u 仅需插入一根 USB 电缆就能实现“三合一”功能: 5V 供电、程序下载与在线仿真、UART 串行通信。 u 不再要求电脑具有串口或并口,无论台式机还是笔记本电脑, 只要拥有 USB 1.1 或 USB 2.0 接口就能运用自如 。u 除了能够下载仿真自身以外,保留的 JTAG 接口还可以 用来仿真其它 LM3S 系列开发板,短接 JP2 短接器的 GND 和 U-RST,还可实现 JTAG 接口对内仿真功能。 u USB 接口提供虚拟 UART 的功能,不需要额外的接口电路u 只 LED 指示灯 u 只 KEY u 1 只交流蜂鸣器u 两排插针引出全部 GPIO 资源,以及 ADC07、5V/3.3V/GND u GPIO 插针间距正好为 2000mil(50.8mm),很容易插接在万用板 或其它自制的电路板上。注意到在被引出的所有GPIO中,只有GPIOA和GPIOF口是整8位的,但考虑到USART0会被用作调试程

温馨提示

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

评论

0/150

提交评论