GPS_RTCM标准协议

NMEA 0183是美国国家海洋电子协会( National Marine Electronics
Association )为海用电子设备制定的标准格式。目前业已成了GPS导航
设备统一的RTCM( Radio Technical Commission for Maritime services )
标准协议。

 

 

 注:发送次序$PZDA、$GPGGA、$GPGLL、$GPVTG、$GPGSA、$GPGSV*3、$GPRMC

协议帧总说明:
该协议采用ASCII 码,其串行通信默认参数为:波特率=4800bps,数据位=8bit ,开始位=1bit ,停止位=1bit ,无奇偶校验。
帧格式形如: $aaccc,ddd,ddd,,,ddd*hh<CR><LF>
1、“$”——帧命令起始位
2、aaccc ——地址域,前两位为识别符,后三位为语句名
3、ddd,ddd——数据
4、“*”——校验和前缀
5、hh——校验和( check sum), $与*之间所有字符ASCII 码的校验和(各字节做异或运算,得到校验和后,再转换16 进制格式的ASCII 字符。)
6、<CR><LF>—— CR( Carriage Return ) + LF (Line Feed )帧结束,回车和换行

$GPGGA
例: $GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F
字段0:$GPGGA,语句ID ,表明该语句为Global Positioning System Fix Data (GGA)GPS定位信

字段1:UTC 时间, hhmmss.sss ,时分秒格式
字段2:纬度ddmm.mmmm ,度分格式(前导位数不足则补0)
字段3:纬度N(北纬)或S(南纬)
字段4:经度dddmm.mmmm ,度分格式(前导位数不足则补0)
字段5:经度E(东经)或W(西经)
字段6:GPS状态, 0= 未定位, 1= 非差分定位, 2= 差分定位, 3= 无效PPS, 6= 正在估算
字段7:正在使用的卫星数量( 00 - 12 )(前导位数不足则补0)
字段8:HDOP 水平精度因子( 0.5 - 99.9 )
字段9:海拔高度( -9999.9 - 99999.9 )
字段10:地球椭球面相对大地水准面的高度
字段11:差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)
字段12:差分站ID 号0000 - 1023 (前导位数不足则补0,如果不是差分定位将为空)
字段13:校验值
$GPGSA
例: $GPGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A
字段0:$GPGSA,语句ID ,表明该语句为GPS DOP and Active Satellites (GSA)当前卫星信息
字段1:定位模式, A= 自动手动2D/3D ,M= 手动2D/3D
字段2:定位类型, 1= 未定位, 2=2D 定位, 3=3D 定位
字段3:PRN码(伪随机噪声码),第1 信道正在使用的卫星PRN码编号( 00)(前导位数不足则补0)
字段4:PRN码(伪随机噪声码),第2 信道正在使用的卫星PRN码编号( 00)(前导位数不足则补0)
字段5:PRN码(伪随机噪声码),第3 信道正在使用的卫星PRN码编号( 00)(前导位数不足则补0)
字段6:PRN码(伪随机噪声码),第4 信道正在使用的卫星PRN码编号( 00)(前导位数不足则补0)
字段7:PRN码(伪随机噪声码),第5 信道正在使用的卫星PRN码编号( 00)(前导位数不足则补0)
字段8:PRN码(伪随机噪声码),第6 信道正在使用的卫星PRN码编号( 00)(前导位数不足则补0)
字段9:PRN码(伪随机噪声码),第7 信道正在使用的卫星PRN码编号( 00)(前导位数不足则补0)
字段10:PRN码(伪随机噪声码),第8 信道正在使用的卫星PRN码编号( 00)(前导位数不足则补0)

