JPH09128229A - 電子制御装置 - Google Patents

電子制御装置

Info

Publication number
JPH09128229A
JPH09128229A JP7287626A JP28762695A JPH09128229A JP H09128229 A JPH09128229 A JP H09128229A JP 7287626 A JP7287626 A JP 7287626A JP 28762695 A JP28762695 A JP 28762695A JP H09128229 A JPH09128229 A JP H09128229A
Authority
JP
Japan
Prior art keywords
rewriting
data
program
built
flash rom
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP7287626A
Other languages
English (en)
Inventor
Hiroshi Kondo
浩 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP7287626A priority Critical patent/JPH09128229A/ja
Publication of JPH09128229A publication Critical patent/JPH09128229A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 プログラムの書き換えが完全に行われたこと
を確実に確認することのできる電子制御装置を提供す
る。 【解決手段】 初期動作開始時に、メモリ書換機が接続
されていなければ(S100:NO)、フラッシュRO
M内の制御プログラムに基づくエンジン制御処理を実行
し(S200)、またメモリ書換機が接続されていれば
(S100:YES)、フラッシュROMの内容を書き
換えるための書換処理を実行する(S300)制御装置
において、書換処理の実行開始時に特定メモリ領域を消
去し、書換処理の実行終了時にその特定メモリ領域に終
了データとしての「$5A」を書き込み、更にエンジン
制御処理の実行開始前に上記特定メモリ領域に「$5
A」が格納されていなければ(S110:NO)、エン
ジン制御処理を実行しないようにする。この結果、書き
換えの失敗を簡単な動作チェックで確実に発見できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、所定の制御対象を
制御する電子制御装置に関し、特に、制御に用いる内蔵
プログラムや内蔵データを書き換え可能な電子制御装置
に関する。
【0002】
【従来の技術】従来より、例えば特開平6−27261
1号公報に開示されているように、自動車のエンジンを
制御するエンジン制御装置として、データの消去及び書
き込みが可能な不揮発性メモリに制御プログラム及び制
御データを内蔵しておき、このような内蔵プログラム又
は内蔵データを市場への供給後でも書き換え可能に構成
したものが提案されている。
【0003】そして、上記公報に開示のエンジン制御装
置は、別途用意されたプログラムの書換装置が接続され
ると、所定の通信手順を踏んだ後に、それまでの制御プ
ログラムや制御データ(以下、制御プログラム及び制御
データを単にプログラムともいう)を消去して、上記書
換装置から送信されて来る新しいプログラムを元のプロ
グラムのメモリ領域に順次書き込んで行き、このような
プログラムの書き換えが全て終了すると、その旨を示す
終了コマンドを書換装置へ送信するように構成されてい
る。
【0004】よって、このエンジン制御装置では、プロ
グラムの書換装置側にて、エンジン制御装置から終了コ
マンドが送信されて来たことを確認することにより、プ
ログラムの書き換えが完了したことを確認することがで
きる。ところで、この種のエンジン制御装置において、
プログラムの書き換えが行われている最中に、何等かの
原因でエンジン制御装置と書換装置との接続が断たれて
しまい、しかも、作業者がそのことに気付かなかった場
合には、新しいプログラムの一部が書き込まれずに、期
待通りの制御が実行されなくなる。
【0005】そこで、従来より、プログラムの書き換え
作業を行う作業者は、一連の作業を終了した後に、念の
ため実際に制御対象であるエンジンを作動させて、プロ
グラムの書き換えが完全に行われたか否かを確認するよ
うにしていた。
【0006】
【発明が解決しようとする課題】しかしながら、上記従
来の装置では、プログラムの書き換えが完全に行われた
ことを簡単な動作チェックによって確実に確認すること
はできなかった。即ち、プログラムの欠落によってエン
ジンの始動ですら不可能な場合であれば、プログラムの
書き換えに失敗したことを発見できる。ところが、特定
の運転状態においてのみ実行される処理に対応したプロ
グラムが欠落している場合には、その運転状態を実際に
再現してみなければ異常を発見することができず、現実
にはエンジンのあらゆる運転状態を動作チェック時に再
現してみることは不可能であり、結局、プログラムの書
き換えが完全に行われたことを確認することはできなか
ったのである。
【0007】本発明は、このような問題に鑑みなされた
ものであり、プログラムの書き換えが完全に行われたこ
とを確実に確認することのできる電子制御装置を提供す
ることを目的としている。
【0008】
【課題を解決するための手段、及び発明の効果】上記目
的を達成するためになされた請求項1に記載の本発明の
電子制御装置は、通常時には内蔵プログラム及び内蔵デ
ータに基づく制御処理を実行することにより所定の制御
対象を制御し、外部装置からの書き換え指令があった場
合には、前記内蔵プログラム又は内蔵データの一部又は
全部を前記外部装置から送信される新たなプログラム又
はデータに書き換えるための書換処理を実行する。よっ
て、当該電子制御装置では、外部装置から書き換え指令
と書き換えるべき新たなプログラム又はデータとを送信
することで、書換処理の実行により、内蔵プログラム又
は内蔵データを所望のプログラム又はデータに書き換え
ることができ、その書き換え後の内蔵プログラム及び内
蔵データに基づき制御処理が実行される。そして、これ
により、制御対象に対する制御内容を変更することがで
きる。
【0009】ここで特に、請求項1に記載の電子制御装
置は、通常時において、制御処理の実行を開始する前
に、内蔵プログラム及び内蔵データが正常であるか否か
を判断し、正常でないと判断した場合には、制御処理の
実行を開始しないように構成されている。
【0010】従って、請求項1に記載の電子制御装置に
よれば、内蔵プログラム又は内蔵データの書き換えが何
等かの原因で中断されて、内蔵プログラム又は内蔵デー
タに異常が発生している場合には、制御処理の実行が開
始されなくなって、制御対象が動作しなくなる。よっ
て、作業者は、内蔵プログラム又は内蔵データの書き換
え作業を行った後で、制御対象の簡単な動作チェックを
行い、制御対象が動作しなければ内蔵プログラム又は内
蔵データの書き換え時に何等かの異常が生じたものと判
断することができ、また、制御対象が動作すれば内蔵プ
ログラム又は内蔵データの書き換えが完全に行われたも
のと判断することができる。
【0011】このように、請求項1に記載の電子制御装
置にれば、制御対象が動作するか否かを確認するといっ
た非常に簡単な動作チェックによって、内蔵プログラム
又は内蔵データの書き換えが完全に行われたことを確実
に確認することができるようになる。
【0012】尚、書き換え作業後の動作チェックで制御
対象が動作しなかった場合には、再度書き換え作業を行
って、内蔵プログラム又は内蔵データを書き直せば良
い。また、前記内蔵プログラム及び内蔵データは、例え
ば、書き換え可能なROMに格納される。そして、この
書き換え可能なROMとしては、フラッシュEEPRO
M或いはEEPROMが一般的であるが、他の書き換え
可能なROMでも良い。
【0013】ここで、内蔵プログラム及び内蔵データが
正常であるか否かを判断するには、請求項2に記載のよ
うに構成すれば良い。即ち、請求項2に記載の電子制御
装置では、制御処理の実行を開始する前に、特定のメモ
リ領域に内蔵プログラム及び内蔵データの書き換えが終
了したことを示す終了データが格納されているか否かを
判定することによって、内蔵プログラム及び内蔵データ
が正常であるか否かを判断するようにしており、更に、
内蔵プログラム又は内蔵データを書き換えるための書換
処理の実行開始時に、前記特定のメモリ領域に格納され
たデータを消去し、書換処理の実行終了時に、前記特定
のメモリ領域に前記終了データを書き込むようにしてい
る。
【0014】つまり、請求項2に記載の電子制御装置で
は、内蔵プログラム又は内蔵データの書き換えを行う直
前に特定のメモリ領域を消去し、書き換えが終了した後
に前記特定のメモリ領域に書き換えの終了を示す終了デ
ータを書き込むようにし、その特定のメモリ領域に終了
データが格納されていれば、書換処理の実行が中断され
ることなく終了して、内蔵プログラム又は内蔵データの
書き換えが完全に行われたものと判断するようにしてい
る。尚、前記特定のメモリ領域には、内蔵プログラム及
び内蔵データの書き換えが一度も行われていない場合で
も制御処理の実行が可能となるように、予め終了データ
を格納しておけば良い。
【0015】そして、このような請求項2に記載の電子
制御装置によれば、特定のメモリ領域に終了データが格
納されているか否かの判定、及び、特定のメモリ領域に
対する消去と終了データの書き込み、という簡単な処理
を追加するだけで、内蔵プログラム又は内蔵データの書
き換えが完全に行われたことを確実に確認できるという
効果を得ることができる。
【0016】ところで、請求項2に記載の電子制御装置
において、前記特定のメモリ領域としては、書換処理の
実行により内容が書き換えられるメモリ領域(即ち書き
換え対象であるメモリ領域)とは異なるメモリ領域(即
ち書き換え対象でないメモリ領域)を用いてもよいが、
請求項3に記載のように、書き換え対象であるメモリ領
域において前記内蔵プログラム及び内蔵データが格納さ
れない領域を、特定のメモリ領域として用いることがで
きる。
【0017】そして、請求項3に記載の電子制御装置に
よれば、内蔵プログラム又は内蔵データを書き換える際
に、前記特定のメモリ領域を内蔵プログラム又は内蔵デ
ータと一緒に消去することができるため、追加しなけれ
ばならない処理を一層少なくすることができる。
【0018】また、請求項2又は請求項3に記載の電子
制御装置において、前記終了データとしては、内蔵プロ
グラム及び内蔵データの書き換えが終了したか否かを識
別できるものであれば良く、1ビットのフラグを用いて
も良いし、複数ビットからなるデータを用いても良い。
【0019】そして特に、後者の場合において、請求項
4に記載のように、終了データを、論理1と論理0とを
交互に配した複数ビットから構成することが望ましい。
即ち、前記特定のメモリ領域に何等かの原因で他のデー
タが書き込まれてしまったとしても、そのデータが論理
1と論理0とを交互に配したものとなるのは極めて希で
あるため、終了データとの区別が確実にでき、延いて
は、内蔵プログラム及び内蔵データの書き換えが完全に
行われたか否かの判定を、より確実に行うことができる
ようになる。
【0020】一方、請求項1ないし請求項4の何れかに
記載の電子制御装置において、請求項5に記載のよう
に、書換処理を実行するための書換プログラムを、書き
換え対象でないメモリ領域に格納しておけば、書換プロ
グラム自身の実行時に自分自身を書き換えることがな
く、それ以降の処理に異常を生じることを防止できる。
尚、書換プログラムを格納しておく書き換え対象でない
メモリ領域としては、例えば通常の書き換え不能なRO
Mが挙げられる。また書き換え可能なROMやRAMで
あつても、その内容の書き換えが禁止されているなら
ば、書換プログラムを格納しておくメモリ領域として用
いることができる。
【0021】また、請求項1ないし請求項4の何れかに
記載の電子制御装置において、請求項6に記載のよう
に、書換処理を実行するための書換プログラムを外部か
ら書き換え対象でないメモリ領域に読み込んで起動させ
る読込起動プログラムを、書き換え対象でないメモリ領
域に格納しておいても良い。
【0022】つまり、請求項6に記載の電子制御装置で
は、書換プログラムを最初から有しているのではなく、
より簡単な読込起動プログラムを備えておき、内蔵プロ
グラム又は内蔵データを書き換える際に書換プログラム
を外部から読み込んで、その読み込んだ書換プログラム
を起動して書き換えを行うようにしている。
【0023】そして、この構成によれば、予め内蔵して
おくプログラムを小さくすることができ、メモリの節約
となる。尚、書換プログラムを読み込む書き換え対象で
ないメモリ領域としては、RAMや書き換え可能なRO
Mが挙げられる。また、読込起動プログラムが格納され
ている書き換え対象でないメモリ領域としては、通常の
書き換え不能なROM、書き換え可能なROM或いはR
AMが挙げられる。
【0024】
【発明の実施の形態】以下、本発明が適用された実施例
について図面を用いて説明する。尚、本発明の実施の形
態は、下記の実施例に何ら限定されることなく、本発明
の技術的範囲に属する限り、種々の形態を採り得ること
は言うまでもない。
【0025】まず、図1は、自動車に搭載されて内燃機
関型エンジンの制御を行う、実施例のエンジン制御装置
2の全体構成を示すブロック図である。図1に示すよう
に、エンジン制御装置(以下、ECUという)2は、エ
ンジンの運転状態を検出する様々なセンサ4からの信号
を入力して波形処理する入力処理回路6と、入力処理回
路6からのセンサ信号に基づきエンジンに対する最適制
御量を演算し、その演算結果に基づき制御信号を出力す
るCPU8と、CPU8からの制御信号を受けて、エン
ジンに取付けられたインジェクタ(燃料噴射弁)やイグ
ナイタ等のアクチュエータ10を駆動する出力回路12
と、CPU8内のエンジン制御用のプログラムやデータ
を書き換える際に接続されるメモリ書換機14との間で
データ通信を行うための通信回路16とを備えている。
【0026】そして、CPU8には、プログラムに従い
動作するマイクロ・プロセッサ・ユニット(以下、MP
Uという)18と、MPU18を動作させるのに必要な
プログラム及びデータを格納する不揮発性のROM20
と、MPU18の演算結果等を一時格納するRAM22
と、前記入力処理回路6及び通信回路16等からの信号
を受けると共に、出力回路12に制御信号を出力するI
/O24とが備えられている。
【0027】尚、ROM20としては、一旦書き込んだ
データを全て消去することができ、しかも再書き込み可
能なフラッシュEEPROM(通称、フラッシュROM
又はフラッシュメモリ)20aが一部に用いられてお
り、他の一部は書き換え不可能なROM20bが用いら
れている。また、この書き換え不可能なROM20bの
代りに、フラッシュEEPROMやEEPROMが用い
られていても、消去や書き込みを許可しなければ良い。
【0028】一方、外部装置としてのメモリ書換機14
は、ECU2側の上記フラッシュEEPROM(以下、
フラッシュROMという)20aに格納されたプログラ
ムやデータを書き換えるためにECU2側のCPU8と
シリアル通信を行うCPU14aと、CPU14aによ
り制御されて、ECU2側のCPU8へ、前記フラッシ
ュROM20aの書き換え時に必要な高電圧(本実施例
では12V)を供給する12V電源回路14bとを備え
ている。
【0029】そして、ECU2とメモリ書換機14との
接続は、接続用コネクタ26を介して互いの通信ライン
28,電源供給ライン29,及びモード判定用信号ライ
ン30が夫々接続されることにより行われる。即ち、接
続用コネクタ26が嵌合されると、通信ライン28を介
して、メモリ書換機14側のCPU14aとECU2側
のCPU8との間におけるシリアル通信が可能となり、
また、電源供給ライン29を介して、メモリ書換機14
側の12V電源回路14bからECU2側のCPU8へ
フラッシュROM20aの書き換えに必要な電圧(12
V)が供給される。そして更に、モード判定用信号ライ
ン30は、ECU2側で抵抗器Rにより5Vにプルアッ
プされていると共に、メモリ書換機14側で接地電位
(0V)に接続されているため、接続用コネクタ26が
嵌合されると、ECU2側においてはモード判定用信号
ライン30がハイレベル(5V)からロウレベル(0
V)に変化することとなり、CPU8は、モード判定用
信号ライン30がロウレベルであれば、当該ECU2に
メモリ書換機14が接続されたと判定する。
【0030】次に、前記ROM20及びRAM22のメ
モリ領域の内容について、図2を用いて説明する。図2
に示すように、フラッシュROM20aは、エンジン制
御用の制御プログラム及び制御データを格納するための
エンジン制御プログラム・データ格納エリア32として
用いられており、その格納エリア32には、該当するエ
ンジン制御プログラム及びエンジン制御データが既に格
納されている。
【0031】また、書き換え不能なROM20bは、リ
セット直後に実行されるブートプログラムを格納するた
めのブートプログラム格納エリア34として用いられて
おり、その格納エリア34には、該当するブートプログ
ラムが既に格納されている。そして、RAM22には、
フラッシュROM書換制御プログラム格納エリア36
と、演算用ワーク領域38とが設けられており、フラッ
シュROM書換制御プログラム格納エリア36には、後
述するようにメモリ書換機14から送信されて来るフラ
ッシュROM書換制御プログラムが格納され、演算用ワ
ーク領域38は、そのフラッシュROM書換制御プログ
ラムが実行される際に、演算作業のために使用される。
【0032】尚、本実施例において、ROM20及びR
AM22には、アドレス1番地当りに8ビットのデータ
が格納される。また、書き換え対象であるメモリ領域と
しての、フラッシュROM20a(エンジン制御プログ
ラム・データ格納エリア32)は、アドレスが$000
0番地から$FFFF番地までの64Kバイトに設定さ
れており、その最後尾アドレスである$FFFF番地に
は、エンジン制御プログラム及びエンジン制御データは
格納されず、プログラム及びデータの書き換えが完全に
終了したことを示す終了データとしての「$5A=%0
1011010」が予め格納されている。なお、「$」
は、その後に続く文字(0〜9,A〜F)が16進数を
表し、「%」は、その後に続く文字(0,1)が2進数
を表すことを示している。
【0033】このように構成されたECU2において
は、上述したように、エンジン制御プログラム・データ
格納エリア32としてのフラッシュROM20aに、エ
ンジン制御プログラム及びエンジン制御データが格納さ
れ、また、ブートプログラム格納エリア34としての書
き換え不能なROM20bに、ブートプログラムが格納
されている。そして、CPU8は、リセット直後に、図
2に示す如くリセットスタートアドレスとして設定され
ているブートプログラムを起動し、メモリ書換機14が
接続されていない通常時には、そのブートプログラムに
てエンジン制御プログラムをコールして、エンジンの制
御を行っている。
【0034】また、CPU8は、ブートプログラムを起
動した際に、メモリ書換機14が接続されていると判定
すると、メモリ書換機14(CPU14a)から通信ラ
イン28を介して送信されて来るフラッシュROM書換
制御プログラムを、RAM22上のフラッシュROM書
換制御プログラム格納エリア36に格納し、そのフラッ
シュROM書換制御プログラムを起動することにより、
フラッシュROM20a内に格納されていたエンジン制
御プログラム及びデータを、その後メモリ書換機14か
ら送られて来る新たなプログラム及びデータに置き換え
る。
【0035】そこで次に、CPU8にて実行される処理
について、図3及び図4を用いて説明する。尚、図3は
CPU8にて実行される処理の全体を説明するフローチ
ャートであり、図4はフラッシュROM書換制御プログ
ラムの起動によって実行されるフラッシュROM書換処
理を表すフローチャートである。
【0036】図3に示すように、ECU2に電源が投入
されてCPU8がリセット状態から動作を開始すると、
最初に、書き換え不能なROM20b内のブートプログ
ラムが起動する。そして、まず、ステップ(以下、単に
Sと記す)100にて、モード判定用信号ライン30が
ロウレベルであるか否かを判定し、ロウレベルでなけれ
ばメモリ書換機14が接続されていないと判断して、S
110に進む。
【0037】S110では、フラッシュROM20aの
$FFFF番地に格納されたデータ(即ち、フラッシュ
ROM20aの最後尾データ)が、「$5A」であるか
否かを判定する。そして、「$5A」でないと判定した
場合には、S100に戻り、また、「$5A」であると
判定した場合には、S120に進んで、エンジン制御プ
ログラムへジャンプする。
【0038】そして、このS120の実行により、フラ
ッシュROM20a内のエンジン制御プログラムが起動
され、その後は、図3のS200に示すように、エンジ
ン制御データを参照して行われるエンジン制御処理が実
行される。尚、S200のエンジン制御処理は、入力処
理回路6からの各種センサ信号とフラッシュROM20
a内のエンジン制御データとに基づき、エンジンに対す
る最適な燃料噴射量や点火時期等を演算し、その演算結
果に応じてインジェクタやイグナイタ等のアクチュエー
タ10を駆動するための制御信号を出力する、といった
手順で実行される。そして、このようなエンジン制御処
理が実行されることにより、エンジンの運転が可能とな
る。
【0039】一方、ブートプログラムにおいて、上記S
100でモード判定用信号ライン30がロウレベルであ
ると判定した場合には、メモリ書換機14が接続されて
いると判断して、S130に移行する。そして、このS
130にて、メモリ書換機14からのフラッシュROM
書換制御プログラムを、CPU8のRAM22上へダウ
ンロードする。
【0040】即ち、メモリ書換機14は、所定の操作が
行われると、図示されない記憶媒体からフラッシュRO
M書換制御プログラムを読み出して、そのプログラムを
通信ライン28を介してECU2へ送信するように構成
されている。そこで、CPU8は、S130の処理によ
り、メモリ書換機14からのフラッシュROM書換制御
プログラムを受信して、RAM22上のフラッシュRO
M書換制御プログラム格納エリア36に格納するのであ
る。
【0041】そして、S130の処理により、フラッシ
ュROM書換制御プログラムのRAM22上へのダウン
ロードが終了すると、S140に進んで、RAM22上
のフラッシュROM書換制御プログラム格納エリア36
の処理開始アドレスにジャンプする。そして、このS1
40の実行により、フラッシュROM書換制御プログラ
ムが起動され、その後は、図3のS300に示すよう
に、フラッシュROM20aの内容をメモリ書換機14
から送られて来る新たなプログラム及びデータに置き換
えるためのフラッシュROM書換処理が実行される。
【0042】ここで、メモリ書換機14は、上述の如く
フラッシュROM書換制御プログラムを送信した後、当
該ECU2へ、フラッシュROM20aを消去させるた
めの消去コマンドと、その消去したフラッシュROM2
0aに新たなエンジン制御プログラム及びエンジン制御
データを書き込ませるための書込コマンドとを順番に送
信し、更にその後、新たなエンジン制御プログラム及び
エンジン制御データを表す書込データと、その書込デー
タを書き込むべきフラッシュROM20a上のアドレス
を示す書込アドレスとを、順次送信するように構成され
ている。
【0043】そこで、S300のフラッシュROM書換
処理は、図4に示す如く実行される。即ち、まずS31
0にて、メモリ書換機14からの消去コマンドを受信し
たか否かを判定する。そして、S310で消去コマンド
を受信したと判定すると、S320に進んで、フラッシ
ュROM20aに格納された全データを消去し、S31
0に戻る。尚、このデータ消去の実行により、フラッシ
ュROM20aの各番地($0000番地〜$FFFF
番地)の8ビットデータは、全て「$FF=%1111
1111」となる。
【0044】次に、S310で消去コマンドを受信して
いないと判定すると、S330に移行して、メモリ書換
機14からの書込コマンドを受信したか否かを判定し、
書込コマンドを受信していないと判定した場合には、S
310に戻るが、書込コマンドを受信したと判定した場
合には、S340に進む。
【0045】S340では、メモリ書換機14から上記
書込コマンドの後に送信されて来る書込データと、それ
に対応する書込アドレスとを受信し、続くS350に
て、受信した書込データを、それに対応する書込アドレ
スが表すフラッシュROM20a上のアドレスへ書き込
む。そして、続くS360にて、全てのデータの書き込
みが完了したか否かを判定し、全データの書き込みが未
だ完了していない場合には、S340,S350の処理
を繰り返して、次の書込データの書き込みを実行し、全
データの書き込みが完了したと判定した場合には、S3
70に進む。
【0046】そして、S370にて、フラッシュROM
20aの最後尾アドレスである$FFFF番地に、プロ
グラム及びデータの書き換えが完了したことを示す終了
データとしての「$5A」を書き込み、その後、S38
0にて、通信ライン28を介してメモリ書換機14に書
換完了信号(終了コマンド)を出力してからS310へ
戻る。よって、S370,S380の処理を実行した後
は、メモリ書換機14からの消去コマンド及び書込コマ
ンドを待つ無限ループに入る。
【0047】一方、メモリ書換機14は、ECU2側か
らの書換完了信号を受信すると、所定のディスプレイ
(図示省略)に書換完了のメッセージを表示して、作業
者にプログラム及びデータの書き換えが完了したことを
報知する。尚、本実施例においては、エンジン制御プロ
グラム及びエンジン制御データに基づき実行されるエン
ジン制御処理が、制御処理に相当し、フラッシュROM
書換制御プログラムに基づき実行されるフラッシュRO
M書換処理が、書換処理に相当している。また、CPU
8に入力されるモード判定用信号ライン30の電圧レベ
ルの内、ロウレベルが、外部装置からの書き換え指令に
相当し、フラッシュROM20aの$FFFF番地が、
終了データを格納するための特定のメモリ領域に相当し
ている。そして、ブートプログラムのS130及びS1
40が、読込起動プログラムに相当し、フラッシュRO
M書換制御プログラムが、書換プログラムに相当してい
る。
【0048】以上のような本実施例のECU2において
は、メモリ書換機14を接続せずに電源を投入して、C
PU8をリセット状態から作動させると、最初に起動さ
れるブートプログラムでは、そのS100にて、メモリ
書換機14が接続されていないと判断され(S100:
NO)、更に通常は、フラッシュROM20aの$FF
FF番地に終了データとしての「$5A」が格納されて
いるため、S110で肯定判定されて、続くS120の
処理により、フラッシュROM20a内のエンジン制御
プログラムへジャンプする。そして、これによりエンジ
ン制御処理が実行されて、エンジンの運転が可能とな
る。
【0049】一方、エンジンの制御内容を変更する場合
には、当該ECU2にメモリ書換機14を接続した状態
で電源を投入し、CPU8をリセット状態から作動させ
る。すると、最初に起動されるブートプログラムでは、
そのS100にて、メモリ書換機14が接続されている
と判断され(S100:YES)、S130の処理が実
行されることにより、メモリ書換機14からRAM22
上へフラッシュROM書換制御プログラムがダウンロー
ドされる。そして、続くS140の処理により、RAM
22内のフラッシュROM書換制御プログラムへジャン
プし、これによりフラッシュROM書換処理が実行され
て、フラッシュROM20aの内容がメモリ書換機14
から送られて来る新たなプログラム及びデータに書き換
えられる。
【0050】ここで、フラッシュROM書換処理の実行
により、フラッシュROM20aの内容は、図5に示す
如く書き換えられて行く。即ち、まず図5(a)に示す
ように、当該ECU2がメモリ書換機14からの消去コ
マンドを未だ受信していない時には(S310及びS3
30:NO)、$0000番地から$FFFE番地まで
のメモリ領域に、書き換え前の旧データ(書き換え前の
エンジン制御プログラム及びエンジン制御データ)が格
納されていると共に、$FFFF番地に終了データとし
ての「$5A」が格納されている。
【0051】そして、メモリ書換機14からの消去コマ
ンドを受信して(S310:YES)、S320の処理
が実行されると、図5(b)に示すように、フラッシュ
ROM20aのデータ消去が行われて、$0000番地
から$FFFF番地までの全データが全て「$FF」と
なる。
【0052】その後、メモリ書換機14からの書込コマ
ンドを受信して(S330:YES)、メモリ書換機1
4から書込データと書込アドレスとが送信されて来る
と、S340〜S360の処理が繰り返し実行されて、
例えば図5(c)に示すように、$0000番地から順
に、新データ(メモリ書換機14からの新たなエンジン
制御プログラム及びエンジン制御データ)が書き込まれ
て行く。
【0053】そして、全データの書き込みが終了した時
点で(360:YES)、図5(d)に示すように、$
0000番地から$FFFE番地までのメモリ領域に、
メモリ書換機14からの新データが格納されることとな
るが、$FFFF番地のデータは未だ「$FF」であ
り、最後にS370の処理が実行されると、図5(e)
に示すように、$FFFF番地に終了データとしての
「$5A」が書き込まれる。そして、これによって、フ
ラッシュROM書換処理の実行によるフラッシュROM
20aの書き換えが全て終了する。
【0054】このようにフラッシュROM20aの書き
換えが完了すると、前述した様にECU2側からメモリ
書換機14へ書換完了信号が送信され、メモリ書換機1
4のディスプレイに書換完了のメッセージが表示され
る。よって、作業者は、書換完了のメッセージが表示さ
れたことを確認した後、当該ECU2からメモリ書換機
14を外し、CPU8を再度初期状態から動作させれ
ば、ブートプログラム格納エリア34は、書き換えが禁
止されているエリアなので、ブートプログラムとしては
図3に示した旧来のプログラムが起動される。そして、
上述したようにS100〜S120の処理が実行され
て、フラッシュROM20a内のエンジン制御プログラ
ムが起動される。この時、エンジン制御プログラム及び
エンジン制御データは、前述の如く新たな内容に書き換
えられているため、S200で実行されるエンジン制御
処理では、書き換え前とは異なるエンジン制御が行われ
ることとなる。
【0055】ところで、図5に示した如くフラッシュR
OM20aの書き換えが行われている最中に、何等かの
原因で当該ECU2とメモリ書換機14との接続が断た
れてしまい、しかも、作業者が、書換完了のメッセージ
を確認するのを忘れる等して、そのことに気付かなかっ
た場合には、新しいエンジン制御プログラムやエンジン
制御データの一部が書き込まれずに、期待通りの制御が
実行されなくなる。
【0056】そこで、作業者は、一連の書き換え作業を
終了した後、念のため実際に制御対象であるエンジンを
作動させて、フラッシュROM20aの書き換えが完全
に行われたか否かを確認する必要があるのであるが、本
実施例のECU2によれば、フラッシュROM20aの
書き換えが完全に行われたことを、簡単な動作チェック
によって確実に確認することができる。
【0057】即ち、本実施例のECU2では、フラッシ
ュROM書換処理の実行開始時に、$FFFF番地に格
納されたデータを消去すると共に(S320)、フラッ
シュROM書換処理の実行終了時に、$FFFF番地に
終了データとしての「$5A」を書き込むようにし(S
370)、更に、リセット直後に起動されるブートプロ
グラムにおいて、$FFFF番地のデータが「$5A」
であるか否かを判定し(S110)、「$5A」でない
と判定した場合には、フラッシュROM20aの内容に
異常が生じていると判断して、エンジン制御プログラム
へジャンプすることなくメモリ書換機14が再度接続さ
れるのを待つ待機状態となる(S110:NO)。
【0058】換言するならば、本実施例のECU2で
は、フラッシュROM20aの書き換えを行っている最
中には、$FFFF番地に終了データとしての「$5
A」が格納されないようにし、エンジン制御処理を開始
する前に、$FFFF番地に「$5A」が格納されてい
なければ、フラッシュROM20aの書き換えが中断さ
れたものと判断して、エンジン制御処理の実行を開始し
ないようにしている。
【0059】従って、本実施例のECU2によれば、フ
ラッシュROM20aの書き換えが何等かの原因で中断
されて、フラッシュROM20a内のエンジン制御プロ
グラム或いはエンジン制御データに少しでも異常が生じ
ている場合には、エンジンの制御が行なわれなくなる。
よって、制御プログラムの欠落によってエンジンの始動
ですら不可能な場合は元より、特定の運転状態において
のみ実行される処理に対応した一部のプログラムだけが
欠落しているような異常でも、簡単な動作チェックによ
って確実に発見することができる。
【0060】例えば、図6に示すように、エンジン回転
数NEが5000[rpm]以上で、且つ、エンジンの
冷却水温が80[℃]以上の時にのみ、$A000番地
以降の燃料増量処理をサブルーチンコールするといった
処理が、$0000番地から$8000番地までのメモ
リ領域に格納されるエンジン制御プログラムについて考
える。
【0061】このエンジン制御プログラムにおいて、図
5(c)に例示されるように、$0000番地から$8
000番地までしか新データが書き込まれていない状態
で、フラッシュROM20aの書き換えが中断されてし
まうと、従来のエンジン制御装置では、エンジン回転数
NEが5000[rpm]以上で且つ冷却水温が80
[℃]以上、という特定の運転状態を実際に再現してみ
なければ、異常を発見することができない。そして、現
実にはエンジンのあらゆる運転状態を動作チェック時に
再現してみることは不可能であり、結局、従来のエンジ
ン制御装置では、フラッシュROM20aの書き換えが
完全に行われたことを確認することはできなかったので
ある。
【0062】これに対して、本実施例のECU2におい
ては、フラッシュROM20aの書き換えが何等かの原
因で中断されて、エンジン制御プログラム或いはエンジ
ン制御データに少しでも異常が発生すれば、$FFFF
番地に終了データとしての「$5A」が格納されずに、
エンジンの制御が行なわれなくなるため、如何なる異常
でも、簡単な動作チェックによって確実に発見すること
ができる。
【0063】このように本実施例のECU2にれば、エ
ンジンが動作するか否かを確認するといった非常に簡単
な動作チェックによって、フラッシュROM20aの書
き換えが完全に行われたことを確実に確認することがで
きるのである。そして更に、本実施例のECU2では、
書き換え対象であるフラッシュROM20aのメモリ領
域($0000番地〜$FFFF番地)において、エン
ジン制御プログラム及びエンジン制御データが格納され
ない$FFFF番地を、終了データ「$5A」を格納す
るための特定のメモリ領域として用いている。
【0064】従って、本実施例のECU2によれば、フ
ラッシュROM20aを書き換える際に、S320の処
理により、特定のメモリ領域としての$FFFF番地
を、書き換え前のエンジン制御プログラム及びエンジン
制御データと一緒に消去することができる。よって、$
FFFF番地に終了データとしての「$5A」が格納さ
れているか否かのS110の判定処理と、$FFFF番
地へ「$5A」を書き込むためのS370の書込処理、
という2つの処理を追加するだけで、上述した効果を得
ることができる。
【0065】また、本実施例では、終了データとして、
論理1と論理0とを交互に配した「$5A=%0101
1010」を用いているため、フラッシュROM20a
の書き換えが完全に行われたか否かの判定を、より確実
に行うことができる。即ち、$FFFF番地に何等かの
原因で他のデータが書き込まれてしまったとしても、そ
のデータが論理1と論理0とを交互に配したものとなる
のは極めて希であるため、終了データとの区別が確実に
できるのである。
【0066】一方、本実施例のECU2においては、フ
ラッシュROM書換制御プログラムを最初から有してい
るのではなく、メモリ書換機14からフラッシュROM
書換制御プログラムを受信して、RAM22上のフラッ
シュROM書換制御プログラム格納エリア36に格納し
てから、そのフラッシュROM書換制御プログラムを起
動するようにしている。よって、予め内蔵しておくプロ
グラムを小さくすることができ、メモリの節約が可能と
なる。
【0067】また、フラッシュROM書換制御プログラ
ムを、メモリ書換機14から読み込むのではなく、書き
換え不能な(又は書き換え禁止)ROM20bに予め格
納しておくようにすれば、メモリ書換機14からダウン
ロードする必要がない。尚、上記実施例では、フラッシ
ュROM20aに格納されたエンジン制御プログラム及
びエンジン制御データの全部を書き換える場合について
説明したが、エンジン制御プログラム又はエンジン制御
データの一部を書き換える場合についても全く同様であ
る。つまり、メモリ書換機14からECU2へ送信する
書込アドレスによって、書き換えるメモリ領域は任意に
決定することができる。そして、エンジン制御プログラ
ム又はエンジン制御データの一部を書き換える場合で
も、その書き換え作業後の動作チェックによって、書き
換えが完全に行われたか否かを確実に確認することがで
きるのである。
【0068】また、本実施例では、終了データとして8
ビットのデータを用いたが、終了データとしては、フラ
ッシュROM20aの書き換えが終了したか否かを識別
できるものであれば良く、1ビットのフラグや8ビット
以上のデータを用いても良い。
【0069】また更に、本実施例では、終了データを、
書き換え対象であるフラッシュROM20a内のメモリ
領域に書き込むようにしたが、終了データは、書き換え
対象でない他の書き換え可能なメモリ(EEPROM
等)に書き込むようにしてもよい。
【0070】一方、上記実施例では、エンジンを制御す
るECU2について説明したが、本発明の適用範囲は、
これに限られない。即ち、例えばブレーキ、トランスミ
ッション、サスペンション等の制御対象を制御する電子
制御装置に対しても、全く同様に適用することができ
る。
【図面の簡単な説明】
【図1】 実施例のエンジン制御装置(ECU)の全体
構成を示すブロック図である。
【図2】 メモリ領域の内容を説明する説明図である。
【図3】 実施例のCPUにて実行される処理の全体を
説明するフローチャートである。
【図4】 図3のフラッシュROM書換処理を表すフロ
ーチャートである。
【図5】 フラッシュROMの書き換え手順を説明する
説明図である。
【図6】 従来装置の問題点及び実施例装置の効果を説
明する説明図である。
【符号の説明】
2…エンジン制御装置(ECU) 4…センサ 6
…入力処理回路 8…CPU 10…アクチュエータ 12…出力回
路 14…メモリ書換機 16…通信回路 18…マイクロ・プロセッサ・ユニット(MPU)
20…ROM 20a…フラッシュEEPROM(フラッシュROM) 20b…書き換え不可能なROM 22…RAM
24…I/O 26…接続用コネクタ 28…通信ライン 29…
電源供給ライン 30…モード判定用信号ライン 32…エンジン制御プログラム・データ格納エリア 34…ブートプログラム格納エリア 36…フラッシュROM書換制御プログラム格納エリア 38…演算用ワーク領域

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 通常時には内蔵プログラム及び内蔵デー
    タに基づく制御処理を実行することにより所定の制御対
    象を制御し、外部装置からの書き換え指令があった場合
    には、前記内蔵プログラム又は内蔵データの一部又は全
    部を前記外部装置から送信される新たなプログラム又は
    データに書き換えるための書換処理を実行する電子制御
    装置であって、 前記制御処理の実行を開始する前に、前記内蔵プログラ
    ム及び内蔵データが正常であるか否かを判断し、正常で
    ないと判断した場合には、前記制御処理の実行を開始し
    ないことを特徴とする電子制御装置。
  2. 【請求項2】 請求項1に記載の電子制御装置におい
    て、 当該装置は、前記制御処理の実行を開始する前に、特定
    のメモリ領域に前記内蔵プログラム及び内蔵データの書
    き換えが終了したことを示す終了データが格納されてい
    るか否かを判定することによって、前記内蔵プログラム
    及び内蔵データが正常であるか否かを判断すると共に、 前記書換処理の実行開始時に、前記特定のメモリ領域に
    格納されたデータを消去し、前記書換処理の実行終了時
    に、前記特定のメモリ領域に前記終了データを書き込む
    ことを特徴とする電子制御装置。
  3. 【請求項3】 前記特定のメモリ領域は、書き換え対象
    であるメモリ領域において前記内蔵プログラム及び内蔵
    データが格納されない領域に設定されていることを特徴
    とする請求項2に記載の電子制御装置。
  4. 【請求項4】 前記終了データは、論理1と論理0とを
    交互に配した複数ビットからなることを特徴とする請求
    項2又は請求項3に記載の電子制御装置。
  5. 【請求項5】 前記書換処理を実行するための書換プロ
    グラムを、書き換え対象でないメモリ領域に格納してい
    ることを特徴とする請求項1ないし請求項4の何れかに
    記載の電子制御装置。
  6. 【請求項6】 前記書換処理を実行するための書換プロ
    グラムを外部から書き換え対象でないメモリ領域に読み
    込んで起動させる読込起動プログラムを、書き換え対象
    でないメモリ領域に格納していることを特徴とする請求
    項1ないし請求項4の何れかに記載の電子制御装置。
