文档介绍:该【Gps协议解析 】是由【书犹药也】上传分享,文档一共【5】页,该文档可以免费在线阅读,需要了解更多关于【Gps协议解析 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。GPS卫星定位接受器的NMEA协议解析GPS接受机只要处在工作状态就会源源不停地把接受并计算出的GPS导航定位信息通过串口传送到计算机中。前面的代码只负责从串口接受数据并将其放置于缓存,在没有深入处理之前缓存中是一长串字节流,这些信息在没有通过度类提取之前是无法加以运用的。因此,必须通过程序将各个字段的信息从缓存字节流中提取出来,将其转化成有实际意义的,可供高层决策使用的定位信息数据。同其他通讯协议类似,对GPS进行信息提取必须首先明确其帧构造,然后才能根据其构造完毕对各定位信息的提取。对于本文所使用的GARMINGPS天线板,其发送到计算机的数据重要由帧头、帧尾和帧内数据构成,根据数据帧的不一样,帧头也不相似,重要有"$GPGGA"、"$GPGSA"、"$GPGSV"以及"$GPRMC"等。这些帧头标识了后续帧内数据的构成构造,各帧均以回车符和换行符作为帧尾标识一帧的结束。对于一般的状况,我们所关怀的定位数据如经纬度、速度、时间等均可以从"$GPRMC"帧中获获得到,该帧的构造及各字段释义如下: $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>*hh <1>目前位置的格林尼治时间,格式为hhmmss <2>状态,A为有效位置,V为非有效接受警告,即目前天线视野上方的卫星个数少于3颗。 <3>纬度, <4>标明南北半球,N为北半球、S为南半球 <5>径度, <6>标明东西半球,E为东半球、W为西半球 <7>地面上的速度, <8>方位角, <9>日期,格式为ddmmyy <10>地磁变化, <11>地磁变化方向,为E或W 至于其他几种帧格式,除了特殊用途外,平时并不常用,虽然接受机也在源源不停地向主机发送多种数据帧,但在处理时一般先通过对帧头的判断而只对"$GPRMC"帧进行数据的提取处理。假如状况特殊,需要从其他帧获取数据,处理措施与之也是完全类似的。由于帧内各数据段由逗号分割,因此在处理缓存数据时一般是通过搜寻ASCII码"$"来判断与否是帧头,在对帧头的类别进行识别后再通过对所经历逗号个数的计数来判断出目前正在处理的是哪一种定位导航参数,并作出对应的处理。附:NMEA0183常用协议格式阐明:NMEA0183格式以“$”开始,重要语句有GPGGA,GPVTG,GPRMC等1、GPSDOPandActiveSatellites(GSA)目前卫星信息$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7><CR><LF><1>模式:M=手动,A=自动。<2>定位型式1=未定位,2=二维定位,3=三维定位。<3>PRN数字:01至32表天空使用中的卫星编号,最多可接受12颗卫星信息。<4>PDOP位置精度因子(~)<5>HDOP水平精度因子(~)<6>VDOP垂直精度因子(~)<7>Checksum.(检查位).2、GPSSatellitesinView(GSV)可见卫星信息$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6>,<7>,<8><CR><LF><1>GSV语句的总数<2>本句GSV的编号<3>可见卫星的总数,00至12。<4>卫星编号,01至32。<5>卫星仰角,00至90度。<6>卫星方位角,000至359度。实际值。<7>讯号噪声比(C/No),00至99dB;无表未接受到讯号。<8>Checksum.(检查位).第<4>,<5>,<6>,<7>项个别卫星会反复出现,每行最多有四颗卫星。其他卫星信息会于次一行出现,若未使用,这些字段会空白。3、GlobalPositioningSystemFixData(GGA)GPS定位信息$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<CR><LF><1>UTC时间,hhmmss(时分秒)格式<2>(度分)格式(前面的0也将被传播)<3>纬度半球N(北半球)或S(南半球)<4>(度分)格式(前面的0也将被传播)<5>经度半球E(东经)或W(西经)<6>GPS状态:0=未定位,1=非差分定位,2=差分定位,6=正在估算<7>正在使用解算位置的卫星数量(00~12)(前面的0也将被传播)<8>HDOP水平精度因子(~)<9>海拔高度(-~)<10>地球椭球面相对大地水准面的高度<11>差分时间(从近来一次接受到差分信号开始的秒数,假如不是差分定位将为空)<12>差分站ID号0000~1023(前面的0也将被传播,假如不是差分定位将为空)4、mendedMinimumSpecificGPS/TRANSITData(RMC)推荐定位信息$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF><1>UTC时间,hhmmss(时分秒)格式<2>定位状态,A=有效定位,V=无效定位<3>(度分)格式(前面的0也将被传播)<4>纬度半球N(北半球)或S(南半球)<5>(度分)格式(前面的0也将被传播)<6>经度半球E(东经)或W(西经)<7>地面速率(~,前面的0也将被传播)<8>地面航向(~,以真北为参照基准,前面的0也将被传播)<9>UTC日期,ddmmyy(日月年)格式<10>磁偏角(~,前面的0也将被传播)<11>磁偏角方向,E(东)或W(西)<12>模式指示(,A=自主定位,D=差分,E=估算,N=数据无效)5、TrackMadeGoodandGroundSpeed(VTG)地面速度信息$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh<CR><LF><1>以真北为参照基准的地面航向(000~359度,前面的0也将被传播)<2>以磁北为参照基准的地面航向(000~359度,前面的0也将被传播)<3>地面速率(~,前面的0也将被传播)<4>地面速率(~,前面的0也将被传播)<5>模式指示(,A=自主定位,D=差分,E=估算,N=数据无效)报文$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPGSV,3,1,12,23,89,179,,13,58,305,,16,56,075,,01,51,113,*7E$GPGSV,3,2,12,20,25,193,,07,24,259,,06,16,118,,03,13,136,*76$GPGSV,3,3,12,10,13,322,,31,06,071,,02,03,317,,04,02,281,*71$GPRMC,,V,,,,,,,240810,,,N*49$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*5B$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,,V,,,,,,,240810,,,N*4F$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*5B$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,,V,,,,,,,240810,,,N*4F$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*58$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,,V,,,,,,,240810,,,N*4C$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*56$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,,V,,,,,,,240810,,,N*42$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*56$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPGSV,3,1,12,23,89,179,,13,58,305,,16,56,075,,01,51,113,*7E$GPGSV,3,2,12,20,25,193,,07,24,259,,06,16,118,,03,13,136,*76$GPGSV,3,3,12,10,13,322,,31,06,071,,02,03,317,,04,02,281,*71$GPRMC,,V,,,,,,,240810,,,N*42$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*58$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,,V,,,,,,,240810,,,N*4C$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*5F$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,,V,,,,,,,240810,,,N*4B$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*5E$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,,V,,,,,,,240810,,,N*4A$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*50$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,,V,,,,,,,240810,,,N*44$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*52$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPGSV,3,1,12,23,89,179,,13,58,305,,16,56,075,,01,51,113,*7E$GPGSV,3,2,12,20,25,193,,07,24,259,,06,16,118,,03,13,136,*76$GPGSV,3,3,12,10,13,322,,31,06,071,,02,03,317,,04,02,281,*71$GPRMC,,V,,,,,,,240810,,,N*46$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*59$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,,V,,,,,,,240810,,,N*4D$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*59$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,,V,,,,,,,240810,,,N*4D$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*58$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,,V,,,,,,,240810,,,N*4C$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*5B$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,,V,,,,,,,240810,,,N*4F$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*5A$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPGSV,3,1,12,23,89,179,,13,58,305,,16,56,075,,01,51,113,*7E$GPGSV,3,2,12,20,25,193,,07,24,259,,06,16,118,,03,13,136,*76$GPGSV,3,3,12,10,13,322,,31,06,071,,02,03,317,,04,02,281,*71$GPRMC,,V,,,,,,,240810,,,N*4E$GPVTG,,T,,M,,N,,K,N*2C$GPGGA,,,,,,0,00,,,M,,M,,0000*51$GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,,V,,,,,,,240810,,,N*45$GPVTG,,T,,M,,N,,K,N*2C