Understanding J1939 SAE Protocol: The Complete Guide to Communication in Commercial Vehicles. Part-2
Tags: beginners, tutorial, learning, j1939
Published: 2023-12-04 17:25:37

Hello Readers, 👋😃
My name is Aravind B. N., and I work at Luxoft India as a junior software developer. Luxoft has given me several opportunities to work on various projects, which has inspired me to discuss the important processes involved in learning the SAE J1939 communication protocol Part 2.

**Protocol Description in General**
**SAE**
The J1939 standard is broken into several papers and chapters. All papers are available for download from the SAE website, either separately or in preassembled bundles.

[www.sae.org](www.sae.org).
The J1939 specification's individual chapters are not available for free; instead, there is a fee associated with them. Though you may already be familiar with it from the previous chapter, each chapter is organized methodically and is based in part on the ISO or OSI reference model. Only loosely based, as chapter 8 in the J1939 document format is not specified by the OSI model. The "Numbering scheme" image depicts the chapter organization scheme.

**Outlining**
A document is present with no number extensions in addition to the structured papers and their appendices. This is the top-level J1939 document, which summarizes all of the protocol's main characteristics. This document's appendices are extremely important. For rapid reference, the manufacturer codes, industry groups, reserved node addresses, parameter groups, and signals are all provided here.

The current chapters and papers are shown in the table.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mfdti2uio6pmclm574cu.png)

**Addresses and Names**

1. **Device Names**

- _Identification_
An exclusive name is needed for any ECU that actively engages in J1939 communication, or transmitting. This is made up of a 64-bit stream. NAME is the definition of the device name in the standard. It includes details about the device's origin and functionality as well as identification and instantiation information. An ECU may be identified globally and characterized into a unique ECU by using the device name. Furthermore, during the dynamic address assignment process, the ECU is given priority based on its device name (see to Chapter Network Management for more information).

Figure "64bit ECU Fields" shows how the J1939 NAME is constructed.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yry35klipfjw9ccuaizb.png)

2. **Device Address**

- _Node Addressing_
Information about the message addressing type is provided by the CAN protocol. This implies that all data is labeled with an identifier and may be processed and assessed in this manner. J1939 has both message addressing and node addressing, which are implemented as software. This enables point-to-point communication. Within a J1939 n/w, a node address is assigned to each bus node for this purpose.
A message gadget called CAN is employed in lots of exceptional fields, along with business manage, constructing automation, and the automobile industry. The protocol relies on nodes—devices related to the community—replacing messages, or packets, as a way to transmit statistics.
A message's supply cope with, vacation spot deal with, data period, and content are all included. While the supply cope with identifies the tool that sent the message, the destination deal with defines the tool to which the message is sent. While the statistics contains the real message payload, the facts length specifies the records's duration in bytes.
Using message addressing, messages are sent via a common conversation channel in a CAN community. J1939, a widespread for the electronic control unit (ECU) in automotive packages, uses this type of addressing. J1939 supports message addressing, which is a software-primarily based addressing scheme that permits factor-to-point communication between nodes.
Message addressing is used to guarantee that messages reach the intended recipient node and to keep away from message duplication or resend, that could lead to extra troubles which includes community congestion. J1939's addressing approach is similar to other messaging protocols like Ethernet and Modbus, which further employ node addressing to transmit source and vacation spot information for messages.

- _Network Types_
Essential: A proper address is required for every ECU that transmits in J1939 n/w. The node address is an 8-bit number that may only be issued to a single node one (static network). However, networks may be built in which nodes autonomously seek for their addresses (dynamic network). It is up to each application which such the two types of networks are utilized.

- _Static_
When a truck's drive train use the J1939 protocol in its traditional definition, a network that is static is often discovered, where the addresses and network topology were predetermined at the time the vehicle was built. The address allocation and topology of such a network stay consistent throughout the vehicle's life cycle.

- _Dynamic_
The topology of dynamic networks can alter during operation. It is possible to add both known and unknown network nodes. Even more than one ECU of the same kind might exist in a network. An instance of a dynamic network in use is the Protocol ISO 11783. which is utilized in agricultural engineering to facilitate interaction b/w an implement and its attachments.

**General**

_PGN_
A group of data that share a common transmission rate because they are part of the same context is known as a parameter group. A Parameter Group Number (PGN) is a special number that serves as an identity for each parameter group. It is simple to mistake the parameter group for the CAN identification. This chapter aims to clarify the distinctions between a CAN message identity and a J1939 parameter group. The similarities and differences are seen in the comparison that follows:

_Similarities_:

- assemblage of signals with comparable or same context
- able to be recognized by a special number
- includes protocol and application data.

_Variations_:

- Not restricted to the top capacity of 1785 bytes (8 data bytes).
- able can be sent point-to-point
- The message's priority is not reliant on the PGN.

A multi-packet message will be delivered if a parameter group specifies a data length more than 8 bytes. The so-called transport protocol is provided by the standard.

Although The Control Area Network (CAN) protocol specifies how messages are carried and received over the bus, it makes no point out of the way addresses are created or mapped to real bus nodes. 

This will be continued in the next article alone, with examples.

If you have any questions, please feel free to ask them in the comment section.

Thank you for taking the time to read this.