Close this search box.

SAE J1939 Protocol Software:
Configuration to Deployment

A Ready-to-Integrate SAE J1939 protocol
software package

Enabling Standardization of ECU Diagnostics Data and Services

Diagnostics functionality is a must for vehicle ECUs as they need to operate in fault-free conditions. The ECU must identify any fault in the system and communicate to other subsystems to get it rectified. SAE J1939 protocol defines all such features and provides a standard to communicate diagnostics data and messages.
higher layer protocol

SAE J1939 protocol is a set of standards that define standardized method for ECU communication across manufactures.

Quick facts about SAE J1939
  • It is a higher layer protocol built on CAN as the physical layer
  • Supports both node addressing and message addressing
  • Can transmit up to 1785 bytes
  • Has its own diagnostics interface with a set of PGNs to handle diagnostics services

Embitel offers a ready-to-deploy J1939 protocol software package. With our J1939 stack, you can implement vehicle diagnostics capabilities in your production programs in no time.

We can configure the required diagnostics services and provide other customizations as per your specific requirements.

Know more about our J1939 protocol software business model, features, use-cases, and technical specifications.

Know more about our J1939 protocol software business model, features, use-cases, and technical specifications.


Striking Features of our J1939 Protocol Stack

A Closer Look at Our J1939 Stack Architecture

Our J1939 stack can be integrated with your automotive ECU and/or tooling applications, to fast-track your product development process.

We provide the following J1939 software layers as part of the stack:

  • J1939 Application layer (J1939/71) defines SPNs and PGNs to be configured.
  • Network Management layer (J1939/81) is concerned with the management of source addresses and the association of those addresses with an actual function.
  • Data link layer/Transport layer (J1939/21) describes the data link defined in CAN (ISO 11898) protocol.
J1939 Stack Architecture

Embitel’s Service Offerings for SAE J1939 Software and its Integration

J1939/73-diagnostics layer services

  • Configuration of fault-code memory in SAE J1939 Diagnostic stack
  • Configuration of DM services for active faults, passive faults, and clearing faults, OBD-II compliance and flash bootloader operations
  • Cyclic transmission and reception of messages
  • Configuration of J1939 PGN list and J1939 SPN

J1939/71 application layer services

  • Configuration and scheduling of Rx and Tx messages between SAE J1939 protocol stack and end-user application.
  • Designing an interface for CAN communication between J1939 application layer and end-user application layer

Diagnostic tester tooling solution development

  • Simulation of vehicle condition at production/end-of-line stage using SAE J1939 diagnostic tool
  • Design and development of SAE J1939 diagnostic tool based on C# or Qt
  • Support for loading, saving, and editing of DB files (.dbc)
  • Configuration of diagnostics services as per the end-user application requirements

J1939 Conformance testing

  • Application testing and validation as per the SAE test cases defined in J1939/82
  • Support for testing of all layers- data link to application layer
  • Last-mile validation services post SAE J1939 stack integration

J1939 Bootloader development

  • SAE J1939 bootloader development for automotive ECU reprogramming
  • Configuring reprogramming sequence based on automotive application requirements
  • Verification and validation services for the bootloader

End-user Application analysis

  • Requirement gathering and analysis workshops with our automotive domain experts
  • J1939 Diagnostic Stack integration strategy – project road-map for J1939/73 and J1939/71 customizations and driver development

Embitel’s Advantage

Industry-wide Recognized

We have integrated SAE J1939 stack for several production programs across the globe. The extensive experience gives us an edge in the implementation of vehicle diagnostics through SAE J1939.

Configuration & Integration Support

Our SAE J1939 stack is designed to be fully configurable as per diagnostics specifications. We provide support for configuration of desired diagnostics services.

CMMi Level 3 Certified

As a CMMI level 3 certified organization, we have a robust process model in place. This ensures that the J1939 stack along with other stacks are reliable, bug-free and efficient.

Support & Maintenance

Our SAE J1939 stack integration service comes with a well-defined support and maintenance process. The post- integration support begins as soon as we integrate the SAE J1939 stack with your projects.

Industry Experience
What is J1939 protocol?

Ans. J1939 protocol is a standard (set of embedded software specifications) defined by SAE (Society of Automotive Engineers). The SAE J1939 protocol specifications are defined for CAN bus, and J1939 stack is an embedded software code with layered architecture and is compliant with J1939 standard.

The J1939 protocol stack is best suited for automotive ECU and tooling applications in commercial vehicles.

Our project requires cyclic transmission of PGN data for J1939 implementation. Can you support us with this requirement?

Ans: Our stack follows SAE J1939 standard and hence, it supports different transmission modes including cyclic transmission of PGN data. If your project has any kind of configuration required in terms of transmission mode, we will be happy to assist you in all possible ways.

