Happy to Help!

This website doesn't store cookies. Enjoy the experience, without worrying about your data!

Great, thanks!

ISO 11898 Based Software for CAN BUS Protocol


Business Engagement Model for Licensing the CAN Protocol Stack: What are the Value Adds?

Our Controller Area Network (CAN) Protocol Stack (ISO 11898) is a Ready-to-integrate and Production Grade in-vehicle networking solution.

This software solution is ideal to support in-vehicle networking functions, within passenger vehicles

We offer this CAN Bus Protocol stack under a one-time licensing fee model. This engagement model has proved to be a great value-add for our customers across US, India, China, Taiwan, South Korea and Europe.

The following are some of the benefits of our One-Time Licensing Fee Model:

  • You get access to the source code of the CAN Bus Software Stack.
  • You become the owner of the IP rights of the CAN Software.
  • By owning the IP rights, your organization can deploy this CAN Bus Software in multiple production programs.


A Software Stack for CAN BUS Protocol (ISO 11898): Details of the Software Architecture

CAN stack

CAN Bus Software Stack comprises of the following layers and software components:

  1. A Software Stack/Package compliant with ISO 11898: Our CAN BUS Stack consists of CAN Network Management (NM) Layer and CAN Interface (IF) Layer.
    • NM layer manages sleep/wake up functionality.
    • CAN Bus Interface Layer carries out all hardware independent tasks, related to the flow of data to the upper layer modules of the CAN software stack.
  2. UDS Software Stack compliant with ISO 14229: UDS is the off-board diagnostics application. It is based on ISO 14229 Standard. This layer manages the diagnostics aspect of CAN bus software.
  3. Flash Bootloader Application: Flash Bootloader is tasked with ECU Re-programming. In our CAN software stack, we provide a UDS based flash bootloader for ECU Flashing purposes.
  4. ISO Transport Layer (ISO 15765): Responsible for segmenting the data, if the size of the data frame is more than 8 Bytes.
  5. Low-Level Driver: The CAN BUS Device Driver enables the access to hardware resources, for the upper software layers. It also offers access to the hardware independent API, to the application layer.


CAN Bus Software Integration, Configuration and Testing Services

Extensive experience in successful integration of CAN Bus software and CAN Interface Layer (CAN IF). Configuration can be facilitated by both manual and tool based approach.

We have designed a Proprietary tool for CAN Bus Software Stack Configuration. This is a PC based tool named as Auto-code Generator Tool. This tool has helped our customers to reduce 3-4 weeks of turn-around time.

Our team has also successfully integrated CAN Bus Protocol for in-vehicle networking functions in order to power Automotive Applications such as:

  • Seating ECU
  • Body Control Module
  • Telematics ECU
  • Engine Control Unit

