With a continuous tool chain for all J1939 projects, Vector has the right solution for you.


SAE J1939: solid communication in commercial vehicles

The J1939 protocol comes from the international Society of Automotive Engineers (SAE) and works on the physical layer with CAN-highspeed according to ISO11898. The application focus is on the power trains and chassis of commercial vehicles. The protocol is used in heavy vehicles for on-street and off-road operations (construction machines). Related to J1939 are the ISOBUS according to ISO11783 for agricultural machines, NMEA2000 for maritime use, and the ISO 11992 truck & trailer interface. Similarly, the FMS standard is based on J1939 communication.

J1939 is a multimaster system with decentralized network management without channel-based communication. It supports up to 254 logical nodes and 30 physical ECUs per segment. The information is described as parameters (signals) and combined on 4 data pages in parameter groups (PGs). Each parameter group can be identified via a unique number, the parameter group number (PGN). Irrespective of this, each signal is assigned a unique SPN (suspect parameter number).

The majority of the communication usually occurs cyclically and can be received by all ECUs without explicit request of data (broadcast). In addition, the parameter groups are optimized to a length of 8 data bytes. This enables very efficient use of the CAN protocol. Particular information such as configuration data or diagnostic data can be exchanged exclusively between two ECUs (peer-to-peer). The specification of the communication, broadcast or peer-to-peer, is a property of the parameter group used. Thus, in addition to the definition of which parameters are transmitted, the transmission type also depends on the parameter group.

If larger data quantities must be transmitted, transport protocols (TPs) are used: BAM (Broadcast Announce Message) and CMDT (Connection Mode Data Transfer). With BAM TP, the transmission of the data occurs via broadcast. There is no control data flow (handshake) between the sender and receiver. With CMDT TP, the data is exchanged between precisely two ECUs. In case of error, the control data flow that takes place here allows a restarting of communication without a complete repetition of the data transmission. In addition, the CMDT TP allows a receive confirmation of the data by the receiver.

So that peer-to-peer communication is possible on a CAN network, each ECU must be assigned a unique address in the range from 0 to 253. To avoid the mistaken occurrence during operation of two ECUs with the same address, a clever strategy is required – the network management (NM). With J1939, the NM is organized decentrally. That is, each ECU must implement a minimum functionality of the NM. The tasks of the NM are:
  • Resolution of address conflicts (minimum requirement)
  • Ongoing check as to whether ECU addresses are assigned in duplicate on a network (minimum requirement)
  • Change of the ECU addresses at runtime
  • Unique identification of an ECU with the help of a name that is unique worldwide
  • This name also serves to identify which functionality an ECU has on the network
Did you find this page helpful?

Please comment: