Press "Enter" to skip to content

The SAE J1939 Standards Collection

This article is part of our comprehensive SAE J1939 online documentation.

The SAE J1939 Standards Collection serves as the comprehensive framework for communication and control within truck, bus, and off-road vehicle networks. It defines how electronic control units (ECUs) exchange data over the Controller Area Network (CAN), detailing message structures, Parameter Group Numbers (PGNs), data fields, and address assignments. The collection also establishes guidelines for diagnostics, network management, and application-layer protocols, ensuring interoperability between different manufacturers’ devices. Spanning thousands of pages, it consolidates specifications ranging from physical and data link layers to higher-level applications, making it the authoritative reference for engineers and developers working with heavy-duty vehicle networking systems.

The SAE Truck and Bus Control & Communications Network Standards Manual is an immense work of roughly 1,600 pages, with nearly 1,000 pages devoted to raw data such as Parameter Group Assignments, Address and Identity Assignments, Parameter Group Numbers, and more.


Author’s Note: Working through the Standards Collection was a tedious and often immensely frustrating process, and that experience is reflected in the following evaluation of the standard. Unfortunately, the same challenges await every newcomer to this technology. This difficulty is precisely what made the writing of this book not only worthwhile, but necessary.


Although the manual consolidates the full J1939 standards into a single volume, the individual sections appear to have been developed in isolation. There is no consistent system to unify or standardize the presentation of these standards. Some documents include a table of contents, others do not. Information is often repeated, references to other standards frequently lead nowhere, and the page numbering rarely aligns with the provided contents.

As another example of the inconsistencies across these documents, the SAE engineers who created the standard seem unfamiliar with the proper notation for milliseconds (“ms” or “msec”). Instead, the documents use a variety of terms, and in the worst case, “mS”—a symbol that officially denotes milli-Siemens, a unit of electrical conductance (the inverse of resistance, measured in ohms [Ω]).

Throughout the collection, the language reflects a tendency toward unnecessarily complex terminology. The writers favored elaborate, sometimes obscure phrasing at the expense of clarity. Excessive abbreviations—often with layers of sub-abbreviations—make the material unnecessarily difficult to navigate.

Ultimately, the J1939 standards collection reads less like a resource designed for education or practical use and more like a repository of documentation compiled without concern for accessibility or reader experience. It delivers the data, but without the structure, passion, or clarity that could have made it truly valuable.

ISO/OSI 7-Layer Reference Model

The J1939 Standards Collection was structured to align, where applicable, with the ISO/OSI 7-Layer Reference Model. Each layer of the model is represented by a corresponding document within the collection.

7 Layer Model SAE J1939

The Open Systems Interconnection (OSI) Model itself is an abstract, layered framework that defines how communications and computer network protocols are designed and organized.

Layer Title Description
7 Application Supports application and end-user processes.
6 Presentation Provides independence from differences in data representation (e.g., encryption) by translating from application to network format, and vice versa.
5 Session Establishes, manages and terminates connections between applications.
4 Transport Provides transparent transfer of data between end systems, or hosts, and is responsible for end-to-end error recovery and flow control. Ensures complete data transfer.
3 Network Provides switching and routing technologies, creating logical paths, known as virtual circuits, for transmitting data from node to node.
2 Data Link Data packets are encoded and decoded into bits. It furnishes transmission protocol knowledge and management and handles errors in the physical layer, flow control and frame synchronization. The data link layer is divided into two sub layers, the Media Access Control (MAC) layer and the Logical Link Control (LLC) layer. The MAC sub layer controls how a computer on the network gains access to the data and permission to transmit it. The LLC layer controls frame synchronization, flow control and error checking.
1 Physical Conveys the bit stream (electrical impulse, light or radio signal) through the network at the electrical and mechanical level.

In a CAN (Controller Area Network) system, both the Data Link and Physical Layers are handled directly by the CAN controller. In fact, the CAN protocol itself—including data communication management, bus arbitration, error detection, and fault confinement—is fully implemented in hardware. As a result, CAN controllers inherently know how to perform these tasks without requiring additional software intervention.


Node Communication based on 7-Layer OSI Model

The image above illustrates how the OSI 7-Layer Model is applied to facilitate communication between two network nodes.

SAE J1939 Documents

The J1939 Standards Collection was structured to align with the ISO/OSI 7-Layer Reference Model where applicable, with each layer addressed by a corresponding document. Although SAE assigned designations for documents covering the transport (Layer 4), session (Layer 5), and presentation (Layer 6) layers, these were never fully developed, as those layers are not required for J1939 communication.

In addition, documents with a /0x suffix, such as J1939/01 and J1939/02, specify the industry or application context. J1939/81, by contrast, does not map directly to any of the seven layers but is considered a supplemental function that influences all layers.

As its name suggests, the J1939 Standards Collection is not a single specification but a family of related documents, each addressing a specific aspect of the protocol.

Document  Description
J1939 Recommended Practice for a Serial Control and Communications Vehicle Network
J1939/01 Recommended Practice for Control And Communications Network for On-Highway Equipment
J1939/02 Agricultural and Forestry Off-Road Machinery Control and Communication Network
J1939/11 Physical Layer – 250k bits/s, Twisted Shielded Pair
J1939/13 Off-Board Diagnostics Connector
J1939/15 Reduced Physical Layer, 250k bits/sec, Un-Shielded Twisted Pair (UTP)
J1939/21 Data Link Layer
J1939/31 Network Layer
J1939/71 Vehicle Application Layer
J1939/73 Application Layer – Diagnostics
J1939/74 Application – Configurable Messaging
J1939/75 Application Layer – Generator Sets and Industrial
J1939/81 Network Management

The list above represents only the foundational documents referenced in the writing of this book. Additional documents have been added over time, and more will continue to be introduced as the standard evolves.

Ultimately, the essential documents required to understand the core features of the protocol are:

  • J1939/21 – Data Link Layer

  • J1939/81 – Network Management

The material presented in this book is primarily based on these two specifications.

SAE J1939

The full title of the document is SAE J1939 – Recommended Practice for a Serial Control and Communications Vehicle Network. It serves as the top-level entry in the collection of specifications known as the J1939 Standards Collection. The document references the OSI 7-Layer Model and its corresponding J1939 documents, and it also includes a brief “J1939 Tutorial.” However, the majority of its 300+ pages consist of appendices: Parameter Group Assignments (Appendix A), Address and Identity Assignments (Appendix B), and Fault Reporting Parameters (Appendix C). Stripped of these appendices, the core document is only 19 pages long, with the first seven pages occupied by the table of contents, definitions, and abbreviations.

Much of the technical content—particularly regarding the J1939 message format—is redundantly presented in SAE J1939/21, while certain references to network management stand in direct contrast to SAE J1939/81. The primary justification for this document’s existence lies in its comprehensive listing of Parameter Group Numbers (PGNs) and Suspect Parameter Numbers (SPNs). Yet, because their definitions are distributed across multiple other documents, the reader is often left searching for the proverbial needle in a haystack.

SAE J1939/11 Physical Layer

The physical layer of J1939 is based on Controller Area Network (CAN) as defined in ISO 11898. SAE J1939/11 specifies the use of a shielded twisted-pair cable with a maximum length of 40 meters (approximately 120 feet). The standard defines a fixed baud rate of 250 Kbit/s, with up to 30 ECUs permitted on a single segment. Larger networks can be supported through the use of special interconnection ECUs.

SAE J1939/11 is essentially a condensed adaptation of ISO 11898 and the original Bosch CAN specification, supplemented with additional electrical requirements for vehicle applications. Unfortunately, in doing so, many of the original CAN specifications have been pared down—or altered—to the point of diminishing their usefulness.

SAE J1939/13 Off-Board Diagnostic Connector

J1939/13 defines a standard connector for diagnostic purpose. The connector is a Deutsch HD10 – 9 – 1939 (9 pins, round connector).

SAE J1939/15 Reduced Physical Layer

J1939/15 describes a physical layer that utilizes an Unshielded Twisted Pair (UTP) cable.

SAE J1939/21 Data Link Layer

SAE J1939/21 defines the use of the CAN data frame (with its 29-bit identifier, Parameter Group Numbers – PGNs, etc.) as well as the transport protocol functions that govern how messages exceeding the standard CAN data length of 8 bytes are transmitted across a J1939 network.

