基于arm的GPS导航定位系统设计.docx

上传人:b****5 文档编号:4102160 上传时间:2022-11-27 格式:DOCX 页数:37 大小:256.59KB
下载 相关 举报
基于arm的GPS导航定位系统设计.docx_第1页
第1页 / 共37页
基于arm的GPS导航定位系统设计.docx_第2页
第2页 / 共37页
基于arm的GPS导航定位系统设计.docx_第3页
第3页 / 共37页
基于arm的GPS导航定位系统设计.docx_第4页
第4页 / 共37页
基于arm的GPS导航定位系统设计.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

基于arm的GPS导航定位系统设计.docx

《基于arm的GPS导航定位系统设计.docx》由会员分享,可在线阅读,更多相关《基于arm的GPS导航定位系统设计.docx(37页珍藏版)》请在冰豆网上搜索。

基于arm的GPS导航定位系统设计.docx

基于arm的GPS导航定位系统设计

江苏科技大学

 

本科毕业设计(论文)

 

基于ARM的GPS导航定位系统设计

 

ARM-basedGPSnavigationsystemdesign

 

摘要

 

GPS(全球定位系统)是一种全方位的实时定位技术,随着GPS技术的发展,以ARM处理器作为主CPU的嵌入式硬件平台几乎已经成为信息产业的硬件标准。

一方面,它具有体积小、性能强、功耗低、可靠性高等特点;另一方面,它为高速、稳定地运行嵌入式操作系统提供了硬件基础。

本文以WindowsCE为嵌入式操作系统,对基于ARM的GPS定位系统的开发进行了研究与实现。

硬件平台设计以三星公司的ARM920T核的S3C2410为微处理器,对以下三个方面的技术进行了研究:

一是对GPS及嵌入式技术进行了介绍,介绍了GPS技术原理、特点、和定位方式;二是搭建基于ARM的硬件平台,对电源电路,存储电路等进行了设计;三是对GPS模块及通讯接口进行了设计。

关键字:

GPSARMWindowsCE操作系统

 

Abstract

 

GPS(GlobalPositioningSystem)isacomprehensivereal-timepositioningtechnology,withGPStechnologytoARMprocessorasthemainCPUoftheembeddedhardwareplatformhasalmostbecometheinformationindustryhardwarestandards.Ontheonehand,ithasasmall,strongperformance,lowpower,highreliabity:

ontheotherhand,itishighspeed,stableoperationandprovidesahardwarebasedembeddedoperatingsystem.Inthispaper,WindowsCEembeddedoperatingsystem,ARM-basedGPSpositioningsystemandimplementationofdevelopmentstudied.

PlatformdesignedtoSamsungS3C2410ARM920Tmicroprocessorcore,onthefollowingthreetechniqueswerestudied:

oneontheGPSandembeddedtechnologiesareintroduced,introducedtheprincipleofGPStechnology,features,andpositioningmeans;Second,ARM-basedhardwareplatformbuiltonthepowersupplycircuit,memorycircuitdesign,etc.;Third,GPSmoduleandthecommunicationinterfaceisdesigned.

Keywords:

GPSARMWindowsCEOperationSystem

 

第一章绪论

1.1嵌入式技术研究背景

随着计算机和通信技术的快速发展,嵌入式系统己经广泛渗透到人们的工作、生活中,从家用电器、手持通讯设备、信息终端、仪器仪表到汽车、军事装备、制造工业、过程控制等。

尤其是随着嵌入式系统与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位嵌入式微处理器市场的79.5%,全世界已使用了20多亿个核。

如今,ARM公司已经成为业界的龙头老大,“每个人口袋中都装着ARM”是毫不夸张的,因为几乎所有的手机、移动设备、PDA都是用基于ARM核的系统芯片开发的。

嵌入式操作系统是支持嵌入式系统工作的操作系统软件,一般用于比较复杂的嵌入式系统软件开发中。

嵌入式操作系统一般具有实时特点,是嵌入式系统的灵魂,它的出现大大提高了嵌入式系统开发的效率,减少了系统开发的总工作量,而且提高了嵌入式应用软件的可移植性。

目前常见的嵌入式操作系统有Linux,WindowsCE等。

其中WindowsCE.Net是微软推出的一款面向嵌入式应用的操作系统,它继承了Windows家族优秀的图形用户界面,是一款多任务、模块化、实时性能好、通信能力强大且支持多种CPU的操作系统。

