As a widely used protocol in the automotive and heavy-duty vehicle industry, J1939 plays a crucial role in ensuring seamless communication and data exchange between various components within a vehicle. Understanding the fundamentals of the J1939 protocol is essential for engineers, developers, and anyone involved in the design and implementation of vehicle systems. In this comprehensive guide, we will delve into the intricacies of the J1939 protocol, its application, its mapping to the OSI Layer Model and various standards.

Introduction to SAE J1939 Protocol

J1939, a high-level protocol based on Controller Area Network (CAN), was developed by the Society of Automotive Engineers (SAE) to standardize communication and diagnostics among heavy-duty and commercial vehicles. Based on the CAN high speed standard with 29-bit extended ID format and running at 250K baud rate, it can be easily realized with commonly available CAN 2.0B peripherals in even lower end MCUs. It facilitates real-time data exchange, enabling different components such as the engine, transmission, brakes, and other vehicle systems to communicate effectively. With the evolution of vehicle technology, the J1939 protocol has become increasingly important in ensuring interoperability and compatibility across various vehicle systems and components.

Applications of J1939 Protocol

The application of the J1939 protocol spans across a wide range of vehicle systems and components, contributing to the efficient operation and maintenance of heavy-duty vehicles. One of the primary use cases of J1939 is in the field of diagnostics. The protocol enables the exchange of diagnostic information between various vehicle components and the diagnostic tools, allowing for effective troubleshooting and maintenance. This capability plays a vital role in reducing vehicle downtime and enhancing overall operational efficiency.

Moreover, J1939 facilitates the seamless integration of different vehicle systems, such as the engine, transmission, and brakes, enabling them to work in tandem and respond to varying operating conditions. This integrated approach enhances vehicle performance, safety, and overall reliability. Additionally, the protocol supports the implementation of advanced features such as fleet management, remote monitoring, and telematics, providing valuable insights into vehicle operation and performance.

The versatility of the J1939 protocol extends beyond traditional vehicle applications, finding relevance in off-highway and allied equipment. Its robust communication capabilities have made it an integral part of various heavy-duty applications, including construction machinery, agricultural equipment, and marine propulsion systems, further showcasing its broad applicability and utility.

Overview of SAE J1939 Standards

The SAE J1939 protocol is essentially a collection of various sub standards each covering few aspects of the protocol. Some of the major sub standards are.

  • J1939/81 – Network Management
  • J1939/73 – Application Layer – Diagnostics
  • J1939/71 – Vehicle Application Layer
  • J1939/31 – Network Layer
  • J1939/21 – Data Link Layer
  • J1939/13 – Off-Board Diagnostic Connector
  • J1939/11 – Physical Layer – 250k bits/s, Shielded Twisted Pair

Together these SAE J1939 standards form the foundation of the protocol, providing a comprehensive framework for communication and diagnostics within heavy-duty vehicles and related applications. These standards define the message format, parameters, and rules for communication, ensuring consistency and interoperability across different vehicle systems and components. By adhering to the SAE J1939 standards, manufacturers and developers can create products that seamlessly integrate into the existing vehicle ecosystem, fostering compatibility and reliability.

SAE J1939 Mapping to OSI Layer Model

The mapping of the SAE J1939 protocol to the OSI Layer Model provides a structured framework for understanding its communication architecture and the layers involved in data exchange. The OSI Layer Model, comprising seven layers, serves as a reference model for various communication protocols, including J1939, offering a systematic breakdown of the communication process.

SAE J1939 OSI Layer Mapping

At the physical layer (J1939/11), the protocol defines the electrical characteristics of the network, including the pin assignments, connector types, and cable specifications. This layer forms the foundation for the physical transmission of data within the J1939 network, ensuring reliable and robust connectivity between vehicle components.

Moving up the OSI Layer Model, the J1939 protocol operates at the data link layer (J1939/21), where it defines the message framing, error detection, and flow control mechanisms. This layer plays a crucial role in ensuring the integrity and error-free transmission of data packets within the network, enhancing the overall reliability of communication.

The network layer (J1939/31) governs the addressing, routing, and management of data traffic within the J1939 network, enabling efficient data exchange and routing between different nodes. This layer forms the backbone of the communication infrastructure, ensuring that messages are delivered to the intended recipients in a timely and organized manner.

At the top the application layer (J1939/71) defines the data being transferred and how to infer them. The diagnostic specification (J1939/73) covers the functions and messages for managing diagnostic and calibration data.

Let us have a detailed look at each of these layers.

Physical Layer - J1939/1x

As it is essential to ensure the robust and reliable physical connectivity of the J1939 network and facilitate the interoperability of different vehicle systems and components, the physical layers define key aspects of the communication such as maximum length, maximum stub length, maximum number of nodes, minimum and maximum voltage levels, bit time limits, and allowed slew rate for signal transitions. These are specified via three standards - J1939-11, J1939-14 and J1939-15.

