About the Customer:
Our customer is a leading manufacture of connected car devices and telematics solution. We have entered into technology partnership for multiple projects in the past as well.
What makes us the perfect partner is the shared passion and belief in the power of innovation. With our expertise in the automotive domain and the customer’s crystal clear vision of the product, we had a winner in hands.
An OBD II adaptor platform is what the customer intended to build. This telematics dongle reads the diagnostics data from the vehicle and sends it to the cloud. The device is intended to be configurable for both OBD and SAE J1939, as per the use-case.
As clear from the introduction above, the device has two modules- one that interfaces with the vehicle and the other that interfaces with the cloud.
The design and development team of our customer is adept at handling the cloud interface part but is limited in its expertise in the vehicle interface module.
Integration of OBD II, CAN BUS and SAE J1939 stack requires extensive expertise in the automotive embedded domain. And our customer approached us for this very aspect of the project. Moreover, developing the automotive protocol software required considerable amount of time.
In a nutshell, our technology assistance was required to mitigate the following challenges:
- Configuration and integration of automotive stacks like OBD II, J1939, CAN, etc.
- Application development for the vehicle interface part of the Telematics solution.
- Low-level device drivers for the telematics device to interface with the vehicle.
We had two teams working on the project- Automotive Stacks team, responsible for configuration and integration of protocol software and base software module and Development team building the required applications.
- ECU Communication and Vehicle Diagnostics Software Integration:
- Development of the Base Software Module:
As the Telematics Device was expected to monitor vehicle diagnostics data, the following protocol stacks were integrated:
SAE J1939: Used mostly for diagnostics and ECU communication in commercial vehicles.
OBD II: On-board diagnostics of the vehicle; we configured OBD II for both CAN and K-Line physical medium. As per the requirement, we also configured the required PIDs to get the vehicle parameters- such as RPM, Engine speed and more. The customer provided the CAN Matrix/DBC file and we generated the configuration files using them.
- Configuration of CAN IF and CAN NM.
- Integration of CAN Stack as per the CAN DBC files provided by the customer.
- Configuration and Integration of ISO 9141 to access the K-Line.
- Configuration of Low-level drivers as per the schematics.
- UART configuration.
- Development of External Battery Monitoring application.
- Internal Battery Management over I2C.
- Ignition Detection Algorithm based on customer’s design.
- Diagnostics Reports through UART- to know whether the MCU is working fine.
- Wake up and sleep handler as per the customer’s design.
- Secure Communication (Encryption and Decryption algorithm).
- Integration and Functional Testing reports of the automotive stacks and the applications.
- MISRA C compliance reports.
- High-level design document.
The customer could save approximately 6 months of man hours courtesy our library of ready-to-deploy automotive protocol software.
Separate teams working on the project reduced the time-to-market and the cost further. As our automotive stacks are offered on a one-time license fee model, the customer can use them in multiple series production of automotive components.
The stack software are reconfigurable too, so using these for different use-cases will not be a problem. The customer can choose to configure it themselves or get in touch with us.
Tools and Techniques:
- NXP Microcontroller: NXP family of MCU was used for the application.
- PE Micro Debugger- Used for development and debugging purpose.
- S32 Design Studio IDE- The integrated development environment used to develop device drivers for the microcontroller.
- FreeRTOS- It is a free Real Time Operating system used widely in automotive application development.
- PCAN– Used for Functional Testing of the automotive stacks.