JP5872982B2 - 車両用制御装置 - Google Patents
車両用制御装置 Download PDFInfo
- Publication number
- JP5872982B2 JP5872982B2 JP2012177994A JP2012177994A JP5872982B2 JP 5872982 B2 JP5872982 B2 JP 5872982B2 JP 2012177994 A JP2012177994 A JP 2012177994A JP 2012177994 A JP2012177994 A JP 2012177994A JP 5872982 B2 JP5872982 B2 JP 5872982B2
- Authority
- JP
- Japan
- Prior art keywords
- update data
- writing
- interruption
- value
- written
- 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.)
- Expired - Fee Related
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Description
図1は、車両用制御装置の一例を示すブロック図である。
図1に示す車両用制御装置1は、各種の車両搭載機器(エンジン、自動変速機、エアコンなど)を制御する装置であり、マイクロコンピュータ(演算器)2、電源回路3、I/F回路4などを備える。
不揮発性メモリ22は、ビット誤り検出機能付のメモリモジュール(ECCメモリ)とすることができる。ビット誤り検出機能付のメモリモジュールは、例えば、エラー訂正コードECC(冗長化データ)を持ち、1bitのエラーに対しては誤り検出と訂正とが可能である一方、2bitのエラーに対しては、エラー検出は可能であるものの訂正を行えないモジュールである。
そして、マイコン2は、I/F回路4を介して外部からセンサ信号などを入力し、また、I/F回路4を介して外部に向けて操作信号などを出力する。
また、電源回路3によってオン/オフが制御されるセルフシャットオフリレー7を介する経路によっても、車両電源6の電力がマイコン2及び電源回路3に供給されるようになっていて、セルフシャットオフリレー7をオンに保持することで、電源スイッチ5がオフされた後も、マイコン2に対する電力供給を継続させることが可能である。
また、電源回路3は、マイコン2からプログラムラン信号P−RUNを入力し、マイコン2に対してリセット信号を出力する外部監視回路としての機能を備えている。
図2において、更新データは、マイコン2への電源投入期間中に、順次更新して書き込まれる学習データや故障診断データ(故障履歴データ)などであり、固定データは、初期状態において書き込まれる制御定数などの更新されないデータである。
更新データの不揮発性メモリ22への書き込みは、全更新データの読み出しを完了した後の電源投入期間中に、必要に応じて実施され、更新データの書き込みタイミングはランダムである。
マイコン2に電源投入されると(電源投入されかつリセットが解除されると)、まず、ステップS101で初期化処理を実施する。
このステップS103〜ステップS105における更新データの書き換え処理は、更新データの書き込み途中で、電源が遮断されるなどして書き込みが中断し、更新データに異常が生じた場合に、更新データを所定値に書き換え、書き込み処理において算出される更新したエラー訂正コードECCに書き換える処理である。
そして、係る更新データの書き換え処理が終わってから、ステップS106で、不揮発性メモリ22における更新データ、又は、更新データを含む格納データエリア全てに対する誤り検出訂正を起動させるようになっている。
更新データの更新データエリアに対する書き込みにおいては、書き込みを開始する前に、書き込みが決定した複数の更新データの全体サム値を演算し、当該全体サム値を、書き込みの中断の有無を判断するための値として、更新データの書き込み過程において不揮発性メモリ22に複数書き込むようにしてある。
そして、ステップS103では、書き込み過程の最初に書き込まれる更新データと共に格納されている全体サム値を第1サム値として読み出し、更に、書き込み過程の最後に書き込まれる更新データと共に格納されている全体サム値を第2サム値として読み出す。
尚、中断判別値としての全体サム値を、最初の更新データの書き込みの直前に書き込み、また、最後の更新データの書き込みの直後に書き込むようにすることができる。
尚、マイコン2における電源遮断は、電源(バッテリ)の取り外しや電力供給ハーネスの断線や中間コネクタの抜けなどによって生じる。また、マイコン2に対する電力供給が瞬間的に途絶える場合は、マイコン2が出力するプログラムラン信号P−RUNが途絶え、電源回路3はマイコン2にリセット信号を出力し、マイコン2を再起動させる。
従って、書き込み過程における最初側で全体サム値(中断判別値)を書き込むアドレスに格納されている第1サム値と、書き込み過程における最後側で全体サム値(中断判別値)を書き込むアドレスに格納されている第2サム値とが、一致(整合)するか否かによって、前回の更新データの書き込み処理が中断したか否かを判別することができる。
一方、第1サム値と第2サム値とが一致(整合)している場合には、前回の更新データの書き込み処理において、最後の更新データの書き込みまで中断することなく、一連の更新データの書き込みが最初から最後まで正常に行われたものと判断する。この場合、書き込みの中断による更新データの破損(訂正不能な異常)はなく、ステップS105の処理は不要であるので、ステップS105を迂回してステップS106へ進む。
そこで、誤り検出に基づくリセットが行われないように、ステップS105では、全更新データエリアに対して、固定値である更新データ、及び、書き込み処理において算出されるエラー訂正コードECCを上書きし、異常となっている更新データを含む全更新データを予め決められている固定値に書き換え、書き込み処理において算出される更新された全エラー訂正コードECCに書き換えると共に、固定値である書き換え後の更新データに見合う全体サム値を、書き込みの最初と最後で更新データエリアに書き込むようにする。
更新データの固定値は、予め不揮発性メモリ22に保存されている。
尚、誤り検出において誤りが検出されることがない更新データとエラー訂正コードECCとの組み合わせとして、更新データ及びエラー訂正コードECCの固定値を予め不揮発性メモリ22に保存させておくこともできる。
また、中断判別値として、全体サム値を用いることができる他、例えば、ランダムな値や書き込み処理毎に順繰りに更新される値を中断判別値として設定し、これを、更新データの書き込み過程における最初と最後で書き込むことができる。
更に、例えば、更新データの書き込みを行う際に、書き込む予定の更新データの全体サム値を演算して、不揮発性メモリ22に書き込む一方、起動時に更新データエリアの全更新データを読み出して全体サム値を演算し、不揮発性メモリ22に書き込まれていた全体サム値と、読み出した更新データに基づき演算した全体サム値との整合性(一致、不一致)を判断することで、書き込みの中断があったか否かを判断させることができる。
ステップS107では、更新データ及びそのエラー訂正コードECCを、不揮発性メモリ22の更新データエリアから読み出す。ここで、ステップS105で全更新データを固定値に書き換え、更新された全エラー訂正コードECCに書き換えた後、ステップS107に進んだ場合には、固定値としての更新データ及びエラー訂正コードECCを読み出すことになる。
そして、照合結果に異常がなければ、ステップS111へ進んで、全更新データの読み出しが完了したか否かを判定し、全更新データの読み出しが完了していない場合には、ステップS107に戻って、次の更新データ及びそのエラー訂正コードECCの読み出しを行い、全更新データの読み出しが完了すると、ステップS112に進んでその他の処理に移行する。
ステップS109では、更新データの誤りが訂正可能なビット誤りであるか否か、一例として更新データの異常が1ビット誤りであるか否かを判断する。
また、2ビット以上の誤りが発生している場合は訂正不能と判断し、ステップS113へ進み、エラー情報として、例えば誤りが生じている更新データのアドレスなどを、不揮発性メモリ22に保存する。
外部監視回路として機能する電源回路3は、マイコン2から出力されるプログラムラン信号P−RUNを監視しており、プログラムラン信号P−RUNが途絶えると、マイコン2をリセットさせるリセット信号を出力する。
前述のように、更新データの書き込み途中での電源遮断などによって更新データの書き込みが中断した場合には、再起動時に、誤り検出に先立ち、第1サム値及び第2サム値に基づき中断の有無が判断され、中断が発生したと判断されると、更新データエリアの更新データが固定値に書き換えられ、更新されたエラー訂正コードECCに書き換えられる。
尚、ステップS105で更新データを固定値に書き換えている途中で、電源遮断が発生した場合にも、最初に書き込む全体サム値(中断判別値)と、最後に書き込む全体サム値(中断判別値)とが異なるようになることで、起動時に書き込みの中断が発生したことが判断され、再度、更新データエリアの更新データを固定値に書き換え、更新されたエラー訂正コードECCに書き換える処理が実施されることになる。従って、ステップS105での書き込み処理の中断に対しても、誤り検出とリセットとが繰り返されるようになることを抑制できる。
上記のように、更新データエリアを分割したブロック単位で、中断の有無及び固定値による書き換えを行えば、誤りが検出されることがない正常な値が固定値に書き換えられてしまうことを抑制でき、更新データが例えば学習値であれば、学習の進行が損なわれることを抑制できる。
また、図4のフローチャートに示す処理では、ステップS114にてシャットダウン処理を実施した後に、プログラムラン信号P−RUNの停止により外部監視回路がリセット信号を出力するか、又は、マイコン2自身がリセット信号を出力することができる。
図6のフローチャートにおいて、図4のフローチャートと同じ処理を行うステップについては、同じステップ番号を付してあり、図4のフローチャートに対して処理内容が異なるステップである、ステップS103A,104A,105A,105Bについて詳細に説明し、他のステップについての説明を省略する。
更新データを更新データエリアに書き込む場合、ブロック毎に書き込みが決定した更新データの全体サム値を演算し、各ブロックの最初の更新データの書き込み時及び最後の更新データの書き込み時に、全体サム値を書き込むようにしてある。
そして、ステップS103Aでは、対象とするブロックにおいて最初の更新データと共に書き込んだ全体サム値を第1サム値として読み出し、最後の更新データと共に書き込んだ全体サム値を第2サム値として読み出す。
ステップS105Aでは、書き込みの中断が発生したと判断されたブロックの更新データを固定値に書き換え、書き込み処理中に算出し更新されるエラー訂正コードECCに書き換える処理を実施する。
ステップS105Bでは、更新データエリアを複数に分割した全てのブロックについて、書き込みの中断の有無を判断したか否かを確認し、中断の有無を判断していないブロックが残っている場合には、ステップS103Aに戻る。
ステップS105Bで、更新データエリアを複数に分割する全てのブロックについて、中断の有無を判断したと判断すると、ステップS106へ進む。ステップS106では、ステップS102における更新データの誤り検出訂正の中止を解除し、ステップS107以降の誤り検出処理を伴う更新データの読み出しを開始させる。
従って、書き込みの中断による更新データの異常によって、リセット、誤り検出が繰り返されるようになることを抑制しつつ、正常に書き込まれた更新データが無用に固定値に書き換えられてしまうことを抑制でき、例えば、更新データが学習値であれば、学習のやり直しが無用に行われることを抑制できる。
そして、この場合、誤りが発生した更新データの正しい値は、他方のエリアに保存されていることになるから、書き込みの中断が発生したエリアの更新データを、他の更新データエリアに保存されている値に書き換えることができる。
図7のフローチャートにおいて、図4のフローチャートと同じ処理を行うステップについては、同じステップ番号を付してあり、図4のフローチャートに対して処理内容が異なるステップであるステップS103B、ステップS104B、ステップS105C及びステップS105Dについて詳細に説明し、他のステップについての説明を省略する。
そして、ステップS104Bでは、ステップS103Bで読み出した第1サム値と第2サム値とを比較(照合)し、第1サム値と第2サム値とが不一致(不整合)である場合には、前回の更新データの書き込み処理において、電源遮断による書き込みの中断が発生したものと判断し、中断による更新データの異常に対処するためのステップS105Cに進む。
ステップS105Cでは、中断の発生が検出されたエリアの全更新データを、他方の同じ構造のエリア(複製エリア)に格納されている複製データに書き換える処理を行う。尚、書き換え処理の過程で算出されるエラー訂正コードECCも書き換えられる。
ここで、ステップS105Cに進む前に、ミラーリングの各面それぞれについて書き込みの中断が生じたか否かを判別し、一方で中断が発生し、他方で中断が発生していない場合に、ステップS105Cに進んで、中断が発生したエリアの更新データを、中断が発生しなかったエリアの更新データで上書きするようにできる。
更に、ミラーリングの各面それぞれを複数ブロックに分割して、ブロック毎に中断判別値(全体サム値)を格納させ、ブロック単位で中断の有無を判断し、書き込みの中断が発生したブロックについては、他方の面の対応するブロックの更新データに上書きさせることができる。
従って、書き込み中断によって更新データに異常が生じも、起動時の誤り検出によってリセットされてしまうことを未然に回避して、リセット、誤り検出が繰り返されるようになることを抑制できると共に、例えば更新データが学習データであれば、学習のやり直しを避けることができ、それまでの学習結果をそのまま反映した制御を行える。
そして、この場合、書き込みの中断位置を特定できるので、少なくとも中断位置に該当する1乃至複数の更新データ(破損の可能性が見込まれる更新データ)を固定値に書き換え、そのデータに対応する更新されたエラー訂正コードECCに書き換える一方、他の更新データについてはそのまま保持させることができる。
(イ)前記不揮発性メモリに対する更新データの書き込み過程の少なくとも最初と最後とで、中断判別値を書き込む、請求項2又は3記載の車両用制御装置。
上記発明によると、最初の中断判別値と最後の中断判別値とが整合しない場合、書き込み途中のいずれかで中断が生じたものと判断できる。
上記発明によると、書き込みが決定された更新データの全体サム値が、更新データの書き込み過程で複数書き込まれ、書き込みが中断される前に書き込まれた全体サム値は、そのときの書き込み予定の更新データに対応することになるが、中断後は全体サム値が書き換えられないので、中断後を書き込みタイミングとする全体サム値は更新前のデータに対応することになり、係る全体サム値の不整合によって中断の有無を判断できる。
上記発明によると、書き込み中断によって破損した更新データを、固定値に書き換えることで、誤り検出を行っても正常と判断されるようにする。
前記所定値が、更新データの複製データである、請求項1〜3のいずれか1つに記載の車両用制御装置。
上記発明によると、書き込み中断によって更新データが破損しても、別途格納されている複製データに書き換えることで、誤り検出を行っても正常と判断されるようにし、かつ、更新データとして最新の値に復活させることができる。
更新データを所定値に書き換えるときに、書き込み処理において算出された更新されたエラー訂正コードに書き換える、請求項1〜3のいずれか1つに記載の車両用制御装置。
上記発明によると、更新データの書き込み処理において算出された更新されたエラー訂正コードに書き換えることで、誤り検出で誤りの発生が検出されることを避ける。
Claims (3)
- 電気的に消去及び書き込みが可能な不揮発性メモリを備え、起動時に、前記不揮発性メモリの更新データの誤り検出を行い、誤りを検出した場合にリセットを実施する車両用制御装置において、
前記不揮発性メモリに対する更新データの書き込みにおいて中断があった場合に、起動時の前記誤り検出に先立って前記更新データを所定値に書き換え、その後に前記誤り検出を行う、車両用制御装置。 - 前記不揮発性メモリに対して更新データを書き込む過程において、複数の中断判別値を書き込み、
前記複数の中断判別値が整合しない場合に、起動時の前記誤り検出に先立って前記更新データを所定値に書き換える、請求項1記載の車両用制御装置。 - 前記不揮発性メモリにおける更新データの格納エリアが複数のブロックに分割され、更新データを書き込む過程において前記複数のブロック毎に複数の中断判別値を書き込み、前記複数のブロック毎に前記更新データの前記所定値への書き換えを行う、請求項2記載の車両用制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012177994A JP5872982B2 (ja) | 2012-08-10 | 2012-08-10 | 車両用制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012177994A JP5872982B2 (ja) | 2012-08-10 | 2012-08-10 | 車両用制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2014035729A JP2014035729A (ja) | 2014-02-24 |
| JP5872982B2 true JP5872982B2 (ja) | 2016-03-01 |
Family
ID=50284673
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012177994A Expired - Fee Related JP5872982B2 (ja) | 2012-08-10 | 2012-08-10 | 車両用制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5872982B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6304007B2 (ja) | 2014-12-09 | 2018-04-04 | 株式会社デンソー | マイクロコントローラ |
| JP6512065B2 (ja) * | 2015-10-29 | 2019-05-15 | 株式会社デンソー | 電子制御装置 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001084002A (ja) * | 1999-09-10 | 2001-03-30 | Aisin Seiki Co Ltd | 制御装置 |
| JP2001331382A (ja) * | 2000-05-19 | 2001-11-30 | Matsushita Electric Ind Co Ltd | 不揮発性メモリの管理方法および管理装置 |
| JP2004341817A (ja) * | 2003-05-15 | 2004-12-02 | Matsushita Electric Ind Co Ltd | 情報処理方法及びプログラム並びにナビゲーション装置 |
| JP4419752B2 (ja) * | 2004-08-25 | 2010-02-24 | 株式会社デンソー | データ記憶装置 |
| JP2006079229A (ja) * | 2004-09-08 | 2006-03-23 | Hanshin Electric Co Ltd | フラッシュメモリマイクロコンピュータのデータ保全方法および保全装置 |
| JP5269810B2 (ja) * | 2007-12-14 | 2013-08-21 | 株式会社東芝 | 制御装置 |
-
2012
- 2012-08-10 JP JP2012177994A patent/JP5872982B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2014035729A (ja) | 2014-02-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2014035730A (ja) | 車両用制御装置 | |
| JP4345860B2 (ja) | 車両用記憶管理装置 | |
| JP4475320B2 (ja) | 車両用記憶管理装置 | |
| CN102298545A (zh) | 一种系统启动引导处理方法及装置 | |
| US11314634B2 (en) | Electronic control unit and data protection method therefor | |
| JP5872982B2 (ja) | 車両用制御装置 | |
| JP4227149B2 (ja) | 電子制御装置の情報記憶方法 | |
| JP2009289049A (ja) | メモリ制御装置 | |
| JP6708596B2 (ja) | 電子制御装置及び制御プログラム検証方法 | |
| JP6011687B1 (ja) | 記憶装置およびその制御方法 | |
| US12524549B2 (en) | Method of updating software of electronic control unit of vehicle | |
| JP2008196441A (ja) | 車両の制御装置 | |
| CN113176891A (zh) | 一种基于Bootloader带有备份功能的ECU的程序烧写方法 | |
| JP2008204327A (ja) | 二重化システムにおける記憶装置の制御方法 | |
| JP7029366B2 (ja) | 自動車用電子制御装置 | |
| JP2019045952A (ja) | 車両情報記憶装置 | |
| JP2009025967A (ja) | 二重化ファームウェアのバックアップ方式、方法、及び、オペレーティングシステム | |
| JP7024582B2 (ja) | 車載制御装置 | |
| US8190971B2 (en) | Data processing system and method for operating a data processing system | |
| JP5095241B2 (ja) | データ処理装置及びプログラム起動方法 | |
| JP6363044B2 (ja) | 制御装置 | |
| JP2019160080A (ja) | 制御装置および異常検出方法 | |
| JP4708088B2 (ja) | 障害復旧方法およびマイクロコンピュータ | |
| JP3451489B2 (ja) | Ram内容破壊対応処理方法及びプログラマブルコントローラ | |
| JP6568826B2 (ja) | 電子制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20140528 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150128 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151130 |
|
| 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: 20151222 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160114 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5872982 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |