




免费预览已结束,剩余37页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
辽宁科技大学本科生毕业设计(论文) 第IV页基于ARM的嵌入式GPS通讯摘 要由于全球定位系统在航天、航空、航海、海洋上程、大地测量、陆地导航以及军事上的大量运用及其广阔的应用前景,使得GPS定位导航系统成为国内外相关领域竞相研究的对象。本文提出了一套结构完整的基于ARM 处理器、开源嵌入式linux 系统和开放式地图数据来构建嵌入式GPS 地图定位导航系统的设计方案。基于GPS的卫星定位技术,可以将移动目标的动态位置(包括经度和纬度)、时间、状态等信息通过无线通信链路实时传送到监控中心,从而在电子地图上显示出移动终端运动的轨迹,并对终端的位置、速度、运动方向、报警信息等用户感兴趣的参数进行监控和查询。本文提出一种基于ARM的嵌入式自动定位系统,具有占用资源少、高性能、高可靠性及可配置的特点,并可以成功移植到多种硬件和操作系统平台上。在构建系统软硬件平台的基础上,通过研究GPS 地图定位导航关键理论和技术,包括定位数据协议分析,系统数字地图选择,坐标转换,矢量地图的可视化和漫游、缩放等操作,设计和开发上层GPS、地图软件模块,从而实现GPS 地图定位导航功能。关键词:全球定位系统;数字地图;定位导航;Linux;ARMBased on the ARM embedded GPS communications AbstractAs the global positioning system in the aerospace, aviation, marine, ocean processes, geodesy, land navigation, and extensive use of its military broad application prospects, making the GPS positioning and navigation system into the field of competing domestic and foreign object of study. This paper presents a structured ARM-based processors, open source embedded linux system and the open map data to build an embedded GPS positioning and navigation system map design. Based on GPS satellite positioning technology, the dynamic can be a moving target position (longitude and latitude), time, status and other information transmitted in real time via wireless communication link to the monitoring center, which is displayed on the electronic map of the trajectory of the mobile terminal movement, And the terminal position, velocity, direction of movement, alarm information of interest to users to monitor and query parameters. This paper presents an embedded ARM-based auto-positioning system, with a small footprint, high performance, high reliability and configurable features, and can be successfully ported to a variety of hardware and operating system platforms. Building the system hardware and software platform, based on the GPS map navigation by studying the critical theory and technology, including the positioning data protocol analysis, system digital map to select, coordinate conversion, vector map visualization and roaming, zooming and other operations, design and Development of the upper GPS, map software modules, enabling GPS map navigation function.KeyWords: Global positioning system; Digital map; Orientation navigation; Linux; ARM 目 录1 绪论11.1 选题背景11.2 系统开发的目的及意义11.3嵌入式系统的现状及发展状况21.4嵌入式系统概述与ARM微处理器31.4.1嵌入式系统的定义31.4.2 嵌入式系统分类31.4.3 嵌入式系统的特点41.4.3 ARM简介52 需求分析62.1 可行性分析62.1.1 技术可行性分析62.1.2 经济可行性分析62.1.3 使用可行性分析72.1.4 法律可行性分析72.2需求分析的任务和目的73 开发环境介绍93.1 嵌入式系统科研平台93.2 开发平台简介93.3 UP-TECHPXA270-S开发平台逻辑图104 概要设计114.1 GPS原理及定位说明114.1.1 GPS概述114.1.2 GPS接口134.2系统总体功能分析154.3系统硬件平台设计164.4系统软件平台设计175 详细设计与实现205.1NMEA0183协议格式分析205.2串口I/O 应用开发205.3GIS地图子系统设计215.3.1系统数字地图215.3.2地图数据的读取215.3.3地图数据对象模型设计225.3.4地图数据坐标转换处理225.3.5矢量地图的表示235.3.6地图的漫游和缩放245.3.7系统软件模块集成245.4GPS子系统实现256 测试346.1 测试目的346.2 软件测试的内容346.3 测试结果346.3.1 功能测试346.3.2 性能测试346.3.3 子模块的测试356.3.4 综合测试356.4 测试结果分析35结论36致谢37参考文献3838 辽宁科技大学本科生毕业设计(论文) 第38页1 绪论1.1 选题背景下面详细分绍一下GPS技术、嵌入式系统及ARM微处理器。应用的一部分,使用计算机对企业单位的各项信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。由于GPS技术所具有的全天候、高精度和自动测量的特点,作为先进的测量手段和新的生产力,已经融入了国民经济建设、国防建设和社会发展的各个应用领域。 随着冷战结束和全球经济的蓬勃发展,美国政府宣布2000年至2006期间,在保证美国国家安全不受威胁的前提下,取消SA政策,GPS民用信号精度在全球范围内得到改善,利用C/A码进行单点定位的精度由100米提高到20米,这将进一步推动GPS技术的应用,提高生产力、作业效率、科学水平以及人们的生活质量,刺激GPS市场的增长。据有关专家预测,在美国,单单是汽车GPS导航系统,2000年后的市场将达到30亿美元,而在我国,汽车导航的市场也将达到50亿元人民币。可见,GPS技术市场的应用前景非常可观。1.2 系统开发的目的及意义从美国的GPS全球卫星定位系统开始,这项以位置信息为聚焦点的技术逐渐进入了人们的视野,并受到了极大的重视,发展速度迅猛。定位技术不仅对国家安全、军事发展有着战略性的意义,而且通过与现有的商业应用服务相结合,为广大民众提供了一种基于位置信息的新型现代服务模式,带来了新鲜的用户体验,并逐步渗透到人们日常生活的方方面面,正在成为生活中不可缺少的一种服务。近十年来互联网的飞跃式发展,在引领了第三次信息产业革命的同时,也带来了其中诸多问题和隐患,其中的信息安全和网络安全问题就是一个明显例子。尤其是伴随着移动宽带接入技术的普及和发展,无线宽带网络安全隐患更是让政府相关监管部门和企业感到忧心忡忡。在这样的背景下,考虑无线宽带网络的自身特点和安全防护需求,定位技术与网络安全技术相结合所产生的基于位置信息的安全防护技术应运而生,而且必将有着广阔的发展空间和应用前景。嵌入式 GPS地图定位导航系统是综合运用 GPS定位技术、GIS地理信息技术和嵌入式系统等多种高新技术的应用系统,能够为用户提供随时随地的定位、导航和授时服务。近几年涌现出大量的 GPS定位导航设备以及解决方案,被广泛地应用到城市智能交通管理、现代物流调运、车辆监控等领域,极大地改善了人类的生产和生活,推动了信息化社会的发展。但目前嵌入式 GPS定位导航系统从系统平台、开发环境到地图数据、应用软件等几乎都处在一个商业化的封闭的环境下,造成了开发成本昂贵,安全性低,扩展性差,数据更新和交换困难,缺乏软件自主权等问题。因此本文通过研究嵌入式 GPS地图定位导航系统的相关理论、方法和技术,提出一套结构完整的基于 ARM/linux的嵌入式 GPS地图定位导航系统的设计方案及其实现。对设计和开发基于开放系统平台和数据标准的,安全、稳定、低成本的嵌入式 GPS地图定位导航。1.3嵌入式系统的现状及发展状况嵌入式系统无所不在,它几乎包括了我们周围的所有电器设备:掌上PDA、移动计算设备、电视机顶盒、上网手机、多媒体、汽车、微波炉等家庭自动化系统、电梯、安全系统、自动售货机、医疗系统、立体音响、蜂窝式电话、自动取款机等等。据统计,每年只有1020的计算机芯片是为台式或便携式电脑而设计的,这也意味着每年有1030亿CPU是为嵌入式系统设计制造的。越来越多的设备需要复杂的嵌入式操作系统,因此为了适应嵌入式设备的复杂性和多样性,缩短其开发周期,嵌入式系统应运而生。中国有世界上最大的家用电子产品消费市场,彩电、VCD、游戏机、学习机的拥有数量都居世界第一。随着消费结构的改变,人们对家电的灵活性和可控性提出了更高的要求:这些只能通过家电的数字化和网络化来实现;随着电话通信费用和通信类电子产品的价格进一步下调,PDA结合数字手机将成为今后个人数据通信和事务处理的最佳选择;同时,对于现代化的医疗、测控仪器和机电产品也需要有专用的嵌入式系统软件的支持。这些需求都极大地刺激了国内嵌入式系统的发展和产业化过程。1.4嵌入式系统概述与ARM微处理器1.4.1嵌入式系统的定义根据IEEE ( Institute of Electrical and Electronics Engineers)的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”,这主要是从应用上加以定义的。目前国内普遍认同的定义是:以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。1.4.2 嵌入式系统分类由于嵌入式系统本身是一个外延极广的名词,凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统,很难给它一个明确的定义。因此,目前通常把嵌入式系统概念的重点放在操作系统上,指能够运行操作系统的软硬件综合体。根据不同的分类标准嵌入式系统有不同的分类方法。依据系统是否必须作为独立单元工作或必须具有网络功能,是否必须执行实时操作的标准,可以将嵌入式系统大致分为如下类型。1、单机嵌入式系统单机嵌入式系统以单机方式工作,获取输入并产生输出。输入可以是来自传感器的电信号,或者是来自人的命令,比如按下按钮。输出可以是驱动另一个系统的电信号,或者是为用户显示信息的LCD(Liquid Crystal Display)显示。在制造厂和汽车厂里很多用于过程控制的嵌入式系统可以被划入此类。在过程控制系统中,输入来自传感器,传感器将温度等物理信号转换为电信号,电信号成为能够控制阀门等设备的输出。在一些单机系统中,执行某项特定任务的响应时间不是至关重要的。2、实时嵌入式系统有些嵌入式系统被要求在指定的时间内完成特定的任务。这样的系统被称为实时嵌入式系统。例如,例如当潮湿度超过特定阈值的时候,必须30毫秒内打开阀门的系统。如果该任务未能30毫秒内完成则可能产生严重的后果。这种必须严格符合实时约束条件的系统被称作“硬实时嵌入式系统”。还有很多系统有实时要求,但是对实时的要求不强,例如语音通信系统,语音包的延迟只会造成短暂的静默,不会有什么严重的后果,类似的这种系统被成为“软实时嵌入式系统”。3、网络设备有些嵌入式系统与一个网络相连接,该网络通常是基于TCP/IP(Transfer Controln Protocol/Internet Protocol)协议族的,比如Internet或者一个公司的企业内部互联网。这些系统能够监控某些参数(比如温度和压力)并将数据通过网络传送到中央系统实现在线监控。一个典型的例子就是对制造工厂的设备进行监控的系统。该系统通过 TCP/IP 网络将数据传送到中央管理系统,中央管理系统可以时运行Web浏览器的PC机。这些系统又被称为“Internet 信息设备”。4、移动设备随着能够支持极高速率的无线网络的出现,移动设备除语音服务外还能支持高速数据服务。这些设备需要运行功能强大的移动操作系统别从网站下载信息。现场人员可以使用像手提电脑和掌上电脑这样的设备完成数据采集,所输入的数据保留在本地存储器中,随后上传到公司的数据库中。这些设备都要求有功能强大的处理器和操作系统以及比较低的功耗。1.4.3 嵌入式系统的特点大体上看,嵌入式计算机系统与通用计算机系统相比有一下几个主要的不同点:1、嵌入式系统通常是面向特定系统应用的。嵌入式处理器大多数是专门为特定应用设计的,通常具有低功耗、体积小、集成度高等特点,一般是包含各种外围设备接口的系统。2、嵌入式系统涉及计算机技术、微电子技术、电子技术、通信和软件等各行各业。它是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。3、嵌入式系统的硬件和软件都必须具备高度可定制性。只有这样才能适应嵌入式系统的应用需要,在产品价格性能等方面具备竞争力。4、嵌入式系统的生命周期相当长。当嵌入式系统应用到产品以后,还可以进行软件升级,它的生命周期与产品的生命周期几乎一样长。5、嵌入式系统不具备本地系统开发能力,通常需要有一套专门的开发工具和环境。1.4.3 ARM简介ARM是一种基于RISC(精简指令集计算机)构建的通用的32位微处理器。RISC是一种设计思想,目标是设计出一套能在高时钟频率下单周期执行,简单而有效的指令集。重点在于降低由硬件执行的指令的复杂度,这是因为软件比硬件容易提供更大的灵活性和更高的智能。因此,RISC设计对编译器有更高的要求。相反,传统的复杂指令集的计算机则更侧重于硬件执行指令的功能性,使CISC指令变的更复杂。ARM公司是业界领先酌1632位嵌入式处理器技术提供商,其产品占领了约75的RISC处理器市场。ARM处理器核具有性能高、成本低和消耗小的特点,由于市场占有率高,应用广泛,ARM处理器的某些标准已经成为便携式通信设备、手持计算机、多媒体数字消费等嵌入式解决方案中事实上的标准。2 需求分析需求分析是对用户提出的软件功能、性能等应用问题及其环境进行分析与理解,采用一系列的分析方法和技术,把系统分析阶段产生的系统规格说明和项目规划逐步精确化、完全化、一致化,借助于当前系统的逻辑模型导出目标系统逻辑模型,最终形成需求规格说明文档的过程。2.1 可行性分析可行性分析不是去开发一个软件项目,也不是解决问题。而是分析这个软件项目是否值得去开发,其中的关键和技术难点是什么,问题能否得到解决,怎样达到目的等。可行性分析的主要内容包括技术可行性分析,经济可行性分析,是有可行性分析和法律可行性分析。2.1.1 技术可行性分析嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统是目前最流行的一种连接软件与硬件的系统,功能及其强大。随着信息技术的发展和数字化产品的普及,Interact得到广泛深入的应用;从消费电器到工业设备,从民用器材到军用器材,嵌入式系统设备应用到网络、手持通信设备、国防军事、消费电子和自动化控制等各种领域。嵌入式系统的广泛应用前景和发展潜力使其成为2l世纪的应用热点之一。嵌入式系统通常是面向特定应用的,然而,嵌入式系统本身不仅与一般PC上的应用系统不同,而且针对不同的具体环境而设计的嵌入式应用之间的差别也很大。由于嵌入式系统的专用性和多样性,在嵌入式系统上部署Linux系统一般都需要进行大量的繁琐的移植工作,因此,探索在特定嵌入式平台上构建定制嵌入式Linux系统的一般原理和方法,可以减少移植工作的盲目性,加快嵌入式Linux主要研究内容到目标平台的移植进度,加速产品进入市场的时间(Time to Market)。2.1.2 经济可行性分析嵌入式LINUX系统是早期就被大家熟悉的一种简单的操作系统,运用C/C+等基础语言。这无疑给本系统节省了一笔开销。软件系统开发中的费用主要包括:系统开发使用的软硬件费用、人员费用和系统运行时的软硬件费用等。由于GPS定位导航系统原有的硬件设施很完善,整体达到系统运行的要求并不需要很大的软硬件投入。因此,新系统使用后不需购置硬件,硬件的升级费用也非常低。 总之,系统开发所获得效益将远大于系统开发所需的费用,所以GPS定位导航系统的开发在经济可行性方面是可行的。2.1.3 使用可行性分析该系统界面设计清晰,操作简洁、方便,有完善的异常处理机制,首次使用本系统的用户可参照帮助文档使用本系统,使用方面可行。2.1.4 法律可行性分析本系统没有违反国家相关法律,法律方面可行。2.2需求分析的任务和目的GPS定位导航系统需求分析的范围主要包括军用和民用。民用就像汽车导航仪,手机导航等。军用譬如导弹制导等。嵌入式 GPS 地图定位导航系统是综合运用GPS 定位技术、GIS 地理信息技术和嵌入式系统等多种高新技术的应用系统,能够为用户提供随时随地的定位、导航和授时服务。近几年涌现出大量的GPS 定位导航设备以及解决方案,被广泛地应用到城市智能交通管理、现代物流调运、车辆监控等领域,极大地改善了人类的生产和生活,推动了信息化社会的发展。但目前嵌入式 GPS 定位导航系统从系统平台、开发环境到地图数据、应用软件等几乎都处在一个商业化的封闭的环境下,造成了开发成本昂贵,安全性低,扩展性差,数据更新和交换困难,缺乏软件自主权等问题。因此本文通过研究嵌入式 GPS 地图定位导航系统的相关理论、方法和技术,提出一套结构完整的基于ARM/linux 的嵌入式GPS 地图定位导航系统的设计方案及其实现。对设计和开发基于开放系统平台和数据标准的,安全、稳定、低成本的嵌入式GPS 地图定位导航系统作出有益的探索。随着3G时代的到来又为移动定位技术的发展开启了新的篇章。数据传输能力的提高,终端多媒体能力的普及以及终端芯片中内置GPS方案的出现,针对移动定位技术的限制越来越少。目前,全球范围内普遍使用的3G移动定位技术主要有4种,分别是基于网络的CELL-ID,TOA/TDOA定位技术,基于终端的OTDOA定位技术以及网络与终端混合的A-GPS定位技术。 移动定位技术的飞速发展和全球移动用户数量的迅猛增长,也为基于用户位置的移动定位业务(Location Based Service,LBS)提供了前所未有的发展机遇和极其诱人的市场前景。3 开发环境介绍3.1 嵌入式系统科研平台Intel公司推出的PXA270微处理器具备强劲的处理能力,独一无二的Wireless MMX技术和先进的SpeedStep动态电源管理技术,使得PXA270强劲的多媒体处理能力与独特的节电技术均处于业界领先地位。深圳市亿道电子技术有限公司推出基于Intel PXA270的Sophia Sandgate II评估板,提供丰富的软硬件资源。3.2 开发平台简介基于Intel XScale 架构的两款高端嵌入式系统教学科研平台UP-TECHPXA255、UP-TECHPXA270A 和UP-TECHPXA270-S。其中UP-TECHPXA255 采用Intel XScale 架构PXA255 嵌入式微处理器,UP-TECHPXA270A 和UP-TECHPXA270-S 基于Intel XSCALE 架构最新的PXA270 嵌入式微处理器。PXA270 最高主频可达624MHz,加入了Wireless MMX 技术,大大提升了多媒体处理能力;同时PXA270 还加入了Intel SpeedStep 动态电源管理技术,在保证CPU 性能的情况下,最大限度地降低移动设备功耗。PXA270可以广泛应用于PDA、智能手机、PMP 产品中。UP-TECHPXA270 系列教学科研平台主要是面向计算机、软件专业的高端平台,微处理器主频稳定运行在520MHz,采用1313mm VFBGA 封装,内部集成iwmmx 指令,加速处理器对多媒体数据的处理速度。可运行Linux 2.4.x 和Linux 2.6.x 内核,支持QT/E、miniGUI 等嵌入式图形界面,提供完整的驱动和应用程序。既适合作为计算机、软件等专业开设嵌入式软件课程的教学平台,又适合广大从事PMP、PDA、智能手机的厂商和科研单位作为参考设计平台。UP-TECHPXA270-S 教学科研平台由处理器核心板、主板及LCD 三部份组成。3.3 UP-TECHPXA270-S开发平台逻辑图 图3.1开发平台逻辑4 概要设计4.1 GPS原理及定位说明4.1.1 GPS概述GPS(Global Positioning System全球定位系统)是美国从本世纪70 年代开始研制,历时20 年,耗资200 亿美元,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。GPS 的主要优点包括:(1)全球,全天候工作:能为用户提供连续,实时的三维位置,三维速度和精密时间。不受天气的影响。(2)定位精度高:单机定位精度优于10 米,采用差分定位,精度可达厘米级和毫米级。(3)功能多,应用广:目前已广泛的应用于大地测量、工程测量、航空摄影测量、运载工具导航和管制、地壳运动监测、工程变形监测、资源勘察、地球动力学等学科领域。 GPS 由三个独立的部分组成: 空间部分:21 颗工作卫星,3 颗备用卫星。 地面支撑系统:1 个主控站,3 个注入站,5 个监测站。 用户设备部分:接收GPS 卫星发射信号,以获得必要的导航和定位信息,经数据处理,完成导航和定位工作。GPS 接收机硬件一般由主机、天线和电源组成。GPS 定位原理:GPS 定位的基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置。如图所示,假设t 时刻在地面待测点上安置GPS 接收机,可以测定GPS 信号到达接收机的时间t,再加上接收机所接收到的卫星星历等其它数据可以确定以下四个方程式:上述四个方程式中待测点坐标x、y、z 和Vto 为未知参数,其中di=cti (i=1、2、3、4)。di (i=1、2、3、4) 分别为卫星1、卫星2、卫星3、卫星4 到接收机之间的距离。ti (i=1、2、3、4) 分别为卫星1、卫星2、卫星3、卫星4 的信号到达接收机所经历的时间。 c 为GPS 信号的传播速度(即光速)。四个方程式中各个参数意义如下:x、y、z 为待测点坐标的空间直角坐标。xi 、yi 、zi (i=1、2、3、4) 分别为卫星1、卫星2、卫星3、卫星4 在t 时刻的空间直角坐标,可由卫星导航电文求得。Vt i (i=1、2、3、4) 分别为卫星1、卫星2、卫星3、卫星4 的卫星钟的钟差,由卫星星历提供。Vto 为接收机的钟差。由以上四个方程即可解算出待测点的坐标x、y、z 和接收机的钟差Vto 。目前GPS 系统提供的定位精度是优于10 米,而为得到更高的定位精度,通常采用差分GPS 技术:将一台GPS 接收机安置在基准站上进行观测。根据基准站已知精密坐标,计算出基准站到卫星的距离改正数,并由基准站实时将这一数据发送出去。用户接收机在进行GPS 观测的同时,也接收到基准站发出的改正数,并对其定位结果进行改正,从而提高定位精度。4.1.2 GPS接口在UP-NetARM3000 平台上所选配的GPS 模块是GPS15L/H。接口特性如下:RS-232 输出,可输入RS232 或者具有RS-232 极性的TTL 电平。可选的波特率为:300、600、1200、2400、4800、9600、19200。GPS15 与PC 串口的连接见示意图如下:图 4.1.2串口连接示意图串口输出协议:输出NEMA0183 格式的ASCII 码语句,输出:GPALM,GPGGA,GPGLL,GPGSA,GPGSV,GPRMC,GPVTG(NMEA 标准语句);PGRMB,PGRME,PGRMF,PGRMM,PGRMT,PGRMV(GARMIN 定义的语句)。还可将串口设置为输出包括GPS载波相位数据的二进制数据。输入:初始位置、时间、秒脉冲状态、差分模式、NMEA输出间隔等设置信息。在缺省的状态下,GPS 模块输出数据的波特率为4800,输出信息包括:GPRMC、GPGGA、GPGSA、GPGSV、PGRME 等,每秒钟定时输出,如下图所示。在具体的应用场合,有时会要求模块输出不同的波特率,或输出其他语句信息,因此,需要通过相应软件修改GPS 模块的缺省配置。在这里,我们使用模块自带的设置软件SNSRCFG.exe,见下图: 4.2系统总体功能分析本系统的功能框图如图所示:图 4.2 系统功能框图本系统主要实现的功能是通过 GPS 信号接收模块获取终端当前位置的GPS 卫星信号,交由GPS 数据处理模块处理,获得当前位置的准确定位信息(包括经纬度、高度、速度、方向和时间等);由GIS 地图处理模块负责读取保存在存储介质中的矢量数字地图,并进行坐标、投影等相关转换处理,最后将地图绘制到显示设备中;GPS 数据处理模块输出的定位信息可以在数字地图上直观地显示出当前位置,起到可视化定位导航的目的;用户同时可以在地图浏览模式下对地图进行平移和缩放等操作来查看地图。系统提供图形用户界面GUI,在屏幕上以图形化的方式显示地图和数据,提供给用户人机交互接口。4.3系统硬件平台设计本系统硬件平台方案中,采用基于 ARM920T 内核的S3C2410 作为系统的嵌入式处理器,其在高性能和低功耗特性方面提供了最佳的性能,它的处理能力能够满足GPS/GIS 数据处理等复杂应用的要求。且有很好的软硬件及操作系统支持,提供了全面的、通用的片上外设,大大降低了系统的成本。存储设备中,使用64MB 的SDRAM 作为内存储器,满足操作系统内核及应用程序运行的空间要求。使用64MB 的NAND FLASH 为外部存储器,负责保存启动代码、操作系统内核映像、根文件系统和其他系统文件。考虑到数字地图和其他资料等外部大容量文件存储的需要,提供SD 卡、USB 设备等扩展接口,USB Host 接口还可用于向FLASH 中读写数据。系统提供两个RS232 标准的串口,其中串口1 用于连接GPS 接收模块,获取GPS 定位数据,串口2 用于系统控制台调试功能。使用带触摸屏的TFT-LCD,显示定位和地图信息,提供图形界面方便用户控制。系统电源以12 V 电池为主要供电方式,同时提供交直转换接口、复位电路。此外还包括CS8900 10M 网卡扩展设备上网功能、用于系统调试的JTAG 接口及其他各类根据功能需求扩展的外部设备。本系统硬件平台组成如图所示:图 4.3系统硬件平台组成示意图4.4系统软件平台设计依据功能将系统软件平台层次分为硬件抽象层 HAL/BSP、嵌入式操作系统Kernel、设备驱动层、中间件层、应用平台层和应用层等。系统软件平台的体系结构组成如图 所示。图 4.4系统软件层次结构图BSP 负责系统的初始化和操作系统内核的启动。本文选择并移植经典的开源bootloader和驱动的方案,作为本系统的硬件抽象层,这种方案更灵活高效、功能更强。操作系统内核负责处理器管理、存储器管理和进程调度等,其系统调用为应用层提供操作硬件的接口和开发API。本文选择嵌入式Linux 操作系统,它遵循GPL 完全源代码公开,免费成本低,有大量的应用软件和优秀的开发工具支持,内核稳定而精悍,运行所需资源少,方便裁剪定制,支持广泛的硬件平台。目前基于Linux 的嵌入式GPS/GIS 的产品相对较少,因此是本文研究的一个重要意义。Linux 内核中有很大一部分代码是各种设备的驱动程序,它对大多数已有的各类硬件设备提供了广泛的驱动支持,并且更新很快。我们只需要开发或移植系统中特定型号设备如LCD、触摸屏、网口等的驱动程序即可,非常方便。中间件层主要有文件系统 filesysytem、图形用户接口GUI 等。文件系统对系统中包含的大量各种文件进行管理。GUI 负责GIS 地图显示和图形用户界面等涉及复杂图形图像处理的应用,选择Trolltech 公司研发的面向嵌入式系统的Qt 版本Qte,它是一个专门为小型设备提供图形用户界面的应用框架和窗口系统,也是完整的自包含的C+ GUI 和基于Linux的嵌入式平台开发工具,提供了丰富的可定制的窗口部件和的图形界面。应用平台采用建立在 Qt/E 之上的Qtopia,它是一个类似桌面系统的应用环境,为基于Linux 操作系统的智能终端提供了一个完整的图形环境。包括一系列常见的实用程序,以及核心的应用框架和插件系统。可以使用其提供的API 和工具开发上层的应用程序。用户应用程序层负责具体的业务逻辑,实现系统各项应用功能需求。在本系统中该层最主要的就是实现GPS 定位信息的接收和处理,以及GIS 数字地图两大核心业费信息功能,并提供图形用户界面。5 详细设计与实现5.1NMEA0183协议格式分析本系统选用 Compass Systems 公司生产的GM611 型GPS 信号卫星接收机,它具有标准的NMEA-0183 格式的定位数据输出。NMEA-0183 协议是目前GPS 接收机上使用最广泛的协议,大多数常见的GPS 接收机、GPS 数据处理软件、导航软件都遵守或兼容这个议。GPS 接收机根据NMEA-0183 协议的标准规范,以ASCII 码的形式将位置、速度等信息通过串口传送到外部设备。NMEA0183 协议定义的语句中最常用兼容性最广的有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL 等,它们定义了6 种数据帧类型,每种数据帧都包含了有关当前位置的详尽的定位信息,通过提取和解析相关数据帧,即可获取当前所在点的位置信息。所有NMEA 数据帧格式均以ASCII 码“$”开始,以回车换行符(即)结束,ASCII 码“$”后是一个5 字符的标志符,信息中的数据区是由ASCII 码的逗号来划分界限,ASCII 码“*”之后的为校验和。本系统实现定位导航功能只需获得所在位置的经度、纬度、速度、方向、时间等GPS定位数据,因此只需对GPRMC(推荐最小定位信息)数据帧进行提取和解析。如图 所示是GPRMC 数据帧的格式图 5.1 $GPRMC 帧的格式5.2串口I/O 应用开发本系统的 GPS 接收机通过RS-232 标准的接口与开发板的串口连接,进行输入/输出通信。因此要获取GPS 定位数据,就要在嵌入式linux 环境下开发GPS 应用程序,通过串口I/O 操作,与GPS 接收机进行数据交互。移植的嵌入式 Linux 2.6.16 内核源码中包含了完整的串口驱动程序,串口驱动程序通过ttyS 设备进行注册,其中串口1、串口2 对应的设备名依次为“/dev/ttyS0”、“/dev/ttyS1”。对串口的操作就跟普通文件一样。GPS 串口I/O 的应用开发流程包含以下几个步骤:首先调用open 函数打开串口;接下来设置串口属性为:波特率4800bps,数据位8 位,停止位1位,无校验位;然后调用read/write 函数读写串口;最后待所有操作结束后调用close 函数关闭串口。5.3GIS地图子系统设计GIS 地图子系统最主要的是实现数字地图的功能。该模块负责读取保存在存储介质中的数字地图,经过坐标相关的转换处理,最后将地图绘制到显示设备中。同时将GPS 定位模块输出的定位信息显示出来,并在地图上标注出当前位置,起到可视化定位导航的目的。5.3.1系统数字地图本文选择完全开放的交换地图数据格式 MIF(MapInfo Interchange Format)格式作为本系统的地图数据源。MIF 地图数据文件是以纯文本方式存储的,完全开放的明码形式的数据格式,开发者可以完全地了解和解析其中的任意字段内容,对程序开发和数据交换提供了极大的便利。MIF 格式地图数据的点、线、面要素可以存储在同一个文件中。除了各点坐标之外,还详细记录了点、线、面要素的形状和颜色等绘图特征,图形绘制效果较好。系统矢量地图数据是由 MIF 格式的文件和MID 格式的文件共同组成。其中,MIF 文件存储所有空间对象的图形数据,主要包括每个点对象的点位坐标、符号样式;每个线对象的节点个数、节点坐标、线样式;每个面对象的包含的子面个数、每个子面的节点数、节点坐标、填充模式等内容。而MID 文件则按记录顺序保存了每个空间对象的所有属性信息数据。这两个文件都是文本性质的文件,用户可以方便地通过相应的文件读写方法实现对文件内容的读写。5.3.2地图数据的读取在详细了解地图数据格式的基础上,可分别读取 MIF/MID 文件中的各字段信息,构造地图各图元对象。为了使地图图元要素的图形信息与属性信息相匹配,在读取MIF 文件中要素的图形数据时,要同时对同名的MID 文件中相应要素的属性数据进行读取。读取MIF文件中的点信息比较简单,只要按顺序读取各坐标和属性即可。而在读取线状和面状图元时,需要先判断有几个线段和面块区域,然后分别读取各线段和面块的各点坐标及其属性。5.3.3地图数据对象模型设计地图子系统需要建立一个层次清晰合理的地图对象体系结构,包含各类型地图图元的图形和属性信息,并提供绘制、数据转换、几何操作相关等方法。如图 所示为系统地图数据对象模型。其中MapLayer 类为地图图层(对应MIF 地图文件),负责管理图层中的所有图形要素。图层中包含各种类型的图元对象MapObject,图元又包含图形几何数据MapGeometry和属性数据MapAttr。几何数据可用于图元图形的绘制和几何操作,属性数据则用于图元的标注和查找。SpatialReferenceSys 定义的是相关的空间参考系统,投影和坐标系等,用于实现坐标转换和几何操作等。三种图元几何数据类型即基本的点、线、面类型,分别为MapPoint、MapPline、MapRegion,它们继承自MapGeometry 类。MapGeometry 定义了所有要素的公共属性和绘制接口,点、线、面各图元要素类则定义各自的特有属性,并实现自身的绘制方法。图5.2系统地图数据对象模型5.3.4地图数据坐标转换处理在系统数字地图中各图元的点坐标是经纬度坐标,而且由 GPS 接收机获取的定位坐标也是经纬度坐标。而地图在计算机上进行绘制和几何操作,并最终显示在屏幕上,使用的是平面直角坐标系。因此,要将地理空间中的各种实体的经纬度坐标转换为平面坐标。通过投影变换,可以将经纬度坐标转换为平面坐标。地图投影的方法很多,不同的投影方法具有不同性质和大小的投影变形。目前我国现行的大于及等于1:50 万比例尺的各种地形图都采用高斯-克吕格投影,即高斯投影6。高斯投影直角坐标公式为:式(1)中X、Y为平面直角坐标系的纵坐标与横坐标,、 为椭球面上地理坐标系的经纬度;s 为由赤道至纬度的子午线弧长;N 为纬度处的卯酉圈曲率半径(可据纬度由制图用表查取),其中,为地球的第二偏心率,a,b分别为地球椭圆体的长短轴。5.3.5矢量地图的表示 本系统的嵌入式 GUI 使用Qt/Embedded,它提供了强大的图形绘制功能,支持多种图形接口。Qt 的二维绘制引擎的基础是QPainter,它可以用于在屏幕上的窗口部件上或屏幕外的像素映射中绘制,可以绘制点、线、矩形、椭圆、多边形、弧等多种几何图形,以及像素、图像和文本,还可以设置pen、brush 和font 等绘制样式,可以很好的表现地图的各种图元对象。图层类 MapLayer 中保存一个地图文件中的所有图元要素,在类MapPoint、MapPline、MapRegion 中,使用QPointArry 类型的成员分别保存点、线、面等图元图形数据中的点坐标集合。将其转化为屏幕设备坐标后,可直接依据QPointArry,绘制本系统中主要的图元要素点、线、面、文本等,只要使用QPainter 的方法drawPoints()、drawLine()、drawPolygon()、draeText(),将各图形的坐标集合作为参数传递即可。考虑到面状要素会覆盖前面绘制的点状和线状要素,因此在绘制时首先绘制所有面状要素,然后是线状要素、点状要素和文本要素。绘制地图时往往数据量比较大,Qt 提供的双缓冲机制首先在屏幕外的像素映射QPixmap中绘制,当遇到重绘事件paintEvent 时,再在处理函数中使用bitBlt 方法把这个像素映射复制到它应该在的屏幕窗口中。使用这个方法可以在地图进行平移等几何操作时,不需要重复绘制已绘制的部分,提高了程序效率。5.3.6地图的漫游和缩放数字地图漫游和缩放的基本理论是图形的几何变换理论,将图形坐标经过二维变换矩阵作用后即可完成图形的平移和缩放操作,从而完成数字地图的漫游和缩放功能。5.3.7系统软件模块集成系统由如图 所示的各个功能模块组成:系统界面与管理模块、地图数据模块、地图算法模块、地图显示模块、GPS 接收模块等。图5.3系统软件模块组成系统界面与管理模块:实现系统主界面和操作菜单,通过调用其它模块实现地图浏览,定位导航等功能。地图数据模块:负责读取电子地图文件,保存地图数据。地图算法模块:包括程序中用到的各种算法,如各种坐标之间的转换实现。地图显示模块:地图显示是系统的核心模块。该模块将地图数据绘制到位图缓存来提高响应速度,在屏幕需要重绘时再把位图缓存中的图形显示到屏幕上。GPS 接收模块:负责定时读取GPS 接收机的数据,解析出地理经纬度坐标、时间、速度与方向等信息,提供给其他模块使用。系统程序主进程构造窗口部件后,进入 GIS 子系统进程,调用地图数据模块读取地图数据(经纬度坐标),接着由地图算法模块进行投影变换、窗口视图变换等操作,得到设备坐标,调用地图显示模块将地图数据绘制到系统屏幕上。图形显示后,可以通过图形的几何变换实现图形的缩放和平移。在系统程序主进程中创建GPS 通信子进程,调用GPS 接收模块。当GPS 接收机开始工作后,在主进程中侦听GPS 子进程的状态。使用QtE 的CopChannel类可以方便的实现进程间的通信。当GPS 模块中的数据可用时,将定位数据发送给主进程。在主进程中将定位点的经纬度坐标转换为平面坐标后,判断其是否在当前地图范围内,若在则在点所在坐标drawPoint,标示出位置。若不在,则对当前地图进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年贷款利率变动委托管理合同范本
- 2025版人工智能语音助手授权委托协议
- 2025年度高新技术项目居间对接服务协议
- 2025年度化工原料采购协议
- 2025年安防监控系统采购合同保密条款及保密协议
- 2025年企业出纳风险防控聘用服务协议
- 2025版汽车全车系事故车辆修复服务协议
- 2025年度融资租赁担保合同条款设计及法律适用研究
- 2025年智能穿戴设备采购协议书规范
- 2025范文大全:电力工程劳务合同范本
- 2023门球竞赛规则电子版图文并茂
- 树木清障专项施工方案
- 内部审计-内部审计准则完整版-中国内部审计准则体系
- 大班社会《班级规则我遵守》课件
- 能源概论__第一章能源概述PPT课件
- 《爱的教育》读书分享读书分享2
- 合伙经营教育培训机构合同经典版
- 体适能评定理论与方法实验指导
- 配网工程管理流程及注意事项
- PTB220串行数字气压计用户手册
- 政教处周工作历(2)
评论
0/150
提交评论