Understanding J1939 SAE Protocol: The Complete Guide to Communication in Commercial Vehicles
Tags: j1939, beginners, tutorial, learning
Published: 2023-12-04 04:02:31

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

SAE J1939 is a CAN (Controller Area Network)-based communication protocol that is widely used in all types of commercial automobiles. The protocol standardizes communications between the vehicle's connected electronic systems and, if relevant, its add-on equipment.

**Introduction**
_J1939 SAE Protocol_
The SAE J1939 protocol (Society of Automotive Engineers) is a higher-layer protocol based on CAN (Controller Area Network). It is used in commercial vehicles and construction machines for electronic control unit communication. The protocol was created in the mid-1980s to ensure uniform communication between electronic control units manufactured by different companies. It focuses on the diesel engine and how it communicates with other components such as the transmission, brake, or retarder (engine brake).

_CAN (Controller Area Network) and SAE J1939_
The physical layer of the SAE J1939 protocol is CAN (Controller Area Network, ISO 11998-1 and ISO 11998-2). The CAN protocol is widely used in motor vehicle networking and is a popular technique for bit serial communication between electronic control units (ECUs). Engine, gearbox, and brake ECUs, as well as instrument panel and door ECUs, are examples of common ECUs.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/znnbqgx45rhb3eiyxld5.png)
Fig: typical ECU in J1939 network

**Characteristics**

In summary, the J1939 protocol is described below. These include, on the other hand, standard CAN traits, but also some novel qualities that are not often associated with CAN:

- The 29-bit extended CAN identification is used.
- CAN baud rates of 250 and 500 kbits/s are standard.
- Has both point-to-point and global (message addressing) addressing.
- Multi-packet communications can transfer upto 1785 bytes.
- Control of bus access via network management
- Standardized messages for overall communication between vehicles
- Allows for the creation of manufacturer-specific messages.
- Creates one's own diagnostic interface.

**Other Specifications and the Consortium**

_The Specification_
SAE J1939 the basis for a variety of standards. These standards follow the fundamental description provided by J1939 and frequently differ mainly in the information they contain definition and, where necessary, physical layer changes.

ISO 11783 - Agriculture and forestry tractors and machinery - Serial communication and control

Defines agricultural vehicle communication. Specifically, the communication among the tractor and the so-called implement. The ISO 11783 Std defines services at the level of the application, such as the control of addition equipment through a Virtual Terminal. 

The additional equipment itself transports all graphic components required for its control, that a Virtual Terminal may display. another application component that include Tractor ECU, Task the Controller, File Server, & Sequence Control. The ISO 11783 Std includes a modification of the SAE J1939 multi-packet protocol. The functioning Set mechanism additionally gets used.

_NMEA 2000®_- Serial-data networking of maritime electrical devices.                              
Specifies the ECU relationship among vehicles in the marine environment. The Fast Packet protocol, a multi-packet protocol extension, is also utilized here.

_ISO 11992_: Digital information exchange between the vehicle being towed and the one being dragged
Specifies the interchange of road vehicle messages between the towing and towed vehicles. ISO 11992 depends on the J1939 message format but employs different physical layer configuration, particularly just 125 kbits/s.

_FMS_- Fleet Management System
A link between the FMS and a J1939 network is defined by the FMS standard.

**General Description of the Protocol**
_Layers_
One higher-degree communication protocol utilized in the car region is the J1939 protocol. It is a message gadget supposed for utilization in tough settings consisting of motors and heavy-duty trucks. The protocol is used to switch records between numerous automotive components, along with sensors, transmission manipulate devices, or engine control gadgets.

Data at the performance of the engine, gearbox, and different components of the car are transmitted thru the J1939 protocol. The protocol is used to send this records through contemporary automotive wire, making it easier to put in and utilize in automobiles the usage of present car wiring.

The bottom tier of the protocol stack, the CAN protocol, ought to be understood a good way to comprehend the J1939 protocol. More complicated messages and information may be communicated using the J1939 protocol than can be achieved so with the CAN protocol because it is supposed to be utilized on pinnacle of it.

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

Applications for heavy-duty automobiles and automobiles that appoint the J1939 protocol consist of:

- Engine manage units (ECUs): J1939 protocol is hired to offer engine control data to an engine manipulate unit, which includes temperature, pressure, speed, and gas injection statistics.
- Gear function, snatch function, and transmission temperature are only some examples of the transmission control records that are sent to the transmission manage unit thru the J1939 protocol.
- Various sensors: Data from diverse sensors, which include voltage, temperature, and oil stress, can be sent to an engine manipulate unit and transmission manipulate unit using the J1939 protocol.
- The stress tracking gadget: Data about tire pressure is sent to the engine control unit and transmission control unit via the J1939 protocol.
- Engine manipulate unit facts for gasoline injection structures is transmited using the J1939 protocol.
- Engine manipulate unit records on oil strain is transmitted over the J1939 protocol thru the oil stress tracking gadget.
- Data associated with alternator manage is despatched through the alternator manage module using the J1939 protocol.
- Brake control data is sent through the brake control unit through the J1939 protocol.
- Parking help structures: The engine control unit / transmission manipulate unit can receive statistics accumulated by using parking help structures, like radar sensors and cameras, the use of the J1939 widespread.
- The J1939 protocol has been applied to ship facts from severa sensors inside the vehicle to the car's control module.

_Software Protocol_
The J1939 protocol is a virtual communication protocol that may be utilized in a variety of commercial and commercial packages. It is essentially applied inside the automotive and transportation industries to talk amongst numerous vehicle components and systems.

J1939's physical layer is the Controller Area Network protocol, which lets in it to function throughout a whole lot of transmission mediums, together with copper and fiber optic strains. The CAN protocol is a simple and reliable mechanism for transmitting facts at high prices and with low latency.

J1939 provides numerous software-carried out policies and competencies to the protocol's top stages. These guidelines specify the structure and format of messages transmitted over the CAN bus. J1939, for example, specifies the layout of messages used to hook up with automobile components and systems which include the engine, gearbox, and brakes.

Another key detail of J1939 is its security help. The protocol employs a number of techniques to assure that information carried over the CAN bus is safe and tamper-proof. 

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

Thank you for taking the time to read this.