Engine Controller Software Reprogramming via Block Replacement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for upgrading engine control software are inefficient and risky, as they often require physical modifications to the engine controller and are not easily reversible, especially due to the presence of multiple software versions and the lack of easily removable and replaceable chips in modern vehicles.
Innovation Solution
A method and apparatus for upgrading engine controller software by determining the current software version, identifying and replacing specific data blocks with upgraded software, using a processor and interface to communicate with the engine controller, and storing information about software versions and upgrade blocks, allowing for dynamic reprogramming and verification checks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If physical chip removal and replacement is used to upgrade software, then software can be upgraded, but the engine controller is physically modified and the process becomes irreversible and risky
Solution Approach 1:
The software is segmented into modular components that can be individually replaced. The upgrade process replaces only specific software modules or data blocks within the existing software image rather than requiring complete chip replacement, enabling selective updates while maintaining system integrity.
Solution Approach 2:
The mechanical process of physically removing and replacing chips is substituted with an electronic/software-based reprogramming process. The system uses data manipulation and memory rewriting techniques to upgrade software without any physical intervention, eliminating the risks associated with mechanical chip handling.
2Adaptability or versatility
If diagnostic systems are provided for software reprogramming, then software can be updated, but the systems are too expensive for individual car owners
Solution Approach 1:
The reprogramming system is designed to work through the existing OBDII port that all modern vehicles already possess. By making the system compatible with standard vehicle diagnostics infrastructure, it eliminates the need for expensive proprietary equipment and can be used by anyone with a standard diagnostic connector.
Solution Approach 2:
The system enables end-users to perform software upgrades themselves without requiring professional diagnostic equipment or technical expertise. The process is simplified to allow individual car owners to update their own software using readily available tools and the vehicle's built-in communication port.
3Productivity
If complete software replacement is used, then upgraded functionality is achieved, but compatibility with specific engine controller versions cannot be ensured
Solution Approach 1:
Different software modules are tailored to specific engine controller versions and configurations. The system identifies the exact controller variant and applies only the compatible upgrade modules for that specific version, ensuring precise matching between software updates and hardware characteristics.
Solution Approach 2:
The system performs preliminary identification and verification of the engine controller version before applying any software upgrades. Compatibility checks are conducted in advance to ensure that the selected software modules are appropriate for the specific controller variant, preventing incompatibility issues.
Data Source
AI summary
The invention relates to methods and apparatus for altering the software of engine controllers. The method comprises determining a version of the current software in the engine controller, identifying one or more data blocks of upgraded software associated with the current software and replacing portions of the current software with the data blocks of upgraded software. The apparatus comprises an interface, a memory and a processor. The processor is configured to determine the version of the current software in the engine controller and replace one or more data blocks of the current software with one or more data blocks of upgraded software stored in the memory.


