INS/GNSS组合导航(十四)GPS NMEA-0183协议解析

GPS协议标准目前常用到的是NMEA-0183,很显然,这是由NMEA发布的一个标准。

NMEA是National Marine Electronics Association ,即美国国家海洋电子协会的缩写,NMEA是GPS的管理者,为方便GPS的推广应用,发布了一系列GPS协议的标准格式。

NMEA-0183就是GPS协议标准的一个,它的早期版本为NMEA-0180和NMEA-0182。虽然它现在仍然用得很多,但时光的车轮在前进,它将会逐渐被最新的NMEA 2000所替代。

NMEA-183是一个基于ASCII的串行通信协议,它由一个个的语句组成,理解起来很简单。
下面对它的一些常用的语句进行举例说明,这些,是协议分析中会碰到的。
这些常用的NMEA-0183语句如下:

注:发送次序
$ PZDA、$ GPGGA、$ GPGLL、$ GPVTG、
$ GPGSA、$ GPGSV3、$ GPRMC
协议帧总说明:   
该协议采用ASCII码,其串行通信默认参数为:波特率=4800bps,数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验。   
帧格式形如:$aaccc,ddd,ddd,…,dddhh

1、“ $ ”——帧命令起始位   
2、aaccc——地址域,前两位为识别符,后三位为语句名   
3、ddd…ddd——数据  
4、“ * ”——校验和前缀   
5、hh——校验和(check sum),$与*之间所有字符ASCII码的校验和(各字节做异或运算,得到校验和后,再转换16进制格式的ASCII字符。)   
6、——CR(Carriage Return) + LF(Line Feed)帧结束,回车和换行

1.$GPGGA   
GPS固定数据输出语句,这是一帧GPS定位的主要数据,也是使用最广的数据。

$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*<15>

<1> UTC时间,格式为hhmmss.sss。  
<2> 纬度,格式为ddmm.mmmm(前导位数不足则补0)。   
<3> 纬度半球,N或S(北纬或南纬)。   
<4> 经度,格式为dddmm.mmmm(前导位数不足则补0)。 
<5> 经度半球,E或W(东经或西经)。   
<6> 定位质量指示,0=定位无效,1=定位有效。   
<7> 使用卫星数量,从00到12(前导位数不足则补0)。   <8> 水平精确度,0.5到99.9。   
<9> 天线离海平面的高度,-9999.9到9999.9米   
<10> 高度单位,M表示单位米。   
<11> 大地椭球面相对海平面的高度(-999.9到999.9)。   <12> 高度单位,M表示单位米。   
<13> 差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量。   
<14> 差分参考基站标号,从0000到1023(前导位数不足则补0)。   
<15> 校验和。

2 $GPGSA   
GPS DOP and Active Satellites(GSA)当前卫星信息

$GPGSA,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<4>,<5>,<6>,<7>

<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.(检查位).

3 G P G S V ∗ ∗   可 视 卫 星 状 态 输 出 语 句       ∗ ∗ GPGSV**  可视卫星状态输出语句     **GPGSV∗∗ 可视卫星状态输出语句   ∗∗GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,…,<4>,<5>,<6>,<7>*<8>

<1> 总的GSV语句电文数。   
<2> 当前GSV语句号。   
<3> 可视卫星总数,00至12。   
<4> 卫星编号,01至32。   
<5> 卫星仰角,00至90度。   
<6> 卫星方位角,000至359度。实际值。   
<7> 信噪比(C/No),00至99dB;无表未接收到讯号。   <8> 校验和。

注:每条语句最多包括四颗卫星的信息,每颗卫星的信息有四个数据项,即:卫星编号、卫星仰角、卫星方位角、信噪比。
   
4 $GPRMC   
推荐最小数据量的GPS信息(Recommended Minimum Specific GPS/TRANSIT Data)

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*<13>