Much like SAE J1939/11, the document’s treatment of core CAN specifics has been stripped down to the point of being nearly useless. Rather than building a structured foundation, J1939/21 assumes that the reader has already mastered all relevant publications and has a working understanding of Parameter Groups. It then dives straight into the detailed architecture of PGNs—comparable to explaining the operation of an automobile by beginning with the intricacies of fuel injection.

The result is a document that is poorly organized, repetitive, and lacking in clarity. For example, the fact that J1939 messages may exceed the 8-byte CAN frame is mentioned repeatedly across multiple chapters, yet no clear explanation is provided on how such messages are actually packetized. Similarly, fundamental concepts such as PDU Formats are reintroduced again and again, scattered across several sections without adding meaningful insight.

SAE J1939/31 Network Layer

SAE J1939/31 defines the services and functions required to enable communication between different segments of a J1939 network, using devices such as bridges, routers, gateways, and repeaters.

SAE J1939/71 Vehicle Application Layer

SAE J1939/71 defines the Parameter Group Numbers (PGNs) and Suspect Parameter Numbers (SPNs) that form the basis of J1939 communication. The document is updated frequently to incorporate new parameters and messages. A Parameter Group may represent, for example, engine temperature data, which includes coolant, fuel, and oil temperature readings.

The PGNs themselves are listed in the general SAE J1939 standard (about 300 pages), while their detailed definitions, along with the SPNs, are provided in SAE J1939/71—an extensive document of roughly 800 pages filled almost entirely with parameter group definitions and suspect parameter numbers.

Surprisingly, despite its size, SAE J1939/71 offers no clear explanation of what Parameter Groups and Suspect Parameters actually are or how they relate to each other.

SAE J1939/73 Application Layer – Diagnostics

SAE J1939/73 defines the functions and messages used to access diagnostic and calibration data. It introduces a set of predefined Diagnostic Messages (DMs) that support tasks such as:

  • Reading from and writing to ECU memory

  • Reporting diagnostic information during operation

  • Indicating lamp status

  • Reading and clearing Diagnostic Trouble Codes (DTCs)

  • Starting or stopping the broadcast of DMs

SAE J1939/74 Application – Configurable Messaging

SAE J1939/74 defines the message structure for a set of messages that allow users to identify and announce the placement of parameters within a given message.

SAE J1939/75 Application Layer – Generator Sets and Industrial

SAE J1939/75 defines the parameters and parameter groups primarily related to monitoring and controlling generators, auxiliary drives, and other equipment used in electric power generation and industrial applications.

SAE J1939/81 Network Management

Network management in J1939 is primarily defined by the Address Claiming Process. Unlike many other higher-layer protocols built on Controller Area Network (CAN), which lack dynamic node address assignment, SAE J1939 introduces this feature to uniquely identify ECUs and their primary functions.

SAE J1939/81 specifies the structure of the ECU Name and the procedure by which an ECU claims an address using that Name. The ECU Name is a 64-bit (8-byte) value that provides every ECU with a globally unique identity.


It is troubling that SAE J1939/81 explicitly permits—and even describes—a scenario in which two CAN nodes with identical message IDs can access the bus simultaneously during the address claim process. Such a condition should be considered illegitimate if the CAN standard is to maintain its integrity. The resolution procedure recommended by J1939/81 for this situation can only be described as unusual, if not outright peculiar.


SAE J1939 Starter Kit and Network Simulator

Our JCOM.J1939 Starter Kit and Network Simulator is designed to allow the experienced engineer and the beginner to experiment with SAE J1939 data communication without the need to connect to a real-world J1939 network, i.e., a diesel engine. It may sound obvious, but you need at least two nodes to establish a network. That fact applies especially to CAN/J1939, where the CAN controller shuts down after transmitting data without receiving a response. Therefore, our jCOM.J1939 Starter Kit and Network Simulator consists of two J1939 nodes, namely our jCOM.J1939.USB, an SAE J1939 ECU Simulator Board with USB Port.

The jCOM.J1939.USB gateway board is a high-performance, low-latency vehicle network adapter for SAE J1939 applications. The board supports the full SAE J1939 protocol according to J1939/81 Network Management (Address Claiming) and J1939/21 Transport Protocol (TP).

More Information…

Comments are closed.

Copyright © 2024 Copperhill Technologies Corporation
wpChatIcon
wpChatIcon