WindowsCE.net是微软专门为信息设备、移动应用、消费类电子产品等领域设计开发的操作系统产品,己开始广泛应用于数码相机、智能手机、PDA、工业控制等嵌入式领域。

1.2GPS技术研究背景

自从1978年2月22日第一颗GPS试验卫星进入轨道以来,27年间GPS已经显示了它巨大的社会、军事作用与经济、社会效益。

GPS卫星发射的导航、定位信号,作为一种时空信息资源,可在全球范围内向无数用户提供位置、速度和时间信息。

GPS是一个全球性、全天候、全天时、高精度的导航定位和时间传递系统,空间部分由24颗卫星组成,主要是用于军用,现在己经渐渐转变为军民两用系统。

随着GPS向民用开放,它所蕴藏的巨大商机也被发掘出来。

GPS不仅用于导弹、飞船的导航定位,更是广泛用于飞机、汽车、船舶的导航定位,公安、银行、医疗、消防,林业、环保、资源调查、物理勘探、电信等都离不开导航定位,特别是随着卫星导航接收机的集成微型化,出现各种融通信、计算机、GPS于一体的个人信息终端,使卫星导航技术从专业应用走向大众应用,成为继通信、互联网之后的IT第二个新的增长点。

随着嵌入式系统的高度发展和GPS应用的逐渐广泛,尤其是我国北斗导航系统的使用,现在车载导航系统和手持导航设备的开发已经成为嵌入式系统发展的一个热门方面。

GPS主要功能有定位、测量及授时等,而动态(即瞬间)定位是GPS接收机、控制系统、软件系统及显示器等几部分。

目前,车载导航系统在美国、日本已经商品化,在我国也早已展开了很多的研究和设计。

中国是个GPS应用大国,车载导航监控系统的研制具有广泛的实用价值和市场前景,但是从系统的技术水平和产品的质量和成熟程度来说,我们还处在往上发展时期。

目前,城市建设发展速度越来越快,道路变得也越来越复杂,在这种情况下,随着汽车的日益普及,找到一种方式,使人们能够从容的面对错综复杂的交通网,己经迫在眉睫。

利用GPS进行车辆定位导航是个不错的选择。

因此,研究和开发基于嵌入式系统的GPS定位系统具有现实意义。

第二章GPS技术基本原理

2.1GPS基本原理

GPS的基本定位原理是:

卫星不问断地发送自身的星历参数和时间信息,用户接收到这些信息后,经过计算求出接收机的三维位置,三维方向以及运动速度和时间信息。

2.1.1卫星的位置

GPS卫星的位置信息包括在卫星发射的信号中。

卫星信号包括三种信号分量:

载波、测距码和数据码。

内容有:

(1)卫星星历及星钟校正参数;

(2)测距时间间距;

(3)大气附加延迟校正参数;

(4)与导航有关的信息;

一般的GPS接收机只能接收。

接收机根据特定的算法,能够从L1信号中提取出数据码D(t),即导航电文。

导航电文的具体内容包括遥测码,转换码,第一数据块,第二数据块,和第三数据块五部分。

遥测码(TLM)位于每个子帧的第一个子码,作为捕获导航电文的前导。

其中所含的同步信号为各子帧提供了一个同步起点,使用户便于解释电文数据。

转换码(HOW)是子帧的第二个子码,它的主要作用是帮助用户从以捕获的C/A码转换到P码的捕获。

第一数据快的主要内容是:

卫星时钟校正参量及其数据龄期,星期的周数编号和大气校正参数及卫星工作状态等。

第二数据块包括第二和第三子帧,它载有卫星的星历。

这是GPS定位中最常用的基本数据。

第三数据块由第四子帧和第五子帧构成,它的内容为系统内所有卫星的粗略星历、粗略时钟校正量、卫星识别及卫星工作正常与否的字符。

每颗卫星的数据需要占用一个子帧,该数据块的目的是使用户只要收到一颗卫星的信号就可以初略知道其他卫星的情况。

当GPS接收机接收到信号后,就可以根据这个编排格式提取出计算所需的数据。

2.1.2卫星与用户间的相对距离

GPS使用单向测距方法来测定某颗卫星与用户的相对距离。

它使用两台时钟,一台在用户接收设备上,一台在卫星上。

计算卫星与用户之间的距离,实质上是通过比较GPS接收机中恢复的卫星钟和用户本身的时钟之间的差,即测量卫星钟要传播到用户所花的时间即传播时延得以实现。