<1> UTC(Coordinated Universal Time)时间,hhmmss(时分秒)格式   
<2> 定位状态,A=有效定位,V=无效定位   
<3> Latitude,纬度ddmm.mmmm(度分)格式(前导位数不足则补0)   
<4> 纬度半球N(北半球)或S(南半球)   
<5> Longitude,经度dddmm.mmmm(度分)格式(前导位数不足则补0)   
<6> 经度半球E(东经)或W(西经)   
<7> 地面速率(000.0~999.9节,Knot,前导位数不足则补0)   
<8> 地面航向(000.0~359.9度,以真北为参考基准,前导位数不足则补0)   
<9> UTC日期,ddmmyy(日月年)格式   
<10> Magnetic Variation,磁偏角(000.0~180.0度,前导位数不足则补0)   
<11> Declination,磁偏角方向,E(东)或W(西)   
<12> Mode Indicator,模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)   
<13> 校验和。

5. $GPVTG 地面速度信息

G P V T G , < 1 > , < 2 > , < 3 > , < 4 > , < 5 > , < 6 > , < 7 > , < 8 > , < 9 > ∗ < 10 >       例 : GPVTG,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*<10>    例:GPVTG,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>∗<10>   例: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:校验值

6. $ GPGLL 大地坐标信息
地理定位信息$ GPGLL的标准格式如下:
*$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>hh

例:$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:校验值
7 $ GPZDA 当前时间信息
*$GPZDA,<1>,<2>,<3>,<4>,<5>,<6>hh

例如: $GPZDA,105001,25,02,2008,-08,00*67
字段1: UTC时间 ,hhmmss(时分秒)
字段2: 日
字段3:月
字段4:年
字段5:本地区域小时(NEO-6M未用到,为00-正负13)
字段6:本地区域分钟(NEO-6M未用到,为00-59)
字段7: 校验和
每一帧最后都有一个hh的校验和,该校验和是通过计算 $与 * 之间所有字符ASCII码的异或运算得到, 将得到的结果以ASCII字符表示就是该校验了。

原文链接

19 Interpreted sentences

   $GPBOD - Bearing, origin to destination
   $GPBWC - Bearing and distance to waypoint, great circle
   $GPGGA - Global Positioning System Fix Data
   $GPGLL - Geographic position, latitude / longitude
   $GPGSA - GPS DOP and active satellites 
   $GPGSV - GPS Satellites in view
   $GPHDT - Heading, True
   $GPR00 - List of waypoints in currently active route
   $GPRMA - Recommended minimum specific Loran-C data
   $GPRMB - Recommended minimum navigation info
   $GPRMC - Recommended minimum specific GPS/Transit data
   $GPRTE - Routes
   $GPTRF - Transit Fix Data
   $GPSTN - Multiple Data ID
   $GPVBW - Dual Ground / Water Speed
   $GPVTG - Track made good and ground speed
   $GPWPL - Waypoint location
   $GPXTE - Cross-track error, Measured
   $GPZDA - Date & Time

There is a full list of $GPxxx sentence codes available, without links to format details.

[Top]


$GPBOD

Bearing Origin to Destination

eg.  BOD,045.,T,023.,M,DEST,START
           045.,T       bearing 045 degrees True from "START" to "DEST"
           023.,M       breaing 023 degrees Magnetic from "START" to "DEST"
           DEST         destination waypoint ID
           START        origin waypoint ID

Example 1: $GPBOD,099.3,T,105.6,M,POINTB,*01
Waypoint ID: "POINTB" Bearing 99.3 True, 105.6 Magnetic
This sentence is transmitted in the GOTO mode, without an active route on your GPS. WARNING: this is the bearing from the moment you press enter in the GOTO page to the destination waypoint and is NOT updated dynamically! To update the information, (current bearing to waypoint), you will have to press enter in the GOTO page again.

Example 2: $GPBOD,097.0,T,103.2,M,POINTB,POINTA*52
This sentence is transmitted when a route is active. It contains the active leg information: origin waypoint "POINTA" and destination waypoint "POINTB", bearing between the two points 97.0 True, 103.2 Magnetic. It does NOT display the bearing from current location to destination waypoint! WARNING Again this information does not change until you are on the next leg of the route. (The bearing from POINTA to POINTB does not change during the time you are on this leg.)


$GPBWC

Bearing and distance to waypoint, great circle

