ECU ROM Parameter Calibration via Branch Instruction Relocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current powertrain calibration methods require modifications or access to the underlying ECU source code to change ROM parameters, which is not feasible without additional hardware or special source code support, limiting the ability to calibrate read-only memory parameters without disrupting the ECU's operation.

Innovation Solution

A method that involves replacing specific machine instructions in the software program with branch instructions that reference addresses outside the program's memory space, allowing ROM parameters to be controlled without modifying the source code, using relocation code to access and modify the parameters in RAM.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If additional hardware like a M5 memory emulator is used to support calibration of ROM parameters, then the ability to modify calibration parameters is improved, but the device complexity and cost increase

Engineering Contradiction:
Improveability to modify calibration parametersVSAvoidhardware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a calibration tool as an intermediary software component that mediates between the calibration process and the ECU's ROM parameters. This tool creates a working calibration in RAM that acts as an intermediary layer, allowing parameter modification without requiring special hardware emulators or modifying the ECU's source code. The calibration tool handles the complexity of parameter management centrally.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a copy of the calibration parameters in RAM (working calibration) separate from the original ROM parameters. This copy allows dynamic modification of calibration values without affecting the original ROM or requiring hardware emulators. The working calibration serves as a mutable replica that can be adjusted freely during operation.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If special source code support is added to the ECU to enable calibration modification, then the ability to change ROM parameters is improved, but the ECU software complexity and development effort increase

Engineering Contradiction:
Improveability to change ROM parametersVSAvoidsoftware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The calibration tool serves as an intermediary that eliminates the need for special source code support in the ECU. Instead of modifying the ECU's source code to enable calibration, the tool externally manages the calibration process by creating and switching between reference and working calibrations, thereby avoiding ECU software complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the calibration modification functionality from the ECU's source code and places it in an external calibration tool. This separation allows calibration capabilities to be added without touching the ECU's source code, maintaining the ECU's simplicity while enabling flexible parameter modification through the external tool.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If the ECU source code is modified to support calibration, then calibration flexibility is improved, but the reliability and stability of the ECU operation may be compromised

Engineering Contradiction:
Improvecalibration flexibilityVSAvoidECU operation stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent creates a separate working calibration copy in RAM that mirrors the necessary calibration parameters. This copy allows flexible modification without modifying the ECU's source code or running code, thereby maintaining ECU reliability while enabling calibration flexibility through the isolated working calibration layer.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The calibration tool acts as an intermediary layer that isolates calibration modifications from the ECU's core operation. By managing calibration through external tooling rather than source code changes, the system maintains the reliability and stability of ECU operation while achieving the desired calibration flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If continuous flashing is performed to update calibration parameters, then the calibration updates are improved, but the time loss and operational disruption increase

Engineering Contradiction:
Improvecalibration update capabilityVSAvoidoperational disruption time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent prepares a complete working calibration in RAM before it is needed during operation. The calibration tool creates and stores the working calibration in advance, allowing immediate switching without continuous flashing. This preliminary preparation eliminates the need for time-consuming continuous flashing operations during ECU operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic switching between reference calibration in ROM and working calibration in RAM. This dynamic approach allows the system to transition between calibrated states without continuous flashing, reducing operational disruption time while maintaining update capability through the flexible working calibration layer.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8225293B2Method for supporting calibration parameters in an ECU
Publication Date: 2012.07.17 ACCURATE TECH
  • US8225293B2 patent drawing
  • US8225293B2 patent drawing
  • US8225293B2 patent drawing

AI summary

A method is provided for controlling ROM parameters embedded in a microprocessor software executable without modifications to the underlying source code. The method includes: presenting a software program having a plurality of machine instructions of a finite number of fixed lengths in an executable form; searching through the machine instructions of the executable and finding at least one appropriate instruction defined in a read only memory space to replace; defining a replacement instruction for identified machine instructions in the software program; and replacing identified machine instructions in the executable form of the software program with the replacement instruction. The replacement instruction may be further defined as a branch instruction that references an address outside an address space for the software program.