基于arm的GPS导航定位系统设计_第1页
基于arm的GPS导航定位系统设计_第2页
基于arm的GPS导航定位系统设计_第3页
基于arm的GPS导航定位系统设计_第4页
基于arm的GPS导航定位系统设计_第5页
已阅读5页,还剩43页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

江苏科技大学本科毕业设计(论文)I江苏科技大学本科毕业设计(论文)江苏科技大学本科毕业设计(论文)II基于ARM的GPS导航定位系统设计ARMBASEDGPSNAVIGATIONSYSTEMDESIGN摘要GPS全球定位系统是一种全方位的实时定位技术,随着GPS技术的发展,以ARM处理器作为主CPU的嵌入式硬件平台几乎已经成为信息产业的硬件标准。一方面,它具有体积小、性能强、功耗低、可靠性高等特点;另一方面,它为高速、稳定地运行嵌入式操作系统提供了硬件基础。本文以WINDOWSCE为嵌入式操作系统,对基于ARM的GPS定位系统的开发进行了研究与实现。硬件平台设计以三星公司的ARM920T核的S3C2410为微处理器,对以下三个方面的江苏科技大学本科毕业设计(论文)III技术进行了研究一是对GPS及嵌入式技术进行了介绍,介绍了GPS技术原理、特点、和定位方式;二是搭建基于ARM的硬件平台,对电源电路,存储电路等进行了设计;三是对GPS模块及通讯接口进行了设计。关键字GPSARMWINDOWSCE操作系统ABSTRACTGPSGLOBALPOSITIONINGSYSTEMISACOMPREHENSIVEREALTIMEPOSITIONINGTECHNOLOGY,WITHGPSTECHNOLOGYTOARMPROCESSORASTHEMAINCPUOFTHEEMBEDDEDHARDWAREPLATFORMHASALMOSTBECOMETHEINFORMATIONINDUSTRYHARDWARESTANDARDSONTHEONEHAND,ITHASASMALL,STRONGPERFORMANCE,LOWPOWER,HIGHRELIABITYONTHEOTHERHAND,ITISHIGHSPEED,STABLEOPERATIONANDPROVIDESAHARDWAREBASEDEMBEDDEDOPERATINGSYSTEMINTHISPAPER,WINDOWSCEEMBEDDEDOPERATINGSYSTEM,ARMBASEDGPSPOSITIONINGSYSTEMANDIMPLEMENTATIONOF江苏科技大学本科毕业设计(论文)IVDEVELOPMENTSTUDIEDPLATFORMDESIGNEDTOSAMSUNGS3C2410ARM920TMICROPROCESSORCORE,ONTHEFOLLOWINGTHREETECHNIQUESWERESTUDIEDONEONTHEGPSANDEMBEDDEDTECHNOLOGIESAREINTRODUCED,INTRODUCEDTHEPRINCIPLEOFGPSTECHNOLOGY,FEATURES,ANDPOSITIONINGMEANSSECOND,ARMBASEDHARDWAREPLATFORMBUILTONTHEPOWERSUPPLYCIRCUIT,MEMORYCIRCUITDESIGN,ETCTHIRD,GPSMODULEANDTHECOMMUNICATIONINTERFACEISDESIGNEDKEYWORDSGPSARMWINDOWSCEOPERATIONSYSTEM目录第一章绪论111嵌入式技术研究背景112GPS技术研究背景2第二章GPS技术基本原理321GPS基本原理3211卫星的位置3212卫星与用户间的相对距离4213卫星信号的解算4214GPS的定位方式5江苏科技大学本科毕业设计(论文)V22GPS发展前景6第三章嵌入式系统设计831嵌入式系统832WINDOWSCE嵌入式操作系统833WINDOWSCE系统框架934嵌入式软件平台开发10341BOOTLOADER开发10342OAL开发1135ARM技术介绍13351ARM处理器的体系结构13352ARM920T微处理器概述14第四章系统硬件及GPS模块设计1541总体硬件设计方案15411系统硬件的选择15412S3C2410处理器1542系统硬件电路设计16421电源电路18422串口电路18423FLASH电路19424SDRAM电路20425显示电路2143GPS模块电路设计22431GPS模块选择22432GPS模块与主机的串口通信23第五章系统软件设计2551NEMA0183协议2552GPS程序设计2553用户界面29总结30致谢31参考文献32附录33江苏科技大学本科毕业设计(论文)1第一章绪论11嵌入式技术研究背景随着计算机和通信技术的快速发展,嵌入式系统己经广泛渗透到人们的工作、生活中,从家用电器、手持通讯设备、信息终端、仪器仪表到汽车、军事装备、制造工业、过程控制等。尤其是随着嵌入式系统与INTERNET的日益结合,使得嵌入式应用项目越来越多样化,使嵌入式电子产品的功能也日益强大。嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,是嵌入式系统的核心。而ARM处理器具有高性能低功耗、低成本等显著优点,已成为高性能、低功耗嵌入式微处理器的代名词,是目前32位、64位嵌入式处理器中应用最为广泛的一个系列。而英国先进RISC机器公司这一生产模式最为成功的典范,既不生产芯片,也不销售芯片,而是设计出高效的P内核,授权给各半导体公司使用;半导体公司在ARM技术的基础上,根据自己公司的产品定位,添加自己的设计并推出芯片产品;最后由OEM客户采用这些芯片来构建基于ARM技术的最终应用系统产品。经过十多年的发展,ARM公司己是业界领先的IP供应商。ARM微处理器得到了众多半导体厂家和整机厂商的大力支持,全球己有十多家公司在采用ARM技术,20家最大的半导体厂商中有19家是ARM的用户,包括TI、PHILIPS和INTEL等公司。优良的性能和准确的市场定位极大地丰富了ARM资源,加速了基于ARM核的、面向各种应用系统芯片的开发应用,使得ARM获得了更广泛的应用,确立了ARM技术的市场领先地位。ARM在高性能嵌入式应用领域获得了巨大的成功,己在32位嵌入式应用中稳居世界第一。在2002年,基于ARM核的芯片占据了整个32、64位嵌入式微处理器市场的795,全世界已使用了20多亿个核。如今,ARM公司已经成为业界的龙头老大,“每个人口袋中都装着ARM”是毫不夸张的,因为几乎所有的手机、移动设备、PDA都是用基于ARM核的系统芯片开发的。嵌入式操作系统是支持嵌入式系统工作的操作系统软件,一般用于比较复杂的嵌入式系统软件开发中。嵌入式操作系统一般具有实时特点,是嵌入式系统的灵魂,它的出现大大提高了嵌入式系统开发的效率,减少了系统开发的总工作量,而且提高了嵌入式应用软件的可移植性。目前常见的嵌入式操作系统有LINUX,WINDOWSCE等。其中WINDOWSCENET是微软推出的一款面向嵌入式应用的操作系统,它继承了WINDOWS家族江苏科技大学本科毕业设计(论文)2优秀的图形用户界面,是一款多任务、模块化、实时性能好、通信能力强大且支持多种CPU的操作系统。WINDOWSCENET是微软专门为信息设备、移动应用、消费类电子产品等领域设计开发的操作系统产品,己开始广泛应用于数码相机、智能手机、PDA、工业控制等嵌入式领域。12GPS技术研究背景自从1978年2月22日第一颗GPS试验卫星进入轨道以来,27年间GPS已经显示了它巨大的社会、军事作用与经济、社会效益。GPS卫星发射的导航、定位信号,作为一种时空信息资源,可在全球范围内向无数用户提供位置、速度和时间信息。GPS是一个全球性、全天候、全天时、高精度的导航定位和时间传递系统,空间部分由24颗卫星组成,主要是用于军用,现在己经渐渐转变为军民两用系统。随着GPS向民用开放,它所蕴藏的巨大商机也被发掘出来。GPS不仅用于导弹、飞船的导航定位,更是广泛用于飞机、汽车、船舶的导航定位,公安、银行、医疗、消防,林业、环保、资源调查、物理勘探、电信等都离不开导航定位,特别是随着卫星导航接收机的集成微型化,出现各种融通信、计算机、GPS于一体的个人信息终端,使卫星导航技术从专业应用走向大众应用,成为继通信、互联网之后的IT第二个新的增长点。随着嵌入式系统的高度发展和GPS应用的逐渐广泛,尤其是我国北斗导航系统的使用,现在车载导航系统和手持导航设备的开发已经成为嵌入式系统发展的一个热门方面。GPS主要功能有定位、测量及授时等,而动态即瞬间定位是GPS接收机、控制系统、软件系统及显示器等几部分。目前,车载导航系统在美国、日本已经商品化,在我国也早已展开了很多的研究和设计。中国是个GPS应用大国,车载导航监控系统的研制具有广泛的实用价值和市场前景,但是从系统的技术水平和产品的质量和成熟程度来说,我们还处在往上发展时期。目前,城市建设发展速度越来越快,道路变得也越来越复杂,在这种情况下,随着汽车的日益普及,找到一种方式,使人们能够从容的面对错综复杂的交通网,己经迫在眉睫。利用GPS进行车辆定位导航是个不错的选择。因此,研究和开发基于嵌入式系统的GPS定位系统具有现实意义。江苏科技大学本科毕业设计(论文)3第二章GPS技术基本原理21GPS基本原理GPS的基本定位原理是卫星不问断地发送自身的星历参数和时间信息,用户接收到这些信息后,经过计算求出接收机的三维位置,三维方向以及运动速度和时间信息。211卫星的位置GPS卫星的位置信息包括在卫星发射的信号中。卫星信号包括三种信号分量载波、测距码和数据码。内容有1卫星星历及星钟校正参数;2测距时间间距;3大气附加延迟校正参数;4与导航有关的信息;一般的GPS接收机只能接收。接收机根据特定的算法,能够从L1信号中提取出数据码DT,即导航电文。导航电文的具体内容包括遥测码,转换码,第一数据块,第二数据块,和第三数据块五部分。遥测码TLM位于每个子帧的第一个子码,作为捕获导航电文的前导。其中所含的同步信号为各子帧提供了一个同步起点,使用户便于解释电文数据。转换码HOW是子帧的第二个子码,它的主要作用是帮助用户从以捕获的C/A码转换到P码的捕获。第一数据快的主要内容是卫星时钟校正参量及其数据龄期,星期的周数编号和大气校正参数及卫星工作状态等。第二数据块包括第二和第三子帧,它载有卫星的星历。这是GPS定位中最常用的基本数据。第三数据块由第四子帧和第五子帧构成,它的内容为系统内所有卫星的粗略星历、粗略时钟校正量、卫星识别及卫星工作正常与否的字符。每颗卫星的数据需要占用一个子帧,该数据块的目的是使用户只要收到一颗卫星的信号就可以初略知道其他卫星的情况。江苏科技大学本科毕业设计(论文)4当GPS接收机接收到信号后,就可以根据这个编排格式提取出计算所需的数据。212卫星与用户间的相对距离GPS使用单向测距方法来测定某颗卫星与用户的相对距离。它使用两台时钟,一台在用户接收设备上,一台在卫星上。计算卫星与用户之间的距离,实质上是通过比较GPS接收机中恢复的卫星钟和用户本身的时钟之间的差,即测量卫星钟要传播到用户所花的时间即传播时延得以实现。如果两者时间精确同步,即两时钟信号同频同相,那么,利用距离等于时间乘以光速的原理,得到卫星和用户间的真实距离RCT。但是卫星钟和用户钟却不能精确同步,当两者存在钟差T时,这样测得的距离并不是用户和卫星问的真实距离,而是伪距PSEUDORANGE,简称PR,表示为PRRCT,T取值是有正负的,用户钟慢于卫星钟则取正,反之取负。213卫星信号的解算用户接收机在接收到卫星发出后的无线电信号后,如果它有与卫星钟准确同步的时钟,便能测量出信号到达的时间,从而算出信号的空间传播时间。再用这个时间乘以信号在空间的传播速度,便能求出接收机与卫星的间距R,R21222ZZYYXXIII式21中R为观测量,XI,YI,ZI为卫星的坐标,X,Y,Z为接收机坐标。其中卫星坐标为己知量,接收机坐标待求。这样,理想情况下,如果测得观测点与三颗卫星的距离,便可确定三个未知数,即可完成定位。实际上,一般接收机上的时钟不可能十分准确,因此由它测出的卫星信号在空间的传播时间是不准确的。因而测出的距离也不准确,而是伪距。设接收机在接收卫星信号的瞬间,接收机与卫星导航系统的钟差为定值T,则上述公式就要改写成R22CTZZIYYIXXI222式中,C为卫星信号传播速度常数,其中的未知数比式21多了个T,这时,只要测出接收机距四颗卫星的伪距便得到4个这样的方程,如下R23CTZZYYXX212121R222江苏科技大学本科毕业设计(论文)5RCTZZYYXX232323R444以上四个方程联立便可以解出四个未知量X,Y,Z和T,即求出了接收机的位置,并可将接收机的时间进行修正。GPS卫星定位原理示意图如21所示图21GPS定位原理图214GPS的定位方式用GPS进行定位有许多定位方式,按照参考点的位置不同,定位方式可分为以下几种1静态定位和动态定位如果在定位过程中,用户接收天线处于静止状态,或者明确的说,待定点在协议地球坐标系中的位置,被认为是固定不动的,那么这些待定点的位置的定位测量被称为静态定位。由于待定点固定不动,因此可通过大量重复观测提高定位精度。正因如此,静态定位在大地测量、地球动力学研究等方面获得广泛的应用。相反,在定位过程中,用户接收天线处于运动状态这是待定点位置随时间变化。确定这些待定点的位置,被称为动态定位。2绝对定位和相对定位绝对定位是以地球质心为参考点,测定接收天线即待定点在协议地球左边系中的江苏科技大学本科毕业设计(论文)6绝对位置,又称为单点定位。单点定位工作和数据处理都比较简单,其定位结果受卫星星历误差和信号传播误差影响显著,所以定位精度较低,适用于低收精度测量领域。如果选择地面某个固定点为参考点,确定接机天线相位中心相对参考点的位置,称为相对定位。由于相对定位至少适用两台以上的接收机,同步跟踪测量4颗以上的GPS卫星,因此所获得的观测量和误差都具有相关性。采用适当的数学模型,即可消除或者削弱观测量所含的误差,使定位结果达到相当高的精度。在我国,GPS在导航、授时校频和高精度测量三个领域应用的比较广泛,涵盖军事部门、交通部门、邮电部门、地矿、煤矿、石油、建筑以及农业、气象、土地管理、金融、公安等部门和行业。在GPS应用领域中,车辆应用所占的比重在各项应用中最大,约占总数的50左右。但是目前市场上的GPS车载终端基本上仅具有定位跟踪及监控管理功能,而集定位、导航与多媒体信息的即时传输于一身的车载定位导航智能管理系统,由于受到许多综合因素的制约,特别是受到我国汽车工业发展现状、电子地图配套限制以及人均GDP水平的整体制约,还没有形成较大的市场。就国际上的发展情况而言,GPS应用产品产业己经是当前国际上八大无线通信产业之一,也是目前世上发展的最快的三大信息产业之一,GPS与3G无线通信网络的结合已成为全球通信导航界的热点。在国际市场上,汽车类GPS设备销售额雄居各类GPS市场之首。据业内人士预计,未来几年,国际上对GPS导航系统的需求量,将以每年50以上的速度递增。到2006年为止,已有近50的新车型和90的豪华车型将具备部分互联网功能,这意味着这些车都已经应用了车载电脑系统,汽车定位及监控、甚至导航产品市场份额。22GPS发展前景就国际上的发展情况而言,GPS应用产品产业己经是当前国际上八大无线通信产业之一,也是目前世界上发展的最快的三大信息产业之一,GPS与3G无线通信网络的结合已成为全球通信导航界的热点。在国际市场上,汽车类GPS设备销售额雄居各类GPS市场之首。据业内人士预计,未来几年,国际上对GPS导航系统的需求量,将以每年50以上的速度递增。到2006年为止,已有近50的新车型和90的豪华车型将具备部分互联网功能,这意味着这些车都已经应用了车载电脑系统,汽车定位及监控、甚至导航产品市场份额达到百亿美元。江苏科技大学本科毕业设计(论文)7在GPS应用领域中,车辆应用所占的比重越来越大,而且随着市场的发展,当前GPS接收机向着小型化、智能化方向发展。以前的GPS接收机由于受到处理器速度的限制,无论在体积上,在处理速度上都无法满足实时性较高的要求。因此,采用嵌入式系统为框架,以高性能的处理器来处理定位信息,成为目前GPS定位系统的发展趋势。江苏科技大学本科毕业设计(论文)8第三章嵌入式系统设计31嵌入式系统嵌入式系统是以应用为中心,计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机。系统嵌入式系统由包括嵌入式处理器、存储器、传感器和输入输出设备等一系列微电子芯片与器件构成的硬件部分,和嵌入在存储器中的嵌入式操作系统、控制应用软件部分组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。与通用型计算机系统相比,嵌入式系统功耗低、可靠性高;功能强大、性能价格比高;实时性强,支持多任务占用空间小,效率高;面向特定应用,可根据需要灵活定制。嵌入式系统的硬件和软件都必须高效率地设计,去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。32WINDOWSCE嵌入式操作系统MICROSOFTWINDOWSCE是一个开放的、可裁减的、32位的实时嵌入式窗口操作系统,目前我们使用的版本是WINDOWSCE50。它具有可靠性好、实时性高、内核体积小等特点,被广泛应用于工业控制、信息家电、移动通信、汽车电子、个人电子消费品等各个领域。WINDOWSCE的设计目标1模块化和小内存占用WINDOWSCE被分为一些不同的模块,其中内核KERNEL、图形窗口事件子系统GWES、文件系统和通信COMMUNICATION模块是4个主要模块。每个模块进一步被划分为更小的组件,每个组件代表模块的一种特征。典型的WINDOWSCE设备只有8到32MB的ROM,而WINDOWSCE的最小内核只有500KB,最小内核不仅可以处理进程、线程、同步对象等操作系统对象,而且也可以读写文件、注册表和系统数据库。2强大的实时性能力WINDOWSCE强大的中断和线程调度机制和内核操作系统服务保证它为一个硬实时操作系统。根据测试,在一个主频为200MHZ的参考系统中,WINDOWSCE的实时性最小可江苏科技大学本科毕业设计(论文)9以达到4060US。3强大的开发工具支持PLATFORMBUILDER是WINDOWSCE操作系统的开发工具,它集成了一个完全的IDE接口,使平台设计者可以完全在IDE中快速创建、调试和部署WINDOWSCE操作系统。WINDOWSCE使用与WINDOWS9598NT2000相同的WIIL32编程模型,是WIIL32API的一个子集。开发人员可以方便的使用MICROSOFTEMBEDDEDVISUALC以及VISUALSTUDIONET来开发基于WINDOWSCE的应用程序。WINDOWSCE开发工具集成的模拟器允许开发人员不依赖于目标硬件在开发工作站上完成操作系统和应用程序的开发、调试和部署,大大加速了开发迸程。33WINDOWSCE系统框架WINDOWSCE为一种分层结构,从底层向上分别为硬件层、OEM层、操作系统层和应用层。这种层次性的结构试图尽量将硬件和软件、操作系统和应用程序隔离开,以便于实现系统的移植,便于进行硬件、驱动程序、操作系统和应用程序等开发人员分工合作、并行开发。1硬件层硬件层是指由CPU、存储器、I,O端口、扩展板卡等组成的嵌入式硬件系统,是WINDOWSCE操作系统必不可少的载体。2OEM层OEM层主要由CSP代码和BSP代码组成,其中CSP支持不同的微处理器体系结构,而BSP支持不同的微处理器扩展和外设,它由BOOTLOADER、OAL和驱动程序代码组成。3操作系统层操作系统层既要为下层OEM层提供接口和服务,也要为上层的应用程序提供服务于应用程序编程接口,操作系统层主要有以下模块核心、COREDLL、对象存储模块、多媒体技术模块、图形窗口和时间系统模块、设备管理器模块、通信服务与网络模块、应用和服务开发模块4应用层应用层是在操作系统提供的WIN32API的基础上,由WN32API构建的应用程序组成。一部分是由WINDOWSCE提供的应用程序,另一部分是用户根据自身设备需要定制开发的应用程序。江苏科技大学本科毕业设计(论文)1034嵌入式软件平台开发341BOOTLOADER开发BOOTLOADER是在操作系统内核运行之前运行的一段小程序,通过这段程序,可以初始化硬件设备、建立系统的内存空间映射图,从而将系统的软硬件环境带到一个已知的状态,以便为最终的调用操作系统内核准备好正确的环境,开发步骤如下1创建编译环境PLATFORMBUILDER集成开发环境提供了命令行编译壳用来编译EBOOT源代码。打开命令提示符窗口,首先设置_WINCEROOT环境变量SET_WINCEROUTWINCE50;其中为用户的WINCE安装目录,然后进入目录CD_WINCEROOTPUBLICCOMMONOAKMISC运行WINCEBAT文件。WINCEBAT为批处理命令,为特定的开发准备环境变量;输入命令SYSGEN;这个命令将创建BOOTLOADER需要的静态库。2实现STARTUP函数STARTUP函数是BOOTLOADER的入口代码,是CPU最先执行的代码也是最先编写的源代码,其主要完成CPU的初始化工作。3实现MAIN函数MAIN函数由BOOTLOADER的STARUP函数调用,而MAIN函数接着调用BLCOMMON库中的BOOTLOADERMAIN函数。在_WINCEROOTPLATFORMSMDK2410SRCBOOTLOADEREBOOT下创建一个名为MAINC的文件,并添加代码如下VOIDMAINVOIDBOOTLOADERMAINSPINFOREVER完成以上功能之后,BOOTLOADER将跳转到主代码中执行,主代码包括对嵌入式开发平台的控制和下载WINDOWSCE内核文件等功能。一般OEM启动代码都是用汇编编写,江苏科技大学本科毕业设计(论文)11而主代码一般用C语言编写,它负责其它所有任务,在执行的同时还能够将执行的相关信息显示在屏幕上。4配置文件编写PLATFORMBUILD集成环境下需要编写配置文件辅助开发EBOOT,配置文件包括SOURCES文件、MAKEFILE文件和BIB文件。SOURCE文件和MAKEFILE文件用于控制BOOTLOADER的编译操作,MAKEFILE文件驱动编译过程,而编译信息来自于SOURCE文件。MAKEFILE文件包含一个通用的配置文件MAKEFILEDEF,在编译工具确定要编译的源文件的时候,它设置一个内部环境变量。编译工具可以使用MAKEFILEDEF设置的环境变量来调用编译器、链接器和其他工具。通过MALCEFILEDEF文件中定义的规则,编译工具编译源文件中特定的源代码并且链接任何目标模块。BIB文件可以定义操作系统镜像要加载的模块文件,细化物理存储的空间分配,详细描述了BOOTLOADER所使用的内存布局。342OAL开发OAL是WINDOWSCE内核与目标硬件之间的一个代码层,主要来处理内核与目标硬件设备之间的通信。下面结合S3C2410的BSP中的具体代码对OAL进行分析。1STARUP函数BOOTLOADER和OAL中均包含STARTUP函数。它的功能大致相同,都是要初始化最小硬件环境,BOOTLOADER是在为自己的执行准备硬件环境,0AL则是为KEMEL的执行准备硬件环境。如果可以确定这一硬件部分BOOTLOADER己经初始化过,则在OAL中不必重复。2OEMINIT函数OEMINIT函数由内核初始化函数调用,它的最小任务是设置在STARTUP中没有进行初始化的其余硬件并注册中断,并可以添加附加代码来初始化可选的函数指针和可选得变量来加强系统的功能。OEMINIT主要完成以下功能初始化中断、初始化总线信息、启动KITL、初始化电源管理、初始化可编程中断控制器、初始化时钟、初始化内存。3内核输入/输出内核的输入输出函数指OEMLOCONTROL函数。当设备驱动程序或应用程序调用KENELLOCONTROL函数并传递一个IOCTL时,WINDOWSCE内核会依次调用OEMIOCONTROL函数,0EMIOCONTROL函数允许设备驱动程序或应用程序与内核模式的OAL代码进行通信。江苏科技大学本科毕业设计(论文)124中断处理WINDOWSCE的中断实际上是由两部分ISR和IST组成的。其中IST包含在驱动程序中,而ISR包含在OAL层中。所以要想支持一个硬件发生中断的话,首先必须从OAL层为其作好准备,一般分两步完成一是创建中断标识符,二是创建并注册ISR。5调试串口WINDOWSCE设置了一个默认的串口作为调试信息的输出,用户通过调试命令打印调试信息的时候,WINCE系统就将此打印信息从默认的调试串口输出。注意WINDOWSCE下默认的调试串口与串口驱动不是一个概念,即便是默认的调试串口能用的话,也不能说明它的驱动己经做好了,只能说它能发送WINCE的调试数据343WINDOWSCE内核定制本课题是通过PLATFORMBUILDER50简称PB软件来定制WINCE操作系统的。在定制系统之前,首先应安装主板支持软件包(BSP),它是一个包括启动程序、OEM适配层程序(OAL)、标准开发板(SDB)和相关硬件设备的驱动程序的软件包。一般由开发板厂家提供,然后根据自己需要进行修改。用PB创建一个操作系统主要分成生成新平台、定制平台生成映像文件、下载平台3部分。1生成新平台启动PB,在FILE中选择NEWPLATFORM,根据向导依次选择BSP,选择平台的应用程序和媒体,选择平台的网络和通信,最后点击完成。这样一个新的平台就生成了。2定制平台生成映像文件同样是在PB环境中定制平台。将前面安装好的BSP中的驱动程序加到平台中,在本课题设计中,需要加入的驱动有MFC,STANDARDSDKFORWINDOWSCENET,FAT文件存储系统。在此过程中,可以将自己写好的驱动程序和应用程序,通过编写WINDOWSCECOMPONETCEC文件,生成新的BSP,加入到要定制的平台中去。完成定制之后,运行BUILD中的GENERATEPLATFORMHEADERS,通过后在运行BUILD中的BUILDPLATFORM,编译通过后运行MAKEIMAGE,生成映像文件。此文件名称为NKBIN,这就是我们最终需要的烧写文件。在此过程中,很重要一步就是生成SDK软件开发工具包。3下载平台江苏科技大学本科毕业设计(论文)13得到烧写文件NKBIN后,就要将它下载到我们的开发板中去。WINCE系统的烧写分为两部分文件烧写BOOTLOADER和NKBIN。35ARM技术介绍ARM既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM公司自1990年11月在英国剑桥成立以来,在32位RISCCPU开发领域不断取得突破。目前,ARM公司提供七个处理器核系列ARM7、AEM9、ARM9E、ARM10E、ARM11、SECURCORE以及CORTEX。ARM技术已遍及工业控制、消费类电子产品、通讯系统网络系统、无线系统等各类市场,并逐步渗入到我们生活的各个方面R。ARM公司一直以IP的身份向各大半导体制造出售只是产权,而自己不介入芯片的生产和销售,加上其设计的芯片具有低功耗、成本低、高性能、高效率等显著优点,因此获得众多半导体厂家和整机厂商的32位RISC嵌入式市场。世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,假如适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。351ARM处理器的体系结构1RISC体系结构RISC体系结构是针对传统的CISC固有的缺点提出来的。经过大量的研究和分析,发现在CISC的指令集中大概有20的指令被反复调用,使用量约占整个程序的80;而有80左右的指令则很少使用,其使用量约占整个程序的20。RISC体系结构并非简单地减少指令,而是使其更加简单合理,提高运算速度。RISC结构优先选取使用频率较高的简单指令,避免复杂指令将指令长度固定,指令格式和寻址方式种类减少;以逻辑控制为主,不用或少用微码控制;RISC指令集能使流水线处理器更有效地执行,还能使编译器使编译器生成更优化的代码。2ARM/THUMB双指令集ARM微处理器同时支持ARM指令集和THUMB指令集。ARM指令集32位的指令集,把一些常用的ARM指令压缩成16位操作码就得到了THUMB指令集。在执行时,16位指令透明的实时解压缩成为全32位ARM指令且没有性能损失。虽然THUMB指令是16位长度,但其操作寄存器中全部为32位值,而且数据访问和取指令使用的也是全32位地址。江苏科技大学本科毕业设计(论文)14THUMB指令集为ARM指令集的功能子集,可节省3040以上的存储空间,同时具备32位代码的所有优点。3寄存器结构ARM处理器共有37个处理器,被分为若干个组包括31个通用寄存器和6个状态寄存器,均为32位。352ARM920T微处理器概述ARM920T内核以ARM9TDMI为处理器核心,实现了MMU(内存管理单元、AMBA先进微控制器总线体系结构总线以及分开的16KB指令CACHE和16KB数据CACHE。1内存管理单元MMUARM920T处理器核的页面寻址方式基本上和ARM720T处理器核相同,支持64KB大页,4KB小页,1KB微小页等页面的变换和访问。由于ARM920T处理器采用了分离式的指令CACHE和数据CACHE,故也有相应的指令IMMU和数据DMMU。2CACHE结构ARM920T处理器核采用分离式CACHE结构,指令CACHE和数据CACHE都为16KB,采用分段CAMRAM的64路相联映像方式,每个CACHE分为8段,每段64行,每行8个字。CACHE的淘汰算法采用随机法和循环法。3写缓冲器ARM920T处理器核的写缓冲器可以缓冲4个地址和16个数据字。江苏科技大学本科毕业设计(论文)15第四章系统硬件及GPS模块设计41总体硬件设计方案整体电路框图如图41所示处理器S3C2410时钟电路电源SDRAMFLASHGPS模块LCD显示图41系统总体硬件图GPS导航定位系统的设计可分为S3C2410处理器和GPS模块电路,其中GPS模块将接收到的定位数据通过串口传送给处理器,完成GPS的导航定位功能。411系统硬件的选择在本硬件平台上采用的处理器是三星公司的S3C2410A,存储模块采用FLASH,和SDRAM提供系统所需的内存,其中FLASH采用的是K9F1208UDM,SDRAM采用的是三星公司的两片K4S561632CTC75芯片。电源采用33V和18V供电,系统处理器芯片采用18V供电,存储模块采用33V供电。显示模块采用的是PD064VT5,它是一种用非晶硅TFT作为开关器件的有源矩阵液晶显示器。412S3C2410处理器ARM处理器的选型需要综合考虑多方面的内容包括ARM处理器内核版本、CPU工作频率、片内存储器容量、片内外围电路、成本以及技术支持等。针对所设计的GPS定位系统、GPS信号采集和信息处理显示等任务,我们选用三星公司的S3C2410处理器。江苏科技大学本科毕业设计(论文)16S3C2410处理器是一款基于ARM920T内核的1632位RISC嵌入式微处理器,主要是面向手持设备以及高性价比、低功耗的应用。为降低系统成本,S3C2410处理器内部集成了SDRAM内存控制器、NANDFLASH控制器、LCD控制器、等多种接口。以下是S3C2410的一些基本特性1RISC体系结构,支持32位ARM指令集和16位的THUMB指令集;2五级整数流水线包括预取、译码、执行、访存和写入,指令执行效率更高;3全性能的MMU,支持虚拟存储系统,可以稳定运行WINCE以及LINUX操作系统;4内部高级控制总线(AMBA体系结构;5支持从NANDFLASH存储器启动,带有4KB内部启动引导缓冲区;6它带有55个中断源(看门狗定时器,5个定时器,9个UART,24个外部中断,4个DMA,2个RTC,2个ADC,1个I2C,2个SPI,2个USB,一个LCD和一个电池管理外部中断源的触发模式可为电平触发也可为边沿触发对紧急中断请求支持FIQ(快速中断请求)7LCD控制器支持TFT,支持“640480,320240,160160等多种屏幕尺寸;8三通道UART串口,可编程波特率,可基于DMA或中断方式工作,四通道PWM定时器,I/O口,8通道10位ADC和触摸屏接口,USB主设备,USB从设备等。9内核工作电压18V最高200MHZ,20V最高266MHZ,33V存储器工作电压33V外围I/O工作电压;42系统硬件电路设计在系统的框架图中,SDRAMK9F1208UDM和SDRAMK4S561632C都使用33V电源供电,FLASH模块的WE,ALE,CLE,CE,RE,RNB脚分别与S3C2410A的FLASH控制器相连,8个I/O口分别与系统数据总线DATA310相连。SDRAM模块的NSCS,NSRAS,NSCAS,NWE,LDQM,UDQM,SCKE,SCLK脚与S3C2410的存储控制器相连,A0A12,BA0,BA1分别与系统的数据总线的ADDR260相连。LCD模块的HSYNC,VSYNC,DENB,CLK及数据位经过电平转换J分别与LCD控制器相连,GPS模块引脚与MAX232相连后经过电平转换与系统的串口相连。如图42所示江苏科技大学本科毕业设计(论文)17图42系统硬件平台接线图江苏科技大学本科毕业设计(论文)18421电源电路电源电路是整个系统工作的基础,设计的好坏直接影响系统的稳定性。设计电源应考虑的因素有输出的电压、电流、功率;输入的电压、电流;安全因素;输出纹波电池兼容和电磁干扰;体积限制;功率限制等。为了简化系统电源电路的设计,要求整个系统的输入电压为高质量的5V直流稳压电源,输入电压经转换器可完成5V到33V和18V的电压转换,如图43,44所示D120RKOUTINGC3UFNAME7V5图4333V电源电路LJ4PB86图4418V电源电路422串口电路串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常江苏科技大学本科毕业设计(论文)19用的串口是RS232C接口,它是在1970年由美国电子工业协会(EIA)联合贝尔系统,调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。RS232C采用的标准接口是9芯或26芯的D型插头,常用9芯D型插头。要完成最基本的串行通信功能,实际上只需要RXD,TXD,和GND就可以,但由于RS232C标准所定义的高低电平逻辑与S3C2410A的异步串行接口不同,两者之间通信必须进行电平转换,因此采用的器件是MAX232CPE,如图45所示T1OURIN2X0CVUF354SMAPE678ONECTR图45电平转换原理图423FLASH电路FLASH是一种非易失,可在系统内用电擦写,掉电后信息不丢失的存储器。它具有低功耗、大容量、擦写速度快、可整片或分扇区在系统编程、擦除等特点,并且可由内部嵌入的算法完成对芯片的操作,在各种嵌入式系统中得到了广泛的应用。FLASH在系统中通常用于存放程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。江苏科技大学本科毕业设计(论文)20由于微控制器需要存储在非易失的存储介质中以确保掉电后程序也不丢失,目前用的比较多的是FLASH,FLASH又有NOR和NANDFLASHH两种,考虑到大容量的NORFLASH成本较高,S3C2410支持NANDFLASH启动方式,因此选择NANDFLASH用于存放程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。在此系统中我们使用K9F1208UDM作为NANDFLASH存储器。K9F1208UDM的存储容量为64MB,数据总线宽度为8位,工作电压为2736V,采用TSOP48封装;仅需要33V电压即可完成在系统的编程与擦除操作,S3C2410与NANDFLASH连接关系如图46所示I/O5DAT0231VS46LEWPNCRB7K9FUM图46FLASH存储电路424SDRAM电路SDRAM具有容量大、存取速度快、低成本的特点,因而广泛应用到微机处理系统中。SDRAM主要用来存放执行代码和变量,是系统启动之后主要进行存取操作的存储江苏科技大学本科毕业设计(论文)21器。由于SDRAM需要定时刷新以保住存储的数据,因而要求微处理器具有刷新控制逻辑。S3C2410及其他一些ARM芯片在片内具有独立的SDRAM刷新控制逻辑,可以方便的与SDRAM接口。目前常用的SDRAM为8位16位数据宽度。本设计中采用两片三星K4S561632CTC75芯片构建32位的SDRAM存储系统。每片K4S561632C的存储容量为32M,工作电压为33V。兼容LVTTL接口,16位数据宽度。K4S561632C和S3C2410的连线原理如图47所示DQ0AT123SRMK456C79NSCRAWEVLBU图47SDRAM存储电路425显示电路本LCD模块采用的是PD064VT5,它是一种液晶显示器。从CPU的LCD控制器出来的信号线包括24根数据线和若干控制线。对于256色LCD只需要其中低8位数据线即可。这些信号线是经过74HC245隔离后接到LCD模块的,8位LCD模块除了需要控制信号和数据信号外,还需要一个22V左右的工作电压和上千伏的背光电压。引脚DIR为输入输出端口转换用,DIR“1”高电平时信号由“A”端输入“B”端输出,DIR“0”低电平时信号由“B”端输入“A”端输出。“E”为使能端,若该引脚为“1”A/B端的信号不导通,为“0”时启用。VCC与GND分别接5V电源和地,这样信号就江苏科技大学本科毕业设计(论文)22从A传到B了。0LCD1234567VGNEIRHPTSYKFM图48LCD控制电路43GPS模块电路设计431GPS模块选择在本设计中选择的GPS接收模块为丽浪公司生产的R36,该模块使用串口与开发板进行通讯。由于该模块使用TTL电平,为了将GPS模块与板子的串口相连,需要设计江苏科技大学本科毕业设计(论文)23一个EIA与TTL电平的转换电路,同时还要设计一个为GPS模块供电的供电电路。本模块使用NEMA0183协议,本协议不仅适用于信息发送端,而且适用于接收端。它也适用于一个发送端,几个接收端都能够同时接收的回路。它使用的是异步的串行通讯,其串行通讯的参数如下波特率9600数据位8BIT停止位1奇偶校验位无本系统采用GPSR36模块,它已将天线集成在整个模块中,它采用SISRSTARCHIPSET芯片组。其定位精度小于10M,超高灵敏度达159DBM,冷/暖/热启动时间42/38/1秒。内建锂电池,方便快速定位,体积小巧,内建被动式天线。GPSR36在窗口里面弱信号环境下,卫星仰角只有7度,卫星信号只有14的信号强度都可以准确快速定位。432GPS模块与主机的串口通信在此设计中采用的是RS232C串口接口,它适合与数据传输速率在020000BIT/S范围内的通信,它的电器特性为在TXD和RXD上逻辑13V15V逻辑03V15V在控制线PTS,CTS,DSR,DTR,DCD上信号有效3V15V信号无效3V15V电平转换和GPS模块供电电路如图49所示江苏科技大学本科毕业设计(论文)24VCGNDT1OURI234567890BXPS块MAEUF图49GPS模块硬件图江苏科技大学本科毕业设计(论文)25第五章系统软件设计在本课题中使用C编写一个具有图形界面的GPS定位软件,使用MFC库,本程序的主要功能为通过串口接收GPS模块传来的信息,对信息进行处理,并在用户界面中显示实时的经纬度信息。51NEMA0183协议NEMA0183是美国国家海洋电子协会制定的一种基于ASCII字符的串行通信的数据协议,所有输入输出信息均为ASCII字符,它的每条语句以“”作为开始,以回车符()结束,中间包含了若干个域,每个域以逗号“,”作为分隔,一条NMEA0183语句有以下几个部分组成(1)起始符表示一条语句的开始(2)标识符域用来表示一条语句的全部数据域的特定格式,长度可变(3)数据域包含各种类型的数据,一条语句内数据域之间用逗号分隔,数据域可以为空,但数据域间分隔用的逗号不可省略(4)校验和紧跟在数据域后面,长度为两个字节,用星号“”与数据域分开(5)结束符表示一条语句的结束本设计中需要提取的是GPRMC格式的定位信息,其格式如下GPRMC,UTC时间HHMMSSDD格式状态A定位,V导航纬度DDMMMMM纬度方向;N或S经度DDDMMMMMM格式经度方向E或W对地航速(单位里/小时对地航向(二维方向指向,单位度当前UTC日期(定位点)DDMMYY格式磁偏角(单位度)52GPS程序设计GPS模块上电之后就会源源不断地通过串口发送各种格式的地理信息,为了从GPS模块上接收到信息,需要对串口进行编程,以控制串口的行为,GPS串口程序分为以下江苏科技大学本科毕业设计(论文)26几个部分1串口设置对话框。2串口控制程序,控制串口的参数设置、打开、接收等。3对GPS传来的信息进行分析处理,从一系列的GPS信息中提取RMC格式的信息,并进行分析处理,提取经纬度信息。4定位功能的实现,以数字的信息格式在用户界面上显示地理信息。(1)GPS数据提取流程图如51所示江苏科技大学本科毕业设计(论文)27开始初始化串口是否打开设置串口参数提取GPS数据信息判断是否RMC语句读取定位信息显示输入缓冲区是否为空结束NYYYNNFALSE图51GPS数据提取江苏科技大学本科毕业设计(论文)28(2)提取纬度信息,并判断南北纬以下是纬度的提取流程图,经度的提取流程图也是如此。开始提取RMC语句找出小数点位置保存“度”的消息到M_STRLATITUDE保存小数点之前的“分”的信息和“度”相加保存小数点之后的“分”的信息和M_STRLATITUDE相加判断南北纬保存提取到语句句YU结束YN52纬度提取江苏科技大学本科毕业设计(论文)2953用户界面设计要处理从GPS模块接收到的信息,在用户界面上显示当前的坐标,将GPS模块发送过来的ASCII码进行提取和处理,在用户界面上显示当前的坐标、时间,在用户界面上绘图,画出用户的行进路线折线图。其中,将用户在目的对话框中设置的目的地坐标X0,Y0和用户界面中心点坐标相对应起来,并以用户界面中心为原点绘制X轴和Y轴。纬度在界面上对应横坐标,经度对应纵坐标。为了显示的方便,将东、北两个方位分别对应X、Y轴的正半轴,反之,西、南方位分别对应X,Y轴的负半轴。图55用户界面布局示意图江苏科技大学本科毕业设计(论文)30总结本文主要完成了对ARM及WINDOWSCE嵌入式系统的GPS设计,其中有基于ARM平台的外围硬件电路设计,GPS模块及接口的编程,WINDOWSCE操作系统的移植,包括以下几点1硬件是采用SUMSUNG公司的S3C2410芯片,工作频率200MHZ,最高为266MHZ,上面配置各种串口及USB接口。2使

温馨提示

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

评论

0/150

提交评论