Development and Integration of CAN Bus Device Drivers:

  • Support for all Microcontroller Families (Renesas, TI, Fujitsu etc.)
  • Supports 29 and 11 bit identifiers
  • Hardware Filtering (Acceptance Filtering) of messages and signals
  • Support for standard baud rates of 125kbps, 250 kbps and 500 kbps
  • Leverage Reusable components of CAN BUS device drivers to reduce time-to-market
  • Support for CAN BUS device driver integration, across production programs


    CAN Bus Protocol Stack Support and Maintenance Services:

  • Creation of High Level Design documents (HLDD) and Low-Level Documents (LLD)
  • CAN Conformance Testing of Data Link Layer with Vector tools like CAN Stress
  • Design of Integration and Functional Test Plans
  • Support for MISRA compliance report creation
  • End-to-end Testing Services ( Unit, Integration and Functional Testing)


    Design and Development of PC Based Auto Code Generator Tool:

  • CAN DBC File to configuration file generation tool
  • Auto Generated and MISRA C compliant code
  • Code generated in fraction of seconds
  • PC based (Windows) tool
  • Easy to remove Tx and Rx messages from the CAN Matrix


    Development and Configuration of CAN Bus Interface Layer (CAN IF):

  • Ready-to-deploy CAN Bus Interface layer (CAN IF); only configuration is needed
  • Tx and Rx message configuration from the CAN DBC file (CAN Matrix)
  • Support for Tool based/ manual configuration of CAN Interface layer (CAN IF)
  • Configurable Skeleton code (.C, .F, cgf.c and cgf.h) of CAN Bus Interface layer (CAN IF) is also available
  • Low level and high level documents are provided
  • Support for software level message filtering
  • Signal and message extraction provided as a default feature


    Integration and Configuration of CAN TP (ISO 15765) and Network Management Layer:

  • Message and mode monitoring
  • Checksum strategies to ensure message validation
  • Integration of UDS (ISO 14229) stack over CAN TP (ISO 15765)
  • Customizations as per your business requirements
  • Built-in error handling feature of CAN BUS off
  • Ready-to-deploy CAN TP layer for reduced turnaround time


    Meet Our Automotive Leaders



    CAN Software Stack Factsheet:

    CAN Stack PDF

    This CAN protocol stack solution factsheet is designed to provide you all the necessary information related to the technical specifications like memory requirement, and integration & support services etc.

    Download this CAN protocol stack Factsheet for details about:

    • CAN software stack business model
    • Advantages of one-time licensing fee engagement model
    • CAN Bus Software package
    • Value-add features of our pre-tested and ready-to-integrate CAN BUS software solution
    • Use-cases and applications of CAN protocol stack in automotive industry

    Please refer to CAN software stack FAQ’s for more details.


    Related Blogs: Learn More About CAN Bus Protocol Stack and In-vehicle Networking

    • What is CAN BUS Protocol Stack? And Why it is a Critical Software Solution for Electronic Control Unit (ECU) Communication?


    FAQs About CAN Stack Solution

      Ans. The layered technology architecture of our CAN Bus Software is as follows:

      • Low-level drivers (CAN, MCU, EEP, Timer)
      • CAN Bus Software Stack (CAN NM and CAN Bus Interface)
      • ISO TP Layer (ISO15765)
      • UDS Stack (ISO 14229)
      • Application Layer

      Also included are:

      • Bootloader Application Layer
      • UDS Based Bootloader Software
      Ans. Our CAN BUS Software Solution has been designed to support all the vehicle network communications of your automotive ECU (Control Units)

      The following are some of the highlights of our CAN Software package:

      1. CAN Device Drivers support 11&29 bit identifiers
      2. In-built Interrupt Based data handling
      3. Data Queuing feature
      4. APIs for Tx and Rx messages
      5. CAN Bus Interface Layer (CAN IF) w.r.t CAN Matrix
      6. Supports Signal Extraction
      7. Supports S/W filtering
      8. CAN Network Management
      9. Message and node monitoring
      10. Sleep/Wake up functionalities
      Ans. CAN BUS Device Driver is the only part of the stack that is dependent on the hardware platform. Rest of the software layers, like CAN IF and CAN NM are hardware agnostic.

      It implies that the CAN driver will need to be developed based on the microcontroller used in the project.

      Our automotive team has expertise of developing device drivers for all major MCU families including Renesas, Fujitsu, TI and others.

      Ans. Our experience spans across several automotive ECUs, that have been powered by our CAN stack. A few of the ECUs for which we have successfully deployed CAN stack are

      1. Seating control ECU,
      2. Engine Control Unit and
      3. HVAC systems
      Ans. Yes. Our service level agreement for CAN Stack clearly documents the fact that we will provide all the necessary configuration and integration services, along with CAN stack license.

      Tool-level integration for low-level drivers as well as application level, will also be a part of our SLA.

      Ans. We follow a well-defined test-plan for Our CAN bus software solution. We use standard tools for the following testing procedures:

      1. Unit level Testing
      2. Functional Testing
      3. Data Link Layer Compliance testing using vector tools
      Ans. Depending on the size of the CAN Matrix file, we use manual method or an automation framework/ tool for conversion from CAN DBC file to configuration file code.

      Our proprietary PC based auto-code generator tool, is capable of generating configuration files instantly as compared to manual method that would take 2-3 weeks.

      As a customer, you have the freedom to choose between the manual method and the tool-based method.

      Ans. Our in-house tool used for this purpose is called CAN DBC File to configuration file generation tool. It is a Windows PC based tool that reads the CAN Matrix DBC file and converts it to code instantly.

      Some of the advantages of the tool:

      1. The auto-generated code is MISRA C compliant.
      2. It takes a few seconds to auto-generate the code.
      3. Development time and cost is reduced considerably.
      Ans. Our CAN BUS Software stack is designed to be a light-weight software. The size of flash memory is 6 kB and RAM size is 1 kB.

      However, the RAM size will depend on the stack configuration. This configuration will be unique, as per your business application needs.

      Bigger the CAN configuration file, higher is the RAM memory.

      Ans. Yes, by the virtue of its design, the CAN BUS software solution is modular in nature. Our coding guidelines ensure that no global variables are exchanged between different source files.

      Each functionality is invoked using an API. The modular nature also makes our stack lightweight in size.

      Ans. While our CAN stack is available under an one-time licensing fee model, where you own the IP rights of the source code, we can also provide the stack in Library Format.

      But following are some of the drawbacks:

      • The Library Format of the stack will not comprise of any editable source code.
      • You will not be able to re-use the same CAN stack solution for any other production programs.
      Ans. We provide both HLDD and LLDD documents, along with the stack. This helps you to implement any necessary changes in the stack (in the future), with the support of your in-house team.

      In addition, we will also provide documents like Functional Test Plan & Report as well as MISRA compliance Report.


    Knowledge Bytes
      What is a CAN BUS Protocol Stack?

      CAN Stack is an in-vehicle networking (BUS) standard, which allows the various electronic control units to communicate with each other. CAN Stack is a serial communication protocol for passenger vehicles.

      It allows considerably higher data rates in tune of 500 kbps. Using the CAN Transport layer (ISO 15765), the data rate can be further increased.

    Case Studies

    Contact Us


     I agree to allow this website to store my submitted data. This data can be used only for responding to my enquiry and/or send related information about technology services and solutions.