eg1. $GPBWC,081837,,,,,,T,,M,,N,*13

        BWC,225444,4917.24,N,12309.57,W,051.9,T,031.6,M,001.3,N,004*29
           225444       UTC time of fix 22:54:44
           4917.24,N    Latitude of waypoint
           12309.57,W   Longitude of waypoint
           051.9,T      Bearing to waypoint, degrees true
           031.6,M      Bearing to waypoint, degrees magnetic
           001.3,N      Distance to waypoint, Nautical miles
           004          Waypoint ID


eg2. $GPBWC,220516,5130.02,N,00046.34,W,213.8,T,218.0,M,0004.6,N,EGLM*11
               1      2    3     4    5    6  7   8   9    10  11 12 13


      1    220516    timestamp
      2    5130.02   Latitude of next waypoint
      3    N         North/South
      4    00046.34  Longitude of next waypoint
      5    W         East/West
      6    213.0     True track to waypoint
      7    T         True Track
      8    218.0     Magnetic track to waypoint
      9    M         Magnetic
      10   0004.6    range to waypoint
      11   N         unit of range to waypoint, N = Nautical miles
      12   EGLM      Waypoint name
      13   *11       checksum

$GPGGA

Global Positioning System Fix Data

NameExample DataDescription
Sentence Identifier$GPGGAGlobal Positioning System Fix Data
Time17083417:08:34 Z
Latitude4124.8963, N41d 24.8963' N or 41d 24' 54" N
Longitude08151.6838, W81d 51.6838' W or 81d 51' 41" W
Fix Quality:
- 0 = Invalid
- 1 = GPS fix
- 2 = DGPS fix
1Data is from a GPS fix
Number of Satellites055 Satellites are in view
Horizontal Dilution of Precision (HDOP)1.5Relative accuracy of horizontal position
Altitude280.2, M280.2 meters above mean sea level
Height of geoid above WGS84 ellipsoid-34.0, M-34.0 meters
Time since last DGPS updateblankNo last update
DGPS reference station idblankNo station id
Checksum*75Used by program to check for transmission errors

Courtesy of Brian McClure, N8PQI.

Global Positioning System Fix Data. Time, position and fix related data for a GPS receiver.

eg2. $--GGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx

hhmmss.ss = UTC of position
llll.ll = latitude of position
a = N or S
yyyyy.yy = Longitude of position
a = E or W
x = GPS Quality indicator (0=no fix, 1=GPS fix, 2=Dif. GPS fix)
xx = number of satellites in use
x.x = horizontal dilution of precision
x.x = Antenna altitude above mean-sea-level
M = units of antenna altitude, meters
x.x = Geoidal separation
M = units of geoidal separation, meters
x.x = Age of Differential GPS data (seconds)
xxxx = Differential reference station ID

eg3. $GPGGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh
1    = UTC of Position
2    = Latitude
3    = N or S
4    = Longitude
5    = E or W
6    = GPS quality indicator (0=invalid; 1=GPS fix; 2=Diff. GPS fix)
7    = Number of satellites in use [not those in view]
8    = Horizontal dilution of position
9    = Antenna altitude above/below mean sea level (geoid)
10   = Meters  (Antenna height unit)
11   = Geoidal separation (Diff. between WGS-84 earth ellipsoid and
       mean sea level.  -=geoid is below WGS-84 ellipsoid)
12   = Meters  (Units of geoidal separation)
13   = Age in seconds since last update from diff. reference station
14   = Diff. reference station ID#
15   = Checksum

$GPGLL

Geographic Position, Latitude / Longitude and time.

eg1. $GPGLL,3751.65,S,14507.36,E*77
eg2. $GPGLL,4916.45,N,12311.12,W,225444,A


           4916.46,N    Latitude 49 deg. 16.45 min. North
           12311.12,W   Longitude 123 deg. 11.12 min. West
           225444       Fix taken at 22:54:44 UTC
           A            Data valid


eg3. $GPGLL,5133.81,N,00042.25,W*75
               1    2     3    4 5

      1    5133.81   Current latitude
      2    N         North/South
      3    00042.25  Current longitude
      4    W         East/West
      5    *75       checksum

$--GLL,lll.ll,a,yyyyy.yy,a,hhmmss.ss,A llll.ll = Latitude of position

