WO2003102961A1 - Electronic control apparatus - Google Patents

Electronic control apparatus Download PDF

Info

Publication number
WO2003102961A1
WO2003102961A1 PCT/US2003/016723 US0316723W WO03102961A1 WO 2003102961 A1 WO2003102961 A1 WO 2003102961A1 US 0316723 W US0316723 W US 0316723W WO 03102961 A1 WO03102961 A1 WO 03102961A1
Authority
WO
WIPO (PCT)
Prior art keywords
calibration
data
control
register
nonvolatile memory
Prior art date
Application number
PCT/US2003/016723
Other languages
French (fr)
Inventor
Junkei Sato
Akihiro Sasaki
Original Assignee
Freescale Semiconductor, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Freescale Semiconductor, Inc. filed Critical Freescale Semiconductor, Inc.
Priority to AU2003240802A priority Critical patent/AU2003240802A1/en
Priority to US10/517,123 priority patent/US20050251305A1/en
Publication of WO2003102961A1 publication Critical patent/WO2003102961A1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Definitions

  • the present invention relates to electronic control apparatus for controlling a device, and more specifically to an electronic control apparatus capable of overwriting control data .
  • Control data such as control programs and control parameters for controlling a device and so forth, is stored in a nonvolatile memory (ROM) so that it is not erased even when a battery is disconnected, and sometimes is supplied to the user.
  • ROM nonvolatile memory
  • an electronic control apparatus is used for control of engines, transmissions, and other automobile parts, and the resulting control data is stored in a ROM within the electronic control apparatus.
  • an automobile manufacturer or dealer may desire to calibrate the control data in accordance with the characteristics of a device under control, such as the actual engine or transmission.
  • control data is often stored in a rewritable nonvolatile memory, such as an EEPROM (Electronically Erasable and Programmable ROM) or flash memory (flash EEPROM) such that the control data can be overwritten.
  • EEPROM Electrically Erasable and Programmable ROM
  • flash memory flash EEPROM
  • a flash EEPROM is characterized by its relatively simple internal circuitry and low cost.
  • the storage area of the flash EEPROM is divided into a plurality of storage blocks, so that data is erased and/or written for each block during an overwrite. For example, with a 64KB flash EEPROM having two storage blocks each with a storage capacity of 32 kilobytes (KB) , a data overwrite process is performed every 32kB.
  • the present invention is designed in consideration of the above problem, and has as its objective to provide an electronic control apparatus capable of performing a data overwrite process for a nonvolatile memory, even during a control operation.
  • the invention according to claim 1 provides an electronic control apparatus having a nonvolatile memory and a volatile memory that store control data for controlling a device.
  • the electronic control apparatus comprises a controller that uses data stored in the volatile memory to perform calibration of the control data, and execute a write of the data stored in the volatile memory into the nonvolatile memory when the calibration is completed.
  • the invention according to claim 2 provides an electronic control apparatus according to claim 1, wherein the controller stores the data in the nonvolatile memory to be calibrated into the volatile memory, when the calibration is started; and uses the data stored in the volatile memory to execute calibration of the control data.
  • the invention according to claim 3 provides an electronic control apparatus according to claim 1 or 2 , wherein the controller further identifies an address of the nonvolatile memory to be calibrated, when the calibration is started, assigns the same address as that of the nonvolatile memory to the volatile memory, and preferentially executes data processing for the volatile memory during the calibration.
  • the invention according to claim 4 provides an electronic control apparatus according to any one of claims 1 through 3, further comprising a control register for controlling data in the nonvolatile memory, wherein the controller writes the address of the nonvolatile memory and calibrated control data into the control register when the calibration is completed and uses the address and calibrated control data written in the control register to execute a write into the nonvolatile memory.
  • the invention according to claim 5 provides an electronic control apparatus according to claim 4, further comprising an authority register for controlling the authority to permit use of the control register, wherein the control means sets the authority register when a write into the volatile memory is executed and clears the authority register after the write operation is completed.
  • the invention according to claim 6 provides an electronic control apparatus according to any one of claims 1 through 5, wherein the device has a plurality of units; the control data is stored in the nonvolatile memory corresponding to each of the units; the volatile memory has a storage capacity capable of storing control data corresponding to the unit to be calibrated.
  • the invention according to claim 7 provides an electronic control apparatus according to any one of claims 1 through 6, wherein the nonvolatile memory has at least two or more storage blocks; the write is executed for each storage block; when a write into the storage block is executed, another storage block is used to control the device.
  • data stored in the volatile memory is used to execute calibration of control data.
  • a write of the data stored in the volatile memory into the nonvolatile memory is executed.
  • the volatile memory installed in the electronic control apparatus can be used to calibrate the nonvolatile memory that stores control data for controlling the device.
  • calibration can be performed without the necessity of using an external storage device, such as a debugger. By performing such a write process, calibration can be achieved while the device under control is being operated.
  • the data in the nonvolatile memory to be calibrated is stored into the volatile memory, and the data stored in the volatile memory is used to execute calibration of the control data.
  • calibration can be achieved using pre-adjusted control data as a starting point.
  • fine adjustment may only be performed depending on the characteristics of the device under control, so that efficient calibration can be accomplished.
  • the address of the nonvolatile memory to be calibrated is identified. Then, the same address as that of the nonvolatile memory is assigned to the volatile memory, and data processing for the volatile memory is preferentially executed during calibration. That is, on the memory map, the memory area of the volatile memory is set as overlapped over the memory area to be calibrated.
  • the electronic control apparatus can control the device by use of an address as usual, even during calibration.
  • the electronic control apparatus has an authority register for controlling the authority to permit use of the control register.
  • the authority register is set; after the write is completed, the authority register is cleared.
  • the volatile memory has a storage capacity capable of storing the control data corresponding to the unit to be calibrated.
  • the storage capacity of the volatile memory can be restricted to that required for calibration, so that a reduction in size and cost of the electronic control apparatus can be achieved.
  • the nonvolatile memory comprises at least two or more storage blocks, and a write is executed for each storage block.
  • a write into the storage block is executed, another storage block is used to control the device.
  • overwriting of control data in the nonvolatile memory can be achieved, while the device is being controlled. Accordingly, calibration can be achieved efficiently, without needing to reboot the device under control or the electronic control apparatus.
  • Fig. 1 is a schematic diagram depicting the overall configuration of an ECU (electronic control apparatus) according to an embodiment of the present invention.
  • Fig. 2 is a flow chart for explaining the overwrite process for a flash EEPROM.
  • Fig. 3 is another flow chart for explaining the overwrite process for a flash EEPROM.
  • Fig. 4 is an explanatory diagram for a memory map.
  • Fig. 5 is another explanatory diagram for a memory map
  • Fig. 6 is a further explanatory diagram for a memory map.
  • Fig. 7 is yet another explanatory diagram for a memory map.
  • the ECU 10 includes a CPU 100, a flash EEPROM 101 as a nonvolatile memory, and a calibration RAM 102 as a volatile memory.
  • the ECU 10 also includes a clock module, A/D converter, and so forth that are not shown.
  • the CPU 10 is configured to execute various programs stored in the flash EEPROM 101, calibration RAM 102, and so forth.
  • the flash EEPROM 101 contains data regarding control commands and control parameters used by the ECU for control.
  • the flash EEPROM 101 used in the present embodiment has a storage capacity of 64 kilobytes (KB) , as a whole.
  • the storage area is made up of 32kB storage blocks ("block 0" and "block 1" on the memory map) .
  • For an overwrite, a data erasure and a write are performed on a block-by-block basis.
  • the "block 0" contains data regarding control commands
  • the "block 1" contains data regarding control parameters for each unit under control. In the present embodiment, it is assumed that a control command in the "block 0" causes an overwrite of the control parameter in the "block 1" during control of the object under control 11.
  • the calibration RAM 102 is a memory for temporarily storing predetermined data during calibration.
  • a memory having a storage capacity capable of storing control parameters corresponding to each unit under control should be used.
  • the calibration RAM 102 in the present embodiment has a storage capacity of 2kB.
  • the ECU 10 further includes an input/output interface section 120. Each portion of the ECU 10 is connected via the input/output interface section 120 to a user interface section 12 and an object under control 11.
  • the user interface section 12 is used by the user to specify the object under control 11 and confirm the parameter .
  • the object under control 11 is a device, such as an engine, transmission, and other device to be controlled.
  • the ECU 10 receives data from various sensors installed in the object under control 11, and outputs data to the actuator and so forth, via the input/output interface section 120.
  • the CPU 100 is connected to an address decoder 110 via an address bus.
  • the address decoder 110 outputs, in accordance with an address signal from the CPU 100, a signal to its corresponding output terminal.
  • the CPU 100 and address decoder 110 function as control means .
  • the address decoder 110 includes an initialization register 111.
  • the initialization register 111 comprises an area for storing data regarding an address of an area where calibration is performed, and an area (activation bit) for storing data regarding the activation of the calibration RAM 102.
  • an area activation bit
  • the ECU 10 includes a super-user mode register 112 as an authority register, for controlling the mode (hereinafter referred to as "super-user mode) to grant authority regarding an overwrite for the flash EEPROM 101.
  • super-user mode is set, "1" is input to the authority bit contained in the super-user mode register 112.
  • the ECU 10 further includes a flash control register 113 as a control register for controlling data in the nonvolatile memory.
  • the flash control register 113 is used in the super-user mode.
  • the flash control register 113 retains addresses to be written into the flash EEPROM 101, and calibrated control parameters.
  • the CPU 100, calibration RAM 102, flash control register 113, and input/output interface section 120 are connected to the data bus, respectively, so that data is sent and received over the data bus.
  • a process for rewriting data stored in the flash EEPROM 101 to data suitable for the object under control 11 is described with reference to FIGS. 2 through 7.
  • the user uses the user interface section 12 to issue an instruction for calibration regarding the object under control 11. This instruction is transferred to the CPU 100 via the input/output interface section 120 and data bus .
  • the ECU 10 enters the calibration mode, where the process described in FIG. 2 is started.
  • the CPU 100 determines a calibration area on the flash EEPROM 101 (Sl-1) . In that case, the CPU 100 inputs "1" to the activation bit of the initialization register 111 to activate the calibration RAM 102. Further, an address of an area where calibration is performed is stored in the initialization register 111.
  • the data in the calibration area of the flash EEPROM is copied to the calibration RAM 102 (Sl-2) .
  • This operation is described with reference to a memory map 500 shown in FIG. 4.
  • the memory map 500 are set a memory area 501 corresponding to the calibration RAM 102; a memory area 502 corresponding to the "block 0" of the flash EEPROM 101; and a memory area 503 corresponding to the "block 1" thereof.
  • locations 6000 through 67FF in the memory area 503 are assumed to be a calibration area 504.
  • the data in the calibration area 504 is copied to the memory area 501 corresponding to the calibration RAM 102.
  • the calibration RAM 102 is overlapped over the calibration area (Sl-3) .
  • This operation is explained with reference to the memory map 510 shown in FIG. 5.
  • the memory area 501 of the calibration RAM 102 that is set on the memory map 510 is matched to the address that is set for the calibration area 504. That means the same address is assigned to the memory area 501 and calibration area 504.
  • processing is performed in accordance with the data in the calibration RAM 102 (S2-3) . That is, if "1" is set in the activation bit of the initialization register 111, each processing for the memory area where the same address (locations 6000 through 67FF in the present embodiment) is assigned to the flash EEPROM 101 and calibration RAM 102 is performed for the memory area 501 of the calibration RAM 102.
  • the super-user mode is set (Sl-5). Specifically, "1" is input to the authority bit of the super-user mode register 112. In that case, a write of the control parameter stored in the calibration RAM 102 into the flash EEPROM 101 is executed (Sl-6) . That is, as on the memory map 520 shown in FIG. 6, the data in the memory area 501 of the calibration RAM 102 that is set on the memory map 520 is written into the calibration area 504. Specifically, in the super-user mode, the flash control register 113 becomes accessible on the memory map. Then, the address and data stored in the calibration RAM 102 are written into the flash control register 113.
  • the data stored in the flash control register 113 is written into the address on the flash EEPROM 101. Meanwhile, the ECU 10 continues to control the object under control 11 in accordance with the data stored in the memory area 502.
  • the authority bit of the super-user mode register 112 is cleared, and the super- user mode is exited back to the normal mode. Furthermore, the setting of the initialization register 111 is changed (Sl-7) . Here, the activation bit of the initialization register 111 is cleared. This results in a memory map 530 shown in FIG. 7. That is, the memory area 501 of the calibration RAM 102 is removed, and the calibrated area 531 where the data of the calibration RAM 102 has been written is generated on the memory map 530. The ECU 10 then uses the overwritten data in the flash EEPROM 101 to control the object under control 11. Then, the overwrite of the flash EEPROM ends.
  • the ECU 10 includes the flash control register 113, and enters the super-user mode when the calibration is completed. In this mode, the flash control register 113 becomes accessible on the memory map. Then, the data stored in the calibration RAM 102 is programmed into the flash EEPROM 101 by use of the flash control register 113. Thus, even when the ECU 10 is being operated, data in a certain area of the flash EEPROM 101 may be erased or overwritten. Conventionally, the object under control 11 must be stopped and control of the ECU 10 interrupted before overwriting the flash EEPROM 101. Thus, when another calibration is performed, it is necessary to reboot the ECU 10 and object under control 11.
  • the super-user mode can be used to perform calibration during operation of the ECU 10.
  • the calibration RAM 102 is relatively small, such as 2kB.
  • the ECU 10 can be reduced in size.
  • use of a small calibration RAM 102 allows for a reduction in cost of the ECU 10.
  • the calibration RAM 102 installed in the ECU 10 is used to overwrite data in the flash EEPROM 101. That is, the ECU 10 itself has a mechanism for overwriting data in the flash EEPROM 101. This eliminates the need for storing the calibrated data into an external storage device, such as a debugger. Thus, overwriting of data stored in the flash EEPROM 101 can be done efficiently.
  • an address of the area where calibration is performed is stored in the initialization register 111, when the calibration is started. This address may be used to copy the data in the flash EEPROM 101 to the calibration RAM 102, and to set the memory area 501 of the calibration RAM 102 in the calibration area 504 of the flash EEPROM 101. That means the setting area for the calibration RAM 102 can be set according to the calibration area.
  • the aforedescribed embodiment may be modified as follows.
  • the authority bit of the super-user mode register 112 is cleared, and the super-user mode is exited back to the normal mode. Meanwhile, the activation bit of the initialization register 111 is cleared.
  • an address of an area where a new calibration is performed may be set in the initialization register 111, while maintaining "1" for the activation bit of the initialization register 111. This enables calibrations to be performed continuously.
  • a calibration RAM 102 having a storage capacity of 2kB is used, although it is not limited thereto. It may have a capacity to cover a memory area required for a single calibration. Furthermore, a calibration RAM 102 having a larger storage capacity may be used to perform calibration for more objects under control 11 at a time.
  • a control command for the "block 0" of the flash EEPROM 101 is used to overwrite the control parameter for the "block 1" during control operation of the object under control 11, although it is not limited thereto. It may be embodied in an electronic control apparatus that includes a flash EEPROM 101 that requires overwrites.
  • the data in the calibration area of the flash EEPROM 101 is copied to the calibration RAM 102 at step (Sl-2). Alternatively, this step may be skipped if there is no control data in the calibration area.
  • the object under control 11 such as an automobile engine
  • the electronic control apparatus may include a flash EEPROM 101 and may be embodied in an electronic control apparatus that implements overwrites of its data.
  • overwriting of data for the nonvolatile memory can be achieved even during control operation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Memory System (AREA)

Abstract

The objective is to provide an electronic control apparatus capable of overwriting data in a nonvolatile memory, even during control operation. An ECU (10) includes a CPU (100), a flash EEPROM 101, and a calibration RAM (102). When calibration is performed, data in a calibration area of the flash EEPROM (101) is stored into the calibration RAM (102). A memory area of the calibration RAM (102) is overlapped over the calibration area to perform calibration. The data in the calibration area is written into the calibration RAM (102). When the calibration is completed, a super-user mode is entered in which the data stored in the calibration RAM (102) is written into the flash EEPROM (101) by use of a control register (113).

Description

ELECTRONIC CONTROL APPARATUS
BACKGROUND OF THE INVENTION [0001] The present invention relates to electronic control apparatus for controlling a device, and more specifically to an electronic control apparatus capable of overwriting control data .
[0002] Control data, such as control programs and control parameters for controlling a device and so forth, is stored in a nonvolatile memory (ROM) so that it is not erased even when a battery is disconnected, and sometimes is supplied to the user. For example, an electronic control apparatus is used for control of engines, transmissions, and other automobile parts, and the resulting control data is stored in a ROM within the electronic control apparatus. [0003] After the electronic control apparatus is installed in an automobile, an automobile manufacturer or dealer may desire to calibrate the control data in accordance with the characteristics of a device under control, such as the actual engine or transmission. Thus, the control data is often stored in a rewritable nonvolatile memory, such as an EEPROM (Electronically Erasable and Programmable ROM) or flash memory (flash EEPROM) such that the control data can be overwritten. A flash EEPROM is characterized by its relatively simple internal circuitry and low cost. [0004] The storage area of the flash EEPROM is divided into a plurality of storage blocks, so that data is erased and/or written for each block during an overwrite. For example, with a 64KB flash EEPROM having two storage blocks each with a storage capacity of 32 kilobytes (KB) , a data overwrite process is performed every 32kB. However, with the flash EEPROM, while a data overwrite process is performed, the data in that storage block cannot be read out . [0005] Furthermore, with the flash EEPROM, the time required for a data overwrite process is very long, as compared to the time required for an overwrite in a RAM (Random Access Memory) . Thus, if calibration is to be performed according to the characteristics of a device under control, such as an engine, data to be written into the flash EEPROM is typically stored temporarily in an external storage device, such as a debugger. Then, after the engine is stopped, the data stored in the external storage device is used to perform an overwrite process for the flash EEPROM. Thus, if multiple calibrations are to be performed for a single flash EEPROM, the above process needs to be repeated for each calibration, which is very time-consuming .
[0006] The present invention is designed in consideration of the above problem, and has as its objective to provide an electronic control apparatus capable of performing a data overwrite process for a nonvolatile memory, even during a control operation.
SUMMARY OF THE INVENTION
[0007] To solve the aforedescribed problem, the invention according to claim 1 provides an electronic control apparatus having a nonvolatile memory and a volatile memory that store control data for controlling a device. The electronic control apparatus comprises a controller that uses data stored in the volatile memory to perform calibration of the control data, and execute a write of the data stored in the volatile memory into the nonvolatile memory when the calibration is completed.
[0008] The invention according to claim 2 provides an electronic control apparatus according to claim 1, wherein the controller stores the data in the nonvolatile memory to be calibrated into the volatile memory, when the calibration is started; and uses the data stored in the volatile memory to execute calibration of the control data. [0009] The invention according to claim 3 provides an electronic control apparatus according to claim 1 or 2 , wherein the controller further identifies an address of the nonvolatile memory to be calibrated, when the calibration is started, assigns the same address as that of the nonvolatile memory to the volatile memory, and preferentially executes data processing for the volatile memory during the calibration.
[0010] The invention according to claim 4 provides an electronic control apparatus according to any one of claims 1 through 3, further comprising a control register for controlling data in the nonvolatile memory, wherein the controller writes the address of the nonvolatile memory and calibrated control data into the control register when the calibration is completed and uses the address and calibrated control data written in the control register to execute a write into the nonvolatile memory. [0011] The invention according to claim 5 provides an electronic control apparatus according to claim 4, further comprising an authority register for controlling the authority to permit use of the control register, wherein the control means sets the authority register when a write into the volatile memory is executed and clears the authority register after the write operation is completed. [0012] The invention according to claim 6 provides an electronic control apparatus according to any one of claims 1 through 5, wherein the device has a plurality of units; the control data is stored in the nonvolatile memory corresponding to each of the units; the volatile memory has a storage capacity capable of storing control data corresponding to the unit to be calibrated. [0013] The invention according to claim 7 provides an electronic control apparatus according to any one of claims 1 through 6, wherein the nonvolatile memory has at least two or more storage blocks; the write is executed for each storage block; when a write into the storage block is executed, another storage block is used to control the device.
[0014] According to the invention described in claim 1, data stored in the volatile memory is used to execute calibration of control data. When the calibration is completed, a write of the data stored in the volatile memory into the nonvolatile memory is executed. Thus, the volatile memory installed in the electronic control apparatus can be used to calibrate the nonvolatile memory that stores control data for controlling the device. In that case, calibration can be performed without the necessity of using an external storage device, such as a debugger. By performing such a write process, calibration can be achieved while the device under control is being operated.
[0015] According to the invention described in claim 2, when calibration is started, the data in the nonvolatile memory to be calibrated is stored into the volatile memory, and the data stored in the volatile memory is used to execute calibration of the control data. Thus, calibration can be achieved using pre-adjusted control data as a starting point. By storing standard control data in the nonvolatile memory, fine adjustment may only be performed depending on the characteristics of the device under control, so that efficient calibration can be accomplished. [0016] According to the invention described in claim 3, when calibration is started, the address of the nonvolatile memory to be calibrated is identified. Then, the same address as that of the nonvolatile memory is assigned to the volatile memory, and data processing for the volatile memory is preferentially executed during calibration. That is, on the memory map, the memory area of the volatile memory is set as overlapped over the memory area to be calibrated. Thus, the electronic control apparatus can control the device by use of an address as usual, even during calibration.
[0017] According to the invention described in claim 4, when calibration is completed, the address of the volatile memory and calibrated control data are written into the control register. Then, the address and calibrated control data stored in the control register are used to execute a write into the nonvolatile memory. The data in the volatile memory can be reliably written into the nonvolatile memory via the control register. [0018] According to the invention described in claim 5, the electronic control apparatus has an authority register for controlling the authority to permit use of the control register. When a write into the volatile memory is executed, the authority register is set; after the write is completed, the authority register is cleared. Thus, memory management for the control register may be performed only when a write is executed.
[0019] According to the invention described in claim 6, the volatile memory has a storage capacity capable of storing the control data corresponding to the unit to be calibrated. Thus, the storage capacity of the volatile memory can be restricted to that required for calibration, so that a reduction in size and cost of the electronic control apparatus can be achieved.
[0020] According to the invention described in claim 7, the nonvolatile memory comprises at least two or more storage blocks, and a write is executed for each storage block. When a write into the storage block is executed, another storage block is used to control the device. Thus, overwriting of control data in the nonvolatile memory can be achieved, while the device is being controlled. Accordingly, calibration can be achieved efficiently, without needing to reboot the device under control or the electronic control apparatus.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a schematic diagram depicting the overall configuration of an ECU (electronic control apparatus) according to an embodiment of the present invention.
Fig. 2 is a flow chart for explaining the overwrite process for a flash EEPROM.
Fig. 3 is another flow chart for explaining the overwrite process for a flash EEPROM.
Fig. 4 is an explanatory diagram for a memory map.
Fig. 5 is another explanatory diagram for a memory map,
Fig. 6 is a further explanatory diagram for a memory map. Fig. 7 is yet another explanatory diagram for a memory map.
DETAILED DESCRIPTION OF THE INVENTION [0021] One embodiment of the present invention is described in detail below with reference to FIGS. 1 through 7. In the present embodiment, it is assumed, as shown in FIG. 1, that an object under control 11, such as an automobile engine, is controlled by use of an electronic control unit (ECU) 10. That is, after the ECU 10 is installed in the automobile, calibration of control parameters as control data is performed in order to control each of the units that comprise the automobile. [0022] The ECU 10 includes a CPU 100, a flash EEPROM 101 as a nonvolatile memory, and a calibration RAM 102 as a volatile memory. The ECU 10 also includes a clock module, A/D converter, and so forth that are not shown. The CPU 10 is configured to execute various programs stored in the flash EEPROM 101, calibration RAM 102, and so forth. [0023] The flash EEPROM 101 contains data regarding control commands and control parameters used by the ECU for control. The flash EEPROM 101 used in the present embodiment has a storage capacity of 64 kilobytes (KB) , as a whole. The storage area is made up of 32kB storage blocks ("block 0" and "block 1" on the memory map) . For an overwrite, a data erasure and a write are performed on a block-by-block basis. The "block 0" contains data regarding control commands, while the "block 1" contains data regarding control parameters for each unit under control. In the present embodiment, it is assumed that a control command in the "block 0" causes an overwrite of the control parameter in the "block 1" during control of the object under control 11.
[0024] The calibration RAM 102 is a memory for temporarily storing predetermined data during calibration. For the calibration RAM 102, a memory having a storage capacity capable of storing control parameters corresponding to each unit under control should be used. The calibration RAM 102 in the present embodiment has a storage capacity of 2kB. [0025] The ECU 10 further includes an input/output interface section 120. Each portion of the ECU 10 is connected via the input/output interface section 120 to a user interface section 12 and an object under control 11. The user interface section 12 is used by the user to specify the object under control 11 and confirm the parameter . [0026] The object under control 11 is a device, such as an engine, transmission, and other device to be controlled. The ECU 10 receives data from various sensors installed in the object under control 11, and outputs data to the actuator and so forth, via the input/output interface section 120.
[0027] The CPU 100 is connected to an address decoder 110 via an address bus. The address decoder 110 outputs, in accordance with an address signal from the CPU 100, a signal to its corresponding output terminal. In the present embodiment, the CPU 100 and address decoder 110 function as control means .
[0028] The address decoder 110 includes an initialization register 111. The initialization register 111 comprises an area for storing data regarding an address of an area where calibration is performed, and an area (activation bit) for storing data regarding the activation of the calibration RAM 102. In the present embodiment, when the calibration RAM 102 is activated, "1" is input to the activation bit. [0029] Furthermore, the ECU 10 includes a super-user mode register 112 as an authority register, for controlling the mode (hereinafter referred to as "super-user mode) to grant authority regarding an overwrite for the flash EEPROM 101. When the super-user mode is set, "1" is input to the authority bit contained in the super-user mode register 112.
[0030] The ECU 10 further includes a flash control register 113 as a control register for controlling data in the nonvolatile memory. The flash control register 113 is used in the super-user mode. The flash control register 113 retains addresses to be written into the flash EEPROM 101, and calibrated control parameters.
[0031] Additionally, the CPU 100, calibration RAM 102, flash control register 113, and input/output interface section 120 are connected to the data bus, respectively, so that data is sent and received over the data bus. [0032] Next, of the processes performed by the ECU 10, a process for rewriting data stored in the flash EEPROM 101 to data suitable for the object under control 11 is described with reference to FIGS. 2 through 7. [0033] While the ECU 10 is controlling the object under control 11 in accordance with the data stored in the flash EEPROM 101, the user uses the user interface section 12 to issue an instruction for calibration regarding the object under control 11. This instruction is transferred to the CPU 100 via the input/output interface section 120 and data bus .
[0034] Then, the ECU 10 enters the calibration mode, where the process described in FIG. 2 is started. First, the CPU 100 determines a calibration area on the flash EEPROM 101 (Sl-1) . In that case, the CPU 100 inputs "1" to the activation bit of the initialization register 111 to activate the calibration RAM 102. Further, an address of an area where calibration is performed is stored in the initialization register 111.
[0035] Next, the data in the calibration area of the flash EEPROM is copied to the calibration RAM 102 (Sl-2) . This operation is described with reference to a memory map 500 shown in FIG. 4. In the memory map 500 are set a memory area 501 corresponding to the calibration RAM 102; a memory area 502 corresponding to the "block 0" of the flash EEPROM 101; and a memory area 503 corresponding to the "block 1" thereof. In the present embodiment, locations 6000 through 67FF in the memory area 503 are assumed to be a calibration area 504. Then, at step (Sl-2), the data in the calibration area 504 is copied to the memory area 501 corresponding to the calibration RAM 102. [0036] Next, the calibration RAM 102 is overlapped over the calibration area (Sl-3) . This operation is explained with reference to the memory map 510 shown in FIG. 5. Here, the memory area 501 of the calibration RAM 102 that is set on the memory map 510 is matched to the address that is set for the calibration area 504. That means the same address is assigned to the memory area 501 and calibration area 504.
[0037] Next, calibration processing is executed according to the characteristics of the object under control 11 (Sl- 4) . This process is explained with reference to the flow diagram shown in FIG. 3. The user uses the user interface section 12 to issue a modification instruction for parameter data and so forth that controls the object under control 11 (S2-1) . In that case, the CPU 100 performs various processes, such as reading or overwriting of data on the memory map 510.
[0038] For processing of the memory area overlapped with the calibration RAM 102 (in case of "YES" to step (S2-2)), processing is performed in accordance with the data in the calibration RAM 102 (S2-3) . That is, if "1" is set in the activation bit of the initialization register 111, each processing for the memory area where the same address (locations 6000 through 67FF in the present embodiment) is assigned to the flash EEPROM 101 and calibration RAM 102 is performed for the memory area 501 of the calibration RAM 102.
[0039] On the other hand, for processing of the area that is not overlapped with the calibration RAM 102 (in case of "NO"), processing is performed, as usual, on the data in the flash EEPROM 101 on the memory map 510 (S2-4) . [0040] Then if there is any new instruction for data processing (in case of "NO" to step (S2-5)), steps (S2-1) through (S2-4) are repeated to perform calibration. On the other hand, if a suitable parameter value is found for the object under control 11, the user uses the user interface section 12 to issue an instruction to end the calibration. If an instruction to end the calibration is issued (in case of "YES" to step (S2-5)), the routine returns to the flow shown in FIG. 2.
[0041] Next, the super-user mode is set (Sl-5). Specifically, "1" is input to the authority bit of the super-user mode register 112. In that case, a write of the control parameter stored in the calibration RAM 102 into the flash EEPROM 101 is executed (Sl-6) . That is, as on the memory map 520 shown in FIG. 6, the data in the memory area 501 of the calibration RAM 102 that is set on the memory map 520 is written into the calibration area 504. Specifically, in the super-user mode, the flash control register 113 becomes accessible on the memory map. Then, the address and data stored in the calibration RAM 102 are written into the flash control register 113. Furthermore, in accordance with the address stored in the flash control register 113, the data stored in the flash control register 113 is written into the address on the flash EEPROM 101. Meanwhile, the ECU 10 continues to control the object under control 11 in accordance with the data stored in the memory area 502.
[0042] When the program is completed, the authority bit of the super-user mode register 112 is cleared, and the super- user mode is exited back to the normal mode. Furthermore, the setting of the initialization register 111 is changed (Sl-7) . Here, the activation bit of the initialization register 111 is cleared. This results in a memory map 530 shown in FIG. 7. That is, the memory area 501 of the calibration RAM 102 is removed, and the calibrated area 531 where the data of the calibration RAM 102 has been written is generated on the memory map 530. The ECU 10 then uses the overwritten data in the flash EEPROM 101 to control the object under control 11. Then, the overwrite of the flash EEPROM ends.
[0043] According to the aforedescribed embodiment, the following features can be attained. In the aforedescribed embodiment, the ECU 10 includes the flash control register 113, and enters the super-user mode when the calibration is completed. In this mode, the flash control register 113 becomes accessible on the memory map. Then, the data stored in the calibration RAM 102 is programmed into the flash EEPROM 101 by use of the flash control register 113. Thus, even when the ECU 10 is being operated, data in a certain area of the flash EEPROM 101 may be erased or overwritten. Conventionally, the object under control 11 must be stopped and control of the ECU 10 interrupted before overwriting the flash EEPROM 101. Thus, when another calibration is performed, it is necessary to reboot the ECU 10 and object under control 11. In that case, it would take time before the object under control 11 and so forth becomes stable after boot-up. By performing calibration while the object under control 11 is still operated as described in the present embodiment, the calibration task can be completed more quickly. [0044] In the aforedescribed embodiment, the super-user mode can be used to perform calibration during operation of the ECU 10. Thus, calibration can be achieved efficiently, even when the calibration RAM 102 is relatively small, such as 2kB. By using such a small-capacity calibration RAM 102, the ECU 10 can be reduced in size. Furthermore, because the RAM is rather expensive, use of a small calibration RAM 102 allows for a reduction in cost of the ECU 10.
[0045] In the aforedescribed embodiment, the calibration RAM 102 installed in the ECU 10 is used to overwrite data in the flash EEPROM 101. That is, the ECU 10 itself has a mechanism for overwriting data in the flash EEPROM 101. This eliminates the need for storing the calibrated data into an external storage device, such as a debugger. Thus, overwriting of data stored in the flash EEPROM 101 can be done efficiently.
[0046] In the aforedescribed embodiment, an address of the area where calibration is performed is stored in the initialization register 111, when the calibration is started. This address may be used to copy the data in the flash EEPROM 101 to the calibration RAM 102, and to set the memory area 501 of the calibration RAM 102 in the calibration area 504 of the flash EEPROM 101. That means the setting area for the calibration RAM 102 can be set according to the calibration area.
[0047] It should be appreciated that the aforedescribed embodiment may be modified as follows. In the aforedescribed embodiment, when the program is completed, the authority bit of the super-user mode register 112 is cleared, and the super-user mode is exited back to the normal mode. Meanwhile, the activation bit of the initialization register 111 is cleared. Instead, if calibration of another object under control 11 is performed continuously, an address of an area where a new calibration is performed may be set in the initialization register 111, while maintaining "1" for the activation bit of the initialization register 111. This enables calibrations to be performed continuously.
[0048] In the aforedescribed embodiment, a calibration RAM 102 having a storage capacity of 2kB is used, although it is not limited thereto. It may have a capacity to cover a memory area required for a single calibration. Furthermore, a calibration RAM 102 having a larger storage capacity may be used to perform calibration for more objects under control 11 at a time.
[0049] In the aforedescribed embodiment, a control command for the "block 0" of the flash EEPROM 101 is used to overwrite the control parameter for the "block 1" during control operation of the object under control 11, although it is not limited thereto. It may be embodied in an electronic control apparatus that includes a flash EEPROM 101 that requires overwrites.
[0050] In the aforedescribed embodiment, the data in the calibration area of the flash EEPROM 101 is copied to the calibration RAM 102 at step (Sl-2). Alternatively, this step may be skipped if there is no control data in the calibration area.
[0051] In the aforedescribed embodiment, the object under control 11, such as an automobile engine, is controlled by use of the electronic control apparatus (ECU 10), although it is not limited thereto. The point is, it may include a flash EEPROM 101 and may be embodied in an electronic control apparatus that implements overwrites of its data. [0052] As described in detail above, according to the present invention, overwriting of data for the nonvolatile memory can be achieved even during control operation.

Claims

1. An electronic control apparatus having a nonvolatile memory and a volatile memory that store control data for controlling a device, the electronic control apparatus comprising: a controller that uses data stored in the volatile memory to perform calibration of the control data and performs a write of the data stored in the volatile memory into the nonvolatile memory, when the calibration is completed.
2. The electronic control apparatus of claim 1, wherein the controller stores the data in the nonvolatile memory to be calibrated into the volatile memory, when the calibration is started and uses the data stored in the volatile memory to perform calibration of the control data.
3. The electronic control apparatus according to claim 1 or 2 , wherein the controller further: identifies an address. of the nonvolatile memory to be calibrated when the calibration is started; assigns the same address as that of the nonvolatile memory to the volatile memory; and preferentially executes data processing for the volatile memory during the calibration.
4. The electronic control apparatus according to any one of claims 1 through 3, further comprising: a control register for controlling data in the nonvolatile memory; and wherein the controller writes the address of the nonvolatile memory and calibrated control data into the control register when said calibration is completed; and uses the address and calibrated control data written in the control register to execute a write into the nonvolatile memory.
5. The electronic control apparatus according to claim 4, further comprising: an authority register for controlling the authority to permit use of the control register; and wherein the controller: sets the authority register when a write into the volatile memory is executed; and clears the authority register after the write is completed.
6. The electronic control apparatus according to any one of claims 1 through 5, wherein: the device includes a plurality of units; the control data is stored in the nonvolatile memory corresponding to each of the units; and the volatile memory has a storage capacity capable of storing control data corresponding to the unit to be calibrated.
7. The electronic control apparatus according to any one of claims 1 through 6, wherein: the nonvolatile memory includes at least two or more storage blocks; the write is executed for each storage block; and when a write into one of the storage blocks is executed, another storage block is used to control the device .
PCT/US2003/016723 2002-06-03 2003-05-28 Electronic control apparatus WO2003102961A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2003240802A AU2003240802A1 (en) 2002-06-03 2003-05-28 Electronic control apparatus
US10/517,123 US20050251305A1 (en) 2002-06-03 2003-05-28 Electronic control apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002160990A JP2004005296A (en) 2002-06-03 2002-06-03 Electronic control device
JP2002-160990 2002-06-03

Publications (1)

Publication Number Publication Date
WO2003102961A1 true WO2003102961A1 (en) 2003-12-11

Family

ID=29706566

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/016723 WO2003102961A1 (en) 2002-06-03 2003-05-28 Electronic control apparatus

Country Status (5)

Country Link
JP (1) JP2004005296A (en)
CN (1) CN1659662A (en)
AU (1) AU2003240802A1 (en)
TW (1) TWI227498B (en)
WO (1) WO2003102961A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006011705A1 (en) * 2006-03-14 2007-09-20 Infineon Technologies Ag System and method for testing an integrated circuit

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4550479B2 (en) * 2004-04-30 2010-09-22 ルネサスエレクトロニクス株式会社 Electronic control device and data adjustment method
EP1788574B1 (en) * 2005-11-16 2012-04-04 Siemens Aktiengesellschaft Electric device with stored data which are readable even in case of failure
JP2009184609A (en) * 2008-02-08 2009-08-20 Nsk Ltd Electric power steering device
JP6148838B2 (en) * 2012-09-21 2017-06-14 株式会社ケーヒン Vehicle electronic control unit and data adjustment system thereof
KR101470158B1 (en) * 2013-05-21 2014-12-05 현대자동차주식회사 Calibration apparatus and method thereof
KR101603547B1 (en) 2014-11-06 2016-03-15 현대자동차주식회사 Calibration Memory Controlling Method and Apparatus for Vehicle Controller
CN109656607A (en) * 2019-01-03 2019-04-19 广西玉柴机器股份有限公司 A kind of full address scaling method that supporting super large nominal data amount and system
KR102153403B1 (en) * 2019-07-30 2020-09-09 현대오트론 주식회사 Control apparatus, memory device and control method for data calibration

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0561271A2 (en) * 1992-03-17 1993-09-22 Hitachi, Ltd. Data line disturbance free memory block divided flash memory and microcomputer having flash memory therein
US5394327A (en) * 1992-10-27 1995-02-28 General Motors Corp. Transferable electronic control unit for adaptively controlling the operation of a motor vehicle
US6272587B1 (en) * 1996-09-30 2001-08-07 Cummins Engine Company, Inc. Method and apparatus for transfer of data between cache and flash memory in an internal combustion engine control system
EP1225490A2 (en) * 2001-01-05 2002-07-24 Delphi Technologies, Inc. Electronic control unit calibration

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0561271A2 (en) * 1992-03-17 1993-09-22 Hitachi, Ltd. Data line disturbance free memory block divided flash memory and microcomputer having flash memory therein
US5394327A (en) * 1992-10-27 1995-02-28 General Motors Corp. Transferable electronic control unit for adaptively controlling the operation of a motor vehicle
US6272587B1 (en) * 1996-09-30 2001-08-07 Cummins Engine Company, Inc. Method and apparatus for transfer of data between cache and flash memory in an internal combustion engine control system
EP1225490A2 (en) * 2001-01-05 2002-07-24 Delphi Technologies, Inc. Electronic control unit calibration

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006011705A1 (en) * 2006-03-14 2007-09-20 Infineon Technologies Ag System and method for testing an integrated circuit

Also Published As

Publication number Publication date
CN1659662A (en) 2005-08-24
JP2004005296A (en) 2004-01-08
AU2003240802A1 (en) 2003-12-19
TW200404304A (en) 2004-03-16
TWI227498B (en) 2005-02-01

Similar Documents

Publication Publication Date Title
US6928362B2 (en) System and method for real time programmability of an engine control unit
RU2142168C1 (en) Method for complete rewriting of cleared non- volatile memory
US6505105B2 (en) Electronic control unit calibration
US20030163664A1 (en) Method and apparatus for updating a distributed program
US8140216B2 (en) Method of detecting manipulation of a programmable memory device of a digital controller
US7774382B2 (en) Method and apparatus for configuring a control device, and corresponding control device
US6272587B1 (en) Method and apparatus for transfer of data between cache and flash memory in an internal combustion engine control system
JP4302113B2 (en) In-vehicle control device
JP4135220B2 (en) Electronic control device for vehicle
US20050270888A1 (en) Stored data rewriting system for on-board control unit
WO2003102961A1 (en) Electronic control apparatus
US20050246513A1 (en) Electronic control device and data adjustment method
JP6415990B2 (en) Electronic control unit for automobile
US7360013B2 (en) Method of rewriting flash EEPROM and electronic control device using same
US6738887B2 (en) Method and system for concurrent updating of a microcontroller's program memory
US20050251305A1 (en) Electronic control apparatus
JP2009042850A (en) Control device for vehicle, and device for updating vehicle control program
JP4501159B2 (en) Automotive control unit
JP2005338955A (en) Electronic control device
JP2002149412A (en) Electronic controller
JP2006063939A (en) Program rewritable electronic control device
JP2001229014A (en) Non-volatile memory rewriting device
CN112732309B (en) Flash memory updating method and device and electronic equipment
JP2019020897A (en) Electronic control device and update software distribution system
JPH1027100A (en) Program data rewriting device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 10517123

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 20038128241

Country of ref document: CN

122 Ep: pct application non-entry in european phase