Home Embedded Blog What is J1939 software stack?

What is J1939 software stack?

Learn about the layered architecture and diagnostic trouble codes (DTC)

What is SAE J1939 – an introduction?

SAE J1939 is a software standard defined by Society of Automotive Engineers (SAE). This software standard has been designed to ensure that Electronic Control Units (ECU) manufactured by different automotive suppliers are able to communicate with each other within an in-vehicle network.

SAE J1939 standard is defined for applications in commercial vehicles for CAN (Controller Area Network) bus.

What is J1939 stack?

J1939 stack is an embedded software stack with layered architecture, compliant with SAE J1939 standard.

This pre-tested software stack, designed by our embedded automotive engineers, can be easily integrated with commercial vehicle applications for diagnostics and communication services.

Our product engineering team has also developed J1939 bootloader for automotive ECU reprogramming services.

J1939 layered architecture specifications – as defined by SAE

The Society of Engineers (SAE) has defined all the functions supported by different layers of the J1939 software stack.

.
J1939 Stack
.

Following are the details:

  • J1939/21 – Data Link/ Transport Layer: This layer defines the Message/Frame Format, Protocol Data Unit (PDU) Formats, Message Type, Message Priority, Bus Access, Arbitration, Error Detection, PGNs and Transport Protocol Functions
  • J1939/81 – Network Management Layer: This layer defines Name ECU, Address, Network Management Procedure, Network Error Management, Address Claim and ECU Initialization procedures
  • J1939/71 – Vehicle Application Layer: This layer defines Parameter Group Numbers (PGNs), Suspect Parameter Numbers (SPNs) with the Scaling, Limits and Parameter Offset Size. 
  • J1939/73 – Application Layer for Diagnostics services: This layer defines Diagnostic Trouble Codes (DTC), Diagnostic Parameter Group Definitions and Diagnostic Messages (DM)
    (Source: SAE)

What is Diagnostic Trouble Code (DTC) in J1939 stack?

When certain failure occurs in an automotive ECU, it is noted in the form of a Diagnostic Trouble Code (DTC), also known as Fault Code. DTCs’ are defined by SAE J1939 standard.

Diagnostic Trouble Code (DTC) has the following fields:

.
DTC In J1939
.

Where:

SPN is Suspect Parameter Number (19 bits)

FMI is Failure Mode Identifier (5 bits)

OC is Occurrence Count (7 bits)

CM is SPN Conversion Method (1 bit).

With help of DTC one can understand failure that has been reported.

For Example:

SPN = 91 Suspect parameter is accelerator pedal position

FMI = 3 Failure mode is identified as voltage above normal

OC = 9 Occurrence count indicates trouble has occurred 9 times

CM = 0 Conversion Method is Intel.

What are Diagnostic Messages (DM) in J1939 software stack?

Diagnostic Messages are messages which give information about the health of the system, intimating about the malfunctions which have currently occurred in the automotive system.

Following are the examples of some of the Diagnostic Messages (DM) in J1939:

  • DM1 Message (Active Diagnostic Trouble Codes):

Diagnostic Message 1 (DM1) reports active diagnostic codes that are preceded by the diagnostic lamp status in the message byte. It reports diagnostic condition of the automotive ECU over the In-Vehicle Network with Suspect Parameter Number, Failure Mode Identifier and Occurrence Count.

  • DM2 Message (Previously Active Diagnostic Trouble Codes):

Diagnostic Message 2 (DM2) reports previously active diagnostic codes that are preceded by the diagnostic lamp status in the message byte. It reports diagnostic condition of the Automotive ECU over the in-vehicle network with same details.

  • DM3 Message (Diagnostics Data Clear):

This message indicates that all the Diagnostic information pertaining to the previously active trouble codes should be cleared or non-active trouble codes should be reset. This ensures that the active trouble codes, which are present in ECU, are not impacted.

Get in touch with our J1939 stack development team:

For any queries regarding the J1939 software stack or automotive ECU and tooling applications, get in touch with our team. Send us your Queries

Know more about our J1939 stack solutions and services here

This entry was posted in Embedded Blog, Blog by Embitel. Bookmark the permalink

Sep 26 2016
Related Posts

ASK OUR EXPERTS

captcha

FEATURED WHITEPAPER

12 design strategies to develop an "In-Vehicle Infotainment " system

RELATED SERVICES
 

Car HUD (Heads-up Display)

Go-to-market in 6 months with our automotive grade hardware and software design


Automotive Control Units

Electronic Control Units (ECU) development services for Body Control Modules (BCM), Powertrain, Chassis and Infotainment


AUTOSAR Software Services

AUTOSAR MCAL development, RTE and BSW integration, Application Layer development, Tools configuration and code generation


CUSTOMER SUCCESS STORIES
 
J1939-stack

J1939 Stack for advanced EPS system

Find out how J1939 stack resolved on-chip memory issue for an Automotive Tier-I supplier


connected-car

Software re-engineering | Telematics applications

Modular architecture re-design across fleet management product lines - GPS fleet security, vehicle and trailer tracking


IoT

IoT based Home Automation system

Design and development – Sensor Networks, Custom IoT gateway, Cloud and Mobile App