a = N or S
yyyyy.yy = Longitude of position
a = E or W
hhmmss.ss = UTC of position
A = status: A = valid data


$GPGSA

GPS DOP and active satellites

eg1. $GPGSA,A,3,,,,,,16,18,,22,24,,,3.6,2.1,2.2*3C
eg2. $GPGSA,A,3,19,28,14,18,27,22,31,39,,,,,1.7,1.0,1.3*35


1    = Mode:
       M=Manual, forced to operate in 2D or 3D
       A=Automatic, 3D/2D
2    = Mode:
       1=Fix not available
       2=2D
       3=3D
3-14 = IDs of SVs used in position fix (null for unused fields)
15   = PDOP
16   = HDOP
17   = VDOP

$GPGSV

GPS Satellites in view

eg. $GPGSV,3,1,11,03,03,111,00,04,15,270,00,06,01,010,00,13,06,292,00*74
    $GPGSV,3,2,11,14,25,170,00,16,57,208,39,18,67,296,40,19,40,246,00*74
    $GPGSV,3,3,11,22,42,067,42,24,14,311,43,27,05,244,00,,,,*4D


    $GPGSV,1,1,13,02,02,213,,03,-3,000,,11,00,121,,14,13,172,05*67


1    = Total number of messages of this type in this cycle
2    = Message number
3    = Total number of SVs in view
4    = SV PRN number
5    = Elevation in degrees, 90 maximum
6    = Azimuth, degrees from true north, 000 to 359
7    = SNR, 00-99 dB (null when not tracking)
8-11 = Information about second SV, same as field 4-7
12-15= Information about third SV, same as field 4-7
16-19= Information about fourth SV, same as field 4-7

$GPHDT

Heading, True.

Actual vessel heading in degrees Ture produced by any device or system producing true heading.

$--HDT,x.x,T
x.x = Heading, degrees True


$GPR00

List of waypoint IDs in currently active route

eg1. $GPR00,EGLL,EGLM,EGTB,EGUB,EGTK,MBOT,EGTB,,,,,,,*58
eg2. $GPR00,MINST,CHATN,CHAT1,CHATW,CHATM,CHATE,003,004,005,006,007,,,*05


List of waypoints. This alternates with $GPWPL cycle
which itself cycles waypoints.

$GPRMA

Recommended minimum specific Loran-C data

eg. $GPRMA,A,llll.ll,N,lllll.ll,W,,,ss.s,ccc,vv.v,W*hh
1    = Data status 
2    = Latitude
3    = N/S
4    = longitude
5    = W/E
6    = not used
7    = not used
8    = Speed over ground in knots
9    = Course over ground
10   = Variation
11   = Direction of variation E/W
12   = Checksum 

$GPRMB

Recommended minimum navigation information (sent by nav. receiver when a destination waypoint is active)

eg1. $GPRMB,A,0.66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,000.5,V*0B


           A            Data status A = OK, V = warning
           0.66,L       Cross-track error (nautical miles, 9.9 max.),
                                steer Left to correct (or R = right)
           003          Origin waypoint ID
           004          Destination waypoint ID
           4917.24,N    Destination waypoint latitude 49 deg. 17.24 min. N
           12309.57,W   Destination waypoint longitude 123 deg. 09.57 min. W
           001.3        Range to destination, nautical miles
           052.5        True bearing to destination
           000.5        Velocity towards destination, knots
           V            Arrival alarm  A = arrived, V = not arrived
           *0B          mandatory checksum


eg2. $GPRMB,A,4.08,L,EGLL,EGLM,5130.02,N,00046.34,W,004.6,213.9,122.9,A*3D
            1   2  3   4    5    6     7   8      9   10    11    12   13

  
      1    A         validity
      2    4.08      off track
      3    L         Steer Left (L/R)
      4    EGLL      last waypoint
      5    EGLM      next waypoint
      6    5130.02   Latitude of Next waypoint
      7    N         North/South
      8    00046.34  Longitude of next waypoint
      9    W         East/West
      10   004.6     Range
      11   213.9     bearing to waypt.
      12   122.9     closing velocity
      13   A         validity
      14   *3D       checksum


