ECU Software Writing Authentication for Flexible Engine Configuration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The current method of managing electronic control units (ECUs) in internal combustion engines requires manufacturers to stock multiple versions of ECUs with different software configurations, leading to increased industrial and warehouse costs due to the need for in-house memory writing and separate part numbers for each configuration.
Innovation Solution
A method and device that utilize a seed code and key code generation system to authenticate memory writing devices, allowing only authorized users to write software objects into the ECU's nonvolatile memory, thereby reducing the need for multiple ECU versions and simplifying the management process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the engine manufacturer writes in-house the memories of all ECUs and assigns a different part-number for each specific configuration of control programs and calibration data, then the engine manufacturer can supply clients with a comprehensive range of internal combustion engines based on the same mechanical construction, but the industrial and warehouse costs increase due to the need to keep in stock at least a minimum quantity of ECUs for each part-number
Solution Approach 1:
The ECU is pre-configured with a unique identifier (UID) and a blank or default memory during manufacturing. The specific control programs and calibration data are not written at the factory but are prepared in advance by the customer and written later through an authenticated memory writing process. This preliminary setup with blank memory allows a single ECU design to serve multiple configurations.
Solution Approach 2:
The system transitions from a static approach where ECUs are pre-configured with specific software at the factory to a dynamic approach where the software content can be changed later through authenticated memory writing. This allows the ECU to adapt to different configurations based on customer needs without requiring multiple pre-configured variants in inventory.
2Reliability
If the engine manufacturer writes in-house the memories of all ECUs, then the manufacturer maintains control over the software configuration, but the process complexity and costs increase
Solution Approach 1:
An authentication system acts as an intermediary between the ECU and the memory writing device. The ECU verifies the identity of the memory writing device through cryptographic authentication (comparing generated key codes), ensuring that only authorized devices can write to the memory. This maintains security and control while allowing external writing capability.
Solution Approach 2:
The physical process of in-house memory writing is replaced with an electronic authentication and verification system. Instead of requiring physical access to writing equipment and manual processes, the system uses cryptographic key code generation and comparison to authenticate and authorize the writing process, simplifying the overall complexity while maintaining security.
3Adaptability or versatility
If multiple ECU versions with different software configurations are maintained in stock, then various engine specifications can be supplied, but the warehouse and production costs increase
Solution Approach 1:
A single ECU hardware design with blank or default memory serves multiple functions by accommodating different control programs and calibration data through authenticated memory writing. The ECU becomes a universal platform that can be configured for various engine specifications without requiring separate hardware variants, thereby reducing manufacturing and inventory costs.
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
It is hereby disclosed a method of writing software objects into a rewritable nonvolatile memory (245) of an electronic control unit (215) of an internal combustion engine (100), wherein the method comprises: receiving an access request from a memory writing device (300), generating a seed code, transmitting the seed code to the memory writing device (300), generating a first key code on the basis of the seed code and a first identification code, generating a second key code on the basis of the seed code and a second identification code, receiving a reference key code from the memory writing device (300), comparing the reference key code with the first key code and/or with the second key code, and enabling the memory writing device (300) to write software objects into the rewritable nonvolatile memory (245), if the reference key code corresponds to the first key code or to the second key code.