基于ARM和μCOSII的嵌入式GIS系统的设计.docx
- 文档编号:11802316
- 上传时间:2023-04-02
- 格式:DOCX
- 页数:51
- 大小:837.91KB
基于ARM和μCOSII的嵌入式GIS系统的设计.docx
《基于ARM和μCOSII的嵌入式GIS系统的设计.docx》由会员分享,可在线阅读,更多相关《基于ARM和μCOSII的嵌入式GIS系统的设计.docx(51页珍藏版)》请在冰豆网上搜索。
基于ARM和μCOSII的嵌入式GIS系统的设计
摘要
进入20世纪90年代,嵌入式技术己成为通信和消费电子类产品的共同发展方向。
嵌入式地理信息系统(EmbeddedGIS)集成GIS功能的嵌入式系统产品,是一个软硬件混合系统,它是移动用户导航、定位、地图查询和空间数据管理的一种理想解决方案。
由于嵌入式系统的计算能力远远低于普通计算机,所以嵌入式GIS系统的设计无论在软件还是在硬件上面都和普通桌面GIS系统不同。
为了弥补嵌入式系统硬件计算能力上的不足,在软件设计时需要根据嵌入式GIS的特点,合理剪裁、优化计算,并且充分挖掘和利用现有硬件的资源。
本文首先全面分析了嵌入式地理信息系统的研究现状、技术背景、特点以及应用,然后提出了一个低成本的嵌入式GIS系统的硬件平台方案和软件平台方案,最后描述了了嵌入式GIS系统μE-GIS的总体设计和详细设计。
研究领域涉及嵌入式硬件方案设计、嵌入式软件方案设计、μC/OS-II操作系统、嵌入式GIS系统逻辑框架设计等内容。
关键字:
嵌入式地理信息系统、ARM、μC/OS-II、全球卫星定位系统、μE-GIS
Abstract
Fromthelate20thcentury,embeddedtechnologyhaspresentedthelatesttrendofcommunicationandconsumerelectronicsProducts.EmbeddedGeographyInformationSystem(EmbeddedGIS)isanintegrationofembeddedproductsandGIS,andacombinationofembeddedsoftwareandembeddedhardware.Itisanideallysolutionofnavigation,location,geographyinformationqueryandspatialdatamanagementformobileusers.
Duetothelowcomputingabilityofembeddedsystem,thedesignofhardwareandsoftwareforembeddedGISdiffersalotfromtheordinaryGISsystem.ThesoftwaremustbeprunedandoptimizedaccordingtothespecialityofembeddedGISsystem.Inaddition,thehardwareresourcesneedtobefullyutilized.
First,thisthesisanalysesthestausquo,technologybackground,characteristicsandapplicationofEmbeddedGeographicInformationSystem,backgroundanddifficultyitconfronts.Moreover,wedevisealow-costembeddedGISsystemsolutionincludinghardwareplatformdesignandsoftwareplatformdesign.Finally,itsetsupthewholelogicalframeworkanddetaileddesignforanembeddedGISsystemcalled“μE-GIS”.
Theresearchinthethesiscoverstheembeddedsystemhardwaredesign,embeddedsystemsoftwaredesign,μC/OS-IIoperatingsystem,logicarchetecturedesignforembeddedGISsoftwareetc.
Keywords:
EmbeddedGIS,ARM,μC/OS-II,GPS,μE-GIS
第1章
绪论
1.1研究背景
几个世纪以来,随着人们对人类自己赖以生存的地球的不断深入地认识,以及工农业、科学技术的发展,人们创造了各种各样的地图和专题图件来表达真实的世界,但是,这些图件都是用手工制作的。
直到六十年代,由于计算机技术的发展,人们开始了利用计算机制图的尝试和努力,在七十年代,计算机辅助地图绘制系统得到了充分的发展:
人们可以更快、更廉价地绘制高质量的地图,同时又可根据用户的特殊要求,绘制专题图件;这些图又可以根据实际地形、地貌、地物的变化,更新存在于计算机中的数据,来绘制新的图件,甚至可以绘制一些手工难以绘制的3-D立体图件。
在此过程中,人们尝试利用存储在计算机中的信息,通过人机对话的程序,进行综合分析对比,获得有价值的潜在信息,以求更好地认识自然界。
与此同时,计算机辅助设计和城乡规划、野外观测和摄影测量技术、栅格化(网格化)数据的空间变量数学研究技术、点与点之间数值内插技术、遥感技术,特别是数字化多波段卫星遥感图象和图象处理技术,在七十年代得到迅猛发展。
面对已积累的大量数字化信息,成熟的计算方法和计算机硬件的保证,人们的概念进一步得到延伸,期望建立能“包罗万象”的信息管理和处理系统,对人类周围大量而复杂的、与地理位置有关的空间数据进行储存和分析,并能快速及时地显示这些信息,地理信息系统(GeographicInformation System,简称GIS)就应运而生,而GIS的概念也很快为人们广泛接受。
综合来说,地理信息系统是一种采集、处理、传输、存储、管理、查询检索、分析、表达和应用地理信息的计算机系统,是分析、处理和挖掘海量地理数据的通用技术[1]。
它主要包括计算机硬件、软件、地理数据和用户等几个部分。
GIS技术在国防、城市规划、交通运输、环境监测和保护等与国民经济乃至国家命脉相关的重要领域的成功应用,极大地推动了社会生产力的发展,也使之成为世界各国激烈竞争的高科技热点之一[2]。
与地理信息系统发展历程类似,从20世纪70年代单片机的出现到今天各式各样的嵌入式微处理器、微控制器的大规模应用,嵌入式系统已经有了近30年的发展历史。
嵌入式系统(EmbeddedSystem)是近几年才风靡起来的,但是这个概念并非新近才出现,嵌入式系统是指用于执行独立功能的专用计算机系统。
它由包括微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件组成,共同实现诸如实时控制、见识、管理、移动计算、数据处理等各种自动化处理任务。
嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以满足系统对功能、成本、体积和功耗等要求。
嵌入式系统具有广阔的科技前沿和应用前景[3]。
嵌入式系统已经成为继个人电脑和互联网以后最为重要的发明,目前嵌入式系统己广泛应用于国民经济的各个行业,如通信设备、仪器仪表、汽车船舶、航空航天、军事装备、消费类产品等。
嵌入式计算机与家用电器及各种工业设备的结合使计算机像马达一样成为无处不在的部件[4]。
嵌入式应用技术的蓬勃发展,为微型嵌入式GIS的研究开发提供了良好的机遇。
把GIS与提供各种特定功能服务的嵌入式技术融合在一起,就形成了一个嵌入式的地理空间集成平台,即嵌入式GIS。
与传统GIS技术相比较,嵌入式GIS具有跨平台、开发好、易集成、易渗透和融合好等特点,而且价格低,为地理信息技术融入其它信息技术提供了良好的技术基础。
嵌入式GIS开发在测绘、智能交通、海事、国防、公安等领域都有无限广阔的应用前景,可广泛应用于军事、野外测绘、医疗、汽车导航等领域;个人汽车导航和PDA(或手机)定位服务的出现与发展更是将嵌入式地理信息技术深入到每个人的日常生活[5]。
经济学家们预测,嵌入式计算机产业将是21世纪信息产业新的经济增长点,芯片级嵌入式计算机数量将远远大于台式,嵌入式系统(包括微型嵌入式操作系统及其应用软件)正处在一个飞速发展和激烈竞争的时代,未来的几年里这种发展和竞争将达到白热化的程度。
同时,据统计,世界上至少75%的信息都与空间位置有关,在这样的大背景下,嵌入式地理信息系统这一交叉技术有着极其广阔的应用前景和高度的尖端性并且已经成为当前GIS与嵌入式行业发展的热点,该技术的深入研究大有可为。
同时随着嵌入式系统、GPS、微型RTOS、无线通讯和移动互联等各种技术的迅猛发展,给嵌人式GIS的发展提供了良好的契机和强劲的技术支撑,使得发展一个完整、实用、低成本的嵌入式GIS成为可能。
因此,本文通过对已有嵌入式平台软硬件技术的分析以及GIS技术在嵌入式平台上的实现的探讨,以实现一个在arm9平台上的嵌入式GIS系统为目的,旨在为该平台上的GIS开发提供提供一个灵活,高效和高性价比的解决方案。
1.2国内外研究现状
嵌入式地理信息应用是当前交叉科学技术发展的一个热点,可广泛应用于军事、测绘、医疗、汽车导航等领域。
据估计,未来十年在中国仅汽车导航领域,嵌入式地理信息系统的市场潜力就达数十亿元以上,可见嵌入式地理信息系统有着广阔的应用前景。
正因为如此,当前国内外研究机构和软件公司纷纷投入嵌入式GIS产品的研究和开发,并已有较为成功的开发成果[6]。
比如国外的有Autodesk公司提供的“移动访问”模块AutodeskOnSite,它是一个移动的企业级解决方案,包括软件、应用设计、开发服务、维护、培训和技术支持。
OnSite是专为移动应用开发的,它同GIS服务器之间可以传递矢量数据及其相关数据,用户可以在终端进行查询、拉伸、修改、标注地图等操作;对于终端的修改还可以同中心数据库保持同步。
另外比较知名的还有ESRI公司的ArcPad以及Intergraph公司的IntelliWhere等;而国内比较有名的也有北京超图的eSuperMap嵌入式地理信息系统开发平台、北京灵图软件技术有限公司推出的在移动信息设备上提供地理信息以及位置信息服务的SmartInHand软件产品等。
国外产品的在品牌方面的优势很明显,而国内公司的特点在于本土化和在技术支持方面的优势,所以国内外的嵌入式GIS软件相比较起来各有各的特点,总体来说各有所长。
1.3研究内容
本文的所有内容着重于一个自主设计开发的嵌入式GIS方案的设计与实现。
嵌入式GIS系统设计可以分为以下几个部分:
◆硬件平台选择:
包括选择芯片型号,电路板设计制作等。
◆嵌入式OS移植:
包括选择OS类型、OS移植等。
◆应用层软件设计:
包括应用软件架构、用户界面设计、地图文件结构设计等。
鉴于以上几点,本文的主要研究内容如下:
●全面分析嵌入式GIS系统的功能、特点和整体架构。
●系统的硬件平台的分析选择,嵌入式OS的移植。
●运行于嵌入式平台上的GIS应用系统的设计开发。
●用于嵌入式GIS的地图数据和数据结构的处理和设计。
●对当前的系统的思考和总结,以及优化意见。
1.4章节安排
本文主要分为6章。
第一章是绪论,主要介绍了嵌入式技术和GIS的发展背景,以及二者的交叉产物嵌入式GIS的技术背景、发展现状和研究嵌入式GIS的重要意义,同时对本文的文章组织和整体结构进行了介绍。
第二章是嵌入式GIS系统概述,本章着重于背景知识的说明,主要包括嵌入式自身的背景知识,嵌入式GIS技术以及GIS在嵌入式平台上实现需要掌握和解决的关键技术要点和难点。
第三章是嵌入式GIS的硬件平台,本章主要是介绍和描述嵌入式GIS的硬件平台及其特点,对嵌入式微处理器进行了深入了解,并着重介绍了ARM9处理器。
第四章是嵌入式GIS的软件平台,本章主要是介绍和描述嵌入式GIS的软件平台及其特点,比较了主流嵌入式OS的特点,详细介绍了μC/OS-II系统。
第五章是嵌入式GIS系统μE-GIS的设计,本章研究了嵌入式平台上软件开发的系统设计特点,提出了本系统的设计目标和原则,确定了各个功能模块和子系统的划分。
并对核心的模块进行了详细设计和描述。
第六章总结与展望,主要描述的是对嵌入式GIS系统研究的体会和总结,以及对嵌入式GIS未来发展方向的展望。
第2章
嵌入式GIS系统概述
在介绍嵌入式GIS系统设计之前,必须弄清楚什么是嵌入式系统,什么是嵌入式GIS,它和运行在PC机或者工作站上的GIS系统有什么区别,其对嵌入式技术的具体要求又是怎样的,嵌入GIS的开发实现的技术难点有哪些,研究嵌入式GIS有啥重要意义,其发展的趋势和方向将走向何方。
本章将分章节对这个问题进行层层剖析,对其特点和分类进行详细阐述。
2.1嵌入式技术背景
2.1.1嵌入式系统概念
嵌入式系统本身是一个相对模糊的概念。
由于目前嵌入式系统已经渗透到日常生活中的各个方面,在工业、服务业、消费电子等领域的应用范围不断扩大,使得难以给出“嵌入式系统”一个明确的定义。
那么到底什么是嵌入式系统,它是怎样发展起来的呢?
嵌入式系统实际上并不是一个新概念,从20世纪70年代单片机的出现到今天各式各样的嵌入式微处理器、微控制器的大规模使用,嵌入式系统已经有了近三十年的发展历史,它大致经历了4个发展阶段:
⏹第一阶段是以单芯片为核心的可编程控制器系统,同时具有检测、伺服、指示设备相配合的功能。
这一类型的系统大部分用于专业性极强的工业控制系统中,一般没有操作系统支持,通过汇编语言对系统进行直接控制。
这一阶段系统主要的特点是:
结构和功能相对单一、效率较低、存储容量较小、几乎没有用户接口。
由于这种嵌入式系统使用简单、价格便宜,所以往在工业领域中应用较为普遍。
但是,它们己经远远不能适应高效的、需要大容量存储介质的现代化工业控制和后PC时代新兴的信息家电等领域的要求。
⏹第二阶段是以嵌入式中央处理器(CPU)为基础,以简单操作系统为核心的嵌入式系统。
这一阶段系统的主要特点是:
CPU种类繁多、通用性较弱、系统开销小、操作系统只具有低度的兼容性和扩展性、应用软件较为专业、用户界面不够友好。
这种嵌入式系统的主要任务是用来控制系统负载,以及监控应用程序的运行。
⏹第三阶段是以嵌入式操作系统为标志的嵌入式系统。
这一阶段系统的主要特点是:
嵌入式操作系统能够运行于各种不同类型的处理器之上、操作系统内核精简、效率高、模块化程度高、具有文件和目录管理、支持多任务处理、支持网络操作、具有图形窗口和用户界面等功能、具有大量的应用程序接口、开发程序简单、并且嵌入式应用软件丰富。
然而,在通用性、兼容性和扩展性方面仍不理想。
⏹第四阶段是以基于网络操作为标志的嵌入式系统,这是一个止在迅速发展的阶段。
随着网络在人们生活中的地位日益重要,越来越多的应用需要采用支持网络功能的嵌入式系统,所以在嵌入式系统中使用网络操作系统将成为今后的发展趋势。
在这么多年的发展过程中,根据IEEE的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”(deviceusedtocontrol,monitor,orassisttheoperationofequipment、machinaryorplants)[7]。
这主要是从实际应用上加以定义的,从其中可以看出嵌入式系统实际上是硬件和软件的综合体,并还可以涵盖一些辅助装置。
不过,实际上上述定义不能够完全描述出嵌入式系统的精髓。
目前中国国内一个被普遍认同的定义是:
以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统[8]。
可以从以下几方面来理解上述定义:
◆嵌入式系统是面向用户、面向产品、面向应用的,它必须和具体应用相结合才具有生命力,才更具有优势。
可以这样理解上述三个方面的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专业型,必须结合实际系统需求进行合理的裁剪利用。
◆嵌入式技术是将先进的计算机技术、半导体技术和电子技术以及各个行业的具体应用相结合后的产物。
因此它是一个知识密集、资金密集、高度分散、不断创新的知识集成系统。
所以,介入嵌入式行业,必须有一个正确的定位。
例如PalmOS之所以在PDA领域占有70%以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;而VxWorks之所以在火星车上得以使用,则是因为其所具有的高实时型和可靠性。
◆嵌入式系统必须根据实际需求可对软硬件进行剪裁,满足应用系统的功能、可靠性、成本、体积等要求。
所以,如果能够建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。
目前的嵌入式系统的核心往往只是一个只有几KB到几十KB的微内核,需要根据实际应用进行功能扩展或者裁剪,但是由于微内核的存在,使得这种扩展能够非常顺利的进行。
同时,嵌入式系统本身还是一个外延极其广泛的名词。
凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫做嵌入式系统,而且有时很难给它下一个准确的定义。
现在人们讲嵌入式系统时候,通常指近些年来比较热的具有操作系统的嵌入式系统,本文也沿用这一观点。
2.1.2嵌入式系统的构成
嵌入式系统由硬件和软件两大部分构成[9]。
硬件部分包括嵌入式处理器、存储器、外围设备以及I/O端口、图形控制器等。
软件部分包括嵌入式操作系统软件(要求实时和多任务操作)和应用程序编程。
有时候设计人员把这两种软件合在一起,应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程和硬件的交互作用。
典型的嵌入式系统构成如下图所示:
图一典型的嵌入式系统构成图
硬件部分
属于嵌入式系统硬件部分的各种类型的嵌入式处理器是嵌入式系统的最核心部分。
现在几乎每个半导体厂商都生产嵌入式处理器,并且公司自主设计处理器也已经成了未来嵌入式领域的一大趋势。
嵌入式处理器可以分为嵌入式微控制器(MCU)、嵌入式DSP处理器(EDSP)、嵌入式微处理器(EMPU)和嵌入式片上系统(SystemOnChip)这几大类[10]。
而嵌入式存储器的物理实质是一组或者多组具备数据输入输出和数据存储功能的集成电路,用于充当设备缓存或者保存固定的程序以及数据。
按照存储功能其可以分为只读存储器ROM(ReadOnlyMemory)和随机存储器RAM(RandomAccessMemory)。
嵌入式系统中输入设备一般包括触摸屏、语音识别、按键、键盘和虚拟键盘。
输出设备主要有LCD显示和语音输出。
在嵌入式系统中,CPU与外部设备、存储器的连接和数据交换都要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。
存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也不相同,因此,习惯上说到接口只是指I/O接口。
软件部分
软件部分的基础是嵌入式操作系统,嵌入式操作系统是一种实时的、支持嵌入式系统应用的操作系统软件,它是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面。
标准化浏览器Browser等[11]。
嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。
目前,嵌入式操作系统的品种较多,据统计,仅用于信息电器的嵌入式操作系统就有40种左右,其中较为常见的系统主要有:
Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive。
除了WinCE的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以也可称为实时多任务操作系统(RealTimeMulti-taskingOperatingSystem,RTOS)。
与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
RTOS是嵌入式应用软件的基础和开发平台,用户的其他应用程序都建立在RTOS之上。
不仅如此,RTOS还是一个标准的内核,将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的API(系统调用),并且根据各个任务的优先级,合理的在不同任务之间分配优先级。
RTOS是针对不同处理器优化设计的高效率实时多任务内核,RTOS可以面对几十个系列的嵌入式处理器MPU、MCU、DSP、SOC等提供类同的API接口,这是RTOS基于设备独立的应用程序开发基础。
在RTOS基础上可以编写出各种硬件驱动程序、库函数、行业应用程序等,因此RTOS也是一个软件开发平台,嵌入式GIS软件实际上就是在RTOS上开发和运行的GIS软件。
2.2GIS技术背景
2.2.1GIS系统定义
GIS是计算机科学、地理学、测量学、地图学等多门学科综合的技术。
要给出GIS的准确定义是困难的,因为GIS涉及的面太广,站在不同的角度,给出的定义就不同.通常可以从4种不同的途径来定义GIS。
(1) 面向功能的定义:
GIS是采集、存储、检查、操作、分析和显示地理数据的系统。
(2) 面向应用的定义:
这种方式根据GIS应用领域的不同,将GIS分为各类应用系统,例如土地信息系统、城市信息系统、规划信息系统、空间决策支持系统等。
(3) 工具箱定义方式:
GIS是一组用来采集、存储、查询、变换和显示空间数据的工具的集合。
这种定义强调GIS提供的用于处理地理数据的工具。
(4) 基于数据库的定义:
GIS是这样一类数据库系统,它的数据有空间次序,并且提供一个对数据进行操作的操作集合,用来回答对数据库中空间实体的查询。
虽然GIS是一门多学科综合的边缘学科和交叉科学,但其核心是计算机科学,基本技术是数据库、地图可视化及空间分析。
因此,可以这样定义:
GIS是处理地理数据的输入、输出、管理、查询、分析和辅助决策的计算机系统[12]。
GIS本身的综合性和开放性为嵌入式GIS的开发提供了优越的基础条件。
2.2.2GIS系统的构成
同嵌入式系统一样,地理信息系统也由硬件环境和必须的软件环境构成。
硬件部分
地理信息系统的硬件环境主要由计算机及一些外设联接形成的,主要包括以下几个部分:
(1)计算机系统。
它是系统操作、管理、加工和分析数据的主要设备,包括优良的CPU、键盘、屏幕终端、鼠标等。
可以单机,也可以组成计算机网络(包括局域网和广域网)系统来应用,在嵌入式GIS中计算机系统就是嵌入式系统。
(2)数据输入设备。
它用于将各种需要的数据输入计算机,并将摸拟数据转换成数字数据。
其他一些专用设备,如数字化仪、扫描仪、解析测图仪、数字摄影测量仪器、数码相机、遥感图象处理系统、机助制图系统、GPS等,均可以通过数字接口与计算机系统相联接。
(3)数据存贮设备。
主要指存贮数据的存储器、磁盘等。
(4)数据输出设备。
它包括图形终端显示设备、绘图机、打印机、磁介质硬拷贝机、可擦写光盘,以及多媒体输出装置等。
它们将以图形、图象、文件、报表等不同形式显示数据的分析处理的结果。
(5)数据通讯传输设备。
如果GIS是处于高速信息公路的网络系统中,或处于某些局域网络系统中以及分布式计算环境中,还需要架设网络连线、网卡及其它网络专
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM COSII 嵌入式 GIS 系统 设计