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.
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.
Striking Features of our J1939 Protocol Stack
- Our J1939 protocol stack has a modular architecture making it simpler to integrate to your existing automotive system and hardware.
- The J1939 stack is implemented in ANSI-C and is independent of the CAN controller, CPU and operating system.
- Unit, Integration and Functional testing of SAE J1939 with relevant tools are performed and test reports are shared with the customer.
- J1939 Datalink + Transport layer (J1939/21) and Network Management layer (J1939/81) are pre-tested and pre-packaged as per the SAE J1939 protocol standard. These layers are ‘re-usable’ for any automotive ECU and/or automotive tooling applications.
- J1939 protocol software code is compliant to 2012 MISRA C standards.
- We offer our industry recognized SAE J1939 protocol software under a one-time licensing fee model.
- Terms & conditions for J1939 delivery model are completely transparent and fully aligned with the customer’s requirements and vision.
- Our J1939 stack finds applications in implementation of diagnostics system for all kinds of vehicle ECU and external diagnostic device.
- Enablement of vehicle diagnostics capabilities, ECU communication and ECU flashing through J1939 bootloader are some of the most common use-cases.
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.
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
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.
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.
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.
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).
Ans: Yes, the vehicle application layer J1939-71 is equipped with feature for message filtering according to the source address and PGN.
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.
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
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.
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.
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:
|ISO-OSI model layer||Embedded software specification|
|Data link / Transport Layer||J1939/21|
|Network Management Layer||J1939/81|
|Application Layer||J1939/71 and 73|
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
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.
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.
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
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
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:
Advanced EPS system – Code optimization, J1939 Stack Integration, Onsite Support and In-Vehicle Testing
- Business Challenge – Our customer (Automotive Tier-I Supplier of steering and driveline components) encountered a major roadblock during software porting.Due to limited on-chip memory (RAM and ROM) of DsPIC 30F4011 platform, it became imperative for the customer to port highly-optimized embedded software to the EPS system.
- Embitel Solution – After several engineering workshops with the customer for understanding and analyzing the EPS system, Team Embitel was able to overcome the hurdle with the help of following solution:
- A light-weight and re-usable SAE J1939 compliant stack best suited for commercial vehicles was integrated with the system
- The entire code was optimized around J1939 stack and since the stack has layered architecture, the optimized software was successfully ported thus overcoming the memory issue
For more details, please refer to the J1939 stack integration with EPS
Android based Infotainment system – J1939 stack integration for ECU communication and vehicle data collection
- Business Challenge – Infotainment application communicates with several ECUs to fetch various vehicle parameters. Embitel’s infotainment software development team needed an off-the-shelf communication layer that can be configured easily. This would ensure reduced development time and add value to the bottom-line of the project costs.
- Embitel Solution – The team decided to integrate the J1939 stack, designed in-house for CAN communication, to save time and costs. Hence our cross-functional expertise in Embedded and Automotive technology added value to our client’s product roadmap.
For more details, please refer to the J1939 stack integration with Infotainment system
Related Posts : Learn More About SAE J1939 Software Stack
- What is J1939 software stack? Learn about the layered architecture and diagnostic trouble codes (DTC)
- How to Integrate J1939 Software Stack with an Automotive ECU: A Step-by-Step Tutorial
- What is ELD Mandate and its Dec 2017 Deadline for the Fleet Management Companies in USA
- ELD Implementation for fleets in US: Learn About the System Design & J1939/OBD2 Stack Integration
- How to Test Quality of J1939 Software Source Code
- What is J1939/21 Transport Protocol? Learn How It Supports More Than 8 Bytes Data Over CAN
Features of the Reusable J1939 Stack:
- enables in-vehicle network communications (ECU communications)
- supports vehicle diagnostics services and fault-code memory
- J1939 bootloader supports in-vehicle ECU reprogramming
- The embedded software code of the Stack is MISRA-C complaint.
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