The J1939 Protocol, Explained

You may have heard of J1939 and ECUs and CAN bus protocols, but what exactly do all these acronyms mean, and how do they relate to one another?

In short, these devices make up the hardware infrastructure that determines how electronic components communicate throughout your vehicle. The use of defined protocols standardizes how devices “talk to” other devices within heavy-duty vehicles, which allows for manufacturer interoperability and streamlined fleet maintenance.

In this article, you’ll learn how J1939 works, how it relates to the CAN bus protocol, the characteristics of the J1939 connector, and how the CalAmp Application complements J1939.

What is the J1939 protocol?

The J1939 protocol is a set of standards created by the Society of Automotive Engineers (SAE) to define how Electronic Control Units (ECUs) transmit data over the Controller Area Network (CAN) bus protocol. The standard applies to heavy-duty vehicles such as trucks, buses, tractors, and industrial machinery.

J1939 lays out a standard process for how ECUs should transmit data to other ECUs and other electronic systems that collect, process, and share onboard diagnostics data, such as sensors and Global Positioning System (GPS) devices. The use of standardized protocols has many benefits, the first of which is creating a universal shared “language” for devices to interact.
This enables heavy-duty vehicles to be fitted with devices from different manufacturers without worrying about these devices being incompatible.

Industrial vehicle with connected services

What is an ECU?

An ECU is a microcontroller that operates the various electronic functions within a vehicle. Such functions may include simple things like operating the power windows and air conditioning, as well as advanced functions such as the Anti-Lock Braking System (ABS), which triggers when braking heavily or when braking on slippery surfaces to prevent the tires from locking up and causing the vehicle to lose control.

What is the CAN bus protocol?

The CAN bus protocol is a popular and widely used method of data transmission in vehicles. It serves as the “communication highway” with which ECUs transmit data from one device to another. The protocol itself is a set of two separate electrical wires, referred to as CAN_Low and CAN_High, which facilitates the transferring of data between ECUs and between other devices.

How does J1939 work?

In order to enable ECUs to share data seamlessly regardless of make or model, the J1939 protocol enforces a uniform approach to communication standards, including message format, addressing, parameter groups, prioritization, and so on.

For example, each message sent from an ECU must use a pre-defined format that includes:

  • Priority (PDU1 or PDU2)
  • Parameter Group Number (PGN)
  • Source Address (SA)
  • Destination Address (DA)
  • Data Length Code (DLC)
  • Data Bytes (up to 8 bytes)J1939 defines unique parameter groups (PGs) to represent specific types of information, such as engine speed, vehicle speed, fuel level, and more. Each PG is associated with a unique PGN, allowing ECUs to understand the content of the message based on its PGN.

CAN identifiers, explained

CAN identifiers are unique codes assigned to each message transmitted on a CAN bus. These codes serve as addresses that help determine the message's priority, source, and destination within the network, allowing devices on the CAN bus to understand which messages are meant for them and how important those messages are.

In technical terms, the TJ1939 protocol typically operates at a data rate of 250kbps or 500kbps. The higher the data transfer rate, the faster the data moves from one device to another.

CAN identifiers come in different sizes. 29-bit CAN identifiers are commonly used in heavy-duty vehicles, while 11-bit CAN identifiers are commonly used in consumer vehicles. The 29-bit version is an extended message format designed to store more information than an 11-bit version.

This is necessary because heavy-duty vehicles are equipped with more ECUs and process a larger volume of data than consumer vehicles. Therefore, they need a system that can handle the higher influx of broadcast messages.

What kind of information is in a 29-bit CAN identifier message? The 29-bit CAN message holds much of the same information as a standard CAN (such as priority and source address), as well as some important additions.

The key difference is the use of an extended 18-bit identifier. More address space allows for a greater number of unique identifiers in the system, which is necessary in large networks because there are many different devices and message types that need to be addressed.

Using longer identifiers allows for proper specificity and prioritization of messages in complex systems. This enables fleet owners to prioritize incoming vehicle fault codes based on their severity and urgency.

