About the Customer:
Our customer is an automotive tier-1 supplier and an aftermarket company pioneering in the the development of cutting-edge automotive components. The company has been working on various pathbreaking automotive innovations related to all things automotive viz. automotive lighting, telematics, and more.
Automotive ECUs need to be calibrated to basis their functionality. When the communication is CAN based, CAN data base (DBC) file is converted to hex file which is then downloaded as calibration for the ECU. For one of their telematics projects, our customer required a PC based tool that would achieve this conversion from CAN DBC file to .hex file dynamically.
The major challenge that the customer was facing was linked to this dynamic conversion of dbc to .hex file. Usually, DBC files are converted to .c and .h configuration files which are added to the application code. Hence, for every variant of the ECU, the configuration file has to be generated from scratch and added to the code. Through this project, the customer aimed to make this process dynamic by a PC based tool for dbc to .hex file generation that would configure the calibration memory of the bootloader.
Our automotive team has delivered several projects related to the development of PC based tools. However, the conversion of CAN dbc files to .hex files was an interesting outing for them. The team chose QT as the platform to develop this PC based DBC to .hex file conversion tool.
As per the requirement of the project, there were two CAN channels and two DBCs to be configured. The tool, however, is designed in a way that it is independent of the internal network architecture and number of DBC files. It can cater to any number of calibrations, DBCs and network channels. All you need to do is to choose the desired DBC file and specify the memory location of the calibration where the .hex file needs to be uploaded.
The tool is designed to carry out this task by:
- Downloading the DBC file provided by the OEM and displaying all network nodes of the DBC file
- The Tx and Rx messages contained inside the DBC are
- DBC to hex file conversion is carried out by first feeding in the Hex file start address.
- hex file is generated and uploaded to the calibration memory of the flash bootloader.
We also provided the CAN flashing tool using which the .hex configuration file could be uploaded to the desired calibration memory.
For the fact that this tool is scalable and independent of network architecture of the ECU, it can be used to manage any number of vehicle variant with multiple calibrations. This was a big plus for the customer as this tool was future ready.
By automating the generation of hex file, the customer will be able to save a considerable amount of time and get a reliable hex file that can be readily integrated to the flash bootloader calibration memory.
Our execution of this project resulted in saving substantial resources both in terms of monetary and human resources.
Tools and Technologies:
QT tool was used to develop this PC based .dbc to hex file conversion tool.