Stack and Bootloader with SAE J1939 Standard

Embitel has developed a reusable software stack and boot loader, which is in compliance with SAE J1939 standard. This stack is implemented in ANSI-C and is independent of the CAN controller, CPU and operating system. It can be readily adapted for any automotive control unit and tooling applications.

J1939-Stack

The EMB_J1939 Stack contains:
  • J1939 Data Link Layer (J1939\21)
  • J1939 Transport Layer(J1939\21)
  • Network Management layer (J1939/81)
  • Vehicle Application Layer(J1939/71)
  • Vehicle Diagnostics layer (J1939/73)
  • Boot loader to support reprogramming
  • Fault Code Memory

 

The stack supports single address claim, arbitrary address claim and command address claim. PGN and SPN can be configured easily. It supports DM1, DM2, DM3, DM11, DM13, DM14, DM15 and DM16.

Key Highlights:
  • Reusable stack
  • Lower footprint
  • Enhanced Portability (It can support8,16 and 32 bit Embedded Controllers)
  • OS independent – with or without RTOS (Supports Android, Linux, RTOS, non-OS systems)
  • Support for boot loader – A solution for reprogramming ECUs quickly, efficiently and securely via CAN network.
Integration of Stacks:

Embitel already integrated the stack into two applications:

  • Android based IVI platform –J1939 stack helps the IVI platform to fetch vehicle parameters and diagnostics and diagnostics information to be displayed in the LCD screen. The stack is integrated with Linux/Android operating system, and around 50 PGNs are configured.
  • Electronic Power Steering system – Complete stack is integrated with power steering system for supporting vehicle communication, reprogramming, diagnostics and fault code memory. An overview of the system is shown below:
The J1939 stack further strengthens our library of reusable stacks in the area of vehicle networking and diagnostics. The list of reusable stacks includes:
      • J1939 stack
      • ISO14230 – KWP2000
      • ISO14229 – UDS
      • ISO15765 – CANTP
      • ISO15031 – OBD services
      • CAN Driver
      • LIN Driver and LIN based diagnostics
      • Boot loaders based on above protocols
      • Fault code memory based on OBD, J1939 requirements
These stacks improve our ability to meet the triple constraints of – Cost, Schedule and Quality.