You are on page 1of 11

Chapter 5 NMEA Input/Output Messages

TFAC’s TFAG 30LP may also output data in NMEA-0183 format as defined by the National Marine Electronics Association (NMEA), Standard For Interfacing Marine Electronic Devices, Version 2.20, January 1, 1997. Refer to Chapter 4 for detailed instructions.

NMEA Output Messages
TFAG 30LP outputs the following messages as shown in Table 5-1:
Tabl e 5- 1 NMEA-0183 Output Messages

NMEA Record GGA GLL GSA GSV RMC VTG

Description Global positioning system fixed data Geographic position - latitude/longitude GNSS DOP and active satellites GNSS satellites in view Recommended minimum specific GNSS data Course over ground and ground speed

GGA —Global Positioning System Fixed Data
Table 5-2 contains the values for the following example: $GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M, , , ,0000*18

- 56 -

mmmm E=east or W=west See Table 5-3 Range 0 to 12 Horizontal Dilution of Precision meters meters meters meters second Null fields when DGPS is not used End of message termination 1.0 M M 0000 *18 Units Description GGA protocol header hhmmss. fix valid Differential GPS.Tabl e 5.mmmm N=north or S=south dddmm.W.2 GGA Data Format Name Message ID UTC Time Latitude N/S Indicator Longitude E/W Indicator Position Fix Indicator Satellites Used HDOP MSL Altitude 1 Units Geoid Separation 1 Units Age of Diff. Corr. Ref.2475. Diff.A*2C Tabl e 5.487 3723.487.2475 N 12158.sss ddmm.0 9.3 Position Fix Indicator Value 0 1 2 3 Description Fix not available or invalid GPS SPS Mode.161229. SPS Mode. fix valid GLL—Geographic Position . fix valid GPS PPS Mode.Values are WGS84 ellipsoid heights.3416.N. Station ID Checksum <CR> <LF> Example $GPGGA 161229.mmmm N=north or S=south dddmm.3723.2475 N 12158.mmmm E=east or W=west .4 GLL Data Format Name Message ID Latitude N/S Indicator Longitude E/W Indicator Example $GPGLL 3723.3416 W 1 07 1.57 - .Latitude/Longitude Table 5-4 contains the values for the following example: $GPGLL.12158.3416 W Units Description GLL protocol header ddmm. Tabl e 5.

. .UTC Position Status Checksum <CR> <LF> 161229.04. ...sss A=data valid or V=data not valid End of message termination GSA—GNSS DOP and Active Satellites Table 5-5 contains the values for the following example: $GPGSA..1.5 *33 Units Description GSA protocol header See Table 5-6 See Table 5-7 Sv on Channel 1 Sv on Channel 2 Sv on Channel 12 Position Dilution of Precision Horizontal Dilution of Precision Vertical Dilution of Precision End of message termination 1.8 1.02.5*33 Tabl e 5.8. . Satellite Used 1 PDOP HDOP VDOP Checksum <CR> <LF> Example $GPGSA A 3 07 02 1.A.6 Mode 1 Value M A Description Manual—forced to operate in 2D or 3D mode 2Dautomatic—allowed to automatically switch 2D/3D Tabl e 5. . .7 Mode 2 Value 1 2 3 Description Fix Not Available 2D 3D .58 - ..27. Tabl e 5.1.0 1..09.0.15. Satellite used in solution.3.5 GSA Data Format Name Message ID Mode 1 Mode 2 Satellite Used 1 Satellite Used 1 .487 A *2C hhmmss.07..1.26.