Parameter Group Number (PGN) and Suspect Parameter Number (SPN)

The term PGN stands for Parameter Group Number, and the term SPN stands for Suspect Parameter Number. Both are key to understanding the information contained in J1939 packets – self-contained batches of messages.

29-bit identifiers, PGNs, and SPNs

A typical J1939 packet contains a 29-bit identifier, where each group of bits represents a vital piece of information related to the packet. For example, the first 3 bits of a J1939 packet determine its message priority, which helps fleet owners prioritize the diagnostic messages that they receive.

In this sense, a PGN is a unique identifier, one that enables fleet owners to determine – quickly and easily – what vehicle component needs attention, including not just the component category (e.g., engine temperature) but also the subcategories (e.g., oil or coolant temperature).

At the start of a DTC is the SPN, a number that identifies the system experiencing an issue. This is then followed by another number called the Failure Mode Identifier (FMI), which describes in detail the exact nature of the fault. Together, these two fields make up a DTC. Another important field is the Source Address, which identifies the origin of the message.

How does J1939 relate to the CAN bus protocol?

The SAE J1939 protocol is a standards collection that defines how ECUs exchange data within heavy-duty vehicles. This flow of information occurs through the CAN bus protocol, which consists of a physical layer and a data link layer. The physical layer is made of shielded twisted pairs of wires spread throughout a vehicle, connected to each and every ECU. The second layer, the data link layer, facilitates the transmission and reception of data between nodes.

J1939 and can bus

Put simply, J1939 is the “language” that ECUs use to communicate with each other, and the CAN bus is the “communication highway” that J1939 uses to transmit its message.

Without J1939, there is no way for ECUs to communicate with each other, and without the CAN bus, there is no means for ECUs to establish a connection in the first place. Each component relies on the other to do its job.

Why is J1939 important in fleet management?

The J1939 protocol is vital to fleet management because it allows fleet telematics devices to easily collect, process, and distribute ECU (and other onboard diagnostic) data to the relevant endpoints. This allows telematics providers like CalAmp to build hardware- and software-based tools to make use of this data, providing valuable insights to key decision-makers like fleet owners, maintenance managers, and drivers.

Solutions like the CalAmp Application enable users to consolidate all of their ECU and other telematics data into one unified platform. Regardless of the type of ECUs in your fleet, the CalAmp Application can collect all of this data and present it to you in an intuitive, easy-to-read graphic user interface. The CalAmp Application is compatible with any internet-enabled desktop or mobile device.

Through one platform, you can maintain end-to-end fleet visibility, enabling you to automate maintenance scheduling, monitor and address driver safety and performance concerns, streamline compliance with step-by-step guides, and improve operational efficiency. This helps you achieve fewer unscheduled breakdowns, reduced maintenance costs, faster deliveries, and improved operational efficiency.

What are the characteristics of the J1939 connector?

The J1939 connector is a standardized 9-pin connector suitable for use in any heavy-duty vehicle operating on the J1939 network.

J1939 connector

Each pin on the J1939 connector is assigned a particular function. Below is a complete breakdown of the pins on a typical J1939 connector:

  • A – Electrical ground
  • B – Power to the battery
  • C – Can 1 H (CAN_High)
  • D – Can 1 L (CAN_Low)
  • E – CAN shield (to prevent electrical noise)
  • F – J1708 (+) / CAN 2 H (to ensure compatibility with the older J1708 standard)
  • G – J1708 (-) / CAN 2 L (to ensure compatibility with the older J1708 standard)
  • H – OEM specific (or CAN 2+)
  • J – OEM specific (or CAN 2-)

Types of J1939 connectors

There are two types of J1939 connectors in use today: the first is a Black 9-pin (Type 1) connector, found on heavy-duty vehicles that predate 2016, while the second is a newer Green 9-pin (Type 2) connector, found on heavy-duty vehicles made from 2016 onwards.

The newer green 9-pin connector supports data transfer speeds of up to 500 kbps, while the older black 9-pin connector only supports up to 250 kbps.