如果两者时间精确同步,即两时钟信号同频同相,那么,利用距离等于时间乘以光速的原理,得到卫星和用户间的真实距离R=C×△t。

但是卫星钟和用户钟却不能精确同步,当两者存在钟差△t时,这样测得的距离并不是用户和卫星问的真实距离,而是伪距(Pseudorange),简称PR,表示为PR=R+C△t,△t取值是有正负的,用户钟慢于卫星钟则取正,反之取负。

2.1.3卫星信号的解算

用户接收机在接收到卫星发出后的无线电信号后,如果它有与卫星钟准确同步的时钟,便能测量出信号到达的时间,从而算出信号的空间传播时间。

再用这个时间乘以信号在空间的传播速度,便能求出接收机与卫星的间距R,

R=

(2-1)

式(2—1)中R为观测量,(Xi,Yi,Zi)为卫星的坐标,(x,y,z)为接收机坐标。

其中卫星坐标为己知量,接收机坐标待求。

这样,理想情况下,如果测得观测点与三颗卫星的距离,便可确定三个未知数,即可完成定位。

实际上,一般接收机上的时钟不可能十分准确,因此由它测出的卫星信号在空间的传播时间是不准确的。

因而测出的距离也不准确,而是伪距。

设接收机在接收卫星信号的瞬间,接收机与卫星导航系统的钟差为定值△t,则上述公式就要改写成:

R=

(2-2)

式中,c为卫星信号

传播速度常数,其中的未知数比式(2-1)多了个△t,

这时,只要测出接收机距四颗卫星的伪距便得到4个这样的方程,如下:

R=

(2-3)

R=

R=

R=

以上四个方程联立便可以解出四个未知量x,y,z和△t,即求出了接收机的位置,并可将接收机的时间进行修正。

GPS卫星定位原理示意图如2-1所示:

图2-1GPS定位原理图

2.1.4GPS的定位方式

用GPS进行定位有许多定位方式,按照参考点的位置不同,定位方式可分为以下几种:

(1)静态定位和动态定位

如果在定位过程中,用户接收天线处于静止状态,或者明确的说,待定点在协议地球坐标系中的位置,被认为是固定不动的,那么这些待定点的位置的定位测量被称为静态定位。

由于待定点固定不动,因此可通过大量重复观测提高定位精度。

正因如此,静态定位在大地测量、地球动力学研究等方面获得广泛的应用。

相反,在定位过程中,用户接收天线处于运动状态:

这是待定点位置随时间变化。

确定这些待定点的位置,被称为动态定位。

(2)绝对定位和相对定位

绝对定位是以地球质心为参考点,测定接收天线(即待定点)在协议地球左边系中的绝对位置,又称为单点定位。

单点定位工作和数据处理都比较简单,其定位结果受卫星星历误差和信号传播误差影响显著,所以定位精度较低,适用于低收精度测量领域。

如果选择地面某个固定点为参考点,确定接机天线相位中心相对参考点的位置,称为相对定位。

由于相对定位至少适用两台以上的接收机,同步跟踪测量4颗以上的GPS卫星,因此所获得的观测量和误差都具有相关性。

采用适当的数学模型,即可消除或者削弱观测量所含的误差,使定位结果达到相当高的精度。

在我国,GPS在导航、授时校频和高精度测量三个领域应用的比较广泛,涵盖军事部门、交通部门、邮电部门、地矿、煤矿、石油、建筑以及农业、气象、土地管理、金融、公安等部门和行业。

在GPS应用领域中,车辆应用所占的比重在各项应用中最大,约占总数的50%左右。

但是目前市场上的GPS车载终端基本上仅具有定位跟踪及监控管理功能,而集定位、导航与多媒体信息的即时传输于一身的车载定位导航智能管理系统,由于受到许多综合因素的制约,特别是受到我国汽车工业发展现状、电子地图配套限制以及人均GDP水平的整体制约,还没有形成较大的市场。

就国际上的发展情况而言,GPS应用产品产业己经是当前国际上八大无线通信产业之一,也是目前世上发展的最快的三大信息产业之一,GPS与3G无线通信网络的结合已成为全球通信导航界的热点。

在国际市场上,汽车类GPS设备销售额雄居各类GPS市场之首。

据业内人士预计,未来几年,国际上对GPS导航系统的需求量,将以每年50%以上的速度递增。

到2006年为止,已有近50%的新车型和90%的豪华车型将具备部分互联网功能,这意味着这些车都已经应用了车载电脑系统,汽车定位及监控、甚至导航产品市场份额。

2.2GPS发展前景

就国际上的发展情况而言,GPS应用产品产业己经是当前国际上八大无线通信产业之一,也是目前世界上发展的最快的三大信息产业之一,GPS与3G无线通信网络的结合已成为全球通信导航界的热点。

在国际市场上,汽车类GPs设备销售额雄居各类GPS市场之首。

据业内人士预计,未来几年,国际上对GPS导航系统的需求量,将以每年50%以上的速度递增。

到2006年为止,已有近50%的新车型和90%的豪华车型将具备部分互联网功能,这意味着这些车都已经应用了车载电脑系统,汽车定位及监控、甚至导航产品市场份额达到百亿美元。

在GPS应用领域中,车辆应用所占的比重越来越大,而且随着市场的发展,当前GPS接收机向着小型化、智能化方向发展。

以前的GPS接收机由于受到处理器速度的限制,无论在体积上,在处理速度上都无法满足实时性较高的要求。

因此,采用嵌入式系统为框架,以高性能的处理器来处理定位信息,成为目前GPS定位系统的发展趋势。

 

第三章嵌入式系统设计

3.1嵌入式系统

嵌入式系统是以应用为中心,计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机。

系统嵌入式系统由包括嵌入式处理器、存储器、传感器和输入输出设备等一系列微电子芯片与器件构成的硬件部分,和嵌入在存储器中的嵌入式操作系统、控制应用软件部分组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。

与通用型计算机系统相比,嵌入式系统功耗低、可靠性高;功能强大、性能价格比高;实时性强,支持多任务:

占用空间小,效率高;面向特定应用,可根据需要灵活定制。

嵌入式系统的硬件和软件都必须高效率地设计,去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。

3.2WindowsCE嵌入式操作系统

MicrosoftWindowsCE是一个开放的、可裁减的、32位的实时嵌入式窗口操作系统,目前我们使用的版本是WindowsCE5.0。

它具有可靠性好、实时性高、内核体积小等特点,被广泛应用于工业控制、信息家电、移动通信、汽车电子、个人电子消费品等各个领域。

WindowsCE的设计目标

(1)模块化和小内存占用

WindowsCE被分为一些不同的模块,其中内核(Kernel)、图形窗口事件子系统(GWES)、文件系统和通信(Communication)模块是4个主要模块。

每个模块进一步被划分为更小的组件,每个组件代表模块的一种特征。

典型的WindowsCE设备只有8到32MB的ROM,而WindowsCE的最小内核只有500KB,最小内核不仅可以处理进程、线程、同步对象等操作系统对象,而且也可以读/写文件、注册表和系统数据库。

(2)强大的实时性能力

WindowsCE强大的中断和线程调度机制和内核操作系统服务保证它为一个硬实时操作系统。

根据测试,在一个主频为200MHz的参考系统中,WindowsCE的实时性最小可以达到40-60us。

(3)强大的开发工具支持

PlatformBuilder是WindowsCE操作系统的开发工具,它集成了一个完全的IDE接口,使平台设计者可以完全在IDE中快速创建、调试和部署windowsCE操作系统。

WindowsCE使用与windows95/98/NT/2000相同的WiIl32编程模型,是WiIl32API的一个子集。

开发人员可以方便的使用MicrosoftEmbeddedVisualC++以及VisualStudio.Net来开发基于WindowsCE的应用程序。

WindowsCE开发工具集成的模拟器允许开发人员不依赖于目标硬件在开发工作站上完成操作系统和应用程序的开发、调试和部署,大大加速了开发迸程。

3.3WindowsCE系统框架

WindowsCE为一种分层结构,从底层向上分别为硬件层、OEM层、操作系统层和应用层。

这种层次性的结构试图尽量将硬件和软件、操作系统和应用程序隔离开,以便于实现系统的移植,便于进行硬件、驱动程序、操作系统和应用程序等开发人员分工合作、并行开发。

(1)硬件层

硬件层是指由CPU、存储器、I,O端口、扩展板卡等组成的嵌入式硬件系统,是WindowsCE操作系统必不可少的载体。

(2)OEM层

OEM层主要由CSP代码和BSP代码组成,其中CSP支持不同的微处理器体系结构,而BSP支持不同的微处理器扩展和外设,它由BootLoader、OAL和驱动程序代码组成。

(3)操作系统层

操作系统层既要为下层OEM层提供接口和服务,也要为上层的应用程序提供服务于应用程序编程接口,操作系统层主要有以下模块:

核心、CoreDLL、对象存储模块、多媒体技术模块、图形窗口和时间系统模块、设备管理器模块、通信服务与网络模块、应用和服务开发模块

(4)应用层

应用层是在操作系统提供的Win32API的基础上,由Wn32API构建的应用程序组成。

一部分是由WindowsCE提供的应用程序,另一部分是用户根据自身设备需要定制开发的应用程序。

3.4嵌入式软件平台开发

3.4.1BootLoader开发

BootLoader是在操作系统内核运行之前运行的一段小程序,通过这段程序,可以初始化硬件设备、建立系统的内存空间映射图,从而将系统的软硬件环境带到一个已知的状态,以便为最终的调用操作系统内核准备好正确的环境,开发步骤如下:

(1)创建编译环境

PlatformBuilder集成开发环境提供了命令行编译壳用来编译Eboot源代码。

打开命令提示符窗口,首先设置_WINCEROOT环境变量:

set_WINCEROUT=

\>wince50;其中

\>为用户的WinCE安装目录,然后进入目录:

cd%_WINCEROOT%\public\common\oak\misc:

运行Wince.bat文件。

wince.bat为批处理命令,为特定的开发准备环境变量;

输入命令:

Sysgen;这个命令将创建BootLoader需要的静态库。

(2)实现Startup函数

Startup函数是BootLoader的入口代码,是CPU最先执行的代码也是最先编写的源代码,其主要完成CPU的初始化工作。

(3)实现Main函数

Main函数由BootLoader的Starup函数调用,而Main函数接着调用Blcommon库中的BootloaderMain函数。

在%_WINCEROOT%\Platform\smdk2410\Src\Bootloader\eboot下创建一个名为main.c的文件,并添加代码如下:

voidmain(void)

{

BootloaderMain();

SpinForever();

}

完成以上功能之后,BootLoader将跳转到主代码中执行,主代码包括对嵌入式开发平台的控制和下载WindowsCE内核文件等功能。

一般OEM启动代码都是用汇编编写,而主代码一般用C语言编写,它负责其它所有任务,在执行的同时还能够将执行的相关信息显示在屏幕上。

(4)配置文件编写

PlatformBuild集成环境下需要编写配置文件辅助开发Eboot,配置文件包括sources文件、makefile文件和.bib文件。

source文件和makefile文件用于控制BootLoader的编译操作,makefile文件驱动编译过程,而编译信息来自于source文件。

makefile文件包含一个通用的配置文件Makefile.def,在编译工具确定要编译的源文件的时候,它设置一个内部环境变量。

编译工具可以使用Makefile.def设置的环境变量来调用编译器、链接器和其他工具。

通过Malcefile.def文件中定义的规则,编译工具编译源文件中特定的源代码并且链接任何目标模块。

.bib文件可以定义操作系统镜像要加载的模块文件,细化物理存储的空间分配,详细描述了BootLoader所使用的内存布局。

3.4.2OAL开发

OAL是WindowsCE内核与目标硬件之间的一个代码层,主要来处理内核与目标硬件设备之间的通信。

下面结合S3C2410的BSP中的具体代码对OAL进行分析。

(1)Starup函数

BootLoader和OAL中均包含Startup函数。

它的功能大致相同,都是要初始化最小硬件环境,BootLoader是在为自己的执行准备硬件环境,0AL则是为kemel的执行准备硬件环境。

如果可以确定这一硬件部分BootLoader己经初始化过,则在OAL中不必重复。

(2)OEMInit函数

OEMInit函数由内核初始化函数调用,它的最小任务是设置在Startup中没有进行初始化的其余硬件并注册中断,并可以添加附加代码来初始化可选的函数指针和可选得变量来加强系统的功能。

OEMInit主要完成以下功能:

初始化中断、初始化总线信息、启动KITL、初始化电源管理、初始化可编程中断控制器、初始化时钟、初始化内存。

(3)内核输入/输出

内核的输入/输出函数指OEMloControl函数。

当设备驱动程序或应用程序调用KenelloControl函数并传递一个IOCTL时,WindowsCE内核会依次调用OEMIoControl函数,0EMIoControl函数允许设备驱动程

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1