About the Customer:
A pioneer in automotive lighting solutions, our customer has been at the forefront of some of the most innovative breakthroughs in the automotive industry. As a technology partner, Embitel has had the pleasure of collaborating with them on multiple occasions. On account of being aware of Embitel’s platform software development and ISO 26262 expertise, our customer chose to bring us on-board for their next futuristic automotive lighting project.
Building an automotive solution entails developing not only the application logic but also the underlying low-level drivers that facilitate the communication between the software and the hardware.
The core competency of our customer is in the development of innovative automotive solutions and it was the hardware-specific platform software where they required external support. In addition, the platform software was required to be ASIL-B compliant.
What made the Board Support Package so important in this project?
- The COM layer of the board support package facilitates CAN based communication between the ECUs.
- Low-level drivers such as Timer, Digital input/output and watchdog are required to access the corresponding functions of the microcontroller platform.
- UDS based diagnostic layer facilitates communication between the diagnostic application and the external tester devices.
Finding robust, pre-tested and ready-to-deploy
CAN protocol stack was a challenge to the customer. Configuring the protocol software based on the project’s requirement added another dimension to this challenge.
Our automotive team undertook the task of developing and configuring ASIL-B compliant platform software for this project. Before our team started the development of the different modules of the platform software, we went through a series of discussions with the customer’s team for requirement refinement and maturation.
We were able to re-use some of the components with minimum configuration such as
- ISOTP (ISO 15767)
- Fault Code Memory
- CAN Interface Layer (CAN IF)
- CAN Network Management Layer (CAN NM)
These modules were configured as per the application’s and hardware requirements. For instance, the CAN IF and CAN NM modules were configured based on the CAN Matrix provided by the customer.
In addition to the components mentioned above, we undertook the following development activities:
- Design and Development of Low-level Drivers
- MCU, WDT, ADC, PORT, DIO,IVT, Timer, Code Flash, Data Flash and Sleep/Wakeup
- Overload detection, Stack Overflow detection, Battery voltage monitor
- Scheduler, State Manager and Diagnostics Manager
- UDS Stack as per ISO14229 and ISOTP as per ISO15765
- Modification of UDS protocol software as per PolySpace test
- UDS services (as per project’s requirements) and UDS on CAN was integrated
- Fault code memory configuration and integration
We were able to deliver the project in the stipulated time period. Owing to a library of re-usable software components such as UDS stack, CAN protocol software, etc., we reduced the overall development time and cost. Our customer was able to expedite their series production due to our timely delivery of the platform software.
Tools and Techniques:
Tessy Tool: For Unit Testing of the platform software modules
PolySpace: For static code analysis
IDE- WINIdea and GHC compiler