Follow along with the Reference Configuration
In this tutorial we demonstrate how to map NMEA parameters and how they differ with J1939 parameters.
NMEA protocol is almost identical to the J1939 protocol with the following notable exceptions:
- NMEA allows signed integers whereas J1939 protocol does not.
- NMEA often uses a Instance ID data byte to identify the source of the data vs a Source Address (SA). An NMEA device will always have a unique source address on the bus however the device can use one PGN to represent the same data but from different sensors in separate packets. Since the source address of the device will be the same in each of the packets an Instance ID data byte is used to differentiate each one. For example a tank level device can use the same PGN to send Tank #1 data in one packet and Tank #2 in the next. The source address and PGN are the same each time but the device ID in the packet data identifies which one is Tank #1 and Tank #2.
The steps to map a NMEA parameter are as follows:
- Add the parameter to the J1939/NMEA library using a unique name for each instance of the same PGN.
- Select the NMEA check box.
- Open the Instance ID dialog box and set the Instance number and the data byte where the ID is located.
- Create a new CAN device and select NMEA as the protocol.
- Set the device source address to 255 so it will receive data from any SA.
- Map the parameters to the device.
- If there is no instance ID follow the procedures for J1939 parameters except leave the protocol as NMEA.