eg3. $GPRMB,A,x.x,a,c--c,d--d,llll.ll,e,yyyyy.yy,f,g.g,h.h,i.i,j*kk
1    = Data Status (V=navigation receiver warning)
2    = Crosstrack error in nautical miles
3    = Direction to steer (L or R) to correct error
4    = Origin waypoint ID#
5    = Destination waypoint ID#
6    = Destination waypoint latitude
7    = N or S
8    = Destination waypoint longitude
9    = E or W
10   = Range to destination in nautical miles
11   = Bearing to destination, degrees True
12   = Destination closing velocity in knots
13   = Arrival status; (A=entered or perpendicular passed)
14   = Checksum

$GPRMC

Recommended minimum specific GPS/Transit data

eg1. $GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62
eg2. $GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*68


           225446       Time of fix 22:54:46 UTC
           A            Navigation receiver warning A = OK, V = warning
           4916.45,N    Latitude 49 deg. 16.45 min North
           12311.12,W   Longitude 123 deg. 11.12 min West
           000.5        Speed over ground, Knots
           054.7        Course Made Good, True
           191194       Date of fix  19 November 1994
           020.3,E      Magnetic variation 20.3 deg East
           *68          mandatory checksum


eg3. $GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W*70
              1    2    3    4    5     6    7    8      9     10  11 12


      1   220516     Time Stamp
      2   A          validity - A-ok, V-invalid
      3   5133.82    current Latitude
      4   N          North/South
      5   00042.24   current Longitude
      6   W          East/West
      7   173.8      Speed in knots
      8   231.8      True course
      9   130694     Date Stamp
      10  004.2      Variation
      11  W          East/West
      12  *70        checksum


eg4. $GPRMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,ddmmyy,x.x,a*hh
1    = UTC of position fix
2    = Data status (V=navigation receiver warning)
3    = Latitude of fix
4    = N or S
5    = Longitude of fix
6    = E or W
7    = Speed over ground in knots
8    = Track made good in degrees True
9    = UT date
10   = Magnetic variation degrees (Easterly var. subtracts from true course)
11   = E or W
12   = Checksum

$GPRTE

Routes

eg. $GPRTE,2,1,c,0,PBRCPK,PBRTO,PTELGR,PPLAND,PYAMBU,PPFAIR,PWARRN,PMORTL,PLISMR*73
    $GPRTE,2,2,c,0,PCRESY,GRYRIE,GCORIO,GWERR,GWESTG,7FED*34
           1 2 3 4 5 ..
  1. Number of sentences in sequence
  2. Sentence number
  3. 'c' = Current active route, 'w' = waypoint list starts with destination waypoint
  4. Name or number of the active route
  5. onwards, Names of waypoints in Route

$GPTRF

Transit Fix Data

Time, date, position, and information related to a TRANSIT Fix.

$--TRF,hhmmss.ss,xxxxxx,llll.ll,a,yyyyy.yy,a,x.x,x.x,x.x,x.x,xxx
hhmmss.ss = UTC of position fix
xxxxxx = Date: dd/mm/yy
llll.ll,a = Latitude of position fix, N/S
yyyyy.yy,a = Longitude of position fix, E/W
x.x = Elevation angle
x.x = Number of iterations
x.x = Number of Doppler intervals
x.x = Update distance, nautical miles
x.x = Satellite ID


$GPSTN

Multiple Data ID.

This sentence is transmitted before each individual sentence where there is a need for the Listener to determine the exact source of data in the system. Examples might include dual-frequency depthsounding equipment or equipment that integrates data from a number of sources and produces a single output.

$--STN,xx
xx = Talker ID number, 00 to 99


$GPVBW

Dual Ground / Water Speed

Water referenced and ground referenced speed data.

$--VBW,x.x,x.x,A,x.x,x.x,A
x.x = Longitudinal water speed, knots
x.x = Transverse water speed, knots
A = Status: Water speed, A = Data valid
x.x = Longitudinal ground speed, knots
x.x = Transverse ground speed, knots
A = Status: Ground speed, A = Data valid


$GPVTG

Track Made Good and Ground Speed.

