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 Bus Software Stack comprises of the following layers and software components:
- 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.
- 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.
- 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.
- ISO Transport Layer (ISO 15765): Responsible for segmenting the data, if the size of the data frame is more than 8 Bytes.
- 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:
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
- CAN Device Drivers support 11&29 bit identifiers
- In-built Interrupt Based data handling
- Data Queuing feature
- APIs for Tx and Rx messages
- CAN Bus Interface Layer (CAN IF) w.r.t CAN Matrix
- Supports Signal Extraction
- Supports S/W filtering
- CAN Network Management
- Message and node monitoring
- 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
- Seating control ECU,
- Engine Control Unit and
- 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:
- Unit level Testing
- Functional Testing
- 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.
- The auto-generated code is MISRA C compliant.
- It takes a few seconds to auto-generate the code.
- 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. 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.