字段11:PRN码(伪随机噪声码),第9 信道正在使用的卫星PRN码编号( 00)(前导位数不足则补0)
字段12:PRN码(伪随机噪声码),第10 信道正在使用的卫星PRN码编号( 00)(前导位数不足则补0)
字段13:PRN码(伪随机噪声码),第11 信道正在使用的卫星PRN码编号( 00)(前导位数不足则补0)
字段14:PRN码(伪随机噪声码),第12 信道正在使用的卫星PRN码编号( 00)(前导位数不足则补0)
字段15:PDOP 综合位置精度因子( 0.5 - 99.9 )
字段16:HDOP 水平精度因子( 0.5 - 99.9 )
字段17:VDOP 垂直精度因子( 0.5 - 99.9 )
字段18:校验值
$GPGSV
例: $GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70
字段0:$GPGSV,语句ID ,表明该语句为GPS Satellites in View (GSV)可见卫星信息
字段1:本次GSV语句的总数目( 1 - 3 )
字段2:本条GSV语句是本次GSV语句的第几条( 1 - 3 )
字段3:当前可见卫星总数( 00 - 12 )(前导位数不足则补0)
字段4:PRN 码(伪随机噪声码)( 01 - 32 )(前导位数不足则补0)
字段5:卫星仰角( 00 - 90 )度(前导位数不足则补0)
字段6:卫星方位角( 00 - 359 )度(前导位数不足则补0)
字段7:信噪比( 00 -99)dbHz
字段8:PRN 码(伪随机噪声码)( 01 - 32 )(前导位数不足则补0)
字段9:卫星仰角( 00 - 90 )度(前导位数不足则补0)
字段10:卫星方位角( 00 - 359 )度(前导位数不足则补0)
字段11:信噪比( 00-99)dbHz
字段12:PRN 码(伪随机噪声码)( 01 - 32 )(前导位数不足则补0)
字段13:卫星仰角( 00 - 90 )度(前导位数不足则补0)
字段14:卫星方位角( 00 - 359 )度(前导位数不足则补0)
字段15:信噪比( 00-99)dbHz
字段16:校验值
$GPRMC
例: $GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50
字段0:$GPRMC,语句ID ,表明该语句为Recommended Minimum Specific GPS/TRANSIT Data (RMC)推荐最小定位信息
字段1:UTC时间, hhmmss.sss 格式
字段2:状态, A= 定位, V= 未定位

字段3:纬度ddmm.mmmm ,度分格式(前导位数不足则补0)
字段4:纬度N(北纬)或S(南纬)
字段5:经度dddmm.mmmm ,度分格式(前导位数不足则补0)
字段6:经度E(东经)或W(西经)
字段7:速度,节, Knots
字段8:方位角,度
字段9:UTC日期, DDMMYY 格式
字段10:磁偏角,( 000 - 180 )度(前导位数不足则补0)
字段11:磁偏角方向, E=东W=西
字段16:校验值
$GPVTG
例: $GPVTG,89.68,T,,M,0.00,N,0.0,K*5F
字段0:$GPVTG,语句ID ,表明该语句为Track Made Good and Ground Speed (VTG)地面速度信息
字段1:运动角度, 000 - 359 ,(前导位数不足则补0)
字段2:T= 真北参照系
字段3:运动角度, 000 - 359 ,(前导位数不足则补0)
字段4:M= 磁北参照系
字段5:水平运动速度( 0.00 )(前导位数不足则补0)
字段6:N= 节, Knots
字段7:水平运动速度( 0.00 )(前导位数不足则补0)
字段8:K= 公里/时, km/h
字段9:校验值
$GPGLL
例: $GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D
字段0:$GPGLL,语句ID ,表明该语句为Geographic Position (GLL)地理定位信息
字段1:纬度ddmm.mmmm ,度分格式(前导位数不足则补0)
字段2:纬度N(北纬)或S(南纬)
字段3:经度dddmm.mmmm ,度分格式(前导位数不足则补0)
字段4:经度E(东经)或W(西经)
字段5:UTC时间, hhmmss.sss 格式
字段6:状态, A= 定位, V= 未定位
字段7:校验值

 

NMEA0183数据如下:
$GPGGA,121252.000,3937.3032,N,11611.6046,E,1,05,2.0,45.9,M,-5.7,M,,0000*77
$GPRMC,121252.000,A,3958.3032,N,11629.6046,E,15.15,359.95,070306,,,A*54
$GPVTG,359.95,T,,M,15.15,N,28.0,K,A*04
$GPGGA,121253.000,3937.3090,N,11611.6057,E,1,06,1.2,44.6,M,-5.7,M,,0000*72
$GPGSA,A,3,14,15,05,22,18,26,,,,,,,2.1,1.2,1.7*3D
$GPGSV,3,1,10,18,84,067,23,09,67,067,27,22,49,312,28,15,47,231,30*70
$GPGSV,3,2,10,21,32,199,23,14,25,272,24,05,21,140,32,26,14,070,20*7E
$GPGSV,3,3,10,29,07,074,,30,07,163,28*7D