Does your J1939 stack support TP-BAM (Broad Announce Message) and TP-CM (connection management)to send larger files?

Ans: For transmission of larger files, Transport Protocol layer is equipped with both BAM (Broadcast Announce Message) protocol and peer-to-peer transmission protocol. The stack is configured with special parameter groups used for connection management (TP-CM) and data transmission (TP-DT).

Is 'message filtering according to PGN and source address' supported by your J1939 protocol stack?

Ans: Yes, the vehicle application layer J1939-71 is equipped with feature for message filtering according to the source address and PGN.

Is "Address Claiming" for dynamic address assignment supported by your J1939 stack as per the standard?
Ans: The network management in J1939 is designed for address claiming for dynamic allocation of address. This feature makes J1939 one of a kind. Our J1939 protocol stack supports both Static and Arbitrary addressing schemes.
Our project has requirements pertaining to Request message processing, diagnostics message processing and message timeout monitoring? How effectively can the J1939 stack handle them?

Ans: We have designed our J1939 stack to handle these requirements. We support all three requirements- request message processing, diagnostics processing and message timeout monitoring.

The different types of messages shall be handled by different layers in J1939 stack. For example Request message processing shall be handled by Data link layer, Diagnostics message processing shall be handled by DM Layer(j1939/73), Message timeout shall be handled in J1939/71 layer

Is your J1939 stack compatible with processors like 32-bit ARM microcontrollers and Toradex Colibri iMX7 that runs Linux? If not, can the stack be adapted for these MCU platforms?

Ans: Our J1939 stack is hardware and platform independent. By virtue of being hardware agnostic, it can be ported into a hardware environment of your choice.

What is the support and upgrade period for J1939 stacks?

Ans: We provide support and upgrade for J1939 stacks so that our customers have a smooth experience of integrating our stack. The exact period of support and upgrade can be discussed in detail based on customers’ requirement. Since, these standards do not change very frequently, instances of upgrade are few. However, should a need arise, we will implement the changes at a nominal cost.

Does the J1939 Stack include the CAN driver?

Ans: No, our J1939 Stack doesn’t include the CAN Driver. However, we can support developing the CAN Driver with additional cost.

Ans. Our J1939 software stack consists of validated and verified software layer services.

Following are the software specifications of the included layers:

Data link / Transport LayerJ1939/21
Data link / Transport LayerJ1939/21
Data link / Transport LayerJ1939/21
Data link / Transport LayerJ1939/21
Do you also provide hardware and software integration services for J1939 stack?

Ans. As part of the SLA, our software team will work closely with your team to analyze the end-user application.

Based on your business requirement, we provide customization and integration of the J1939 stack with your hardware platform and software application.

To summarize, we will partner with your team to deliver following services along with the stack:

  • Integration of the J1939 stack to your hardware platform
  • Integration of J1939 solution with target application
  • Development of bootloader software based on J1939 standard
  • Development of driver modules like CAN, UART and more
  • Verification &validation (testing services)of your target application after integration
Do you provide CU reprogramming module/ bootloader solution as the part of the software stack?

Ans. The modules that support the bootloader functionality are already included in the software stack. We also provide additional integration support for ECU reprogramming.

This includes segregating the memory as boot and application area, implementing boot loader logic in both boot and application, CRC checks, Flash driver and more.

Is the J1939 software source code complaint to any specific standard?

Ans. The J1939 software stack is complaint with ISO J1939 standard. The software source code is developed using embedded C in compliance with MISRA-C standard.

At an organization level, we also follow all the software development best practices as per CMMI level 3 standards.

Have you integrated the J1939 protocol software stack solution before for any of your customers?

Ans. We have more than 10 years of experience and domain expertise in partnering with global automotive OEMs’ and Suppliers
We have a team of expert automotive software engineers, who have delivered key solutions for integration, end-of-line testing and support for the implementation J1939 protocol software stack across multiple platforms

Do you provide post-production support as a service?

Ans. We have a well-defined support and maintenance process for your post-production requirements.

As per your project requirements and partnership expectations, post-production support will be part of the SLA at the onset of the J1939 stack integration project

Can you share details about your licensing policies?

Ans. Our business module enables one-time licensing which provides the customer with IP rights and source code for the software stack.

The IP rights help your business to reuse the software code across multiple projects.

However the business model can be re-framed according to the business needs of the customer and project specifications.

J1939 Customer Success Stories:

Features of the Reusable J1939 Stack:

Why Partner with us for J1939 Stack Integration Project:

Leverage our automotive domain expertise and project experience in J1939 integration to reduce time-to-market and application development costs

We are a CMMi Level 3 and ISO 9001:2008 & ISO 27001:2013 certified organization

Robust project management processes based on EmbiQ – an engagement model. This model is built on three critical pillars – People, Process and Technology

Industry Experience
Scroll to Top