JPH1115741A - 電子制御装置 - Google Patents

電子制御装置

Info

Publication number
JPH1115741A
JPH1115741A JP9170423A JP17042397A JPH1115741A JP H1115741 A JPH1115741 A JP H1115741A JP 9170423 A JP9170423 A JP 9170423A JP 17042397 A JP17042397 A JP 17042397A JP H1115741 A JPH1115741 A JP H1115741A
Authority
JP
Japan
Prior art keywords
storage
area
stored
electronic control
program
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
JP9170423A
Other languages
English (en)
Inventor
Yoshito Yoshimine
誉人 吉峯
Yukari Terada
由香里 寺田
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 JP9170423A priority Critical patent/JPH1115741A/ja
Publication of JPH1115741A publication Critical patent/JPH1115741A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

(57)【要約】 【課題】 制御の安全性と動作の信頼性とを高い次元で
両立させることのできる電子制御装置を提供する。 【解決手段】 フラッシュROMに書き込まれた制御プ
ログラムに従いエンジンを制御し、また、フラッシュR
OMの記憶内容をサムチェックにより定期的に検査し
て、異常を検出すると(S370:NO)、エンジンを
停止させる処理(S390)を行う電子制御装置におい
て、フラッシュROMには、制御プログラムが書き込ま
れた記憶領域(以下、書込領域)を示す書込領域データ
が書き込まれており、サムチェックを行うサムチェック
処理では、フラッシュROMから書込領域データを読み
出して上記書込領域を判別し(S320)、その書込領
域についてのみサムチェックを行う(S335〜S38
0)。よって、制御に実害のある異常時にだけ制御が停
止され、制御の安全性と動作の信頼性とを両立できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、記憶内容の書き換
えが可能な不揮発性メモリを備え、その不揮発性メモリ
に記憶された制御プログラムに従って制御対象を制御す
る電子制御装置に関する。
【0002】
【従来の技術】近年、例えば車両のエンジンを制御する
電子制御装置においては、エンジンを制御するための制
御プログラム(即ち、プログラムを構成するプログラム
コードや、それの実行時に参照される制御用データ)を
記憶しておく記憶媒体として、電気的に記憶内容の書き
換えが可能なEEPROMやフラッシュEEPROM
(以下、フラッシュROMという)等の不揮発性メモリ
を備え、その不揮発性メモリを装置に組み付けた状態
(実装した状態)で、プログラムを書き込み可能に構成
したものが提案されている。
【0003】そして、このような電子制御装置によれ
ば、車両の種類や仕向地などに応じてエンジンに対する
制御内容が異なる場合でも、ハードウェアを変更するこ
となく、前記不揮発性メモリに書き込んでおく制御プロ
グラムを変えるだけで対応することができる。
【0004】ところで、一般に、記憶内容の書き換えが
可能なEEPROMやフラッシュROMなどの不揮発性
メモリは、記憶内容の書き換えが不能な所謂マスクRO
Mと比較すると、記憶内容の保持性能(データリテンシ
ョン)に劣る面がある。つまり、メモリセルに生じた劣
化による不良等によって、その記憶内容が途中で変化し
てしまう可能性がある。
【0005】そこで、従来より、この種の電子制御装置
では、その動作時に、不揮発性メモリの記憶内容が正常
であるか否かを、サムチェックによって検査するように
している。具体的には、まず、不揮発性メモリに書き込
むデータの和(即ち、サム値)が予め定めた規格値とな
るようにしておく。そして、電子制御装置は、その動作
時に、不揮発性メモリの全記憶領域のデータのサム値を
求め、その値が上記規格でなければ、不揮発性メモリの
記憶内容に異常が生じたと判断するようにしている。
【0006】そして更に、この種の電子制御装置では、
上記の如く不揮発性メモリの記憶内容が異常であると判
断した場合には、その不揮発性メモリに記憶されている
制御プログラムの実行を止めて、例えばエンジンを強制
的に停止させるといったフェールセーフ用の動作モード
に移行し、これにより高い安全性を確保している。
【0007】
【発明が解決しようとする課題】しかしながら、上記従
来の電子制御装置では、高い安全性を確保することがで
きるものの、以下の問題があった。まず、この種の電子
制御装置では、車両の種類や仕向地などに対応した様々
な種類の制御プログラムが不揮発性メモリに択一的に書
き込まれるため、制御プログラムが実際に書き込まれる
不揮発性メモリの記憶領域は、機種によって異なる場合
がある。
【0008】このため、前述した従来装置の如く、不揮
発性メモリの全記憶領域の記憶内容についてサムチェッ
クを行うように構成すると、制御プログラムが記憶され
ていない領域(即ち、制御に関係のない記憶領域)で記
憶内容の変化が発生した場合でも、異常が生じたと判断
してフェールセーフ用の動作モードに移行してしまう。
【0009】つまり、従来の装置では、実害のない異常
が不揮発性メモリに生じた場合でも、通常の制御動作を
停止してしまうこととなり、安全性は高いものの、動作
の信頼性には劣るものとなってしまうのである。本発明
は、こうした問題に鑑みなされたものであり、記憶内容
の書き換えが可能な不揮発性メモリに記憶された制御プ
ログラムに従い制御対象を制御する電子制御装置であっ
て、制御の安全性と動作の信頼性とを高い次元で両立さ
せることのできる電子制御装置を提供することを目的と
している。
【0010】
【課題を解決するための手段、及び発明の効果】まず、
請求項1に記載の本発明の電子制御装置は、記憶内容の
書き換えが可能であると共に、制御対象を制御するため
の制御プログラムが記憶された不揮発性メモリと、該不
揮発性メモリの記憶内容が正常であるか否かを検査する
検査手段とを備えている。そして、当該装置は、通常時
には、前記不揮発性メモリに記憶されている制御プログ
ラムに従って制御対象を制御するが、検査手段によって
異常が検出されると、前記不揮発性メモリに記憶されて
いる制御プログラムに従った制御を停止する。
【0011】尚、本発明において、制御プログラムと
は、制御対象を制御するためのソフトウェアであり、具
体的には、制御対象を制御するために実行されるプログ
ラムのプログラムコードと、その実行時に参照される制
御用データとの、両方或いは一方を示している。
【0012】ここで特に、本発明の電子制御装置では、
検査手段が、前記不揮発性メモリの記憶領域のうちで制
御プログラムが記憶されている記憶領域を判別する領域
判別手段を備えている。そして、検査手段は、領域判別
手段によって判別された記憶領域の記憶内容についての
み、正常であるか否かを検査する。
【0013】つまり、本発明の電子制御装置では、不揮
発性メモリの記憶領域のうちで制御プログラムが記憶さ
れている記憶領域を判別し、その判別した記憶領域の記
憶内容(即ち、制御プログラム)についてのみ、正常で
あるか否かを検査している。そして、異常を検出した場
合には、不揮発性メモリに記憶されている制御プログラ
ムに従った制御を止めて、制御対象を不適切に制御して
しまうことを防止するようにしている。
【0014】このため、本発明の電子制御装置によれ
ば、制御を行う上で実害のある異常が不揮発性メモリの
記憶内容に生じた場合にのみ、通常の制御動作を停止す
ることができ、制御の安全性と動作の信頼性とを高い次
元で両立させることができる。次に、請求項2に記載の
電子制御装置では、前記不揮発性メモリに、当該不揮発
性メモリの記憶領域のうちで制御プログラムが記憶され
ている記憶領域を示す領域情報が記憶されている。そし
て、領域判別手段は、不揮発性メモリから上記領域情報
を読み出すことにより、不揮発性メモリの記憶領域のう
ちで制御プログラムが記憶されている記憶領域を判別す
る。
【0015】このような請求項2に記載の電子制御装置
によれば、不揮発性メモリに制御プログラムを書き込む
際に、上記領域情報も一緒に書き込んでおくだけで、制
御プログラムが記憶されている記憶領域を確実に判別す
ることができる。尚、領域情報としては、制御プログラ
ムが記憶されている記憶領域の先頭番地と、その記憶領
域の大きさ(容量)とを表すデータ、或いは、制御プロ
グラムが記憶されている記憶領域の先頭番地と最終番地
との各々を表すデータが考えられる。
【0016】そして、この場合には、不揮発性メモリの
特定の記憶領域に、領域情報としての上記データを書き
込んでおき、領域判別手段が、その特定の記憶領域から
領域情報としての上記データを読み出して、制御プログ
ラムが記憶されている記憶領域を判別すれば良い。
【0017】また、制御プログラムが記憶されている記
憶領域の最初と最後との各々に、領域情報としての目印
コードを書き込んでおき、領域判別手段が、不揮発性メ
モリの記憶内容を順次読み出して上記目印コードを探す
ことにより、制御プログラムが記憶されている記憶領域
を判別するようにしてもよい。
【0018】ところで、検査手段は、前記不揮発性メモ
リの記憶内容が正常であるか否かを、例えば、当該電子
制御装置が動作を開始した直後に、一回だけ検査するよ
うに構成しても良いが、請求項3に記載の如く、検査手
段が、前記不揮発性メモリの記憶内容が正常であるか否
かを定期的に検査するよう構成すれば、より大きな効果
を得ることができる。
【0019】つまり、不揮発性メモリの記憶内容は、い
つ変化してしまうか分からないため、請求項3に記載の
如く定期的に検査を行うことにより、制御の安全性を一
層高めることができるからである。一方、この種の電子
制御装置では、一般に、前記不揮発性メモリに新規に制
御プログラムを書き込む際には、制御プログラムの記憶
領域以外にも所定のデータを書き込み、その書き込み作
業の後で、不揮発性メモリの全記憶領域の記憶内容が書
き込んだ内容と一致しているか否かを検証することによ
り、不揮発性メモリへのデータ書き込みを問題なく実施
することができたこと(延いては、不揮発性メモリが正
常であること)を確認するようにしている。
【0020】そこで、請求項4に記載の電子制御装置で
は、検査手段が、当該装置の外部から、前記不揮発性メ
モリの全ての記憶領域の記憶内容について検査を行うこ
とを要求する全領域検査要求があったか否かを検出する
要求検出手段を備えている。そして、検査手段は、要求
検出手段により前記全領域検査要求があったと検出され
ると、前記不揮発性メモリの全ての記憶領域の記憶内容
が正常であるか否かを検査し、異常を検出すると、当該
装置の外部へ異常を報知する。
【0021】このような請求項4に記載の電子制御装置
によれば、外部から全領域検査要求を与えることによ
り、不揮発性メモリの全ての記憶領域の記憶内容が正常
であるか否かを知ることができるため、不揮発性メモリ
に新規に制御プログラムを書き込んだ際に、不揮発性メ
モリが正常で且つデータの書き込みを問題なく実施する
ことができたか否かを、容易に確認することができる。
【0022】ところで、不揮発性メモリの記憶内容が正
常であるか否かを検査するための手法としては、様々な
ものが考えられるが、請求項5に記載のように、検査手
段が、不揮発性メモリの記憶内容が正常であるか否かを
サムチェックによって検査するよう構成すれば、記憶内
容の良否を非常に簡単に検査することができる。
【0023】一方、前述した請求項1〜請求項5に記載
の電子制御装置において、検査手段は、所定の記憶媒体
に記憶されている検査プログラムに従って、前記不揮発
性メモリの記憶内容が正常であるか否かを検査するよう
に構成することができる。そして、上記検査プログラム
を記憶する記憶媒体としては、例えば、前記不揮発性メ
モリの記憶領域のうちで、制御プログラムが書き込まれ
る記憶領域以外の記憶領域を用いることができる。
【0024】但し、この場合には、[従来の技術]の項
で述べたように、メモリセルに生じた劣化による不良等
によって、検査プログラムの内容が途中で変化してしま
う可能性がある。そこで、請求項6に記載のように、検
査手段が、記憶内容の書き換えが不能なプログラム格納
用メモリに記憶されている検査プログラムに従って、前
記不揮発性メモリの記憶内容が正常であるか否かを検査
するように構成すれば、検査プログラムの内容が変化し
てしまうことがなく、前記不揮発性メモリの記憶内容が
正常であるか否かを常に確実に検査できるため有利であ
る。
【0025】尚、記憶内容の書き換えが不能なプログラ
ム格納用メモリとしては、半導体チップの製造時にプロ
グラムが記憶される所謂マスクROMを用いることがで
きる。
【0026】
【発明の実施の形態】以下、本発明が適用された実施形
態について図面を用いて説明する。尚、本発明は、下記
の実施形態に限定されることなく、本発明の技術的範囲
に属する限り、種々の形態を採り得ることは言うまでも
ない。
【0027】まず図1は、自動車に搭載されて内燃機関
型エンジンの制御を行う、実施形態のエンジン制御装置
(以下、ECUという)2の構成を示すブロック図であ
る。図1に示すように、ECU2は、エンジンを制御す
るための様々な処理を実行するシングルチップマイクロ
コンピュータ(以下、マイコンという)4と、エンジン
の運転状態を検出する様々なセンサからの信号をマイコ
ン4に入力させると共に、マイコン4からの制御信号に
基づき、エンジンに取り付けられたインジェクタ(燃料
噴射弁)やイグナイタ等のアクチュエータへ駆動信号を
出力する入出力回路5と、記憶内容の書き換えが可能な
フラッシュROM6と、マイコン4とフラッシュROM
6とを情報交換可能に接続するバス7と、を備えてい
る。
【0028】そして、マイコン4には、プログラムを実
行する周知のCPU8と、CPU8により実行されるプ
ログラムを格納するマスクROM10と、CPU8の演
算結果等を一時格納するRAM12と、前記入出力回路
5との間で信号の入出力を行うためのI/O14とが備
えられている。
【0029】また、前記入出力回路5からは、先端にコ
ネクタ16が取り付けられた信号線18が延びており、
コネクタ16には、車両の内部状態を検査するための検
査装置20が着脱自在に接続される。そして、ECU2
は、コネクタ16に検査装置20が接続されて、後述す
るようにテストモードであると判断すると、フラッシュ
ROM6が正常であるか否かを検査して、その検査結果
を表す信号を検査装置20へ送信するようになってい
る。
【0030】尚、ECU2は、その動作中に、上記セン
サやアクチュエータ等の車両各部の作動状態を監視して
おり、検査装置20からの指令に応じて、上記監視した
結果を表す監視データを検査装置20へ送信するように
なっているが、この点については、本発明とは直接関係
が無いので、詳細な説明は省略する。
【0031】ここで、マイコン4内のマスクROM10
は、記憶内容の書き換えが不能な不揮発性メモリであ
る。そして、このマスクROM10には、リセット直後
に実行されるブートプログラムと、フラッシュROM6
の記憶内容が正常であるか否かを検査するために実行さ
れるサムチェック処理のプログラム(検査プログラム)
と、上記サムチェック処理にて異常が検出された場合に
実行されるフェールセーフ処理のプログラムとが、マイ
コン4の製造時に記憶されている。
【0032】一方、本実施形態において、フラッシュR
OM6は、1番地(即ち、1アドレス)当りのデータ長
が16ビットの不揮発性メモリである。そして、このフ
ラッシュROM6には、CPU8がエンジンを制御する
ために実行するプログラムのプログラムコードと、その
プログラムの実行時に参照される制御用データとからな
る、エンジン制御用の制御プログラムが、ECU2の製
造工程において当該フラッシュROM6やマイコン4等
がECU2へ実装された後に、周知のオンボード書き込
みの手法によって書き込まれている。
【0033】具体的には、CPU8が、マスクROM1
0内のブートプログラムを起動した際に、当該ECU2
に図示しないメモリ書込装置が接続されていると判断す
ると、まず、そのメモリ書込装置から送信されて来る書
込制御プログラムをRAM12の所定領域に格納し、次
いで、その書込制御プログラムをRAM12上で実行す
ることにより、その後メモリ書込装置から送られて来る
制御プログラムをフラッシュROM6に書き込むように
なっている。
【0034】そして、ECU2では、フラッシュROM
6に様々な種類の制御プログラムが択一的に書き込ま
れ、これにより、当該ECU2が搭載される車両の種類
や仕向地などに応じてエンジンに対する制御内容が異な
る場合でも、フラッシュROM6に書き込んでおく制御
プログラムを変えるだけで、ハードウェアを変更するこ
となく対応することができるようになっている。
【0035】このように、ECU2では、フラッシュR
OM6に様々な種類の制御プログラムが書き込まれるた
め、制御プログラムが実際に書き込まれるフラッシュR
OM6の記憶領域は、機種によって異なる。このため、
図2に示すように、本実施形態のECU2では、フラッ
シュROM6のX番地からZ番地までの全記憶領域のう
ちの一部の記憶領域、即ち、Y1番地からY4番地まで
の記憶領域(図2における書込領域)Rwに、制御プロ
グラムが書き込まれており、上記記憶領域Rw以外の記
憶領域には、エンジンの制御に直接関係するデータは書
き込まれていない。
【0036】そして、上記記憶領域Rwの前半部であっ
て、フラッシュROM6のY1番地からY2番地までの
記憶領域(図2におけるプログラム領域)Rcに、制御
プログラムのうちで命令語や条件文などを形成するプロ
グラムコードが書き込まれており、また、上記記憶領域
Rwの後半部であって、フラッシュROM6のY3番地
からY4番地までの記憶領域(図2におけるデータ領
域)Rdに、制御プログラムのうちの制御用データが書
き込まれている。
【0037】尚、以下では、フラッシュROM6の記憶
領域のうちで、制御プログラムが書き込まれて記憶され
たY1番地からY4番地までの記憶領域Rwを、書込領
域Rwという。そして、制御プログラムのうちのプログ
ラムコードが書き込まれて記憶されたY1番地からY2
番地までの記憶領域Rcを、プログラム領域Rcとい
い、制御プログラムのうちの制御用データが書き込まれ
て記憶されたY3番地からY4番地までの記憶領域Rd
を、データ領域Rdという。
【0038】一方、図2に示すように、フラッシュRO
M6において、上記プログラム領域Rc内の特定の番地
には、書込領域Rwの先頭番地であるY1番地を示す先
頭番地データと、書込領域Rwの大きさ(即ち、Y1番
地からY4番地までの大きさであり、制御プログラムの
容量)を示す容量データとからなる、領域情報としての
書込領域データDrが書き込まれている。尚、本実施形
態において、フラッシュROM6に書き込まれる制御プ
ログラムの容量は、予め256バイトの整数倍と決めら
れており、書込領域Rwの大きさを示す容量データは、
上記整数の値Nを示すものとなっている。
【0039】また、本実施形態において、書込領域Rw
に書き込まれる制御プログラム(プログラムコード及び
制御用データ)を構成するデータは、サムチェックによ
るメモリチェックを行うために、その和であるサム値が
予め第1の規格値Aとなるように設定されている。
【0040】尚、本実施形態において、サム値とは、フ
ラッシュROM6の各番地における16ビットデータの
各々を、各桁毎の桁上がりを無視して加算した値であ
る。このため、図2に示すように、データ領域Rdの所
定領域には、書込領域Rwのサム値を上記第1の規格値
Aにするための調整用データ(通常モード用チェックサ
ム調整データ)Dnが挿入されている。
【0041】また更に、本実施形態においては、フラッ
シュROM6の全記憶領域に書き込まれるデータについ
ても、サムチェックによるメモリチェックを行うため
に、その和であるサム値が予め第2の規格値Bとなるよ
うに設定されている。このため、図2に示すように、フ
ラッシュROM6の記憶領域のうちで書込領域Rw以外
の所定領域には、フラッシュROM6の全記憶領域のサ
ム値を上記第2の規格値Bにするための調整用データ
(テストモード用チェックサム調整データ)Dtが挿入
されている。
【0042】次に、ECU2のマイコン4(CPU8)
で実行される処理について、図3及び図4を用いて説明
する。まず、ECU2では、車両のイグニッションスイ
ッチ(図示省略)がオンされて電源が投入されると、マ
イコン4のCPU8がリセット状態から動作を開始し
て、図3に示す処理を実行する。
【0043】即ち、最初に、マスクROM10に記憶さ
れているブートプログラムを起動して、まずステップ
(以下、「S」と記す)100にて、マイコン4の内部
を初期化するための初期化処理を実行する。尚、この初
期化処理により、後述するサムチェック処理(図4)で
参照されるRAM12上のフラグFに、初期値である
「1」がセットされる。また、図3において、前述した
オンボード書き込みを行うための処理部分については、
図示を省略している。
【0044】そして次に、マスクROM10内のブート
プログラムからフラッシュROM6に記憶されているエ
ンジン制御用の制御プログラム(詳しくは、フラッシュ
ROM6のプログラム領域Rc)にジャンプして、プロ
グラム領域Rcに記憶されているプログラムコードの実
行を開始する。
【0045】すると、その後は、図3のS200に示す
ように、フラッシュROM6のデータ領域Rdに記憶さ
れた制御用データを参照して行われるエンジン制御処理
が、繰り返し実行される。尚、S200のエンジン制御
処理は、入出力回路5からの各種センサ信号と、フラッ
シュROM6のデータ領域Rdに記憶された制御用デー
タとに基づき、エンジンに対する最適な燃料噴射量や点
火時期などを演算し、その演算結果に応じて、インジェ
クタやイグナイタ等のアクチュエータを駆動するための
制御信号を入出力回路5に出力する、といった手順で実
行される。
【0046】ここで、フラッシュROM6のに書き込ま
れた制御プログラムには、CPU8が一定時間(本実施
形態では、8ms)を繰り返し計時して、その一定時間
毎にマスクROM10に記憶されているサムチェック処
理のプログラムへジャンプするための、タイマ用プログ
ラムが組み込まれている。
【0047】このため、CPU8は、図3のS200で
エンジン制御処理を実行している最中に8msが経過す
ると、その度毎に、マスクROM10に記憶されている
サムチェック処理のプログラムへジャンプして、図4に
示すサムチェック処理を実行する。
【0048】図4に示すように、CPU8がサムチェッ
ク処理の実行を開始すると、まずS300にて、エンジ
ンの制御を行わないテストモードであるか否かを判定す
る。尚、本実施形態においては、ECU2にコネクタ1
6を介して検査装置20が接続され、その検査装置20
からテストモードを示す全領域検査要求としてのテスト
起動信号が出力されている場合に、テストモードである
と判定する。
【0049】ここで、上記S300にて、テストモード
ではない(換言すれば、エンジンの制御を行う通常モー
ドである)と判定した場合には、S310に進んで、図
3の初期化処理(S100)で初期化したフラグFが、
未だ「1」であるか否かを判定する。
【0050】そして、上記S310にて、フラグFが
「1」であると判定した場合には、続くS320にて、
フラッシュROM6の前述した特定の番地から書込領域
データDrを読み出して取得し、その書込領域データD
rの先頭番地データと容量データとに基づき、フラッシ
ュROM6の記憶領域のうちで制御プログラムが記憶さ
れている書込領域Rwを判別する。
【0051】つまり、S320では、上記先頭番地デー
タが示す番地(図2のY1番地)を、書込領域Rwの先
頭番地として記憶すると共に、その先頭番地から上記容
量データが示す容量分だけ後の番地(図2のY4番地)
を、書込領域Rwの最終番地として記憶する。
【0052】そして、続くS330にて、フラグFに
「0」をセットし、更に続くS335にて、後述するS
340でサム値の計算を開始すべきフラッシュROM6
の番地を示すサム値計算開始アドレスSAに、上記S3
20で記憶した書込領域Rwの先頭番地(Y1番地)を
セットして、S340に進む。
【0053】また、上記S310にて、フラグFが
「1」ではないと判定した場合には、既にS320の処
理を実行して書込領域Rwを判別できていることから、
そのままS340に移行する。S340では、フラッシ
ュROM6の記憶領域のうち、サム値計算開始アドレス
SAとして現在セットされている番地から256バイト
分の記憶領域について、その記憶領域に記憶されている
データのサム値(つまり、各番地における16ビットデ
ータの各々を、各桁毎の桁上がりを無視して加算した
値)を計算する。
【0054】次に、S350にて、今回のS340でサ
ム値を計算した記憶領域の最終番地が、上記S320で
記憶した書込領域Rwの最終番地(Y4番地)であるか
否かを判定し、書込領域Rwの最終番地でなければ、書
込領域Rwのサム値を全て計算できていないと判断し
て、S360に進む。
【0055】そして、S360にて、今回のS340で
サム値を計算した記憶領域の最終番地の次の番地を、サ
ム値計算開始アドレスSAとしてセットし直し、その
後、当該サムチェック処理を一旦終了して、エンジン制
御処理に戻る。尚、このS360でサム値計算開始アド
レスSAが更新されて、次に当該サムチェック処理が実
行された場合には、上記S340において、今回の処理
で計算するサム値(つまり、更新されたサム値計算開始
アドレスSAの示す番地から256バイト分のサム値)
に前回計算したサム値が累積加算される。
【0056】一方、上記S350にて、今回のS340
でサム値を計算した記憶領域の最終番地が、上記S32
0で記憶した書込領域Rwの最終番地(Y4番地)であ
ると判定した場合には、書込領域Rwのサム値を全て計
算できたと判断して、S370に移行する。
【0057】このS370では、上記S340で累積計
算されたサム値が、書込領域Rwのサム値として予め設
定された第1の規格値Aと一致しているか否かを判定
し、両値が一致していれば、フラッシュROM6に記憶
された制御プログラムに異常は無いと判断して、S37
5に進む。
【0058】そして、このS375にて、上記S340
で累積計算したサム値を消去し、続くS380にて、前
述したS335と全く同様に、サム値計算開始アドレス
SAに、上記S320で記憶した書込領域Rwの先頭番
地(Y1番地)をセットする。そして、その後、当該サ
ムチェック処理を一旦終了して、エンジン制御処理に戻
る。
【0059】尚、S380でサム値計算開始アドレスS
Aに書込領域Rwの先頭番地がセットされて、次に当該
サムチェック処理が実行された場合には、上記S335
でサム値計算開始アドレスSAに書込領域Rwの先頭番
地がセットされた場合(つまり、ECU2がリセット状
態から動作を開始して最初に当該サムチェック処理が実
行された場合)と同様に、上記S340では、書込領域
Rwの先頭番地から256バイト分のサム値が計算され
る。
【0060】一方、上記S370にて、S340で累積
計算されたサム値が第1の規格値Aと一致していないと
判定した場合には、フラッシュROM6に記憶された制
御プログラムの内容が、メモリセルに生じた劣化による
不良等によって変化してしまったと判断して、S390
に移行する。
【0061】そして、このS390にて、当該サムチェ
ック処理のプログラムと共にマスクROM10に記憶さ
れているフェールセーフ処理のプログラムにジャンプし
て、フラッシュROM6に記憶されている制御プログラ
ムへ戻ることなく、そのフェールセーフ処理を実行す
る。
【0062】尚、このフェールセーフ処理は、インジェ
クタやイグナイタ等のアクチュエータの作動を停止させ
る制御信号を入出力回路5に出力して、エンジンの作動
を停止させると共に、運転席の前面に設けられたメータ
パネル内のウォーニングランプを点灯させる、といった
手順で実行される。
【0063】一方また、前述したS300にて、テスト
モードであると判定した場合には、S400に移行し
て、フラッシュROM6の全記憶領域のサム値を計算す
る。そして、続くS410にて、上記S400で計算し
たサム値が、フラッシュROM6の全記憶領域のサム値
として予め設定された第2の規格値Bと一致しているか
否かを判定し、両値が一致していれば、フラッシュRO
M6に記憶された全データに異常は無いと判断して、S
420に進み、検査装置20へ正常を通知するための信
号を出力する。そして、その後、全てのプログラム実行
を終了する。
【0064】すると、検査装置20側では、ディスプレ
イなどの表示装置に正常を示すメッセージが表示される
こととなる。これに対し、上記S410にて、S400
で計算したサム値が第2の規格値Bと一致していないと
判定した場合には、フラッシュROM6にデータを正し
く書き込むことができていないか、或いは、フラッシュ
ROM6に書き込んだデータが、メモリセルに生じた劣
化による不良等によって変化してしまったと判断して、
S430に進み、検査装置20へ異常を通知するための
信号を出力する。そして、その後、全てのプログラム実
行を終了する。
【0065】すると、検査装置20側では、ディスプレ
イなどの表示装置に異常の発生を示すメッセージが表示
されることとなる。つまり、サムチェック処理では、エ
ンジンの制御を行う通常モードであると判定すると(S
300:NO)、フラッシュROM6にてエンジン制御
用の制御プログラムが記憶されている書込領域Rwを判
別し(S320)、その書込領域Rwをサムチェック領
域として(図2参照)、メモリチェックを行っている
(S335〜S380)。
【0066】より詳しくは、当該サムチェック処理を実
行する毎に、書込領域Rwの先頭番地から256バイト
分ずつサム値を累積計算して(S340)、書込領域R
wの容量を256バイトで割った値の回数だけ当該サム
チェック処理が実行される毎に、書込領域Rwのサム値
の計算が1回完了するようになっている(S350:Y
ES)。
【0067】そして、計算し終えた書込領域Rwのサム
値が、予め設定された第1の規格値Aでなければ(S3
70:NO)、フラッシュROM6に記憶された制御プ
ログラムの内容が、メモリセルに生じた劣化による不良
等によって変化してしまったと判断して、フラッシュR
OM6内の制御プログラムへ戻ることなく、フェールセ
ーフ処理を実行して、エンジンを強制的に停止させるよ
うにしている(S390)。
【0068】また、サムチェック処理では、テストモー
ドであると判定すると(S300:YES)、フラッシ
ュROM6の全記憶領域をサムチェック領域として(図
2参照)、メモリチェックを行っている(S400〜S
430)。詳しくは、フラッシュROM6の全記憶領域
のサム値を計算し(S400)、その計算したサム値
が、予め設定された第2の規格値Bでなければ(S41
0:NO)、フラッシュROM6にデータを正しく書き
込むことができていないか、或いは、フラッシュROM
6に書き込んだデータが、メモリセルに生じた劣化によ
る不良等によって変化してしまったと判断して、検査装
置20へ異常を通知するための信号を出力するようにし
ている(S430)。
【0069】尚、本実施形態では、図4のサムチェック
処理が、検査手段としての処理に相当している。そし
て、その中で、S320の処理が、領域判別手段として
の処理に相当し、S300の処理が、要求検出手段とし
ての処理に相当している。以上詳述したように本実施形
態のECU2では、その動作中に、エンジン制御用の制
御プログラムが記憶されたフラッシュROM6の記憶内
容が正常であるか否かを、サムチェックによって検査
し、異常を検出した場合には、制御プログラムの実行を
止めて、エンジンを不適切に制御してしまうことを防止
し、これにより、制御の安全性を確保している。
【0070】そして特に、本実施形態のECU2では、
フラッシュROM6の記憶領域のうちで制御プログラム
が記憶されている書込領域Rwを判別し(S320)、
その判別した書込領域Rwの記憶内容についてのみ、サ
ムチェックによる検査を行うようにしている(S335
〜S380)。
【0071】このため、本実施形態のECU2によれ
ば、エンジンの制御を行う上で実害のある異常がフラッ
シュROM6の記憶内容に生じた場合にのみ、エンジン
制御を停止することができ、制御の安全性と動作の信頼
性とを高い次元で両立させることができる。
【0072】つまり、フラッシュROM6の記憶領域の
うち、制御プログラムが記憶されておらずエンジンの制
御に関係がない記憶領域で、記憶内容の変化が発生した
場合には、フェールセーフ処理を行う異常時の動作モー
ドへ移行せず、実害のある異常がフラッシュROM6に
生じた場合にだけ、通常のエンジン制御を停止すること
となるため、制御の安全性と動作の信頼性とを共に高い
レベルにすることができるのである。
【0073】ところで、マイコン4のCPU8がフラッ
シュROM6の書込領域Rwを判別するためには、例え
ば、ECU2にディップスイッチを搭載し、そのディッ
プスイッチの設定によって、マイコン4に書込領域Rw
を特定するための情報を与える、といった手法を採るこ
ともできる。
【0074】しかし、本実施形態のECU2のように、
フラッシュROM6に、書込領域Rwを示す書込領域デ
ータDrを書き込んでおき、CPU8がフラッシュRO
M6から上記書込領域データDrを読み出して書込領域
Rwを判別するように構成すれば、フラッシュROM6
に制御プログラムを書き込む際に、上記書込領域データ
Drを一緒に書き込んでおくだけで、制御プログラムが
記憶されている書込領域Rwを確実に判別することがで
きる。
【0075】そして更に、本実施形態のECU2では、
フラッシュROM6の書込領域Rwに対するサムチェッ
クを、定期的に行うようにしているため、制御の安全性
を一層高めることができる。つまり、フラッシュROM
6の記憶内容は、いつ変化してしまうか分からないから
である。
【0076】一方、本実施形態のECU2では、検査装
置20が接続されて、その検査装置20からテスト起動
信号を受けると(S300:YES)、フラッシュRO
M6の全記憶領域の記憶内容についてサムチェックを行
い(S400)、異常を検出すると(S410:N
O)、検査装置20へ異常を報知するための信号を出力
するようにしている(S430)。
【0077】よって、本実施形態のECU2によれば、
検査装置20を接続してテスト起動信号を与えることに
より、フラッシュROM6の全記憶領域の記憶内容が正
常であるか否かを知ることができるため、フラッシュR
OM6に新規に制御プログラムを書き込んだ際に、フラ
ッシュROM6が正常で且つデータの書き込みを問題な
く実施することができたか否かを、容易に確認すること
ができる。
【0078】また、本実施形態のECU2では、フラッ
シュROM6の記憶内容が正常であるか否かを、サムチ
ェックによって検査するようにしているため、記憶内容
の良否を非常に簡単に検査することができる。尚、本実
施形態のECU2では、サムチェック処理(図4)のプ
ログラムに従って、フラッシュROM6の記憶内容が正
常であるか否かを検査しているが、そのサムチェック処
理のプログラムは、例えば、フラッシュROM6におけ
る書込領域Rw以外の記憶領域に書き込んでおくように
しても良い。
【0079】但し、この場合には、メモリセルに生じた
劣化による不良等によって、サムチェック処理のプログ
ラムが途中で変化してしまう可能性があるため、サムチ
ェック処理のプログラムは、本実施形態のECU2のよ
うに、記憶内容の書き換えが不能なマスクROM10に
記憶させておいた方がより安全である。
【0080】一方、上記実施形態のECU2では、フラ
ッシュROM6の書込領域Rwを示す書込領域データD
rとして、書込領域Rwの先頭番地を示す先頭番地デー
タと、書込領域Rwの大きさを示す容量データとを用い
たが、書込領域Rwの先頭番地と最終番地との各々を表
すデータを用いても良い。また、制御プログラムが記憶
されている記憶領域の最初と最後との各々に、書込領域
データDrとしての目印コードを書き込んでおき、サム
チェック処理(図4)のS320にて、フラッシュRO
M6の記憶内容を順次読み出して上記目印コードを探す
ことにより、制御プログラムが記憶されている書込領域
Rwを判別するようにしてもよい。
【0081】また、上記実施形態のECU2では、サム
チェック処理を一定時間毎に実行させるためのタイマ用
プログラムが、フラッシュROM6内に制御プログラム
と共に記憶されていたが、制御プログラムの実行とサム
チェック処理のプログラムの実行とを管理するためのプ
ログラムを、マスクROM10に記憶させておき、その
マスクROM10内のプログラムの実行により、エンジ
ン制御処理とサムチェック処理との実行タイミングを管
理するようにしても良い。
【0082】ところで、サムチェック処理は、一定時間
毎に限らず、例えば、図5のS150に示すように、E
CU2に電源が投入されて、制御プログラムに基づくエ
ンジン制御処理の実行を開始する前にも、行うようにし
ても良い。尚、このとき実行されるサムチェック処理で
は、図4のS360でサム値計算開始アドレスSAを更
新した後に、当該処理を一旦終了せずS340へ戻るよ
うにすれば良い。
【0083】また、サムチェック処理は、ECU2に電
源が投入されて、制御プログラムに基づくエンジン制御
処理の実行を開始する前に(つまり、図5のS150の
タイミングで)、一回だけ実行するようにしても、一定
時間毎に実行する場合に比べて制御の安全性は劣るもの
の、不適当な制御が行われることを防止できるという効
果を得ることができる。
【0084】一方更に、上記実施形態では、フラッシュ
ROM6に記憶された制御プログラムが、プログラムコ
ードと制御用データとからなるものであったが、フラッ
シュROM6に記憶される制御プログラムが、プログラ
ムコードだけ、あるいは、制御用データだけからなる場
合でも、図4のサムチェック処理は全く同様に行うこと
ができる。
【0085】また、サムチェック処理は、フラッシュR
OM6が複数個の場合には、各々のフラッシュROMに
ついて行うようにすることができる。また更に、上記の
ように物理的ではなく、フラッシュROM6の記憶領域
が複数個の記憶領域にブロック分けされている場合に
は、その各ブロックについて、前述したサムチェック処
理と同様の処理を行えば良い。
【0086】尚、上記各実施形態では、エンジンを制御
するECU2について説明したが、本発明の適用範囲
は、これに限られない。即ち、例えばブレーキ、トラン
スミッション、サスペンション等の制御対象を制御する
電子制御装置に対しても、全く同様に適用することがで
きる。
【図面の簡単な説明】
【図1】 実施形態のエンジン制御装置(ECU)の構
成を示すブロック図である。
【図2】 フラッシュROMの記憶内容を説明する説明
図である。
【図3】 ECUにて実行される処理の全体を表すフロ
ーチャートである。
【図4】 ECUにてフラッシュROMの記憶内容を検
査するために実行されるサムチェック処理を表すフロー
チャートである。
【図5】 他の実施形態を説明するフローチャートであ
る。
【符号の説明】
2…エンジン制御装置(ECU) 4…シングルチップマイクロコンピュータ(マイコン)
5…入出力回路 6…フラッシュROM(記憶内容の書き換えが可能な不
揮発性メモリ) 7…バス 8…CPU 10…マスクROM 1
2…RAM 14…I/O 16…コネクタ 18…信号線
20…検査装置

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 記憶内容の書き換えが可能であると共
    に、制御対象を制御するための制御プログラムが記憶さ
    れた不揮発性メモリと、該不揮発性メモリの記憶内容が
    正常であるか否かを検査する検査手段とを備え、 通常時には、前記不揮発性メモリに記憶されている前記
    制御プログラムに従って前記制御対象を制御し、前記検
    査手段により異常が検出されると、前記制御プログラム
    に従う制御を停止するよう構成された電子制御装置にお
    いて、 前記検査手段は、 前記不揮発性メモリの記憶領域のうちで前記制御プログ
    ラムが記憶されている記憶領域を判別する領域判別手段
    を備え、該領域判別手段により判別された記憶領域の記
    憶内容についてのみ、正常であるか否かを検査するよう
    構成されていること、 を特徴とする電子制御装置。
  2. 【請求項2】 請求項1に記載の電子制御装置におい
    て、 前記不揮発性メモリに、当該不揮発性メモリの記憶領域
    のうちで前記制御プログラムが記憶されている記憶領域
    を示す領域情報が記憶されており、 前記領域判別手段は、 前記不揮発性メモリから前記領域情報を読み出すことに
    より、前記不揮発性メモリの記憶領域のうちで前記制御
    プログラムが記憶されている記憶領域を判別するよう構
    成されていること、 を特徴とする電子制御装置。
  3. 【請求項3】 請求項1又は請求項2に記載の電子制御
    装置において、 前記検査手段は、 前記不揮発性メモリの記憶内容が正常であるか否かを、
    定期的に検査するよう構成されていること、 を特徴とする電子制御装置。
  4. 【請求項4】 請求項1ないし請求項3の何れかに記載
    の電子制御装置において、 前記検査手段は、 当該装置の外部から、前記不揮発性メモリの全ての記憶
    領域の記憶内容について検査を行うことを要求する全領
    域検査要求があったか否かを検出する要求検出手段を備
    え、該要求検出手段により前記全領域検査要求があった
    と検出されると、前記不揮発性メモリの全ての記憶領域
    の記憶内容が正常であるか否かを検査し、異常を検出す
    ると、当該装置の外部へ異常を報知するよう構成されて
    いること、 を特徴とする電子制御装置。
  5. 【請求項5】 請求項1ないし請求項4の何れかに記載
    の電子制御装置において、 前記検査手段は、 前記不揮発性メモリの記憶内容が正常であるか否かを、
    サムチェックによって検査するよう構成されているこ
    と、 を特徴とする電子制御装置。
  6. 【請求項6】 請求項1ないし請求項5の何れかに記載
    の電子制御装置において、 前記検査手段は、 記憶内容の書き換えが不能なプログラム格納用メモリに
    記憶されている検査プログラムに従って、前記不揮発性
    メモリの記憶内容が正常であるか否かを検査するよう構
    成されていること、 を特徴とする電子制御装置。