2475.487 A 3723.159.A.13.Depending on the number of satellites tracked multiple messages of GSV data may be required.120598.*10 Tabl e 5.07..sss A=data valid or V=data not valid ddmm.161229. Range 0 to 359) Range 0 to 99.2.27.59 - .42. RMC—Recommended Minimum Specific GNSS Data Table 5-9 contains the values for the following example: $GPRMC.12. .8 GSV Data Format Name Message ID Number of Messages 1 Message Number 1 Satellites in View Satellite ID Elevation Azimuth SNR (C/No) ..048..26.062.1. null when not tracking Channel 4 (Range 1 to 32) Channel 4 (Maximum 90) Channel 4 (True.23.2.138. Range 0 to 359) Range 0 to 99.42*41 Tabl e 5.42*71 $GPGSV.mmmm N=north or S=south dddmm.62.309.2475 N 12158.27. .487.04.41.19.15..mmmm .3723.2.0.02.79.256.W.43.09.GSV—GNSS Satellites in View Table 5-8 contains the values for the following example: $GPGSV.07.9 RMC Data Format Name Message ID UTC Time Status Latitude N/S Indicator Longitude Example $GPRMC 161229.36.313. Satellite ID Elevation Azimuth SNR (C/No) Checksum <CR> <LF> Example $GPGSV 2 1 07 07 79 048 42 27 27 138 42 *71 Units Description GSV protocol header Range 1 t o 3 Range 1 t o 3 degrees degrees dBHz degrees degrees dBHz Channel 1 (Range 1 to 32) Channel 1 (Maximum 90) Channel 1 (True.42..42..12158.N.07.3416.51. null when not tracking End of message termination 1.041.3416 Units Description RMC protocol header hhmmss.

10 VTG Data Format Name Message ID Course Reference Course Reference Speed Units Speed Units Checksum <CR> <LF> Example $GPVTG 309.13 N 0.309.T.K*6E Tabl e 5.2.0.60 - .62.D.Message I.N.62 T M 0. .2 K *6E Units degrees degrees knots knots km/hr Description VTG protocol header Measured heading True Measured heading Magnetic 1 Measured horizontal speed Measured horizontal speed Kilometers per hour End of message termination 1.62 120598 E=east or W=west knots degrees degrees True Ddmmyy E=east or W=west End of message termination 1. The Evaluation Unit may be put into NMEA mode by sending the SiRF Binary protocol message “Switch To NMEA Protocol . SiRF Proprietary NMEA Input Messages NMEA input messages are provided to allow you to control the Evaluation Unit while in NMEA protocol mode.All “course over ground” data are geodetic WGS84 directions.E/W Indicator Speed Over Ground Course Over Ground Date Magnetic Variation 1 Checksum *10 <CR> <LF> W 0.0.13 309.M. All “course over ground” data are geodetic WGS84 directions.13. . VTG—Course Over Ground and Ground Speed Table 5-10 contains the values for the following example: $GPVTG.

129” using a user program or using Sirfdemo. Input coordinates must be WGS84.CKSUM is a two-hex character checksum as defined in the NMEA specification. Each message is terminated using Carriage Return (CR) Line Feed (LF) which is \r\n which is hex 0D 0A.. none are optional. 4. 3. Transport Message Start Sequence $PSRF<MID>1 Payload Data 2 Checksum *CKSUM 3 End Sequence <CR> <LF>4 1. data bits. this . Note – All fields in all proprietary NMEA messages are required. 2.61 - . Once the receiver is put into NMEA mode. they are omitted from the example strings. all NMEA input messages are ignored. but must be sent to terminate the message and cause the receiver to process that input message. Generally. SetSerialPort This command message is used to set the protocol (SiRF Binary or NMEA) and/or the communication parameters (baud. Message Identification (MID). If the receiver is in SiRF Binary mode. Refer to a specific message section for <data>.. Because \r\n are not printable ASCII characters.exe and selecting Switch to NMEA Protocol from the Action menu. Use of checksums is required on all input messages. the following messages may be used to command the module. SiRF NMEA Input Messages Message Set Serial Port Navigation Initialization Set DGPS Port Query/Rate Control LLA Navigation Initialization Development Data On/Off MID 1 Description 100 101 102 103 Set PORT A parameters and protocol Parameters required for start using X/Y/Z Set PORT B parameters for DGPS input Query standard NMEA message and/or set output rate 104 Parameters required for start using Lat/Lon/Alt 2 105 Development Data messages On/Off 1. parity). 2.Message specific data.<data> definition. stop bits. All NMEA messages are comma delimited.Message Identifier consisting of three numeric characters. Input messages begin at MID 100.

2=Even End of message termination 1. 1stop bit.12 Navigation Initialization Data Format Name Example Message ID $PSRF101 ECEF X -2686700 ECEF Y -4304200 ECEF Z 3851624 ClkOffset 96000 TimeOfWeek 497260 WeekNo 921 Units meters meters meters Hz seconds Description PSRF101 protocol header X coordinate position Y coordinate position Z coordinate position Clock Offset of TFAG 30LP 1 GPS Time Of Week GPS Week Number . and time.1 0=None.0*0C Tabl e 5.497260. 9600. Table 5-12 contains the input values for the following example: Start using known position and time.1.3*7F Tabl e 5. the parameters are stored in battery-backed SRAM and then the Evaluation Unit restarts using the saved parameters.N. Table 5-11 contains the input values for the following example: Switch to SiRF Binary protocol at 9600.8. When a valid message is received.-4304200. This enables the TFAG 30LP to search for the correct satellite signals at the correct signal parameters. by providing current position (in X. NaviagtionInitialization This command is used to initialize the module for a warm start.0. clock offset.7 1 0.12.3851624. and no parity.11 Set Serial Port Data Format Name Message ID Protocol Baud DataBits StopBits Parity Checksum <CR> <LF> Example $PSRF100 0 9600 8 1 0 *0C Units Description PSRF100 protocol header 0=SiRF Binary. 1=NMEA 4800. Y. 19200. 38400 8.9600. Correct initialization parameters enable TFAG 30LP to acquire signals quickly. $PSRF101.921. 1=Odd.Only valid for 8 data bits. Z coordinates).1 $PSRF100.command is used to switch the module back to SiRF Binary protocol mode where a more extensive command message set is available.96000.8.-2686700.62 - .

Table 5-14 contains the input values for the following example: Set DGPS Port to be 9600.000 will be used. the parameters are stored in battery-backed SRAM and then the receiver restarts using the saved parameters. 8 data bits. Use 0 for last saved value if available.8. . 1=Odd. 9600. Differential receivers may output corrections using different communication parameters. a default value of 96.63 - . If a DGPS receiver is used which has different communication parameters.ChannelCount ResetCfg Checksum <CR> <LF> 12 3 *7F Range 1 to 12 See Table 5-13 End of message termination 1.8. use this command to allow the receiver to correctly decode the data.14 Set DGPS Port Data Format Name Example Message ID $PSRF102 Baud 9600 DataBits 8 StopBits 1 Parity 0 Checksum *12 <CR> <LF> Units Description PSRF102 protocol header 4800.13 Reset Configuration Hex 0x01 0x02 0x04 Description Data Valid—Warm/Hot Starts=1 Clear Ephemeris—Warm Start=1 Clear Memory—Cold Start=1 SetDGPSPort This command is used to control Serial Port B which is an input-only serial port used to receive RTCM differential corrections.1. Tabl e 5.7 0.1. $PSRF102.0*12 Tabl e 5. and no parity.9600. The default communication parameters for PORT B are 9600 baud.1 0=None.N. When a valid message is received. 2=Even End of message termination Query/Rate Control This command is used to control the output of standard NMEA messages GGA. 38400 8. 19200. If this is unavailable. stop bit.

(2 X 5 = 10)).) Name Example Message ID $PSRF103 Msg 00 Mode 01 Rate 00 CksumEnabe 01 Checksum *25 <CR> <LF> Table 5.01*21 Tabl e 5.01.e. GSA. NMEA message settings are saved in battery-backed memory for each entry when the message is accepted.00. Table 5-15 contains the input values for the following examples: 1. . Enable VTG message for a 1 Hz constant output with checksum enabled $PSRF103.00.16 Messages Description PSRF103 protocol header See Table 5-16 0=SetRate.00.05. 1=Enable Checksum End of message termination Units Value Description 0 GGA 1 GLL 2 GSA 3 GSV 4 RMC 5 VTG Note – In Trickle Power mode.15 Query/Rate Control Data Format (See example 1.00.01.01*20 3. max=255 0=Disable Checksum. 1=Query seconds Output—off=0.64 - . RMC. message update rate is also required. When you witch to NMEA protocol. Disable VTG message $PSRF103. resulting update rate is every 10 seconds. Query the GGA message with checksum enabled $PSRF103. standard NMEA messages may be polled once. and VTG.01*25 2. NMEA update rate = 5 seconds. Trickle Power update rate = 2 seconds. update rate is specified by the user. GSV.00. Using this command message. Checksums may also be enabled or disabled depending on the needs of the receiving program.GLL. The resulting update rate is the product of the Trickle Power Update rate AND the NMEA update rate (i. or setup for periodic output.05.

922. by providing current position (in latitude. and time. $PSRF104.0. Table 5-19 contains the input values for the following examples: 1.1*3E .237759.17 LLA Navigation Initialization Data Format Name Example Units Message ID $PSRF104 37.97232. If this is unavailable.12. a default value of 96. Correct initialization parameters enable the receiver to acquire signals quickly. Table 5-17 contains the input values for the following example: Start using known position and time. Invalid commands generate debug information that enables the user to determine the source of the command rejection.LLANaviagtionInitialization This command is used to initialize the module for a warm start.3875111 degrees Lat -121.-121.3875111.37.18 Reset Configuration Hex 0x01 0x02 0x04 Description Data Valid—Warm/Hot Starts=1 Clear Ephemeris—Warm Start=1 Clear Memory—Cold Start=1 Development Data On/Off Use this command to enable development data information if you are having trouble getting commands accepted.65 - .000 will be used. and altitude coordinates).96000. longitude.Use 0 for last saved value if available.3*37 Table 5.97232 degrees Lon 0 Alt meters ClkOffset 95000 Hz 237759 TimeOfWeek seconds 922 WeekNo ChannelCount 12 ResetCfg 3 Checksum *37 <CR> <LF> Description PSRF104 protocol header Latitude position (Range 90 to -90) Longitude position (Range 180 to -180) Altitude position Clock Offset of the Evaluation Unit 1 GPS Time Of Week GPS Week Number Range 1 to 12 See Table 5-18 End of message termination 1. clock offset. Debug On $PSRF105. Tabl e 5. This enables the receiver to search for the correct satellite signals at the correct signal parameters. Common reasons for input command rejection are invalid checksum or parameter out of specified range.

66 - . Debug Off $PSRF105.2.0*3F Tabl e 5. 1=On End of message termination .19 Development Data On/Off Data Format Name Example Message ID $PSRF105 Debug 1 Checksum *3E <CR> <LF> Units Description PSRF105 protocol header 0=Off.