About the Customer:
Our customer is a tier-1 supplier of automotive ECUs for hybrid and combustion engine vehicles.
Business Challenges:
Our customer has a working automotive ECU control software for one of the vehicle applications developed using conventional coding. There is a growing demand in the market for systems & devices which are compact, customizable, durable and easily maintainable. Owing to this factor, the customer wanted to migrate to the model based design paradigm.
Essentially, the customer was looking for a technology partner with experience in:
- Engineering approach that supports all stages of development with ease of verification & validation. This results in a system that works seamlessly across different environments.
- The approach should be in sync with the existing system with conventional C code.
Embitel’s Solution:
Since our team was tasked with migrating an existing system to the MBD paradigm, we first performed a joint analysis and study of the existing systems with the customer’s team. We analysed the different components of the application software and identified the following approach for migration to MBD:
- Model Based Development approach for the development of the application software.
- Development and use of the custom-built Simulink library blocks to match the existing software functions.
- Use of script where the existing application software (.c/.h) files are processed to generate Model and Data Dictionary templates.
- Fixed point modelling.
- Matching the Model Based Development software functionality with the earlier software functionality by Auto code generation using Embedded coder tool.
Development steps in the migration process:
- Scripts are run on the .c/.h files of the existing application modules post which Data Dictionary and model template are generated. The model template consists of the Simulink function subsystems blocks.
- The C code is analyzed, and model is grown by implementing the C function logic inside the Simulink function subsystem block.
- The data dictionary is updated with the data properties similar to the existing system and model is prepared for code generation.
- Model is verified by compiling and upon successful verification code is generated.
- The auto-generated code is compared with the existing C code and reviewed by the customer.
- Post verification, the code is integrated with the existing system where the auto code generated files replaces the .c/.h files of the existing system.
- The MBD integrated software is tested to match the functionality of the existing system.
Embitel Impacts:
- The MBD approach helped to develop the application software system that is easily configurable and maintainable to support future changes.
- The use of scripts reduced the development time significantly and also the manual errors intervention during the data dictionary creation.
- We used the Standard library blocks for the PID controllers, inputs filters, n-D lookup tables etc., thereby reducing the development time significantly.
- Model simulation testing helped to identify the issues early.
Tools and Techniques:
- Matlab
- Simulink
- Stateflow
- Embedded coder
- NXP’s S32 Design Studio for Power Architecture