JP9170423A 1997-06-26 1997-06-26 電子制御装置 Pending JPH1115741A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9170423A JPH1115741A (ja) 1997-06-26 1997-06-26 電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9170423A JPH1115741A (ja) 1997-06-26 1997-06-26 電子制御装置

Publications (1)

Publication Number Publication Date
JPH1115741A true JPH1115741A (ja) 1999-01-22

Family

ID=15904651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9170423A Pending JPH1115741A (ja) 1997-06-26 1997-06-26 電子制御装置

Country Status (1)

Country Link
JP (1) JPH1115741A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005103067A (ja) * 2003-09-30 2005-04-21 Sankyo Kk 遊技機
JP2005103068A (ja) * 2003-09-30 2005-04-21 Sankyo Kk 遊技機
JP2006505841A (ja) * 2002-11-07 2006-02-16 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 制御装置内のマイクロコントローラのメモリ領域を確実に検査する方法および保護されたマイクロコントローラを有する制御装置
JP2007276657A (ja) * 2006-04-07 2007-10-25 Denso Corp プログラム管理システム
JP2009126451A (ja) * 2007-11-27 2009-06-11 Denso Corp 車両用制御装置
JP2009201251A (ja) * 2008-02-21 2009-09-03 Toshiba Corp ディジタル形保護継電装置
JP2009217336A (ja) * 2008-03-07 2009-09-24 Nec Corp 計算機システム、ネットワークブートロードシステム、及び、そのブートロード方法
JP2010195222A (ja) * 2009-02-25 2010-09-09 Nsk Ltd 電動パワーステアリング装置
JP2011512603A (ja) * 2008-02-21 2011-04-21 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 計算ユニットのプログラムメモリを検査するための装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006505841A (ja) * 2002-11-07 2006-02-16 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 制御装置内のマイクロコントローラのメモリ領域を確実に検査する方法および保護されたマイクロコントローラを有する制御装置
JP2005103067A (ja) * 2003-09-30 2005-04-21 Sankyo Kk 遊技機
JP2005103068A (ja) * 2003-09-30 2005-04-21 Sankyo Kk 遊技機
JP2007276657A (ja) * 2006-04-07 2007-10-25 Denso Corp プログラム管理システム
JP2009126451A (ja) * 2007-11-27 2009-06-11 Denso Corp 車両用制御装置
JP2009201251A (ja) * 2008-02-21 2009-09-03 Toshiba Corp ディジタル形保護継電装置
JP2011512603A (ja) * 2008-02-21 2011-04-21 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 計算ユニットのプログラムメモリを検査するための装置
US8464100B2 (en) 2008-02-21 2013-06-11 Robert Bosch Gmbh System for checking a program memory of a processing unit
JP2009217336A (ja) * 2008-03-07 2009-09-24 Nec Corp 計算機システム、ネットワークブートロードシステム、及び、そのブートロード方法
JP2010195222A (ja) * 2009-02-25 2010-09-09 Nsk Ltd 電動パワーステアリング装置