The most popularly used on J1939-11 specifies the communication over shielded twisted pair wire with a maximum bus length of 40 meters and a baud rate of 250 kbps. While it allows for up to 30 nodes, the bit time is 4 us with tolerance of 0.5 us. It bases it’s signaling on top of the CAN-high speed according to the ISO11898 standard with a 3-pin connector.

The J1939-15 is a lower cost version that is quite similar to J1939-11 with a 2-pin connector and a reduced number of maximum nodes as 10.

The J1939-14 is a higher speed physical layer standard at 500 kbit/s and uses newer transceiver technologies to minimize EMI in the bus.

Data Link Layer - J1939/21

The data link layer of the J1939 is based on the CAN high speed standard ISO11898 aka CAN 2.0B. All the components of the specification are used including the bit stuffing, CRC, encoding mechanisms, etc. It utilizes the error detection and acknowledgment mechanisms of CAN 2.0B to validate the integrity of transmitted data and ensure that messages are received accurately. But the 11-bit ID mode is not supported, and all the nodes are expected to transmit only in 29-bit extended ID format.

The J1939/21 specifies the 29-bit format and how it should be encoded and utilized. It forms the basis for the higher network layer services including message requests, acknowledgments, transfer of larger data. As 11-bit ID format is not part of specification, it is possible for the vendor-specific packets be transferred in it without colliding with the J1939 defined 29-bit packet traffic.

Network Layer - J1939/31

The network layer specification describes the bridging between different segments of a J1939 network. J1939/31 describes the services and functions needed to transfer CAN message from one such network to another. It leverages message filter function to minimize the transmission of redundant CAN messages. Participating network nodes can one of the following types as defined by the specification.

  • Repeater - Only forwarding functionality
  • Bridge - Forwarding and filtering feature
  • Router - address translation along with forwarding and filtering
  • Gateway - Forward, filter, address translation, and message repackaging

Based on the location and function, the node can play any one of the above roles. Thus, the network layer, defined by the J1939/31 standard, serves as the backbone of the J1939 protocol, governing the addressing, routing, and management of data traffic within the network.

Vehicle Application Layer - J1939/71

The J1939/71 standard, known as the vehicle application layer, encompasses the specification of parameters and messages that are specific to vehicle applications, including engine control, transmission, brakes, and other vehicle systems. This standard defines the structure and content of messages that enable different vehicle components to communicate and coordinate their operations effectively.

This document defines the parameters that are typically available in a vehicle and groups them into a single packet. Each of these packets is given a unique ID called Parameter Group Number (PGN). Each of the parameters are specified with the following details.

  • Parameter Name
  • Description and an explanation
  • Data length in bytes
  • Resolution of the data including scaling and offset and the unit of measurement
  • Allowed range of the physical value after scaling
  • Type of the parameter like status, measured value etc
  • Suspect Parameter Number (SPN) - parameter specific number
  • PGN - reference to the message frame in which it is to be sent

The parameters are grouped together and documented as follows

  • Name with description
  • Transmission repetition rate - a time interval or on request
  • Data length (bytes)
  • Data page (0 or 1, has to do with the PGN)
  • PDU format (0 to 255, has to do with the PGN)
  • PDU specific (depends on PDU format)
  • Default priority (value between 0 and 7 where 0 is the highest priority)
  • Parameter Group Number (PGN)
  • List of all parameters inside this PGN along with reference and byte order

Diagnostics Application Layer – J1939/73

The J1939/73 standard, focusing on the application layer for diagnostics, plays a pivotal role in enabling the exchange of diagnostic information and fault codes between vehicle components and external diagnostic tools. This standard defines the structure and content of diagnostic messages, as well as the procedures for retrieving and interpreting diagnostic information from the vehicle's electronic control units (ECUs).

It defines the connector to be used for service tools and defines functions and messages required to perform diagnostic services and calibrate the system. It defines the Diagnostic Messages (DM) and Diagnostic Trouble Codes (DTC) and allows.

  • Reading/writing to ECU memory
  • Reading and clearing Diagnostic Trouble Codes (DTCs)
  • Reporting diagnostic information when running
  • Start/stop functions
  • Binary Data transfer
  • Security access
  • Read/Write calibration data

By adhering to the J1939/73 standard, manufacturers ensure that diagnostic tools and systems can access and interpret diagnostic information in a standardized format, fostering interoperability and compatibility across different vehicle models and manufacturers.

Conclusion

In conclusion, this article introduces numerous standards that constitute the J1939 protocol. Today it stands as a pivotal standard in the automotive and heavy-duty vehicle industry, facilitating seamless communication and diagnostics among diverse vehicle systems and components. Its widespread application, adherence to SAE J1939 standards, and mapping to the OSI Layer Model demonstrate its robustness and versatility in enabling efficient data exchange and system coordination. In the upcoming article, we will delve deeper into the message structure and communication.

Subscribe to our Insights