资源描述
单片机单片机C语言编程与实践语言编程与实践第10章 GPS模块应用系统设计1.GPS模块的功能特性2.GPS模块的应用编程3.GPS模块的应用示例本章主要内容:本章主要内容:1.全球定位系统概述全球定位系统概述 GPS即全球定位系统(Global Positioning System)是美国从本世纪70年代开始研制,历时20年,耗资200亿美元,于1994年全面建成,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。经近10年我国测绘等部门的使用表明,GPS以全天候、高精度、自动化、高效益等显著特点,赢得广大测绘工作者的信赖,并成功地应用于大地测量、工程测量、航空摄影测量、运载工具导航和管制、地壳运动监测、工程变形监测、资源勘察、动力学等多种学科,从而给测绘领域带来一场深刻的技术革命。GPS模块的功能特性1.全球定位系统概述全球定位系统概述 全球定位系统(Global Positioning System)是美国第二代卫星导航系统。是在子午仪卫星导航系统的基础上发展起来的,它采纳了子午仪系统的成功经验。和子午仪系统一样,全球定位系统由空间部分、地面监控部分和用户接收机三大部分组成。按目前的方案,全球定位系统的空间部分使用28颗高度约2.02万千米的卫星组成卫星星座。24+4颗卫星均为近圆形轨道,运行周期约为11小时58分,如图10-1所示分布在六个轨道面上(每轨道面四颗),轨道倾角为55度。卫星的分布使得在全球的任何地方,任何时间都可观测到四颗以上的卫星,并能保持良好定位解算精度的几何图形(DOP)。这就提供了在时间上连续的全球导航能力。GPS模块的功能特性1.全球定位系统概述全球定位系统概述 地面监控部分包括四个监控站、一个上行注入站和一个主控站。监控站设有GPS用户接收机、原子钟、收集当地气象数据的传感器和进行数据初步处理的计算机。监控站的主要任务是取得卫星观测数据并将这些数据传送至主控站。主控站设在范登堡空军基地。它对地面监控部实行全面控制。主控站主要任务是收集各监控站对GPS卫星的全部观测数据,利用这些数据计算每颗GPS卫星的轨道和卫星钟改正值。上行注入站也设在范登堡空军基地。它的任务主要是在每颗卫星运行至上空时把这类导航数据及主控站的指令注入到卫星。这种注入对每颗GPS卫星每天进行一次,并在卫星离开注入站作用范围之前进行最后的注入。GPS模块的功能特性GPS模块的功能特性2.GPS的基本定位原理的基本定位原理 GPS的基本定位原理是:卫星不间断地发送自身的星历参数和时间信息,用户接收到这些信息后,经过计算求出接收机的三维位置,三维方向以及运动速度和时间信息。GPS模块的功能特性3.GPS信号接收机信号接收机 GPS信号接收机的任务是:能够捕获到按一定卫星高度截止角所选择的待测卫星的信号,并跟踪这些卫星的运行,对所接收到的GPS信号进行变换、放大和处理,以便测量出GPS信号从卫星到接收机天线的传播时间,解译出GPS卫星所发送的导航电文,实时地计算出测站的三维位置,甚至三维速度和时间。静态定位中,GPS接收机在捕获和跟踪GPS卫星的过程中固定不变,接收机高精度地测量GPS信号的传播时间,利用GPS卫星在轨的已知位置,解算出接收机天线所在位置的三维坐标。而动态定位则是用GPS接收机测定一个运动物体的运行轨迹。GPS信号接收机所位于的运动物体叫做载体(如航行中的船舰,空中的飞机,行走的车辆等)。GPS模块的功能特性3.GPS信号接收机信号接收机 载体上的GPS接收机天线在跟踪GPS卫星的过程中相对地球而运动,接收机用GPS信号实时地测得运动载体的状态参数(瞬间三维位置和三维速度)。接收机硬件、机内软件以及数据的后处理软件包构成了完整的GPS用户设备。GPS接收机的结构分为天线单元和接收单元两大部分。对于测地型接收机来说,两个单元一般分成两个独立的部件,观测时将天线单元安置在测站上,接收单元则置于测站附近的适当地方,并用电缆线将两者连接成一个整机。实际上,也可以将天线单元和接收单元制作成一个整体,而在观测时将其安置在测站点上。GPS模块的功能特性3.GPS信号接收机信号接收机 GPS接收机一般用蓄电池做电源,同时采用机内机外两种直流电源。设置机内电池的目的在于更换外电池时不中断连续观测。在用机外电池的过程中,机内电池自动充电。关机后,机内电池为存储器供电,以防丢失数据。GPS模块的功能特性4.GPS卫星接收模块卫星接收模块 GPS卫星接收模块功能GPS卫星接收模块(简称GPS模块)是GPS接收系统的核心,它从天线获得GPS信号,经过放大、整理、运算、解码,输出经度、纬度、高度、时间等信息,处理器利用这些信息,来产生不同的应用,如导航、定位、运动轨迹记录等,并通过一定的总线接口和外设备进行数据交换。GPS模块的功能特性4.GPS卫星接收模块卫星接收模块 GPS卫星接收模块工作原理GPS模块的功能特性4.GPS卫星接收模块卫星接收模块 GPS模块性能指标 衡量GPS模块性能指标主要从卫星轨迹、并行通道、定位时间、定位精度、DGPS功能、信号干扰及电气、物理指标等几个方面GPS模块的功能特性4.GPS卫星接收模块卫星接收模块 GR-87型GPS模块接口定义管脚管脚名称名称功能描述功能描述1 1VCCVCC+3.3+3.35.5VDC电源输入电源输入2 2TXATXA串口发送串口发送A3 3RXARXA串口接收串口接收A4 4RXBRXB串口接收串口接收B5 5GNDGND电源地电源地6 6TIMEMARK/RESETTIMEMARK/RESET(Option)1PPS 1PPS时基输出或复位输入(低电时基输出或复位输入(低电平有效)平有效)GPS模块的功能特性4.GPS卫星接收模块卫星接收模块 GPS模块和单片机的硬件连接 GPS模块一般通过串口和外设进行数据交换,如果串口是TTL或CMOS电平,则可直接和单片机连接,如果是RS232C电平,则需要通过电平转换电路和单片机连接GPS模块的应用编程1.GPS模块数据通讯协议模块数据通讯协议 (1)NMEA-0183协议简介 NMEA协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Association)制定的一套通讯协议。GPS模块根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到PC机、PDA等设备。GPS模块的应用编程1.GPS模块数据通讯协议模块数据通讯协议 (2)NMEA-0183协议串行通讯参数 NMEA-0183协议规定串行通讯参数:波特率4800,无奇偶校验,数据位8,停止位1。此外,需要说明的是大部分GPS模块的输出数据刷新速率为1秒,即在1秒时间里输出一次GPS模块单枪匹马当前配置的所有数据。GPS模块的应用编程1.GPS模块数据通讯协议模块数据通讯协议 (3)NMEA-0183协议报文格式 NMEA-0183协议定义的语句非常多,但是常用的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。在具体的GPS 应用中,不需要用到NMEA 的全部信息,而是根据具体的工作,从中选取所需的信息,忽略其他信息。GPS模块的应用编程1.GPS模块数据通讯协议模块数据通讯协议 1)$GPGSV(可见卫星数:GPS Satellites in View)$GPGSV 的基本语句如下:$GPGSV,1,*CC:GSV 语句的总数。:本句 GSV 的编号。:可见卫星的总数(0012,前面的 0 也将被传输)。:卫星编号(0132,前面的 0 也将被传输)。:卫星仰角(0090 度,前面的 0 也将被传输)。:卫星方位角(000359 度,前面的 0 也将被传输)。:信噪比(0099dB,没有跟踪到卫星时为空)。:*后面的“CC”表示校验和,表示回车换行。GPS模块的应用编程1.GPS模块数据通讯协议模块数据通讯协议 2)$GPGGA(GPS 定位信息:Global Positioning System Fix Data)$GPGGA 的基本语句如下:$GPGGA,(2),M,M,*CC(LF)UTC 时间 hh:mm:sss(时:分:秒)格式 纬度 ddmm.mmmm(度分格式)纬度半球:N(北纬)或 S(南纬)经度 dddmm.mmmm(度分格式)经度半球:E(东经)或 W(西经)GPS 状态:0=未定位,1=非差分定位,2=差分定位,6=正在估算 正在使用的用于定位的卫星数量(0012)GPS模块的应用编程1.GPS模块数据通讯协议模块数据通讯协议 HDOP 水平精度因子(0.550.0)海拔高度(-9999.999999.9)地球椭球面相对大地水准面的高度 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)差分站 ID 号00001023(前面的 0 也将被传输,如果不是差分定位将为空)GPS模块的应用编程1.GPS模块数据通讯协议模块数据通讯协议 3)$GPGSA(当前卫星信息)$GPGSA,*CC 模式,M=手动,A=自动 定位类型,1=没有定位,2=2D 定位,3=3D 定位 正在用于定位的卫星号(0132)PDOP 位置精度因子(0.050.0)HDOP 水平精度因子(0.050.0)VDOP 垂直精度因子(0.050.0)GPS模块的应用编程1.GPS模块数据通讯协议模块数据通讯协议 4)$GPRMC(推荐定位信息:Recommended Minimum Specific GPS/TRANSIT Data)$GPRMC 语法如下:$GPRMC,*CC UTC 时间,hhmmss(时分秒)定位状态,A=有效定位,V=无效定位 纬度 ddmm.mmmm(度分)纬度半球:N(北半球)或 S(南半球)经度 dddmm.mmmm(度分)GPS模块的应用编程1.GPS模块数据通讯协议模块数据通讯协议 经度半球:E(东经)或 W(西经)地面速率(000.0999.9节)地面航向(000.0359.9 度,以北方为参考基准)UTC 日期,ddmmyy(日月年)磁偏角(000.0180.0 度,GB10,GM10 以空值代替)磁偏角方向:E(东)或 W(西)(GB10,GM10 以空值代替)模式指示(A=自主定位,D=差分,E=估算,N=数据无效,GB10,GM10 为空值)GPS模块的应用编程1.GPS模块数据通讯协议模块数据通讯协议 5)$GPVTG(地面速度信息:Track Made Good and Ground Speed)$GPVTG 的基本语法如下:$GPVTG,T,M,N,K,*cc 以北方为参考基准的地面航向(000359 度,前面的 0 也将被传输)以北方为参考基准的地面航向(000359 度,GB10,GM10 为空)地面速率(000.0999.9节)地面速率(0000.09999.9 公里/小时)模式指示(A=自主定位,D=差分,E=估算,N=数据无效)GPS模块的应用编程1.GPS模块数据通讯协议模块数据通讯协议 6)$GPGLL(定位地理信息:Geographic Position)$GPGLL 的基本语法如下:$GPGLL,*CC 纬度 ddmm.mmmm(度分格式)纬度半球:N(北半球)或 S(南半球)经度 dddmm.mmmm(度分)经度半球:E(东经)或 W(西经)UTC 时间:hhmmss(时分秒)定位状态,A=有效定位,V=无效定位 模式指示(A=自主定位,D=差分,E=估算,N=数据无效)GPS模块的应用编程1.GPS模块数据通讯协议模块数据通讯协议 7)$GPZDA(当前时间信息)$GPZDA 的基本语法如下:$GPZDA,*CC UTC 时间:hhmmss(时分秒)日 月 年GPS模块的应用编程1.GPS模块数据通讯协议模块数据通讯协议 (4)NMEA协议的校验从前面NMEA协议的语法规则中我们可以看到,每一句NMEA语句的最后面那个字节是该语句的校验字节,举例如下:$GPVTG,000.0,T,0.0,N,0.0,K,A*40$GPZDA,101824.001,23,08,2006,*54 在上两个NMEA 语句中,十六进制数40,54就是整条语句的校验和,计算方法为:整条语句中,$和*中间所有数据的ASCII码的异或(不包括$和*)。GPS模块的应用编程2.GPS模块的应用编程示例模块的应用编程示例 GPS模块编程核心是一段串口接收程序,CPU采用Winbond公司W77E58A,使用串口0和GPS模块通讯,C51编程示见GPS_Serial0.C。GPS模块的应用实例1.GPS模块的应用实例汽车轨迹记录仪模块的应用实例汽车轨迹记录仪 GPS模块接收卫星定位信息,并传送至微处理器,微处理器将数据进一步处理后,实时将时间、速度、定位信息等显示在LCD显示屏,存储在NVRAM,串口1可用于数据下载,时钟信息采用硬件RTC,GPS的授时信息可以用于校正RTC。微处理器采用Winbond公司51兼容单片机W77E58A,具有双串口功能。LCD显示屏分辨率128*64,LCM内部驱动芯片为ST7920,带16*16汉字字库,LCM和单片机采用并行驱动。GPS模块的应用实例2.汽车轨迹记录仪电路框图汽车轨迹记录仪电路框图GPS模块的应用实例3.软件编程软件编程 C51编程示见main.c。
展开阅读全文