Detailed explanation of NMEA 0183 sentences output by Beidou/GPS module

NMEA-0183 is a standard format developed by the National Marine Electronics Association for marine electronic equipment. It has become a unified RTCM (Radio Technical Commission for Maritime services) standard protocol for GPS/Beidou navigation equipment.

The NMEA-0183 protocol uses ASCII codes to transmit GPS positioning information, which we call frames.

The frame format is like: $aaccc,ddd,ddd,...,ddd*hh(CR)(LF)

1. "$": Start bit of frame command

2. aaccc: address domain, the first two digits are the identifier (aa), the last three digits are the sentence name (ccc)

3. ddd...ddd: data

4. "*": Checksum prefix (can also be used as a sign of the end of the statement data)

5. hh: check sum (check sum), the checksum of the ASCII code of all characters between $ and * (each byte is XORed, and the checksum is obtained, and then the ASCII characters in hexadecimal format are converted)

6. (CR) (LF): end of frame, carriage return and line feed

(1) What do some NEMA sentences output by Beidou/GPS positioning module start with GN, some GP or BD?
Insert picture description here
(2) Commonly used NEMA-0183 sentences
Insert picture description here
(3) NMEA sentence analysis
GPGGA example: GPGGA example:G P G G A Example : GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,0000*1F
Field 0: $GPGGA, statement ID, indicating that the statement is Global Positioning System Fix Data (GGA) GPS positioning information
Field 1: UTC time, hhmmss.sss, hour, minute and second format
Field 2: Latitude ddmm.mmmm, degree and minute format (if the leading digit is insufficient, add 0)
Field 3: Latitude N (north latitude) or S ( South latitude)
Field 4: Longitude dddmm.mmmm, in degrees and minutes format (if the leading digit is insufficient, add 0)
Field 5: Longitude E (east longitude) or W (west longitude)
Field 6: GPS status, 0=not located, 1= Non-differential positioning, 2=Differential positioning, 3=Invalid PPS, 6=Estimating
Field 7: Number of satellites in use (00-12) (If the leading digit is insufficient, add 0)
Field 8: HDOP level precision factor (0.5- 99.9)
Field 9: Altitude (-9999.9-99999.9)
Field 10: The height of the earth ellipsoid relative to the geoid
Field 11: Differential time (the number of seconds since the last received differential signal, if it is not differential positioning, it will be empty )
Field 12: Differential station ID number 0000-1023 (If the leading digit is insufficient, add 0, if it is not differential positioning, it will be blank)
Field 13: Check value

GPGLL example: GPGLL example: G P G L L Example : GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D
Field 0: $GPGLL, sentence ID, indicating that the sentence is a Geographic Position (GLL) geographic positioning information
Field 1: Latitude ddmm.mmmm , Degree and minute format (if the leading digit is insufficient, add 0)
Field 2: Latitude N (north latitude) or S (South latitude)
Field 3: Longitude dddmm.mmmm, Degree and minute format (if the leading digit is insufficient, add 0)
Field 4: Longitude E (East Longitude) or W (West Longitude)
Field 5: UTC time, hhmmss.sss format
Field 6: Status, A=positioned, V=not positioned
Field 7: Check value

GPGSA example: GPGSA example: G P G S A Example : GPGSA,A,3,01,20,19,13,40.4,24.4,32.2*0A
field 0: $GPGSA, sentence ID, indicating that the sentence is GPS DOP and Active Satellites (GSA) current Satellite Information
Field 1: Positioning Mode, A=Auto 2D/3D, M=Manual 2D/3D
Field 2: Positioning Type, 1=Not Positioned, 2=2D Positioning, 3=3D Positioning
Field 3: PRN Code (Pseudo Random Noise Code), the satellite PRN code number being used in the first channel (00) (if the leading digits are insufficient, add 0)
Field 4: PRN code (pseudo-random noise code), the satellite PRN code number being used in the second channel (00) (If the number of leading digits is insufficient, add 0)
Field 5: PRN code (pseudorandom noise code), the satellite PRN code number (00) of the satellite in use on the 3rd channel (fill with 0 if the leading digits are insufficient)
Field 6: PRN code (pseudo Random noise code), satellite PRN code number being used on channel 4 (00) (if the leading digits are insufficient, add 0)
Field 7: PRN code (pseudo random noise code), satellite PRN code number being used on channel 5 ( 00) (If the leading digits are insufficient, add 0)
Field 8: PRN code (pseudo-random noise code), the satellite PRN code number being used on the 6th channel (00) (If the leading digits are insufficient, add 0)
Field 9: PRN code (Pseudo-random noise code), the satellite PRN code number being used on the 7th channel (00) (If the leading digits are insufficient, add 0)
Field 10: PRN code (pseudo-random noise code), the satellite PRN code being used on the 8th channel Number (00) (If the leading digit is insufficient, add 0)
Field 11: PRN code (pseudo-random noise code), the satellite PRN code number (00) being used on the 9th channel (if the leading digits are insufficient, fill in 0)
Field 12: PRN code (pseudo-random noise code), the 10th channel is The satellite PRN code number used (00) (the leading digits are insufficient to fill 0)
Field 13: PRN code (pseudo-random noise code), the satellite PRN code number (00) (the leading digits are insufficient to fill 0)
Field 14: PRN code (pseudo-random noise code), the satellite PRN code number (00) being used on the 12th channel (0 if the leading digit is insufficient)
Field 15: PDOP integrated position precision factor (0.5-99.9)
Field 16: HDOP Horizontal precision factor (0.5-99.9)
Field 17: VDOP vertical precision factor (0.5-99.9)
Field 18: Check value

