Created by the J1939 Experts
SAE J1587 is a networking specification which defines messages that are transmitted on a J1708 network. J1708 specifies the datalink and physical layers for a J1587 network, while J1587 specifies the transport, network, and application layers. As such, J1587 is similar to J1922, which also defines messages for a J1708 network and also the same three ISO layers.
J1587 uses messages for diagnostic purposes. For example, it sends messages for fuel economy, coolant temperature, fault codes (also know as diagnostic trouble codes or DTCs) and many other parameters. All together J1587 defines around 300 parameters. J1587 does not send control type messages, instead that is handled by J1922
J1587 Message Format
All messages have the following format:
Messages start with a MID, which stands for message identifier and indicates the source address of the transmitting node.
The next value is the PID, which stands for parameter identifier and indicates what parameter the following data corresponds to. The data and it's length are defined by the PID value (see the complete SAE J1587 specification to completely understand this).
After the corresponding data, either another PID is present or the message is terminated with a checksum.
For example, J1587 specifies a parameter for engine speed. The 'Engine Speed', which is PID 190, defines the parameter to be an unsigned 16-bit value, with a bit resolution of 0.25 RPM/bit, offset of 0 RPMs, and a network update period of 100 ms.
CAN Introduction J1939 Introduction J1708 Introduction J1587 Introduction J1922 Introduction
CANopen Software J1587 Introduction | Copyright 2011 | Simma Software, Inc.