当前位置: 移动技术网 > 网络运营>网络>协议 > NMEA-0183协议详解

NMEA-0183协议详解

2018年02月07日  | 移动技术网网络运营  | 我要评论

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、——CR(CarriageReturn)+LF(LineFeed)帧结束,回车换行。

 

⑴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

回车换行将消息结束。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网