GPGSV example: GPGSV example: G P G S V Example : GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,13,32,252,45*70
Field 0: $GPGSV, sentence ID, indicating the sentence Satellite information visible for GPS Satellites in View (GSV)
Field 1: The total number of GSV sentences (1-3)
Field 2: This GSV sentence is thenumber (1-3) ofthis GSV sentence
Field 3: Current The total number of visible satellites (00-12) (If the leading digits are insufficient, add 0)
Field 4: PRN code (Pseudorandom Noise Code) (01-32) (If the leading digits are insufficient, add 0)
Field 5: Satellite elevation angle (00- 90) degrees (if the leading digits are insufficient, add 0)
Field 6: satellite azimuth (
00-359) degrees (if the leading digits are insufficient, add 0)Field 7: S/N ratio (00-99) dbHz
Field 8: PRN code (Pseudorandom noise code) (01-32) (If the leading digits are insufficient, add 0)
Field 9: Satellite elevation angle (00-90) degrees (If the leading digits are insufficient, add 0)
Field 10: Satellite azimuth (00-359) ) Degree (If the leading digits are insufficient, fill in 0)
Field 11: Signal-to-noise ratio (00-99) dbHz
Field 12: PRN code (Pseudorandom Noise Code) (01-32) (If the leading digit is insufficient, fill in 0)
Field 13 : Satellite elevation angle (00-90) degrees (if the leading digit is insufficient, add 0)
Field 14: satellite azimuth (00-359) degrees (if the leading digit is insufficient, add 0)
Field 15: Signal-to-noise ratio (00-99) dbHz
Field 16: Check value

GPRMC example: GPRMC example: G P R M C Example : GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,A*50
Field 0: $GPRMC, sentence ID, indicating that the sentence is Recommended Minimum Specific GPS/TRANSIT Data (RMC) Recommended minimum positioning information
Field 1: UTC time, hhmmss.sss format
Field 2: Status, A=positioning, V=unpositioned
Field 3: Latitude ddmm.mmmm, degree and minute format (If the leading digit is insufficient, add 0)
Field 4: Latitude N (north latitude) or S (south latitude)
Field 5: Longitude dddmm.mmmm, in degrees and minutes format (if the leading digit is insufficient, add 0)
Field 6: Longitude E (east longitude) or W (west longitude)
Field 7 : Speed, knots, Knots
Field 8: Azimuth, degrees
Field 9: UTC date, DDMMYY format
Field 10: Magnetic declination, (000-180) degrees (If the leading digit is insufficient, add 0)
Field 11: Magnetic declination direction , E=East W=West
Field 16: Check value

GPVTG example: GPVTG example: G P V T G Example : GPVTG,89.68,T,M,0.00,N,0.0,K*5F
Field 0: $GPVTG, sentence ID, indicating that the sentence is Track Made Good and Ground Speed ​​(VTG) ground speed information
field 1: Motion angle, 000-359, (If the leading digit is insufficient, add 0)
Field 2: T=True North Reference System
Field 3: Motion Angle, 000-359, (If the leading digit is insufficient, add 0)
Field 4: M = Magnetic North Reference System
Field 5: Horizontal Movement Speed ​​(0.00) (If the leading digit is insufficient, add 0)
Field 6: N= knots, Knots
Field 7: Horizontal Movement Speed ​​(0.00) (If the leading digit is insufficient, add 0)
Field 8 : K=km/hour, km/h
field 9: check value

Guess you like

Origin blog.csdn.net/m0_48012049/article/details/107967387