Similar Documents

Publication Publication Date Title
JP3491419B2 (ja) 電子制御装置
JP3626328B2 (ja) 車両用制御装置
JP4065790B2 (ja) 車載電子制御装置
JP2002082841A (ja) 電子制御装置の制御データ記憶装置
US6401163B1 (en) Apparatus and method for rewriting data from volatile memory to nonvolatile memory
JPH11272498A (ja) 電子制御装置
JPH1115741A (ja) 電子制御装置
JP4552982B2 (ja) 電子制御装置
US6044014A (en) Electronic control unit and method for storing rewrite count of nonvolatile memory
JP2006268176A (ja) フラッシュeepromのデータ正否判定方法
US20130166989A1 (en) Vehicle data abnormality determination device
JP4973642B2 (ja) 車載電子制御装置
JP2013143095A (ja) 電子制御装置、メモリ検査方法
JP2001123874A (ja) 電子制御装置のプログラム書換システム及びメモリ書換装置
JP2003002132A (ja) 車両用制御装置
JPH0633828A (ja) 車載用電子制御装置
JP3968876B2 (ja) 電子制御装置
US6125309A (en) Vehicle control device
JP2007062632A (ja) 電子制御ユニットおよび異常発生時記憶用データの記憶方法
JP3937598B2 (ja) 電子制御装置
JP2008195130A (ja) 車両の制御装置およびその制御方法
JP2017082702A (ja) 車載電子制御装置
JP2003104138A (ja) データ書き換えのための車両制御装置の監視システム
JP2004151944A (ja) 不揮発性記憶装置へのデータの書き込み方法、プログラム、および装置、ならびに車載電子制御装置
JP2000257502A (ja) 自動車用電子制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060509

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060912