eg1. $GPVTG,360.0,T,348.7,M,000.0,N,000.0,K*43
eg2. $GPVTG,054.7,T,034.4,M,005.5,N,010.2,K


           054.7,T      True track made good
           034.4,M      Magnetic track made good
           005.5,N      Ground speed, knots
           010.2,K      Ground speed, Kilometers per hour


eg3. $GPVTG,t,T,,,s.ss,N,s.ss,K*hh
1    = Track made good
2    = Fixed text 'T' indicates that track made good is relative to true north
3    = not used
4    = not used
5    = Speed over ground in knots
6    = Fixed text 'N' indicates that speed over ground in in knots
7    = Speed over ground in kilometers/hour
8    = Fixed text 'K' indicates that speed over ground is in kilometers/hour
9    = Checksum

The actual track made good and speed relative to the ground.

$--VTG,x.x,T,x.x,M,x.x,N,x.x,K
x.x,T = Track, degrees True
x.x,M = Track, degrees Magnetic
x.x,N = Speed, knots
x.x,K = Speed, Km/hr


$GPWPL

Waypoint location

eg1. $GPWPL,4917.16,N,12310.64,W,003*65


           4917.16,N    Latitude of waypoint
           12310.64,W   Longitude of waypoint
           003          Waypoint ID


             When a route is active, this sentence is sent once for each
             waypoint in the route, in sequence. When all waypoints have
             been reported, GPR00 is sent in the next data set. In any
             group of sentences, only one WPL sentence, or an R00
             sentence, will be sent.


eg2.  $GPWPL,5128.62,N,00027.58,W,EGLL*59
         1     2     3    4  5   6


      1    5128.62   Latitude of nth waypoint on list
      2    N         North/South
      3    00027.58  Longitude of nth waypoint
      4    W         East/West
      5    EGLL      Ident of nth waypoint
      6    *59       checksum

$GPXTE

Cross Track Error, Measured

eg1. $GPXTE,A,A,0.67,L,N


           A            General warning flag V = warning
                                (Loran-C Blink or SNR warning)
           A            Not used for GPS (Loran-C cycle lock flag)
           0.67         cross track error distance
           L            Steer left to correct error (or R for right)
           N            Distance units - Nautical miles


eg2. $GPXTE,A,A,4.07,L,N*6D
            1 2  3   4 5 6


      1    A         validity
      2    A         cycle lock
      3    4.07      distance off track
      4    L         steer left (L/R)
      5    N         distance units
      6    *6D       checksum

$GPZDA

Date & Time

UTC, day, month, year, and local time zone.

$--ZDA,hhmmss.ss,xx,xx,xxxx,xx,xx
hhmmss.ss = UTC
xx = Day, 01 to 31
xx = Month, 01 to 12
xxxx = Year
xx = Local zone description, 00 to +/- 13 hours
xx = Local zone minutes description (same sign as hours)

Top ]


6 Garmin proprietary sentences with 4 interpreted

   $PGRME - Estimated Position Error
   $PGRMF - Position Fix Sentence
   $PGRMM - Map Datum
   $PGRMV - Velocity Sentence
   $PGRMZ - Altitude Information
   $PSLIB - Differential Control

[Top]


$PGRME

Estimated Position Error

eg. $PGRME,15.0,M,45.0,M,25.0,M*22


           15.0,M       Estimated horizontal position error in metres (HPE)
           45.0,M       Estimated vertical error (VPE) in metres
           25.0,M       Overall spherical equivalent position error

$PGRMM

Map datum

eg1. $PGRMM,Astrln Geod '66*51
eg2. $PGRMM,NAD27 Canada*2F

    
       Currently active horizontal datum

$PGRMZ

Altitude Information

eg1. $PGRMZ,246,f,3*1B
eg2. $PGRMZ,93,f,3*21

     
      93,f         Altitude in feet
       3            Position fix dimensions 2 = user altitude
                                            3 = GPS altitude
  This sentence shows in feet, regardless of units shown on the display.


eg3.  $PGRMZ,201,f,3*18
              1  2 3


      1  201   Altitude
      2  F     Units - f-Feet
      3  checksum

$PSLIB

Proprietry Garman (Differential Control)

