JP6381490B2 - 車載電子制御装置 - Google Patents
車載電子制御装置 Download PDFInfo
- Publication number
- JP6381490B2 JP6381490B2 JP2015135522A JP2015135522A JP6381490B2 JP 6381490 B2 JP6381490 B2 JP 6381490B2 JP 2015135522 A JP2015135522 A JP 2015135522A JP 2015135522 A JP2015135522 A JP 2015135522A JP 6381490 B2 JP6381490 B2 JP 6381490B2
- Authority
- JP
- Japan
- Prior art keywords
- vehicle data
- backup
- data
- vehicle
- sub
- 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.)
- Active
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
CPU201は、後述の図5で説明するEEPROM読み出し処理を実施する。
CPU201は、RAM203が有する車両データ保存領域301をクリアするよう指示するコマンドを受け取ったか否かを判定する(S402)。受け取ったと判定した場合は車両データ保存領域301をクリアし(S403)、ステップS406へ進む。受け取っていないと判定した場合はステップS404へ進む。
CPU201は、RAM203が格納しているデータを外部EEPROM209に対してバックアップすべき要因を検出したか否かを判定する(S404)。バックアップ要因を検出した場合は、バックアップ対象となっている車両データをRAM203(車両データ保存領域301)に保存し(S405)、ステップS406へ進む。バックアップ要因を検出しなかった場合は、ステップS405をスキップしてステップS406へ進む。
CPU201は、イグニッションスイッチがOFFされたか否かを判定する(S406)。OFFされた場合は、後述の図7で説明するEEPROM書き込み処理を実施する(S407)。イグニッションスイッチがOFFされていない場合は、ステップS402へ戻って同様の処理を繰り返す。
CPU201は、外部EEPROM209のメイン領域303(A面)とサブ領域304(B面)それぞれから、所定の単位(例えば1Byte)で車両データを読み出す。
CPU201は、ステップS501で読み出したメイン領域303の車両データとサブ領域304の車両データが互いに一致するか否かを判定する。一致する場合はステップS503へ進み、一致しない場合はステップS505へ進む。
CPU201は、ステップS501で読み出したメイン領域303の車両データと、これに対応するRAM203の車両データ保存領域301内に格納されている車両データとが、互いに一致するか否かを判定する。一致した場合は本フローチャートを終了する。一致しない場合はステップS504へ進む。
CPU201は、メイン領域303が格納している車両データを車両データ保存領域301へコピーすることにより車両データ保存領域301を復旧し、本フローチャートを終了する。
メイン領域303、サブ領域304、および車両データ保存領域301全ての車両データが一致する場合、その車両データは正常な値を保持していると想定される。したがってこの場合はステップS504以降の処理は必要ない。これに対し、メイン領域303とサブ領域304それぞれが格納している車両データが一致し、車両データ保存領域301が格納している車両データがこれに一致しない場合、前者の車両データは正常であるが車両データ保存領域301が格納している車両データは破損していると想定される。したがってS504において、正しいと想定される車両データを車両データ保存領域301へ復元することとした。S505〜S508も同様の考え方に基づいている。
CPU201は、ステップS501で読み出したメイン領域303の車両データと、これに対応するRAM203の車両データ保存領域301内に格納されている車両データとが、互いに一致するか否かを判定する。一致した場合はステップS506へ進み、一致しない場合はステップS507へ進む。
CPU201は、車両データ保存領域301が格納している車両データをサブ領域304へコピーすることによりサブ領域304を復旧し、本フローチャートを終了する。
CPU201は、ステップS501で読み出したサブ領域304の車両データと、これに対応する車両データ保存領域301内に格納されている車両データとが、互いに一致するか否かを判定する。一致した場合はステップS508へ進み、一致しない場合はステップS509へ進む。
CPU201は、車両データ保存領域301が格納している車両データをメイン領域303へコピーすることによりメイン領域303を復旧し、本フローチャートを終了する。
CPU201は、後述の図6で説明するEEPROM正常領域判定処理を実施し、本フローチャートを終了する。
CPU201は、ステップS501で読み出した車両データに対応するメイン完了カウント保存領域306内の更新データ(完了カウントA)と、今回カウント保存領域302内の更新データ(今回カウント)とが、互いに一致するか否かを判定する。一致する場合はステップS602へ進み、一致しない場合はステップS603へ進む。
CPU201は、メイン領域303(A面)が格納している車両データを車両データ保存領域301へコピーすることにより車両データ保存領域301を復旧し、本フローチャートを終了する。
本フローチャートは、車両データ保存領域301の車両データ、メイン領域303の車両データ、およびサブ領域304の車両データ全てが異なる場合に実施する。したがって本ステップにおいて、車両データ保存領域301の車両データとメイン領域303の車両データは異なるものとなっている。ステップS601において完了カウントAと今回カウントが一致することを確認したので、メイン領域303を主要な記憶領域として用いる前提の下、同領域内の車両データが正しいとみなしてこれを車両データ保存領域301へコピーすることとした。
CPU201は、ステップS501で読み出した車両データに対応するメイン完了カウント保存領域306内の更新データ(完了カウントA)と、今回カウント保存領域302内の更新データの前回値(更新回数によって更新データを記述している場合は、今回カウントからカウント値を−1した値、以下同様)とが、互いに一致するか否かを判定する。一致する場合はステップS604へ進み、一致しない場合はステップS607へ進む。
CPU201は、ステップS501で読み出した車両データに対応するサブ完了カウント保存領域307内の更新データ(完了カウントB)と、今回カウント保存領域302内の更新データの前回値(今回カウントからカウント値を−1した値)とが、互いに一致するか否かを判定する。一致する場合はステップS605へ進み、一致しない場合はステップS606へ進む。
CPU201は、サブ領域304(B面)が格納している車両データを車両データ保存領域301へコピーすることにより車両データ保存領域301を復旧し、本フローチャートを終了する。
本フローチャートにおいては、車両データ保存領域301の車両データ、メイン領域303の車両データ、およびサブ領域304の車両データ全てが異なる。また後述の図7で説明するように、CPU201はまずメイン領域303に対して車両データを書き込み、次にメイン完了カウント保存領域306に対して更新データを書き込み、その後サブ領域304に対して車両データを書き込み、次にサブ完了カウント保存領域307に対して更新データを書き込む。これらの前提の下でステップS601、S603、S604の結果を考慮すると、メイン領域303は異常な車両データを保持しており、かつサブ領域304は前回の正常な車両データを保持していると考えられる。そこで本ステップにおいては、正常である可能性が相対的に高いサブ領域304を正しい車両データとして採用し、これを車両データ保存領域301へコピーすることとした。
CPU201は、車両データ保存領域301に対してDefault値をコピーすることにより車両データ保存領域301を復旧し、本フローチャートを終了する。
本ステップは、メイン完了カウント保存領域306内の更新データ(完了カウントA)、サブ完了カウント保存領域307内の更新データ(完了カウントB)、および今回カウント保存領域302内の更新データ(今回カウント)を相互照合することによっても正しい車両データを決定することができなかった場合に相当する。いずれの車両データが正しいかを判定することができないので、Default値を用いて復旧することとした。後述のステップS615も同様である。
CPU201は、ステップS501で読み出した車両データに対応するメイン完了カウント保存領域306内の車両データ(完了カウントA)がFail値であるか否かを判定する。Fail値である場合はステップS608へ進み、Fail値でない場合はステップS611へ進む。Fail値は書き込み失敗を示す値であり、後述の図7で改めて説明する。
CPU201は、(a)ステップS501で読み出した車両データに対応するサブ完了カウント保存領域307内の更新データ(完了カウントB)と、今回カウント保存領域302内の更新データ(今回カウント)とが互いに一致するか、または、(b)完了カウントBと、今回カウント保存領域302内の更新データの前回値(今回カウントからカウント値を−1した値)とが互いに一致するかを、判定する。(a)(b)いずれかを満たす場合はステップS609へ進み、(a)(b)いずれも満たさない場合はステップS610へ進む。
CPU201は、サブ領域304(B面)が格納している車両データを車両データ保存領域301へコピーすることにより車両データ保存領域301を復旧し、本フローチャートを終了する。
CPU201は、車両データ保存領域301に対してDefault値をコピーすることにより車両データ保存領域301を復旧し、本フローチャートを終了する。
S607において完了カウントAがFail値であるため、メイン領域303は正しい車両データを格納していない。したがってS608においてサブ領域304が正しい車両データを格納しているか否かを更新データに基づき判定し、正しければこれを車両データ保存領域301へコピーすることとした。
CPU201は、ステップS501で読み出した車両データに対応するサブ完了カウント保存領域307内の更新データ(完了カウントB)と、今回カウント保存領域302内の更新データ(今回カウント)とが、互いに一致するか否かを判定する。一致する場合はステップS612へ進み、一致しない場合はステップS613へ進む。
CPU201は、サブ領域304(B面)が格納している車両データを車両データ保存領域301へコピーすることにより車両データ保存領域301を復旧し、本フローチャートを終了する。
本ステップに到達した場合、完了カウントAは今回カウントとも今回カウント−1とも一致せず(S601およびS603において“N”)、かつFail値でもないことになる(S607において“N”)。この場合、メイン領域303が格納している車両データは信頼性が低い可能性がある。かかる前提の下、ステップS611の結果によりサブ領域304の信頼性が高い可能性があると判定できるので、本ステップにおいてサブ領域304を正しい車両データとして採用することとした。
CPU201は、ステップS501で読み出した車両データに対応するサブ完了カウント保存領域307内の更新データ(完了カウントB)と、今回カウント保存領域302内の更新データの前回値(今回カウントからカウント値を−1した値)とが、互いに一致するか否かを判定する。一致する場合はステップS614へ進み、一致しない場合はステップS615へ進む。
CPU201は、メイン領域303(A面)が格納している車両データを車両データ保存領域301へコピーすることにより車両データ保存領域301を復旧し、本フローチャートを終了する。
本ステップに到達した場合、完了カウントAは今回カウントとも今回カウント−1とも一致せず(S601およびS603において“N”)、かつFail値でもないことになる(S607において“N”)。この場合、ステップS613において完了カウントBが今回カウント−1と一致したのであれば、メイン領域303に対して車両データを書き込み完了しているがメイン完了カウント保存領域306に対する書き込み途中でエラーが発生し、したがって完了カウントAが異常であるとともに完了カウントBが前回値と一致していると考えられる。かかる場合はメイン領域303が格納している車両データは正常であると考えられるので、本ステップにおいてメイン領域303を正しい車両データとして採用することとした。
CPU201は、車両データ保存領域301に対してDefault値をコピーすることにより車両データ保存領域301を復旧し、本フローチャートを終了する。
CPU201は、今回カウント保存領域302の今回カウントのカウント値をインクリメントして同領域に格納する(S701)。CPU201は、ステップS701で保存した今回カウントを今回カウント保存領域305に書き込む(S702)。
CPU201は、EEPROMに対して書き込むべき車両データを書き込み完了したか否かを判定する。書き込み未完了である場合はステップS704へ進み、書き込み完了した場合は本フローチャートを終了する。
CPU201は、車両データ保存領域301内の車両データをメイン領域303(A面)に対して書き込む。
CPU201は、ステップS704においてメイン領域303に対して車両データが正常に書き込まれたか否かを判断する(S705)。正常に書き込まれたと判断した場合は、ステップS704で書き込んだ車両データに対応する更新データ(完了カウントA)として、メイン完了カウント保存領域306に対してステップS701と同じ今回カウント値を書き込み(S706)、ステップS708へ進む。正常に書き込まれなかったと判断した場合、ステップS704で書き込んだ車両データに対応する更新データ(完了カウントA)として、メイン完了カウント保存領域306に対してFail値を書き込み(S707)、ステップS708へ進む。
CPU201は、車両データ保存領域301内の車両データをサブ領域304(B面)に対して書き込む。
CPU201は、ステップS708においてサブ領域304に対して車両データが正常に書き込まれたか否かを判断する(S709)。正常に書き込まれたと判断した場合は、ステップS708で書き込んだ車両データに対応する更新データ(完了カウントB)として、サブ完了カウント保存領域307に対してステップS701と同じ今回カウント値を書き込み(S710)、ステップS703へ戻る。正常に書き込まれなかったと判断した場合、ステップS708で書き込んだ車両データに対応する更新データ(完了カウントB)として、サブ完了カウント保存領域307に対してFail値を書き込み(S711)、ステップS703へ戻る。
本発明に係るエンジンコントロールユニット9は、車両データ保存領域301が格納している車両データ、メイン領域303が格納している車両データ、およびサブ領域304が格納している車両データを相互照合することにより、正しい車両データを判定する。正しい車両データを判定できない場合はさらに、今回カウント、完了カウントA、および完了カウントBを相互照合することにより、正しい車両データを判定する。これにより、例えば外部EEPROM209に対してアクセスしているとき瞬間的な電圧低下などによってデータが破損したとしても、RAM203と外部EEPROMとの間のデータ整合を確保するとともに、記憶すべきデータを確実に復旧することができる。
Claims (5)
- 車両の動作を制御する車載電子制御装置であって、
前記車両の状態を表す状態値を保持する車両データ、および前記車両データの更新状態を表す更新データを記憶する揮発性メモリ、
前記車両データのバックアップであるメインバックアップ車両データ、前記メインバックアップ車両データの予備であるサブバックアップ車両データ、前記メインバックアップ車両データの更新状態を表すメインバックアップ更新データ、および前記サブバックアップ車両データの更新状態を表すサブバックアップ更新データを記憶する、不揮発性メモリ、
前記揮発性メモリおよび前記不揮発性メモリに対してデータを格納する制御部、
を備え、
前記制御部は、前記車両データ、前記メインバックアップ車両データ、および前記サブバックアップ車両データを相互照合する第1照合処理により正しい前記状態値を決定するとともに、決定された前記状態値とは異なる前記状態値を決定された前記状態値によって上書きし、
前記制御部は、前記第1照合処理により前記状態値が決定できない場合は、前記更新データ、前記メインバックアップ更新データ、および前記サブバックアップ更新データを相互照合する第2照合処理により正しい前記状態値を決定するとともに、決定された前記状態値とは異なる前記状態値を決定された前記状態値によって上書きする
ことを特徴とする車載電子制御装置。 - 前記制御部は、前記車両データ、前記メインバックアップ車両データ、および前記サブバックアップ車両データの全てが一致せず、かつ前記第2照合処理により前記メインバックアップ車両データを正しい前記状態値として決定した場合は、前記メインバックアップ車両データを前記車両データとして前記揮発性メモリへ複製し、
前記制御部は、前記車両データ、前記メインバックアップ車両データ、および前記サブバックアップ車両データの全てが一致せず、かつ前記第2照合処理により前記サブバックアップ車両データを正しい前記状態値として決定した場合は、前記サブバックアップ車両データを前記車両データとして前記揮発性メモリへ複製し、
前記制御部は、前記車両データ、前記メインバックアップ車両データ、および前記サブバックアップ車両データの全てが一致せず、かつ前記第2照合処理により前記メインバックアップ車両データと前記サブバックアップ車両データのいずれも正しい前記状態値ではないと決定した場合は、デフォルト値を前記車両データとして前記揮発性メモリへ複製する
ことを特徴とする請求項1記載の車載電子制御装置。 - 前記制御部は、所定のイベントが発生したとき、前記メインバックアップ車両データと前記サブバックアップ車両データを前記不揮発性メモリに対して書き込み、
前記制御部は、前記メインバックアップ車両データを前記不揮発性メモリに対して正常に書き込むことができた場合はその旨を表す値を前記メインバックアップ更新データとして前記不揮発性メモリに対して書き込むとともに、前記サブバックアップ車両データを前記不揮発性メモリに対して正常に書き込むことができた場合はその旨を表す値を前記サブバックアップ更新データとして前記不揮発性メモリに対して書き込み、
前記制御部は、前記メインバックアップ車両データを前記不揮発性メモリに対して正常に書き込むことができなかった場合はその旨を表す値を前記メインバックアップ更新データとして前記不揮発性メモリに対して書き込むとともに、前記サブバックアップ車両データを前記不揮発性メモリに対して正常に書き込むことができなかった場合はその旨を表す値を前記サブバックアップ更新データとして前記不揮発性メモリに対して書き込む
ことを特徴とする請求項1記載の車載電子制御装置。 - 前記制御部は、前記第2照合処理において、前記更新データの前回値である前回更新データを取得し、
前記制御部は、前記第2照合処理において、前記更新データ、前記前回更新データ、前記メインバックアップ更新データ、および前記サブバックアップ更新データを相互照合することにより、正しい前記状態値を決定する
ことを特徴とする請求項1記載の車載電子制御装置。 - 前記制御部は、所定のイベントが発生したとき、前記更新データのバックアップであるバックアップ更新データを前記不揮発性メモリに対して書き込む
ことを特徴とする請求項1記載の車載電子制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015135522A JP6381490B2 (ja) | 2015-07-06 | 2015-07-06 | 車載電子制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015135522A JP6381490B2 (ja) | 2015-07-06 | 2015-07-06 | 車載電子制御装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017013760A JP2017013760A (ja) | 2017-01-19 |
JP2017013760A5 JP2017013760A5 (ja) | 2017-11-09 |
JP6381490B2 true JP6381490B2 (ja) | 2018-08-29 |
Family
ID=57829701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015135522A Active JP6381490B2 (ja) | 2015-07-06 | 2015-07-06 | 車載電子制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6381490B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7354631B2 (ja) * | 2018-08-10 | 2023-10-03 | 株式会社デンソー | 電子制御装置、車両用電子制御システム、差分データの整合性判定方法及び差分データの整合性判定プログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62213000A (ja) * | 1986-03-12 | 1987-09-18 | Hitachi Ltd | 測定方式 |
JP4345860B2 (ja) * | 2007-09-14 | 2009-10-14 | 株式会社デンソー | 車両用記憶管理装置 |
JP5360216B2 (ja) * | 2009-12-22 | 2013-12-04 | トヨタ自動車株式会社 | 情報管理装置、及び情報管理方法 |
-
2015
- 2015-07-06 JP JP2015135522A patent/JP6381490B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017013760A (ja) | 2017-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4402057A (en) | Method of and apparatus for ensuring correct operation of a microcomputer in the event of power outage | |
JP4345860B2 (ja) | 車両用記憶管理装置 | |
US6678606B2 (en) | Tamper detection for vehicle controller | |
JP4475320B2 (ja) | 車両用記憶管理装置 | |
CN108062259B (zh) | Mcu内部数据存储ecc处理系统及其处理方法 | |
US20090187305A1 (en) | Method of detecting manipulation of a programmable memory device of a digital controller | |
US6401163B1 (en) | Apparatus and method for rewriting data from volatile memory to nonvolatile memory | |
JPS607569A (ja) | デユアル・マイクロプロセツサ多重プロセシング計算システム完全性維持方法および装置 | |
US6430662B1 (en) | Method and device for changing memory contents in a control unit, especially of a motor vehicle | |
JP6381490B2 (ja) | 車載電子制御装置 | |
JP3883842B2 (ja) | 車両用電子制御装置 | |
JP4475345B2 (ja) | 電子制御装置 | |
JP4066499B2 (ja) | 電子制御装置,電子制御システムおよび適合判断方法 | |
WO2008099276A1 (en) | Vehicle control device | |
JP6663371B2 (ja) | 電子制御装置 | |
JP3644058B2 (ja) | 車載エンジンの電子制御装置及びeepromのデータ再書込制御装置 | |
JP2002334024A (ja) | 電子制御装置 | |
JP3136994B2 (ja) | データ処理装置 | |
JP2019045952A (ja) | 車両情報記憶装置 | |
JP2005106059A (ja) | エンジン制御モジュールの有効な較正データを再現する方法 | |
JP2006293650A (ja) | 車両情報のバックアップ装置 | |
JP4479775B2 (ja) | 車両制御装置およびプログラム | |
JP2011013737A (ja) | 電子制御装置 | |
JP5129791B2 (ja) | 車両用制御装置 | |
JP6975581B2 (ja) | 車両情報記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170925 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170925 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180619 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180731 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6381490 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |