陈宝基于单片机的GPS定位系统设计Word文档格式.docx
《陈宝基于单片机的GPS定位系统设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《陈宝基于单片机的GPS定位系统设计Word文档格式.docx(45页珍藏版)》请在冰点文库上搜索。
sinformationage.Becauseofitsgoodperformance,highaccuracy,wideapplication,makingitbyfarthebestnavigationandpositioningsystem.
ThisthesisisdescribedindetailbasedonmicrocontrollerGPSreceivermodule,12,864LCDdisplaysandotherdevicesGPSreal-timedisplayfunctionimplementation.Fromhardwareandsoftwareimplementationgaveadetailedexpositionofthedesign,andcombinedwiththehardwarefeaturesoftheMCS-51seriesmicrocontrollerGPSreceivermoduletoachieveserialcommunication,thesystemdesignisbasedonthebasicprincipleoftheGPSmoduledataoutput.Itisacompact,portable,andcanbeusedindependently,all-weatherreal-timepositioningandnavigationequipment.
KEYWORD:
GPS;
microcontroller;
GPSreceivermodule;
12864LCD
第一章绪论
1.1课题背景及意义
1978年2月22日第一颗GPS试验卫星的入轨运行,开创了以导航卫星为动态已知点的无线电导航定位的新时代。
GPS卫星所发送的导航定位信号,是一种可供无数用户共享的空间信息资源。
陆地、海洋和空间的广大用户,只要持有一种能够接收、跟踪、变换和测量GPS信号的接收机,就可以全天时、全天候和全球性地测量运动载体的七维状态参数和三维状态参数。
其用途之广,影响之大,是任何其他无线电接收设备望尘莫及的。
不仅如此,GPS卫星的入轨运行,还为大地测量学、地球动力学、地球物理学、天体力学、载人航天学、全球海洋学和全球气象学提供了一种高精度、全天时、全天候的测量新技术。
纵观现状,GPS技术有下述用途。
1.GPS技术的陆地应用
GPS技术在陆地上的开发应用可以体现在许多方面,如:
各种车辆的行驶状态监控;
旅游者或旅游车的景点导游;
应急车辆(如公安、急救车等)的快速引导行驶;
高精度时间比对和频率控制;
大气物理观测;
地球物理资源勘探;
工程建设的施工放样测量;
大型建筑和煤气田的沉降检测;
板内运动状态和地壳形变测量;
陆地以及海洋大地测量基准的测定;
工程、区域、国家等各种类型大地测量控制网的测量和建设;
请求救援在途实时报告;
引导盲人行走;
平整路面的实时监控,精细农业。
2.GPS技术的海洋应用
GPS技术在海洋方面有着极其重要的作用,比如:
远洋船舶的最佳航线测定;
远洋船队在途中航行的实时调度和监测;
内河船只的实时调度和自主导航测量;
海洋救援的搜索和定点测量;
远洋渔船的结队航行和作业调度;
海洋油气平台的就位和复位测定;
海底沉船位置的精确探测;
海底管道铺设测量;
海岸地球物理勘探;
水文测量;
海底大地测量控制网的布测;
海底地形的精细测量;
船运货物失窃报警;
净化海洋(如海洋溢油的跟踪报告);
海洋纠纷或海损事故的定点测定;
浮筒抛设和暗礁爆破等海洋工程的精确定位;
港口交通管制;
海洋灾难检测。
3.GPS技术的航空应用
GPS技术在航空方面的应用主要体现在:
民航飞机的在途自主导航;
飞机精密着陆;
飞机空中加油控制;
飞机编队飞行的安全保护;
航空援救的搜索和定点测量;
机载地球物理勘探;
飞机探测灾区大小和标定测量;
摄影和遥感飞机的七维状态参数和三维姿态参数测量。
4.GPS技术的航天应用
GPS技术在航天方面同样也有着很重要的作用:
低轨道通讯卫星群的实时轨道测量;
卫星入轨和卫星回收的实时点位测量;
载入航天器的在轨防护探测;
星载GPS的遮掩天体大小和大气参数测量;
对地观测卫星的七维状态参数和三维姿态参数测量。
由此可见GPS技术已经延伸到各个领域的方方面面,但是要完成以上所述的各种用途,最基本的就是要具备能够接收GPS信号并且能够调制输出的设备,而设备最基本的功能就是能显示当时所处地点的经纬度以及UTC标准时间。
现在世面上已经有许多基于GPS接收模块所开发的产品,GPS手持机、车载GPS导航仪等等,虽然其功能强大,如车载GPS导航系统都带有大比例尺地图,但价格都比较昂贵,而且对于普通应用完全没有必要。
所以基于这种情况本次设计针对普通用户使用GPS的切实需要,设计并制作实现了基于单片机采集与显示GPS定位信息的低成本手持GPS设备。
第二章GPS定位信息显示系统方案设计
2.1GPS全球定位系统简介
球定位系统(GPS)是本世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统。
其主要目的是为陆、海、空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的,是美国独霸全球战略的重要组成。
经过20余年的研究实验,耗资300亿美元,到1994年3月,全球覆盖率高达98%的24颗GPS卫星星座己布设完成。
全球定位系统由三部分构成:
(1)地面控制部分,由主控站(负责管理、协调整个地面控制系统的工作)、地面天线(在主控站的控制下,向卫星注入寻电文)、监测站(数据自动收集中心)和通讯辅助系统(数据传输)组成;
(2)空间部分,由24颗卫星组成,分布在6个道平面上;
(3)用户装置部分,主要由GPS接收机和卫星天线组成。
其系统的结构框图如图2-1所示。
图2-1由三大部分构成的GPS卫星全球定位系统
1978年2月22日,第一颗GPS试验卫星的发射成功,标志着工程研制阶段的开始。
1989年2月14日,第一颗GPS工作卫星的发射成功,宣告GPS系统进入了生产作业阶段。
GPS系统经过16年来的发射试验卫星,到开发GPS信号应用,进而发射工作卫星,终于在1994年3月建成了信号覆盖律达到了98%的GPS工作星座它由9颗Block2卫星和15颗Block2A卫星组成。
1985年11月以前发射的11颗Block1GPS试验卫星已经完成了它们的历史使命,于1993年12月31日全部停止了工作。
图2-2BlockⅡ/ⅡR卫星
全球定位系统的主要特点:
(1)全天候;
(2)全球覆盖;
(3)三维定速定时高精度;
(4)快速省时高效率:
(5)应用广泛多功能。
24颗GPS卫星在离地面2万公里的高空上,以12小时的周期环绕地球运行,使得在任意时刻,在地面上的任意一点都可以同时观测到4颗以上的卫星。
图2-3GPS卫星工作星座图
由于卫星的位置精确可知,在GPS观测中,我们可得到卫星到接收机的距离,利用三维坐标中的距离公式,利用3颗卫星,就可以组成3个方程式,解出观测点的位置(X,Y,Z)。
考虑到卫星的时钟与接收机时钟之间的误差,实际上有4个未知数,X、Y、Z和钟差,因而需要引入第4颗卫星,形成4个方程式进行求解,从而得到观测点的经纬度和高程。
事实上,接收机往往可以锁住4颗以上的卫星,这时,接收机可按卫星的星座分布分成若干组,每组4颗,然后通过算法挑选出误差最小的一组用作定位,从而提高精度。
由于卫星运行轨道、卫星时钟存在误差,大气对流层、电离层对信号的影响,以及人为的SA保护政策,使得民用GPS的定位精度只有100米。
美国政府宣布2000年起,在保证美国国家安全不受威胁的前提下,取消SA政策,GPS民用信号精度在全球范围内得到改善,利用C/A码进行单点定位的精度由100米提高到20米。
为了达到更高的定位精度,往往还采用了差分GPS(DGPS)技术,建立基准站(差分台)进行GPS观测,利用已知的基准站精确坐标,与观测值进行比较,从而得出一修正数,并对外发布。
接收机收到该修正数后,与自身的观测值进行比较,消去大部分误差,得到一个比较准确的位置。
实验表明,利用差分GPS,定位精度可提高到5米。
2.2GPS信号接收方案选择
要实现在液晶显示器上显示出接收到的GPS数据信息,首先要实现GPS信号的接收。
在接收GPS信号方案上可以有两种选择。
第一种方案是选择GPS接收芯片然后再根据芯片设计标准,设计外围电路和安装天线等,选择这个方案的优点是可以掌握到GPS接收部分的电路设计技术,但是这个方案的缺点也是显而易见的,首先实现的难度较大不容易成功,其次由于GPS接收芯片一般都是厂商直接供货,单独采购价格会很高。
第二种方案是选择成品的GPS接收模块,采用这个方案的优点是由于现阶段GPS接收模块的制造技术已经相当成熟,性能稳定并且使用非常方便,定位成功后直接就可以通过模块的串口输出GPS地理信息。
当然其缺点就体现在,由于GPS接收模块已经由厂家完成了设计与封装,所以其核心技术我们就不得而知。
不过对于我们也并不影响其应用。
并且在经过大规模的商业化生产后价格已经很低,这些模块在市面上也能够非常容易的购买到。
从上面的分析可以知道,GPS接收模块就能够很好的作为本次设计接收GPS定位信号的解决方案,经过大规模工厂生产后价格已经很低,并且这些模块在市面上也能够非常容易的购买到,因此我选择第二种方案来完成本次设计。
2.3GPS接收模块的研究
GPS接收模块是接收机的关键部分,而且型号很多,功能各异,一般组成结构主要由低噪声下变频器、并行信号通道、CPU、储存器等组成。
GPS接收模块的工作原理是它接收天线获取的卫星信号,进过变频、放大、滤波、相关、混频等一系列处理,可以实现对天线视界内卫星的跟踪、锁定和测量。
在获取了卫星的位置信息和测算出卫星信号传播时间之后,即可计算出天线位置。
用户通过输入输出接口,采用异步异步串行通信方式与GPS接收模块进行信息交换。
图2-4GPS接收模块内部结构
2.4总体方案的设计
本次设计要求通过单片机控制GPS器件实现定位信息显示功能。
在这里使用常见的MCS-51型单片机作为处理器,利用MCS-51单片机的串行接口接收SiRFStarIIGPS信号接收模块输出的数据信号,并通过软件方法筛选出其中有用的定位数据,最后通过单片机的并行接口输出至液晶显示模块显示的方案。
该GPS定位信息显示系统硬件部分主要由以下几个部分组成:
(1)接收部分:
以SiRFStarIIGPS接收模块为核心的GPS接收机;
(2)控制电路:
由51单片机作为微处理器控制GPS信号;
(3)显示部分:
12864LCD液晶显示模块;
(4)电源电路部分:
用以提供系统工作时所必须的电。
单片机系统:
本次设计使用51单片机作为微处理器,控制GPS数据的读取和传输过程。
利用其串行接口接收SiRFStarIIGPS接收模块输出的NMEA-0183语句数据,并将接收到的数据经过筛选和处理后发送到12864液晶显示器显示。
外围电路:
外围电路一部分是由GPS接收器件及其辅助电路组成,一部分是LCD液晶显示模块的电源电路和显示电路。
SiRFStarIIGPS接收模块主要由变频器、信号通道、存储器、中央处理器和输入输出接口构成。
它接收天线获取的卫星信号,经过变频、放大、滤波、相关、混频等一系列处理,可以实现对天线视界内卫星的跟踪、锁定和测量定位。
单片机控制程序:
编写程序,实现单片机控制系统的初始化,控制GPS器件完成数据的采集,进行相应的信号处理,并通过单片机接口输出至液晶显示模块显示必要的数据。
由此可知:
GPS接收模块将接收到的GPS卫星导航电文调制解码,转换为标准格式后,送给单片机,当单片机接收到GPS发送过来的导航电文后,经过片内程序的识别筛选,将筛选出来的导航电文送到显示模块,并且最后通过液晶显示器按照要求显示出来。
第三章基于单片机的GPS硬件电路设计
3.1基于单片机的GPS硬件电路总体结构
根据总体设计方案,该基于单片机的GPS硬件电路设计主要由GPS信号接收部分(SiRFStarIIGPS信号接收模块)、控制芯片(STC89C52单片机)、显示部分(12864LCD液晶显示模块)这几部分构成。
其大体结构框图如图3.1所示。
图3.1基于单片机的GPS硬件总体结构框图
3.2基于单片机的GPS定位信息显示系统设计硬件电路简介
3.2.1STC89C52简介
STC89C52是一个低电压,高性能CMOS8位单片机,采用40引脚双列直插封装方式。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容[4]。
STC89C52引脚如图3.2所示:
图3.2STC89C52引脚图
其引脚说明如下:
(1)主电源引脚(2根):
VCC(Pin40):
电源输入,接+5V电源;
GND(Pin20):
接地线。
(2)外接晶振引脚(2根):
XTAL1(Pin19):
片内振荡电路的输入端;
XTAL2(Pin18):
片内振荡电路的输出端。
(3)控制引脚(4根):
RST(Pin9):
复位引脚,引脚上出现2个机器周期的高电平将使单片机复位;
ALE/PROG(Pin30):
地址锁存允许信号;
PSEN(Pin29):
外部存储器读选通信号;
EA/VPP(Pin31):
程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
(4)可编程输入/输出引脚(32根):
STC89C52单片机有4组8位的可编程I/O口,分别为P0、P1、P2、P3口,每个口有8根引脚,共32根。
P0口(Pin39~Pin32):
8位双向I/O口线,名称为P0.0~P0.7;
P1口(Pin1~Pin8):
8位准双向I/O口线,名称为P1.0~P1.7;
P2口(Pin21~Pin28):
8位准双向I/O口线,名称为P2.0~P2.7;
P3口(Pin10~Pin17):
8位准双向I/O口线,名称为P3.0~P3.7。
STC89C52主要功能如表3.1所示。
表3.1STC89C52主要功能
主要功能特性
兼容MCS51指令系统
8K可反复擦写FlashROM
32个双向I/O口
256x8bit内部RAM
3个16位可编程定时/计数器中断
时钟频率0-24MHz
2个串行中断
可编程UART串行通道
2个外部中断源
共6个中断源
2个读写中断口线
3级加密位
低功耗空闲和掉电模式
软件设置睡眠和唤醒功能
(1)时钟电路
STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。
时钟可以由内部方式产生或外部方式产生。
内部方式的时钟电路如图3.3(a)所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。
定时元件通常采用石英晶体和电容组成的并联谐振回路。
晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用[5]。
外部方式的时钟电路如图3.3(b)所示,RXD接地,TXD接外部振荡器。
对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。
片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。
(a)内部方式时钟电路(b)外部方式时钟电路
图3.3时钟电路
(2)复位
复位是单片机的初始化操作。
其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动[6]。
除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表3.2所示。
表3.2一些寄存器的复位状态
寄存器
复位状态
PC
0000H
TCON
00H
ACC
TL0
PSW
TH0
SP
07H
TL1
DPTR
TH1
P0-P3
FFH
SCON
IP
XX000000B
SBUF
不定
IE
0X000000B
PCON
0XXX0000B
TMOD
RST引脚是复位信号的输入端。
复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。
若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。
整个复位电路包括芯片内、外两部分。
外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号[7]。
3.2.2SiRFStarIIGPS信号接收模块
该设计中GPS信号接收模块所选用的是SiRFStarIIGPS接收模块,该模块是由美国瑟孚科技有限公司所生产。
主要使用到的引脚如图3.4所示。
该模块具有12通道并行接收能力,所接收的GPS信号属于民用频段的L1信号(1575.42MHz),在没有SA干扰的情况下平均定位误差为10米,动态速度误差为0.1米/秒,信号灵敏度达到-142dBm,冷启动定位时间为42秒,热启动时间为38秒,重新定位时间仅仅需要8秒。
图3.4SiRFStarII引脚图
GPS数据输出格式为标准的NMEA-0183标准,采集地理信息的更新速率为每两秒一次,地图坐标系为WGS-84坐标系[8]。
该模块天线采用的是体积小、可靠性高、灵敏度高的微带天线,该天线封装在模块内部,更进一步的提高了整个模块的可靠性。
该模块实物图如图3.5所示。
图3.5GPS接收模块
它的工作电压为2.7V-3.3V,工作电流仅为75mA,它由GSP2e数字IC、GRF2i射频IC和GSW2模块化软件组成。
GSP2e主要集成了一个增强型GPS内核、一个50MHz的ARM7CPU、独立的内部总线和外部总线、1MbEDODRAM、高精度实时时钟、GPS接收机外部设备和2个UART。
GRF2i主要由片内压控振荡器和基准振荡器、集成中频滤波器(IF)、集成LNA和数字接口等组成。
GSW2模块化软件很容易集成到现有系统中,并提供功能强大的开发环境。
SiRFStarII除增加了中央处理器和卫星信号追踪引擎,SiRFStarII在芯片组中集成了兆位存储器(DRAM),这个是其它同类产品的八倍。
这使其不仅可执行各项GPS功能,还能为用户应用提供额外存储。
将IF滤波器集成到射频芯片内而无需新增外部滤波器,从而进一步降低了元件的数目并增加了可靠性。
该芯片的主要特征如表3.3所示。
表3.3SiRFStarII主要特征
SiRFStarII特点
功能
用处
信号捕捉
从有遮挡地区走出时快速重捕卫星信号
在遮挡环境下提供更多的定位结果
信号跟踪
跟踪弱信号比正常信号信噪比低20dB
改善信号可利用性,在信号衰减严重的地方也可定位
单卫星定位
在短暂的仅能收到一颗卫星的情况下定位
在信号阻塞的地区也可定位,适于车载GPS
多级消除误差
减小GPS反射径带来的误差
使GPS定位准确度提高到5m
差分GPS
周期(大约30分钟)更新星历和修正时间
功率几乎变成了以前的20%,增加使用时间
功率分配
1s内有800ms的时间接收机不工作,仅仅有200ms的时间用于重捕、跟踪、定位
工作在不想频繁给出定位结果的情况下,节省功耗
3.2.312864液晶显示模块介绍
(1)液晶显示模块概述
12864B液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128