说明:NMEA0183格式以“ $”开始,主要语句有GPGGA,GPVTG,GPRMC等
1、GPS DOP and Active Satellites (GSA)当前卫星信息$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7><cr></cr><lf></lf>
<1>模式:M = 手动, A = 自动。
<2>定位型式 1 = 未定位, 2 = 二维定位, 3 = 三维定位。
<3>PRN 数字: 01 至 32 表天空使用中的卫星编号,最多可接收12 颗卫星信息。
<4> PDOP位置精度因子( 0.5~99.9 )
<5> HDOP水平精度因子( 0.5~99.9 )
<6> VDOP垂直精度因子( 0.5~99.9 )
<7> Checksum.( 检查位).


2、GPS Satellites in View (GSV)可见卫星信息
$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6>,<7>,<8><cr></cr><lf></lf>
<1> GSV 语句的总数
<2> 本句GSV的编号
<3> 可见卫星的总数, 00 至 12 。
<4> 卫星编号, 01 至 32 。
<5> 卫星仰角, 00 至 90 度。
<6> 卫星方位角, 000 至 359 度。实际值。
<7> 讯号噪声比( C/No), 00 至 99 dB ;无表未接收到讯号。

<8> Checksum.( 检查位). 第<4>,<5>,<6>,<7> 项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现,若未使用,这些字段会空白。


3、Global Positioning System Fix Data (GGA)GPS定位信息
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<cr></cr><lf></lf>
<1> UTC 时间, hhmmss(时分秒)格式
<2> 纬度 ddmm.mmm(m度分)格式(前面的 0 也将被传输)
<3> 纬度半球N(北半球)或S(南半球)
<4> 经度 dddmm.mmm(m度分)格式(前面的 0 也将被传输)
<5> 经度半球E(东经)或W(西经)
<6> GPS 状态: 0=未定位, 1=非差分定位, 2=差分定位, 6=正在估算
<7> 正在使用解算位置的卫星数量( 00~12)(前面的0 也将被传输)
<8> HDOP水平精度因子( 0.5~99.9 )
<9> 海拔高度( -9999.9~99999.9 )
<10> 地球椭球面相对大地水准面的高度
<11> 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)
<12> 差分站ID 号0000~1023(前面的0 也将被传输,如果不是差分定位将为空)、

4、Recommended Minimum Specific GPS/TRANSIT Data (RMC)推荐定位信息
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<cr></cr><lf></lf>
<1> UTC 时间, hhmmss(时分秒)格式
<2> 定位状态, A=有效定位, V=无效定位
<3> 纬度 ddmm.mmm(m度分)格式(前面的 0 也将被传输)
<4> 纬度半球N(北半球)或S(南半球)
<5> 经度 dddmm.mmm(m度分)格式(前面的 0 也将被传输)
<6> 经度半球E(东经)或W(西经)
<7> 地面速率( 000.0~999.9 节,前面的0 也将被传输)
<8> 地面航向( 000.0~359.9 度,以真北为参考基准, 前面的0 也将被传输)
<9> UTC 日期, ddmmyy(日月年)格式
<10> 磁偏角( 000.0~180.0 度,前面的0 也将被传输)
<11> 磁偏角方向, E(东)或W(西)
<12> 模式指示(仅NMEA0183 3.00 版本输出, A=自主定位, D=差分, E=估算, N=数据无效)


5、Track Made Good and Ground Speed (VTG)地面速度信息

$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh<cr></cr><lf></lf>
<1> 以真北为参考基准的地面航向( 000~359 度,前面的0 也将被传输)
<2> 以磁北为参考基准的地面航向( 000~359 度,前面的0 也将被传输)
<3> 地面速率( 000.0~999.9 节,前面的0 也将被传输)
<4> 地面速率( 0000.0~1851.8 公里/ 小时,前面的0 也将被传输)
<5> 模式指示(仅NMEA0183 3.00 版本输出, A=自主定位, D=差分, E=估算, N=数据无效)

 

posted @ 2020-12-22 09:13  通宵敲代码  阅读(3083)  评论(0编辑  收藏  举报