Proprietary sentences to control a Starlink differential beacon receiver. (I assume Garmin's DBR is made by Starlink)

eg1.    $PSLIB,,,J*22
eg2.    $PSLIB,,,K*23
           These two sentences are normally sent together in each group
           of sentences from the GPS.
           The three fields are: Frequency, bit Rate, Request Type.  The
           value in the third field may be:
                J = status request
                K = configuration request
                blank = tuning message


           When the GPS receiver is set to change the DBR frequency or
           baud rate, the "J" sentence is replaced (just once) by (for
           example): $PSLIB,320.0,200*59 to set the DBR to 320 KHz, 200
           baud.

Top ]


All $GPxxx sentence codes and short descriptions

 
 
  • $GPAAM - Waypoint Arrival Alarm
  • $GPALM - GPS Almanac Data
  • $GPAPA - Autopilot Sentence "A"
  • $GPAPB - Autopilot Sentence "B"
  • $GPASD - Autopilot System Data
  • $GPBEC - Bearing & Distance to Waypoint, Dead Reckoning
  • $GPBOD - Bearing, Origin to Destination
  • $GPBWC - Bearing & Distance to Waypoint, Great Circle
  • $GPBWR - Bearing & Distance to Waypoint, Rhumb Line
  • $GPBWW - Bearing, Waypoint to Waypoint
  • $GPDBT - Depth Below Transducer
  • $GPDCN - Decca Position
  • $GPDPT - Depth
  • $GPFSI - Frequency Set Information
  • $GPGGA - Global Positioning System Fix Data
  • $GPGLC - Geographic Position, Loran-C
  • $GPGLL - Geographic Position, Latitude/Longitude
  • $GPGSA - GPS DOP and Active Satellites
  • $GPGSV - GPS Satellites in View
  • $GPGXA - TRANSIT Position
  • $GPHDG - Heading, Deviation & Variation
  • $GPHDT - Heading, True
  • $GPHSC - Heading Steering Command
  • $GPLCD - Loran-C Signal Data
  • $GPMTA - Air Temperature (to be phased out)
  • $GPMTW - Water Temperature
  • $GPMWD - Wind Direction
  • $GPMWV - Wind Speed and Angle
  • $GPOLN - Omega Lane Numbers
  • $GPOSD - Own Ship Data
  • $GPR00 - Waypoint active route (not standard)
  • $GPRMA - Recommended Minimum Specific Loran-C Data
  • $GPRMB - Recommended Minimum Navigation Information
  • $GPRMC - Recommended Minimum Specific GPS/TRANSIT Data
  • $GPROT - Rate of Turn
  • $GPRPM - Revolutions
  • $GPRSA - Rudder Sensor Angle
  • $GPRSD - RADAR System Data
  • $GPRTE - Routes
  • $GPSFI - Scanning Frequency Information
  • $GPSTN - Multiple Data ID
  • $GPTRF - Transit Fix Data
  • $GPTTM - Tracked Target Message
  • $GPVBW - Dual Ground/Water Speed
  • $GPVDR - Set and Drift
  • $GPVHW - Water Speed and Heading
  • $GPVLW - Distance Traveled through the Water
  • $GPVPW - Speed, Measured Parallel to Wind
  • $GPVTG - Track Made Good and Ground Speed
  • $GPWCV - Waypoint Closure Velocity
  • $GPWNC - Distance, Waypoint to Waypoint
  • $GPWPL - Waypoint Location
  • $GPXDR - Transducer Measurements
  • $GPXTE - Cross-Track Error, Measured
  • $GPXTR - Cross-Track Error, Dead Reckoning
  • $GPZDA - Time & Date
  • $GPZFO - UTC & Time from Origin Waypoint
  • $GPZTG - UTC & Time to Destination Waypoint

Top ]


Format of latitudes and longitudes

Where a numeric latitude or longitude is given, the two digits immediately to the left of the decimal point are whole minutes, to the right are decimals of minutes, and the remaining digits to the left of the whole minutes are whole degrees.

eg. 4533.35 is 45 degrees and 33.35 minutes. ".35" of a minute is exactly 21 seconds.

eg. 16708.033 is 167 degrees and 8.033 minutes. ".033" of a minute is about 2 seconds.

附带解析链接


NMEA数据解析方法

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值