JP7287626A 1995-11-06 1995-11-06 電子制御装置 Pending JPH09128229A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7287626A JPH09128229A (ja) 1995-11-06 1995-11-06 電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7287626A JPH09128229A (ja) 1995-11-06 1995-11-06 電子制御装置

Publications (1)

Publication Number Publication Date
JPH09128229A true JPH09128229A (ja) 1997-05-16

Family

ID=17719687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7287626A Pending JPH09128229A (ja) 1995-11-06 1995-11-06 電子制御装置

Country Status (1)

Country Link
JP (1) JPH09128229A (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11141392A (ja) * 1997-11-07 1999-05-25 Nissan Motor Co Ltd 車両制御用メモリ書き換え装置
EP0973092A2 (en) * 1998-07-14 2000-01-19 Denso Corporation Electronic control apparatus having rewritable nonvolatile memory
JP2000215066A (ja) * 1999-01-15 2000-08-04 Cummins Engine Co Inc 埋め込み車両コンピュ―タへのアプリケ―ション・ソフトウェアの伝送のためのシステムおよび方法
US6168321B1 (en) 1998-06-26 2001-01-02 Denso Corporation Electronic control unit having user breakable function
US6285948B1 (en) 1999-05-26 2001-09-04 Denso Corporation Control apparatus and method having program rewriting function
KR100317594B1 (ko) * 1997-07-24 2002-04-24 다니구찌 이찌로오, 기타오카 다카시 차량용 제어장치
KR100317593B1 (ko) * 1997-07-24 2002-04-24 다니구찌 이찌로오, 기타오카 다카시 차량용제어장치
JP2006113656A (ja) * 2004-10-12 2006-04-27 Denso Corp 書き換えプログラム送信方法、書き換えプログラム送信装置、書き換えプログラム送信プログラム、車両制御装置、および書き換えプログラム受信・起動プログラム
JP2007022362A (ja) * 2005-07-19 2007-02-01 Suzuki Motor Corp 電子制御装置のプログラム書換えシステム
JP2009026183A (ja) * 2007-07-23 2009-02-05 Hitachi Ltd 自動車用電子制御装置
DE102012223124A1 (de) 2011-12-14 2013-06-20 Denso Corporation Fahrzeugkommunikationssteuervorrichtung
DE102013201172A1 (de) 2012-01-27 2013-08-01 Denso Corporation Elektrische stromversorgungssteuervorrichtung für ein fahrzeug
JP2015046088A (ja) * 2013-08-29 2015-03-12 京セラドキュメントソリューションズ株式会社 半導体装置
US9996296B2 (en) 2013-03-21 2018-06-12 Hitachi Automotive Systems, Ltd. Electronic control unit and method for rewriting data
JP2022003571A (ja) * 2017-09-04 2022-01-11 カシオ計算機株式会社 データ管理装置、電子時計、データ管理方法、およびデータ管理プログラム

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100317594B1 (ko) * 1997-07-24 2002-04-24 다니구찌 이찌로오, 기타오카 다카시 차량용 제어장치
KR100317593B1 (ko) * 1997-07-24 2002-04-24 다니구찌 이찌로오, 기타오카 다카시 차량용제어장치
JPH11141392A (ja) * 1997-11-07 1999-05-25 Nissan Motor Co Ltd 車両制御用メモリ書き換え装置
US6168321B1 (en) 1998-06-26 2001-01-02 Denso Corporation Electronic control unit having user breakable function
EP0973092A2 (en) * 1998-07-14 2000-01-19 Denso Corporation Electronic control apparatus having rewritable nonvolatile memory
US6490663B1 (en) 1998-07-14 2002-12-03 Denso Corporation Electronic control apparatus having rewritable nonvolatile memory
EP0973092A3 (en) * 1998-07-14 2003-11-26 Denso Corporation Electronic control apparatus having rewritable nonvolatile memory
JP2000215066A (ja) * 1999-01-15 2000-08-04 Cummins Engine Co Inc 埋め込み車両コンピュ―タへのアプリケ―ション・ソフトウェアの伝送のためのシステムおよび方法
US6285948B1 (en) 1999-05-26 2001-09-04 Denso Corporation Control apparatus and method having program rewriting function
JP4617816B2 (ja) * 2004-10-12 2011-01-26 株式会社デンソー 車両制御装置、および書き換えプログラム受信・起動プログラム
JP2006113656A (ja) * 2004-10-12 2006-04-27 Denso Corp 書き換えプログラム送信方法、書き換えプログラム送信装置、書き換えプログラム送信プログラム、車両制御装置、および書き換えプログラム受信・起動プログラム
JP2007022362A (ja) * 2005-07-19 2007-02-01 Suzuki Motor Corp 電子制御装置のプログラム書換えシステム
JP2009026183A (ja) * 2007-07-23 2009-02-05 Hitachi Ltd 自動車用電子制御装置
DE102012223124A1 (de) 2011-12-14 2013-06-20 Denso Corporation Fahrzeugkommunikationssteuervorrichtung
JP2013123998A (ja) * 2011-12-14 2013-06-24 Denso Corp 車両用通信制御装置
DE102012223124B4 (de) 2011-12-14 2022-05-25 Denso Corporation Fahrzeugkommunikationssteuervorrichtung
DE102013201172A1 (de) 2012-01-27 2013-08-01 Denso Corporation Elektrische stromversorgungssteuervorrichtung für ein fahrzeug
JP2013154708A (ja) * 2012-01-27 2013-08-15 Denso Corp 車両用電源供給制御装置
DE102013201172B4 (de) 2012-01-27 2022-01-27 Denso Corporation Elektrische stromversorgungssteuervorrichtung für ein fahrzeug
US9996296B2 (en) 2013-03-21 2018-06-12 Hitachi Automotive Systems, Ltd. Electronic control unit and method for rewriting data
JP2015046088A (ja) * 2013-08-29 2015-03-12 京セラドキュメントソリューションズ株式会社 半導体装置
JP2022003571A (ja) * 2017-09-04 2022-01-11 カシオ計算機株式会社 データ管理装置、電子時計、データ管理方法、およびデータ管理プログラム

Similar Documents

Publication Publication Date Title
US6275911B1 (en) Memory writing device for an electronic device
JPH09128229A (ja) 電子制御装置
JP3491419B2 (ja) 電子制御装置
KR100317593B1 (ko) 차량용제어장치
JPH11259375A (ja) 車両用制御装置及び車両制御システム
JP2002082841A (ja) 電子制御装置の制御データ記憶装置
JP4302113B2 (ja) 車載制御装置
JP4061694B2 (ja) 電子制御装置及び制御システム
JPH11272498A (ja) 電子制御装置
US6046937A (en) Electronic control unit and method for storing rewrite count of nonvolatile memory
JP3870563B2 (ja) 電子制御装置及び不揮発性メモリの書き換え回数計数方法
JP2006323776A (ja) 情報処理装置
JP2001123874A (ja) 電子制御装置のプログラム書換システム及びメモリ書換装置
JP2001297009A (ja) 車両制御装置のための書き換えシステム
KR19990013291A (ko) 차량용 제어장치
JP2888720B2 (ja) エンジン制御装置
JP3489306B2 (ja) 電子制御装置
JP2002149412A (ja) 電子制御装置
JP3796837B2 (ja) 電子装置のメモリ書込装置
JP2003196256A (ja) 電子制御装置
JP2003271420A (ja) 電子制御装置
JP2000257502A (ja) 自動車用電子制御装置
JP2002323990A (ja) 電子制御装置及び不揮発性メモリの初期化方法
JP2000192844A (ja) エンジン制御装置
JP2001073864A (ja) 車両用制御装置