ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:716KB ,
资源ID:7324085      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7324085.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(关于单片机的GPS定位系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

关于单片机的GPS定位系统.docx

1、关于单片机的GPS定位系统前 言随着时代的发展,先进的科学技术给人们的生活带来了翻天覆地的变化。各种各样的智能化产品层出不穷,推动着社会的进步。全球定位系统GPS是美国从20世纪70年代开始研制,在1994年建成,以接收导航卫星信号为基础的非自主式导航与定位系统,它以全球性、全能性、全天候性、连续实时高精度的实时时间、三维位置、三维速度为人们的生活带来了方便。随着全球定位技术的不断改进和完善,它的应用领域将会不断地扩大,必将成为信息时代不可缺少的一部分。在我们的生活中GPS定位系统给我们带来了便利,如车载GPS导航仪、GPS手持设备、GPS/GPRS远程终端控制设备等,但是他们的价格比较昂贵。

2、本设计使用低功耗的AT89S52单片机、GPS卫星定位模块和LCD12864液晶显示模块来实现对GPS定位信息的计算和显示。GPS信息主要有GPGSV(可见卫星信息)、GPGLL(地理定位信息)、GPRMC(推荐最小定位信息)、GPVTG(地面速度信息)、GPGGA(GPS定位信息)和GPGSA(当前卫星信息)。在设计中我用软件只对GPRMC(最小定位信息)和GPGGA(GPS定位信息)进行了解析,并将解析后的数据转换成字符,通过LCD12864显示日期、时间、经度、纬度、航向、速度和海拔高度等卫星信息。本设计思路清晰、结构简易、性价比高,对研究GPS定位系统二次开发有重要作用。1.总体设计方

3、案1.1系统设计框图本设计主要由电源电路、复位电路、时钟电路、串口通信电路、GPS接收模块、LCD12864显示电路组成。电源电路为系统提供电源,复位电路用于单片机的初始化操作,时钟电路用于是单片机工作在统一的时钟脉冲。GPS接收模块由GPS接收电路和GPS接收天线组成。GPS接收机用于接收GPS卫星信号,并将接收到的信息通过串口通信方式发送到单片机中。单片机通过软件程序对接收到的GPS定位信息进行计算解析,并将解析的结果通过LCD12864显示。系统设计框图如图1所示:图1 系统设计框图2.设计原理2.1 AT89S52单片机结构和原理2.1.1 AT89S52单片机功能特性AT89S52单

4、片机是一种低功耗、高性能COMS8位控制器,具有8K可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,适宜于常规编程。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方

5、式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52引脚分布图如图2所示:图2 AT89S52引脚分布图AT89S52主要性能: 与MCS-51单片机产品兼容 8K字节在系统可编程Flash存储器 1000次擦写周期 全静态操作:0Hz33Hz 三级加密程序存储器 32个可编程I/O口线 三个16位定时器/计数器 八个中断源 全双工UART串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符2.1.2 复位控制电路原理复位是单片机的初始化操作,单片机在上电启动运行时,都需要先复位。其作用是使单片机和其他部件都处

6、于一个确定的初始化状态,并从这个工作状态开始工作。但是单片机自身不能自动进行复位,必须使用外部复位电路来实现单片机的复位。单片机的外部复位电路有上电自动复位电路和按键手动复位电路两种。我们采用的是按键手动复位,当复位按键按下后,复位端与VCC电源接通,电容迅速放电,使REST引脚为高电平;当复位键弹起后,VCC电源通过10K欧姆电阻对22uf电容重新充电,REST引脚端出现复位正脉冲。其持续时间取决于RC电路时间常数。复位控制电路图如图3所示:图3 复位控制电路图2.1.3 时钟控制电路原理单片机的工作是在统一的时钟脉冲控制下进行的,这个时钟脉冲由单片机时钟电路发出,单片机的时钟产生有内部时钟

7、和外部时钟两种,我们采用的是内部时钟方式。此方式是利用芯片内部的振荡器,然后在引脚XTAL1和XTAL2两端接晶体振荡器,就构成了自激的振荡器,发出的脉冲直接送入内部时钟电路。外接晶振时,C4和C5的值通常选择为15PF33PF之间,电容对频率有微调作用。时钟控制电路图如图4所示:图4 时钟控制电路图2.2 GPS结构组成全球定位系统(Global Positioning System)GPS是美国第二代卫星导航系统,是在子午仪卫星导航系统的基础上发展起来的,它采纳了子午仪系统的成功经验,和子午仪系统一样,全球定位系统由空间部分、地面控制部分和用户设备三大部分组成。GPS结构组成图如图5所示:

8、图5 GPS结构组成图2.2.1 空间部分GPS的空间部分由21颗工作卫星和3颗备用卫星组成,它们位于距离地球表面20200Km的高空中。平均分配在6个轨道平面上(每个平面4颗),轨道倾斜角为55,各轨道平面升交点的赤径相差60度。此外,还有4颗有源备份卫星在轨运行。卫星的分布使得在全球任何地方、任何时间都可观测到4颗以上的卫星,并能保持良好定位解算精度的几何图象,这就提供了在时间上连续的全球导航能力。GPS卫星产生两组电码, 一组称为C/A 码( Coarse/Acquisition Code11023MHz) ;一组称为P 码(Precise Code 10123MHz),P 码因频率较高

9、,不易受干扰,定位精度高,因此受美国军方管制,并设有密码,一般民间无法解读,主要为美国军方服务。C/A 码人为采取措施而刻意降低精度后,主要开放给民间使用。GPS卫星有如下基本功能: 接受和存储有地面监控站发来的导航信息,接受并执行监控站的控制命令。 借组与卫星上设有的微处理机进行必要的数据处理工作。 通过星载的高精度铯原子钟和铷原子钟提供精密的时间标准。 向用户发送定位信息。 在地面监控站的指令下,通过推进器调整卫星的姿态和启用备用卫星。2.2.2 地面控制部分地面控制部分由1个主控站、5个监测站和3个地面控制站组成。检测站是主控站直接控制下的数据自动采集中心,站内配有双频的GPS接收机和高

10、精度原子钟。检测站将卫星观测数据,包括电离层和气象数据,经过初步处理后,传送到主控站。主控站从各监测站收集跟踪数据,计算出卫星的轨道和时钟参数,然后将结果送到3 个地面控制站。地面控制站在每颗卫星运行至上空时,把这些导航数据及主控站指令注入到卫星。这种注入对每颗GPS 卫星每天一次,并在卫星离开注入站作用范围之前进行最后的注入。如果某地面站发生故障,那么在卫星中预存的导航信息还可用一段时间,但导航精度会逐渐降低。2.2.3 用户设备部分 用户设备即为GPS接收机本设计主要是设计该部分,其主要功能是能够捕获一定卫星截止角所选择的待测卫星,并跟踪这些卫星。利用已经设计好的GPS接收模块接收卫星发送

11、的定位信息,通过MCU处理采集到的数据,并将数据转换成字符,显示定位信息。GPS接收机的硬件,一般包括主机(包括GPS数据采集芯片)、天线和电源,接收机中的微处理机算机是用户设备的核心部分,它可以按照定位解算方法进行定位计算,计算出用户所在位置的经度、纬度、海拔高度、速度和日期时间信息。2.3 GPS工作原理GPS定位的基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置。本设计采用GPS绝对定位原理,参照坐标系为WGS84坐标系。假设t时间在地面安置GPS接收机,测得GPS信号到达GPS接收机的时间为t,再根据GPS接收机上接收到的从GPS卫星

12、发射回来的星历信息。测伪距观测方程图如图6所6示:图6 测伪距观测方程图上述四个方程式中待测点坐标X、Y、Z和Vt0为未知参数,其中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时刻的空间直角坐标,可由卫星导航电文求得。Vti(i=1、2、3、4)

13、分别为卫星1、卫星2、卫星3、卫星4的卫星时钟差它由卫星星历提供。Vt0为接收机的时钟差。由以上四个方程即可解算出待测点的坐标X、Y、Z和接收机的时钟差Vt0。2.4 GPS数据解析本设计的GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到单片机系统。NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。NMEA 通讯协议所规定的通讯语句都已是以 ASCII 码为基础的,NMEA-0183 协议语句的数据格式如下:“$”为语句起始标志;“,

14、”为域分隔符;“ *”为校验和识别符,其后面的两位数为校验和,代表了“$”和“*”之间所有字符的按位异或值(不包括这两个字符);“”为终止符,所有的语句必须以“”或“”来结束,也就是 ASCII 字符的“回车”(十六进制的 0D)和“换行”(十六进制的 0A)。所有的信息由$开始,以换行结束,紧跟着$后的五个字符解释了信息的基本类型,多个参数之间用逗号隔开。NMEA-0183 协议定义的语句非常多,但是常用的或者兼容性最广的语句有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。在设计中我们只对GPRMC数据和GPRMC数据进行了解析。2.4.1 GPRMC

15、数据详解$GPRMC,*hh UTC时间,hhmmss(时分秒)格式 定位状态,A=有效定位,V=无效定位 纬度ddmm.mmmm(度分)格式(前面的0也将被传输) 纬度半球N(北半球)或S(南半球) 经度dddmm.mmmm(度分)格式(前面的0也将被传输) 经度半球E(东经)或W(西经) 地面速率(000.0999.9节,前面的0也将被传输) 地面航向(000.0359.9度,以真北为参考基准,前面的0也将被传输) UTC日期,ddmmyy(日月年)格式 磁偏角(000.0180.0度,前面的0也将被传输) 磁偏角方向,E(东)或W(西) 模式指示(仅NMEA0183 3.00版本输出,A

16、=自主定位,D=差分,E=估算,N=数据无效) 解析内容:1. 时间,这个是格林威治时间,是世界时间(UTC),我们需要把它转换成北京时间(BTC),BTC和UTC差了8个小时,要在这个时间基础上加8个小时。2. 定位状态,在接收到有效数据前,这个位是V,后面的数据都为空,接到有效数据后,这个位是A,后面才开始有数据。3. 纬度,我们需要把它转换成度分秒的格式,计算方法:如接收到的纬度是:4546.408914546.40891/100 = 45.4640891 可以直接读出45度4546.4089145 * 100 = 46.40891 可以直接读出46分46.4089146 = 0.408

17、91 * 60 = 24.5346 读出24秒所以纬度是:45度46分24秒。4. 南北纬,这个位有两种值N(北纬)和S(南纬)5. 经度的计算方法和纬度的计算方法一样6. 东西经,这个位有两种值E(东经)和W(西经)7. 速率,这个速率值是 海里/时,单位是节,要把它转换成千米/时,根据:1海里 = 1.85公里,把得到的速率乘以1.85。8. 航向,指的是偏离正北的角度9. 日期,这个日期是准确的,不需要转换2.4.2 GPGGA数据详解$GPGGA,M,M,*xx$GPGGA:起始引导符及语句格式说明(本句为GPS定位数据)UTC时间,格式为hhmmss.sss纬度,格式为ddmm.mm

18、mm(第一位是零也将传送)纬度半球,N或S(北纬或南纬)经度,格式为dddmm.mmmm(第一位零也将传送)经度半球,E或W(东经或西经)定位质量指示,0=定位无效,1=定位有效使用卫星数量,从00到12(第一个零也将传送)水平精确度,0.5到99.9天线离海平面的高度,-9999.9到9999.9米 M指单位米 大地水准面高度,-9999.9到9999.9米 M指单位米 差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量差分参考基站标号,从0000到1023(首位0也将传送)2.5 LCD12864液晶显示原理LCD12864是一种具有4/8位并行、2线或3线串行多种

19、接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块,其显示分辨率为12864,内置8192个16*16点汉字和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字。也可完成图形显示,低电压低功耗是它的又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不但硬件电路结构和显示程序简单,该模块的价格也略低于相同点阵的图形液晶模块。2.5.1 LCD12864的基本特性 低电源电压(VDD:+3.0+5.5V) 显示分辨率:12864点 内置汉字字库,提供8192个1

20、616点阵汉字(简繁体可选) 内置 128个168点阵字符 2MHZ时钟频率 显示方式:STN、半透、正显 驱动方式:1/32DUTY,1/5BIAS 背光方式:侧部高亮白色LED,功耗仅为普通LED的1/51/10 通讯方式:串行、并口可选 内置DC-DC转换电路,无需外加负压 无需片选信号,简化软件设计 工作温度: 0 +55 ,存储温度: -20 +60 表1 LCDD12864并行接口表管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7DB0为显示数据RS=“L”,表示DB7DB0为显示指令数

21、据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7DB0R/W=“L”,E=“HL”, DB7DB0的数据被写到IR或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式(见注释1)16NC-空脚17/RESETH/L复位端,低电平有效(见注释2)18VOUT-LCD驱动电压输出端19AVDD背光源正端(+5V)(见注释3)20KVSS背光源

22、负端(见注释3)注释1:如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。 注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。3.模块电路设计3.1单片机最小系统单片机最小系统由复位电路、时钟电路、P0口加上拉电阻组成。我们采用的是按键手动复位,当复位按键按下后,复位端与VCC电源接通,电容迅速放电,使REST引脚为高电平;当复位键弹起后,VCC电源通过10K欧姆电阻对22uf电容重新充电,REST引脚端出现复位正脉冲。其持续时间取决于RC电路时间常

23、数。时钟电路我们采用的是内部时钟方式。此方式是利用芯片内部的振荡器,然后在引脚XTAL1和XTAL2两端接晶体振荡器,就够成了自激的振荡器,发出的脉冲直接送入内部时钟电路。最小系统电路图如图7所示:图7 最小系统电路图3.2 电源电路本设计电源电路由三个部分组成:包括整流电路、滤波电路、稳压电路。U5为整流桥它将交流电转化直流电。常见的整流电路有单相半波、全波、桥式、和倍压整流电路。滤波电路用于滤去整流输出电压中的纹波,常见的滤波电路有电容滤波、电感滤波和混合滤波电路,设计中采用的是电容滤波。本设计的稳压电路采用的是三端稳压器。电源电路图如图8所示:图8 电源电路图3.3 串口通信电路对于单片

24、机来说,为了进行串行数据的数据通信,单片机有一个全双工的串行通信接口,包含串行口接收和发送缓冲寄存器等。本设计中考虑到GPS定位接收模块与单片机之间进行数据通信。由于GPS接收模块需要的是TTL或CMOS电平,可以通过MAX232进行电平转化,单片机输出的电平就是TTL电平。为什么要在加一个MAX232串口电路呢,就是为了方便在PC机上应用GPS Viewer软件观察GPS模块是否接收到GPS卫星传回的数据信息。串口通信电路图如图9所示:图9 串口通信电路图3.4 LCD12864显示电路LCD12864是20个引脚SIP封装的集成接口器件。在设计中我们将2脚外接电源,3脚接10K的电位器,可

25、实现对其背光调节。4、5、6脚是控制端口,7-14脚是数据输出端口,接单片机P0端口。LCD12864显示电路图如图10所示:图10 LCD12864显示电路图3.5 HOLUX GR-87 GPS模块HOLUX GR-87 GPS是一种高性能,低功耗,体积小,很容易集成GPS引擎板为一种广谱的设计OEM系统应用。该产品是基于成熟的技术在其他HOLUX12通道GPS接收机和SiRFstar II / LP芯片组解决方案。该GPS引擎板将跟踪多达12颗卫星在同一时间,而提供快速的时间,首次定位和一秒钟的导航更新。其远达能力满足汽车导航的灵敏度的要求,以及其他基于位置的应用程序。因此,HOLUX

26、GR- 87引擎板是非常适合的客户的AVL系统集成和基于位置的服务。而GR- 87的设计采用了最新的表面贴装技术(BGA)和高水平的电路集成,实现卓越的性能,同时最大限度地减少空间和功率的要求。这种硬件功能结合智能软件使引擎板更容易被集成在各种导航应用产品上。应用系统可通过两个RS232兼容设置与CMOS / TTL电平的双向沟通渠道进行数据通信。HOLUX GR-87 GPS模块主要特点: 平均冷启动时间在45秒 低功耗、12通道“全在查看”跟踪 集成ARM7TDMI CPU和软件工程服务 嵌入式客户定义的应用程序 在1Mb的SRAM芯片 双TTL电平的串行端口,一个用于GPS接收器命令消息

27、 接口,另一个为RTCM104 DGPS输入之一 契约理事会尺寸1“ 1”x0.27“(25.4x25.4x7mm),易于集成到手持设备 重捕时间0.1秒 支持标准NMEA -0183和SiRF二进制协议 支持精确的1PPS输出信号与GPS时序对齐 多路径缓解硬件 板上RTCM SC104 DGPS和WAAS/ EGNOSDemodulator 内置锂电池进行GPS定位快表2 HOLUX GR-87 GPS模块管脚分布表PinPin NameFunction description1VCC_5V+3.55.5Vdc power input2TXASerial Data output port

28、A(TTL Level: Voh2.4VVol0.4V Ioh=Iol=2mA)3RXASerial Data input port A(TTL Level Vih0.7*VCCVil0.3*VCC)4RXBSerial Data input port B(TTL Level Vih0.7*VCCVil0.3*VCC)5GNDPower ground6TIMEMARK/RESET (option)TIMEMARK: 1PPS Time mark output(Vil0.2V PulseWidth 10ms)。RESET: Reset Input (Active Low)(option func

29、tion)4.系统软件设计4.1主程序流程图主程序是单片机程序执行的主体部分,整个系统软件的功能都在其中完成,本设计的主程序部分主要包括:串口通信控制程序、LCD12864程序、GPS数据解析程序和显示程序。主程序中进行了串口初始化、定时器0初始化、LCD12864的初始化和GPS数据的初始化。定义了GPS的接收开始和停止标志位rev_start和rev_stop、GPS处理标志位gps_falg和换页显示标志位change_page。进入主程序后首先判断串口是否接收到数据及ch=$和gps_flag=0;然后rev_start=1,rev_stop=0,开始接收GPS接收机发送的数据,rev

30、_start=0,rev_stop=1接收完成;开定时器0,对GPRMC和GPGGA进行解析,并显示解析的数据信息。如果没有接收到$,LCD12864显示初始化信息。主程序流程图如图11所示:图11 主程序流程图4.2 GPS数据处理流程图 GPS数据的处理包含两个部分:一部分是对GPRMC数据的解析处理,另一部分是对GPGGA数据的解析处理。在对GPRMC数据的解析时主要是定义了以个字符型变量ch,并判断接收到的数据的第五个字符,如果第五个字符是C,在判断定位状态status是否等于A,如果等于则就将接收到的经度、纬度、日期和时间信息进行字符转换,及单片机将GPS接收机发送来的数据通过软件程序控制转换成字符型数据。在对GPGGA数据的解析是也是定义了一个字符型变量ch,判断接收到的数据的第

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

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