The green color allows fleet owners to determine at a glance if their tools are compatible. This helps prevent users from accidentally hooking up older tools to incompatible pins, potentially damaging their tools, trucks, or both.

How CalAmp and J1939 work together

Using the right connections is incredibly important for fleet owners, as each data link must broadcast at the same transfer speed, or else the entire data link could crash.

How does the CalAmp Application work with J1939?

There are many ways that the CalAmp Application complements the J1939 protocol. One of the most important is that the CalAmp Application can help fleet owners interpret Diagnostics Trouble Codes (DTCs).

Quickly interpret DTCs

DTCs are unique codes designed to help fleet owners identify and diagnose the source of a vehicle malfunction. With a DTC, each character in the code has a specific meaning. An example of this can be seen in the first character of a DTC, of which there are one of four possible letters:

  • ‘P’ refers to the powertrain
  • ‘C’ refers to the chassis
  • ‘B’ refers to the body
  • ‘U’ refers to the onboard computers

The rest of this example DTC would include more numbers and letters. And each of those characters would have their own meanings, too. Once combined, a complete DTC code can provide a detailed summary of the exact nature of a vehicle malfunction.

With a telematics device connected to your fleet’s J1939 port and edge computing, the CalAmp Application can send an alert to fleet owners when the vehicle triggers a DTC. The alert will include the DTC and a detailed description of the trigger event. Using this information, fleet owners can then notify the driver and instruct them on what to do next, such as pull over to wait for roadside assistance or visit the nearest service center for repairs.

Automate fleet maintenance

Routine maintenance is essential to keep your fleet safe to drive, compliant with industry standards, and performing well. However, manual fleet scheduling can be time-consuming and easily forgotten, resulting in service delays and greater risk of vehicle malfunctions.

With a fleet telematics device connected to the J1939 port, CalAmp Predictive Maintenance — a diagnostics and repairs solution provider for commercial vehicles powered by Noregon — can provide data-driven insights that help automate fleet maintenance.

Fleet telematics and cloud

Using CalAmp Predictive Maintenance, fleet owners can quickly identify vehicle faults (with easy to interpret DTCs) and respond swiftly to prevent escalation. The solution also helps optimize fleet maintenance by providing timely, automated service reminders, overdue service notices, and comprehensive maintenance records. The records provide a detailed breakdown of the service history for each vehicle, including the type of service performed and the cost of each service appointment.

Create custom DTC reports

Being able to interpret a DTC is an effective way to identify and diagnose potential vehicle faults in real time. However, for maintenance managers to maintain end-to-end visibility of their fleet, they require more detailed reports.

This is where the CalAmp Application can help. By being able to generate on-demand, custom DTC reports, maintenance managers can get a precise, detailed overview of the current status of each and every vehicle in their fleet.

From there, maintenance managers can use this information to identify trends, particularly where certain parts may fail sooner than expected. Then, they can schedule repairs to address even small problems – before those small problems escalate into bigger, more complex problems.

J1939 and CalAmp

The J1939 protocol makes it easy for fleet owners to monitor their vehicles in real time and remotely diagnose mechanical faults. This, in turn, can help you perform preventative maintenance and extend the lifespan of your fleet.

This is made even easier with the CalAmp Application, a cloud-based solution that consolidates all of your fleet data, including your trailer and cargo data, into one user-friendly dashboard. As a result, you will enjoy improved fleet visibility and reduced response times to critical issues.

To learn more about our fleet telematics systemcontact us today to request a demo.

Recent Related Stories

Are Your Devices at Risk? Navigating Australia's 3G Network Closure
Introduction Australia's digital infrastructure is poised for a major leap forward as 3G networks sunset, paving the way for advanced…
Read More
Using Modbus in Industrial Telematics
What is Modbus? The Modbus communications protocol is the granddaddy of the networking industry and is still the only open-source…
Read More
Why OEMs are Increasingly Relying on Industrial IoT
Industrial IoT (IIoT) refers to devices, sensors, and industrial applications networked together via Internet connectivity to collect, exchange, and analyze…
Read More