NMEA-0183协议详解
NMEA-0183是美国国家海洋电子协会(NationalMarineElectronicsAssociation)为海用电子设备制定的标准格式。目前业已成了GPS导航设备统一的RTCM(RadioTechnicalCommissionforMaritimeservices)标准协议。
一.消息内容识别码
----+--------------+---+------------------------------------------+-----------------------
1.$GPGGA:时间、位置、全球定位数据最大帧长72
2.$GPGSA:接收机模式和卫星PRN数据最大帧长65
3.$GPGSV:卫星状态信息最大帧长210
4.$GPRMC:速度、运输定位数据最大帧长70
5.$GPVTG:方位角与对地速度信息最大帧长34
6.$GPGLL:大地坐标信息
7.$GPZDA:UTC时间和日期
-----+--------------+----+----------------------------------------+-----------------------
△注释:发送次序$GPZDA;$GPGGA;$GPGLL;$GPVTG;$GPGSA;$GPGSV*3;$GPRMC
协议帧总说明:
该协议采用ASCII码,其串行通信默认参数为:波特率=48000bps,数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验。
帧格式形如:$aaccc,ddd,ddd,......,ddd*hh
1、“$”——帧命令起始位
2、aaccc——地址域,前两位为识别符,后三位为语句名
3、ddd...ddd——数据
4、“*”——校验和前缀
5、hhh——校验和(checksum),$与*之间所有字符ASCII码的校验和(各字节做异或运算,得到校验和后,在转换16进制格式的ASCII字符。)
6、
⑴GPGGA
GPS固定数据输出语句,是一帧GPS定位的主要数据,也是使用最广的数据。
样例:
$GPGGA,1661229.478,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M,7.3,M,,0000*18
格式:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*<15>
解析:
$--GGA消息ID,$GPGGA,GGA协议头。
<1>UTC时间,1661229.478,格式为hhmmss.sss。
<2>纬度,3723.2475,格式:ddmm.mmmm(前导位数不足则补0)。
<3>N/S指示,纬度半球,N,格式:N或S(北纬或南纬)。
<4>经度,12158.3416,格式:ddmm.mmmm(前导位数不足则补0)。
<5>E/W指示,经度半球,W,格式:E或W(东经或西经)。
<6>定位质量指示,1,0=定位无效,1=定位有效。
<7>可用卫星数目,07,范围:0~24(GPS+BDS)。
<8>HDOP(水平精确度),1.0,范围:0.5~99.9。
<9>天线离海平面的高度,9.0,范围:-9999.9到9999.9米
<10>高度单位,M,单位制米。
<11>大地椭球相对于海平面的高度,7.3,高程(海拔高度),范围:-999.9到9999.9米
<12>高度单位,M,单位制米。
<13>差分GPS数据期限(RTCMSC-104),空格,最后设立RTCM传送的秒数量。
<14>差分参考基站标号ID,0000,从0000到1023(前导位数不足则补0)。
<15>校验和,*18
⑵GPGSA
接收机模式和卫星工作数据,包括位置和水平/竖直稀度精度等。
样例:
$GPGSA,A,3,07,02,26,27,09,04,15,,,,,,1.8,1.0,1.5*33
格式:
$GPGSA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>*<18>
解析:
$--GSA消息ID,$GPGSA,GSA协议头。
<1>模式1:A,M=手动,A=自动。
<2>模式2:3,定位型式1=未定位,2=二维定位,3=三维定位。
<3>第1信道正在使用的卫星PRN码编07,(PseudoRandomNoise,伪随机噪声码),01至32(前导位数不足则补0,最多可接收12颗卫星信息)。
<4>第2信道正在使用的卫星PRN码编号02
<5>第3信道正在使用的卫星PRN码编号26
<6>第4信道正在使用的卫星PRN码编号27
<7>第5信道正在使用的卫星PRN码编号09
<8>第6信道正在使用的卫星PRN码编号04
<9>第7信道正在使用的卫星PRN码编号15
<10>第8信道正在使用的卫星PRN码编号.
<11>第9信道正在使用的卫星PRN码编号.
<12>第10信道正在使用的卫星PRN码编号.
<13>第11信道正在使用的卫星PRN码编号.
<14>第12信道正在使用的卫星PRN码编号.
<15>PDOP综合位置精度因子1.8,(0.5--99.9)
<16>HDOP水平精度因子1.0,(0.5--99.9)
<17>VDOP垂直精度因子1.5,(0.5--99.9)
<18>校验和
⑶GPGSV
可视卫星状态输出语句(接收机能接收到的卫星信息,包括卫星ID,仰角,方位角,信噪比(SNR)等)
样例:
①.$GPGSV,2,1,07,07,79,048,42,02,51,062,43,26,36,256,42,27,27,138,42*71
②.$GPGSV,2,2,07,09,23,313,42,04,19,159,41,15,12,041,42*41
格式:
$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,...,<4>,<5>,<6>,<7>*<8>
△注释:需要注意的是这里的样例数据有2条,这是因为当前可见卫星一共有7个,但是每条语句最多包括四颗卫星的信息,所以分成了2条语句。每颗卫星的信息有四个数据项,即:<4>(卫星编号)、<5>(卫星仰角)、<6>(卫星方位角)、<7>(信噪比)。
解析:
$--GSV消息ID,$GPGSV,GSV协议头。
<1>本次GSV语句的总数目,2,范围:1--3
<2>当前GSV语句序号,1,范围:1--3
<3>当前可见卫星总数,07,范围:00--12
<4>卫星PRN码编号,07,范围:01--32
<5>卫星仰角,79,范围:00--90
<6>卫星方位角,048,范围:000--359
<7>信噪比,42,dbHz,范围:00--99
--------------------------------------------+-----------------------------
<4>卫星PRN码编号,02,范围:01--32
<5>卫星仰角,51,范围:00--90
<6>卫星方位角,062,范围:000--359
<7>信噪比,43,dbHz,范围:00--99
--------------------------------------------+-----------------------------
<4>卫星PRN码编号,26,范围:01--32
<5>卫星仰角,36,范围:00--90
<6>卫星方位角,256,范围:000--359
<7>信噪比,42,dbHz,范围:00--99
--------------------------------------------+-----------------------------
<4>卫星PRN码编号,27,范围:01--32
<5>卫星仰角,27,范围:00--90
<6>卫星方位角,138,范围:000--359
<7>信噪比,42,dbHz,范围:00--99
<8>校验和,71
⑷GPRMC
推荐最小数据量的GPS信息(RecommendedMinimumSpecificGPS/TRANSITData)
样例:
$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,,A*10
格式:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*<13>
解析:
$--RMC消息ID,$GPRMC,RMC协议头。
<1>定位点的UTC时间,161229.487,格式:hhmmss.sss
<2>定位状态,A,A=定位,V=导航
<3>纬度,3723.2475,格式:ddmm.mmmm
<4>纬度方向,N,N=北纬;S=南纬
<5>经度,12158.3416,格式:dddmm.mmmm
<6>经度方向,W,W=西经;E=东经
<7>对地航速,0.13,Knots,范围:000.0--999.9,1Knot(节)=1852米/时
<8>对地航向,309.62,度,范围:000.0--359.9,以真北为参考基准。
<9>定位点的UTC日期,120598,格式:ddmmyy(日月年)
<10>磁偏角,(000.0--180.0度,前面的0也将被传输)
<11>磁偏角方向,E(东)或W(西)
<12>模式指示,A(仅NMEA-01833.0版本以上输出,A=自主定位,D=差分,E=估算,N=无效数据)
<13>校验和,*10
⑸GPVTG
地面速度信息(TrackMadeGoodandGroundSpeed)
样例:
$GPVTG,309.62,T,,M,0.13,N,0.2,K,A*6E
格式:
$GPVTG,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*<10>
解析:
$--VTG消息ID,$GPVTG,VTG协议头。
<1>对地航向,309.62,度,以真北为参考基准,二维方向指向,相当于二维罗盘
<2>参考方向,T,真北参考系
<3>磁偏角,度,
<4>参考方向,M,磁北参考系
<5>对地航速,0.13,Knots,范围:000.0--999.9
<6>单位,N,表示:节,Knots
<7>水平运动速度,0.2
<8>单位,K,表示:公里/时,km/h
<9>模式指示,A,A=自主定位,D=差分,E=估计,N=数据无效
<10>校验和,*6E
⑹GPGLL
地理定位信息(GeographicPosition)
样例:
$GPGLL,3723.2475,N,12158.3416,W,161229.487,A*2C
格式:
$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>*<7>
解析:
$--GLL消息ID,$GPGLL,GLL协议头。
<1>纬度,3723.2475,格式:ddmm.mmmm
<2>纬度方向,N,N=北纬;S=南纬
<3>经度,12158.3416,格式:dddmm.mmmm
<4>经度方向,W,W=西经;E=东经
<5>定位点的UTC时间,161229.487,格式:hhmmss.sss
<6>数据状态,A,A=定位数据有效,V=定位数据无效
<7>校验和,*2C
如对本文有疑问, 点击进行留言回复!!
互联网电视和传统电视企业均宣布自家销量第一,到底谁是真第一?
网友评论