JP2014048744A - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP2014048744A
JP2014048744A JP2012189139A JP2012189139A JP2014048744A JP 2014048744 A JP2014048744 A JP 2014048744A JP 2012189139 A JP2012189139 A JP 2012189139A JP 2012189139 A JP2012189139 A JP 2012189139A JP 2014048744 A JP2014048744 A JP 2014048744A
Authority
JP
Japan
Prior art keywords
data
stored
abnormality
abnormality detection
reading
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.)
Granted
Application number
JP2012189139A
Other languages
English (en)
Other versions
JP5835160B2 (ja
Inventor
Eiji Matsuoka
英治 松岡
Toshiyuki Fukushima
敏之 福島
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 JP2012189139A priority Critical patent/JP5835160B2/ja
Publication of JP2014048744A publication Critical patent/JP2014048744A/ja
Application granted granted Critical
Publication of JP5835160B2 publication Critical patent/JP5835160B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】1回の書き誤りに起因して異常を繰り返し検出してしまうのを抑制する
【解決手段】ECU1は、データを書き込むときには、書き込むデータに基づいて誤り訂正符号(ECC)を生成して、書き込みデータにECCを付加し、データを読み出すときには、付加されているECCを用いて、1ビットの誤りを訂正することができるとともに、2ビット以上の誤りを検出することができ、且つ、2ビット以上の誤りを検出したときに異常検出情報をECCエラー記憶レジスタ133(以下、レジスタ133という)に記憶するECC機能を搭載したRAM13を備え、データ記憶領域131のデータを読み出し、レジスタ133に異常検出情報が記憶されているか否かを判断する。そして、レジスタ133に異常検出情報が記憶されている場合に、データ記憶領域131のデータを読み出し、その後に、読み出したデータを同じアドレスに書き込む。
【選択図】図1

Description

本発明は、ECC機能を搭載するメモリを備えた電子制御装置に関する。
従来、例えばRAMのようにデータ書換え可能なメモリにおいて、書き込まれたデータの誤りを検出して訂正するためにECC(Error Correction Code)機能を搭載したものが知られている(例えば、特許文献1参照)。
ECC機能は、データをメモリに書き込む時に誤り訂正符号を付加し、データをメモリから読み出すときに誤り訂正符号を用いてデータの誤りを検出および訂正する機能である。そしてECC機能では、1ビットの誤りを検出した場合には、その誤りを訂正することができる。但しECC機能では、複数ビットの誤りが発生した場合に、誤りを検出することができるが、その誤りを訂正することはできない。
そして、車両を制御する車両制御装置においては、車両制御装置に搭載されたメモリの異常を検出するために、メモリに記憶されているデータを読み出すことによりECC機能を作動させ、これにより2ビット以上の誤りを検出した場合に、フェールセーフ制御に移行させることが一般に行われている。
特開平9−288619号公報
書き込み頻度が少ないデータは、このデータを書き込んでから次にこのデータを書き込むまでの期間(以下、データ保持期間という)が長くなる。
そして、例えば車両制御中のようにノイズが多い環境下で、書き込み頻度が少ないデータをメモリに書き込んだ時に2ビット以上の誤りが発生すると、2ビット以上の誤りが発生している状態が少なくとも上記データ保持期間継続する。これにより、データ保持期間中において、書き誤ったデータの読み出しが行われる毎にECC機能が作動し、2ビット以上の誤りを何度も検出することになる。
このため、2ビット以上の誤りを検出した回数が予め設定されたフェールセーフ判定回数以上となるとフェールセーフ制御に移行するという処理が車両制御装置で実行される場合には、データ書き換えにおける複数回の書き誤りの発生でフェールセーフ制御に移行することを意図しているにも関わらず、1回の書き誤りに起因してフェールセーフ制御に移行してしまうおそれがあった。
本発明は、こうした問題に鑑みてなされたものであり、1回の書き誤りに起因して異常を繰り返し検出してしまうのを抑制することを目的とする。
上記目的を達成するためになされた請求項1に記載の電子制御装置は、データを書き込むときには、書き込むデータに基づいて誤り訂正符号を生成して、対応する書き込みデータに誤り訂正符号を付加し、記憶されているデータを読み出すときには、読み出すデータに付加されている誤り訂正符号を用いて、記憶されているデータにおける1ビットの誤りを訂正することができるとともに、記憶されているデータにおける2ビット以上の誤りを検出することができ、且つ、2ビット以上の誤りを検出したときにその旨を示す異常検出情報を、内部に予め設定された異常記憶領域に記憶することができるECC(Error Correction Code)機能を搭載し、記憶されるデータの書き換えが可能である書換可能メモリを備え、読出手段が、書換可能メモリの記憶領域のうち予め設定された異常検出領域に記憶されているデータを読み出し、異常判断手段が、異常記憶領域に異常検出情報が記憶されているか否かを判断する。そして書込手段が、異常記憶領域に異常検出情報が記憶されていると異常判断手段が判断した場合に、書換可能メモリの異常検出領域に記憶されているデータを読み出し、その後に、読み出したデータを、読み出したときと同じアドレスに書き込む。
このように構成された電子制御装置では、まず読出手段が、異常検出領域に記憶されているデータを読み出すことにより、書換可能メモリのECC機能が作動し、2ビット以上の誤りを検出したときに、書換可能メモリ内の異常記憶領域に異常検出情報が記憶される。このため異常判断手段が、異常記憶領域に異常検出情報が記憶されていると判断し、書込手段が、データの読み出し、その後に、読み出したデータを、読み出したときと同じアドレスに書き込む。これにより、書換可能メモリのECC機能が作動し、読み出したデータに基づいて誤り訂正符号が再度生成され、新たな誤り訂正符号が付加された状態で、データが書き込まれる。すなわち、次に、記憶されたデータを読み出したときには、2ビット以上の誤りがECC機能により検出されるという状況が解消されている。
したがって、書き込み頻度が少ないデータを書き込むときに2ビット以上の誤りが発生した場合であっても、以降のデータ読み出し時にECC機能によって書換可能メモリ内の異常記憶領域に異常検出情報が記憶されてしまうといった状態が長時間継続するのを抑制することができる。すなわち、1回の書き誤りに起因して異常を繰り返し検出してしまうのを抑制することができる。
このため、2ビット以上の誤りを検出した回数が予め設定されたフェールセーフ判定回数以上となるとフェールセーフ制御に移行するという処理が電子制御装置で実行される場合であっても、1回の書き誤りに起因してフェールセーフ制御に移行してしまうという事態の発生を抑制することができる。
ECU1の構成を示すブロック図である。 第1実施形態のモータ制御処理を示すフローチャートである。 第1実施形態のRAM診断処理を示すフローチャートである。 第2実施形態の時間同期処理を示すフローチャートである。 第3実施形態のRAM診断処理を示すフローチャートである。 第3実施形態のモータ制御処理を示すフローチャートである。
(第1実施形態)
以下に本発明の第1実施形態を図面とともに説明する。
本実施形態の電子制御装置(以下、ECUという)1は、車両に搭載され、図1に示すように、アクセルペダルの踏み込み量を検出するアクセル開度センサ(不図示)からのアクセル開度信号などを用いて、車両の走行用モータ2の制御を行う。
走行用モータ2は、直流電源+Bからリレー3を介して電源電圧が供給されると駆動する。またリレー3は、ECU1からの制御信号により、オン状態およびオフ状態の何れかに切り替えられる。
ECU1は、走行用モータ2を制御するための処理を実行するマイクロコンピュータ(以下、マイコンという)10を備える。
マイコン10は、CPU11、ROM12、RAM13、DMA(Direct Memory Access)コントローラ14、割込コントローラ15および入出力ポート16と、これらを相互に接続するバス17とを備え、ROM12に記憶されたプログラムをCPU11が実行することにより各種処理を実行する。
これらのうちRAM13は、RAM13に記憶されているデータの誤りを検出および訂正するためにECC(Error Correction Code)機能を搭載している。
ECC機能を搭載するRAM13は、まず、RAM13へデータを書き込む時に、書き込むデータに基づいて、誤り訂正用のデータとなる誤り訂正符号(以下、ECC(Error Correction Code)という)を生成する。以下、ECCの生成の際に用いられたデータを元データという。そしてRAM13は、生成したECCと元データとを対応付けてRAM13に書き込む。なお元データは、RAM13内に設けられたデータ記憶領域131に記憶され、ECCは、RAM13内に設けられたECC記憶領域132に記憶される。
その後RAM13は、RAM13から元データを読み出す時に、この元データとともに、対応するECCを読み出す。そしてRAM13は、読み出したECCと、読み出した元データを用いて生成したECCとを比較することにより、誤りが発生したか否かを検出する。
そしてRAM13は、誤りが発生していないと検出結果に基づいて判断した場合には、読み出した元データをそのまま外部へ出力する。またRAM13は、1ビットの誤りを検出した場合には、読み出したECCを用いて、読み出した元データを訂正して、訂正後の元データを外部へ出力する。またRAM13は、2ビット以上の誤りを検出した場合には、異常を検出した旨を示す異常検出情報を、RAM13内に設けられたECCエラー記憶レジスタ133に記憶する。
またDMAコントローラ14は、CPU11からDMA転送要求信号を入力すると、入出力ポート16に入力した特定のデータを、CPU11の処理を介すことなくRAM13へ転送してRAM13に記憶させる機能を有する。
また割込コントローラ15は、様々な割り込み要因の発生を示す信号を入力し、入力した信号が示す割り込み要因毎に予め設定された優先度に基づいて、優先度が最も高い割り込み要因に対応した割込要求信号をCPU11に出力する機能を有する。さらに割込コントローラ15は、入力した信号が示す割り込み要因の優先度とCPU11が実行中の処理の優先度とを比較して、割り込み要因の優先度のほうが高い場合に、割込要求信号をCPU11に出力する機能を有する。
このように構成されたECU1において、マイコン10のCPU11は、後述するモータ制御処理およびRAM診断処理を実行する。
まず、CPU11が実行するモータ制御処理の手順を図2を用いて説明する。このモータ制御処理は、所定時間毎(本実施形態では10ms毎)に繰り返し実行される処理である。
このモータ制御処理が実行されると、CPU11は、まずS10にて、後述するECCエラーカウンタの値(以下、ECCエラー回数という)が予め設定されたフェールセーフ判定値(本実施形態では3回を示す値)以上であるか否かを判断する。
ここで、ECCエラー回数がフェールセーフ判定値未満である場合には(S10:NO)、S20にて、モータ制御を実行し、モータ制御処理を一旦終了する。なお、S20のモータ制御では、アクセル開度信号などを用いて目標モータ回転速度を決定し、決定した目標モータ回転速度に対応したデューティ制御信号を出力する処理を行う。
一方、ECCエラー回数がフェールセーフ判定値以上である場合には(S10:YES)、S30にて、フェールセーフ制御を実行し、モータ制御処理を一旦終了する。なお、S30のフェールセーフ制御では、リレー3を強制的にオフ状態とすることにより、走行用モータ2の駆動を停止させる。
次に、CPU11が実行するRAM診断処理の手順を図3を用いて説明する。このRAM診断処理は、所定時間毎(本実施形態では10ms毎)に繰り返し実行される処理である。
このRAM診断処理が実行されると、CPU11は、まずS110にて、診断異常フラグがセットされているか否かを判断する。ここで、診断異常フラグがセットされていない場合には(S110:NO)、S120にて、S140またはS180で設定される診断対象アドレスを先頭アドレスとして予め設定された診断単位バイト数(本実施形態では16バイト)分のデータをデータ記憶領域131から読み出す。これにより、RAM13のECC機能が作動する。
その後S130にて、データ記憶領域131の全領域についてデータの読み出しが完了したか否かを判断する。ここで、全領域の読み出しが完了していない場合には(S130:NO)、S140にて、診断対象アドレスを診断単位バイト数分だけ次に移動させ、RAM診断処理を一旦終了する。
一方S110にて、診断異常フラグがセットされている場合には(S110:YES)、S150にて、CPU11への割り込みを禁止する。これにより、割込コントローラ15からの割込要求が禁止される。
そしてS160にて、S140またはS180で設定される診断対象アドレスを先頭アドレスとして予め設定された診断単位バイト数(本実施形態では16バイト)分のデータをデータ記憶領域131から読み出し、その後、読み出したデータを、同一のアドレスに書き込む。これにより、RAM13のECC機能が作動する。
その後S170にて、CPU11への割り込みを許可する。これにより、割込コントローラ15からの割込要求が許可される。その後S130にて、全領域の読み出しが完了していない場合には(S130:NO)、S140にて、診断対象アドレスを診断単位バイト数分だけ次に移動させ、RAM診断処理を一旦終了する。
またS130にて、データ記憶領域131の全領域についてデータの読み出しが完了した場合には(S130:YES)、S180にて、診断対象アドレスをリセットする。これにより、診断対象アドレスは、データ記憶領域131の先頭アドレスに設定される。
そしてS190にて、異常検出情報がECCエラー記憶レジスタ133に記憶されているか否かを判断する。ここで、異常検出情報がECCエラー記憶レジスタ133に記憶されていない場合には(S190:NO)、S200にて、診断異常フラグをクリアして、RAM診断処理を一旦終了する。一方、異常検出情報がECCエラー記憶レジスタ133に記憶されている場合には(S190:YES)、S210にて、診断異常フラグをセットし、さらにS220にて、ECCエラーカウンタをインクリメント(1加算)して、RAM診断処理を一旦終了する。
このように構成されたECU1は、データを書き込むときには、書き込むデータに基づいてECCを生成して、対応する書き込みデータにECCを付加し、記憶されているデータを読み出すときには、読み出すデータに付加されているECCを用いて、記憶されているデータにおける1ビットの誤りを訂正することができるとともに、記憶されているデータにおける2ビット以上の誤りを検出することができ、且つ、2ビット以上の誤りを検出したときにその旨を示す異常検出情報を、内部に予め設定されたECCエラー記憶レジスタ133に記憶することができるECC機能を搭載し、記憶されるデータの書き換えが可能であるRAM13を備え、データ記憶領域131の全領域に記憶されているデータを読み出し(S120,S130,S140)、ECCエラー記憶レジスタ133に異常検出情報が記憶されているか否かを判断する(S190)。そして、ECCエラー記憶レジスタ133に異常検出情報が記憶されている場合に(S190:YES、S110:YES)、RAM13のデータ記憶領域131に記憶されているデータを読み出し、その後に、読み出したデータを、読み出したときと同じアドレスに書き込む(S160,S130,S140)。
このように構成されたECU1では、まず、データ記憶領域131に記憶されているデータを読み出すことにより、RAM13のECC機能が作動し、2ビット以上の誤りを検出したときに、RAM13内のECCエラー記憶レジスタ133に異常検出情報が記憶される。このため、ECCエラー記憶レジスタ133に異常検出情報が記憶されていると判断し、データの読み出し、その後に、読み出したデータを、読み出したときと同じアドレスに書き込む。これにより、RAM13のECC機能が作動し、読み出したデータに基づいてECCが再度生成され、新たなECCが付加された状態で、データが書き込まれる。すなわち、次に、記憶されたデータを読み出したときには、2ビット以上の誤りがECC機能により検出されるという状況が解消されている。
したがって、書き込み頻度が少ないデータを書き込むときに2ビット以上の誤りが発生した場合であっても、以降のデータ読み出し時にECC機能によってRAM13内のECCエラー記憶レジスタ133に異常検出情報が記憶されてしまうといった状態が長時間継続するのを抑制することができる。すなわち、1回の書き誤りに起因して異常を繰り返し検出してしまうのを抑制することができる。
このため、2ビット以上の誤りを検出した回数が予め設定されたフェールセーフ判定回数以上となるとフェールセーフ制御に移行するという処理がECU1で実行される場合であっても、1回の書き誤りに起因してフェールセーフ制御に移行してしまうという事態の発生を抑制することができる。
また、ECCエラー記憶レジスタ133に異常検出情報が記憶されている場合に、データ書き込みが行われるので、ECCエラー記憶レジスタ133に異常検出情報が記憶されていない場合には、データ書き込みが行われず、データを読み出して書き込むことによる処理負荷の増大を抑制することができ、これにより、ECU1の制御性の悪化を抑制することができる。
また、診断単位バイト数分のデータを書き込む処理(S160)を前に、CPU11への割り込みを禁止する(S150)ことにより、診断単位バイト数分のデータ書き込み以外によるRAM13へのデータ書き込みを禁止する。
これにより、S160の処理において診断単位バイト数分のデータを読み出す処理と、S160の処理において読み出したデータを同一のアドレスに書き込む処理との間で、この同一のアドレスにデータを書き込むという割り込み処理が発生し、割り込み処理で書き込まれたデータを、S160の処理で上書きしてしまうことを防止することができる。すなわち、マルチタスクのようなシステムにおいてもRAM13でのアクセス干渉を防ぐことができ、ECU1の制御で不具合が発生するのを抑制することができる。
以上説明した実施形態において、RAM13は本発明における書換可能メモリ、S120,S130,S140の処理は本発明における読出手段、S190の処理は本発明における異常判断手段、S160,S130,S140の処理は本発明における書込手段、ECCエラー記憶レジスタ133は本発明における異常記憶領域、データ記憶領域131は本発明における異常検出領域、S150の処理は本発明における書込禁止手段である。
(第2実施形態)
以下に本発明の第2実施形態を図面とともに説明する。なお第2実施形態では、第1実施形態と異なる部分を説明する。
第2実施形態の電子制御装置(ECU)1は、モータ制御処理およびRAM診断処理の代わりに時間同期処理を実行する点以外は第1実施形態と同じである。
ここで、CPU11が実行する時間同期処理の手順を図4を用いて説明する。この時間同期処理は、所定時間毎(本実施形態では10ms毎)に繰り返し実行される処理である。
この時間同期処理が実行されると、CPU11は、まずS310にて、S150と同様にして、CPU11への割り込みを禁止する。そしてS320にて、ECCエラー記憶レジスタ133をクリアする。これにより、ECCエラー記憶レジスタ133の記憶内容が消去される。
その後S330にて、診断異常フラグがセットされているか否かを判断する。ここで、診断異常フラグがセットされていない場合には(S330:NO)、S340にて、データ記憶領域131のうちモータ制御に関連するデータが記憶される領域として予め設定されたモータ制御記憶領域についてデータの読み出しを行い、S360に移行する。これにより、RAM13のECC機能が作動する。
一方、診断異常フラグがセットされている場合には(S330:YES)、S350にて、データ記憶領域131のモータ制御記憶領域についてデータの読み出しを行い、その後、読み出したデータを、同一のアドレスに書き込み、S360に移行する。これにより、RAM13のECC機能が作動する。
そしてS360に移行すると、異常検出情報がECCエラー記憶レジスタ133に記憶されているか否かを判断する。ここで、異常検出情報がECCエラー記憶レジスタ133に記憶されていない場合には(S360:NO)、S370にて、診断異常フラグをクリアして、S400に移行する。一方、異常検出情報がECCエラー記憶レジスタ133に記憶されている場合には(S360:YES)、S380にて、診断異常フラグをセットし、さらにS390にて、ECCエラーカウンタをインクリメント(1加算)して、S400に移行する。
そしてS400に移行すると、S170と同様にして、CPU11への割り込みを許可し、さらにS410にて、ECCエラーカウンタの値(ECCエラー回数)が予め設定されたフェールセーフ判定値(本実施形態では3回を示す値)以上であるか否かを判断する。
ここで、ECCエラー回数がフェールセーフ判定値未満である場合には(S410:NO)、S420にて、S20と同様にして、モータ制御を実行し、時間同期処理を一旦終了する。
一方、ECCエラー回数がフェールセーフ判定値以上である場合には(S410:YES)、S430にて、S30と同様にして、フェールセーフ制御を実行し、時間同期処理を一旦終了する。
このように構成されたECU1では、ECCエラー記憶レジスタ133に記憶されている異常検出情報を消去し(S320)、その後に、データ記憶領域131のうちモータ制御に関連するデータが記憶される領域として予め設定されたモータ制御記憶領域に記憶されているデータを読み出し(S340)、モータ制御記憶領域に記憶されている全てのデータを読み出した後に、ECCエラー記憶レジスタ133に異常検出情報が記憶されているか否かを判断する(S360)。
これにより、ECCエラー記憶レジスタ133に異常検出情報が記憶されていれば、データ記憶領域131のうちモータ制御記憶領域において異常が発生していると判断することができる。すなわち、モータ制御に関連するデータで異常が発生しているか否かを判断することができる。
したがって、RAM13のデータ記憶領域131の全体ではなく、RAM13のデータ記憶領域131のうちの特定の領域で異常が発生しているか否かを判断することができるため、この特定領域で異常が発生した場合に、この特定領域に対応したフェールセーフ制御に移行するという処理が可能となる。
以上説明した実施形態において、S340の処理は本発明における読出手段、S360の処理は本発明における異常判断手段、S350の処理は本発明における書込手段、S310の処理は本発明における書込禁止手段、S320の処理は本発明における消去手段、モータ制御記憶領域は本発明における異常検出領域である。
(第3実施形態)
以下に本発明の第3実施形態を図面とともに説明する。なお第3実施形態では、第1実施形態と異なる部分を説明する。
第3実施形態の電子制御装置(ECU)1は、モータ制御処理およびRAM診断処理が変更された点以外は第1実施形態と同じである。
まず、第3実施形態のRAM診断処理の手順を図5を用いて説明する。
このRAM診断処理が実行されると、CPU11は、まずS510にて、S150と同様にして、CPU11への割り込みを禁止する。そしてS520にて、ECCエラー記憶レジスタ133をクリアする。これにより、ECCエラー記憶レジスタ133の記憶内容が消去される。
その後S530にて、診断異常フラグがセットされているか否かを判断する。ここで、診断異常フラグがセットされていない場合には(S330:NO)、S540にて、S600で設定される診断対象アドレスを先頭アドレスとして予め設定された診断単位バイト数(本実施形態では16バイト)分のデータをデータ記憶領域131から読み出し、S560に移行する。これにより、RAM13のECC機能が作動する。
一方、診断異常フラグがセットされている場合には(S530:YES)、S550にて、S600で設定される診断対象アドレスを先頭アドレスとして予め設定された診断単位バイト数(本実施形態では16バイト)分のデータをデータ記憶領域131から読み出し、その後、読み出したデータを、同一のアドレスに書き込み、S560に移行する。これにより、RAM13のECC機能が作動する。
そしてS560に移行すると、異常検出情報がECCエラー記憶レジスタ133に記憶されているか否かを判断する。ここで、異常検出情報がECCエラー記憶レジスタ133に記憶されていない場合には(S560:NO)、S580に移行する。一方、異常検出情報がECCエラー記憶レジスタ133に記憶されている場合には(S560:YES)、S570にて、データ記憶領域131内において予め設定されたECCエラーアドレス記憶領域に、現在の診断対象アドレスをECCエラーアドレスとして記憶し、S580に移行する。
そしてS580に移行すると、S170と同様にして、CPU11への割り込みを許可し、さらにS590にて、データ記憶領域131の全領域についてデータの読み出しが完了したか否かを判断する。ここで、全領域の読み出しが完了していない場合には(S590:NO)、S600にて、診断対象アドレスを診断単位バイト数分だけ次に移動させ、RAM診断処理を一旦終了する。
一方、データ記憶領域131の全領域についてデータの読み出しが完了した場合には(S590:YES)、S610にて、診断対象アドレスをリセットする。これにより、診断対象アドレスは、データ記憶領域131の先頭アドレスに設定される。
その後S620にて、ECCエラーアドレス記憶領域にECCエラーアドレスが記憶されているか否かを判断する。ここで、ECCエラーアドレスが記憶されていない場合には(S620:NO)、S630にて、診断異常フラグをクリアして、RAM診断処理を一旦終了する。一方、ECCエラーアドレスが記憶されている場合には(S630:YES)、S640にて、診断異常フラグをセットし、さらにS650にて、ECCエラーアドレスに対応するECCエラーカウンタをインクリメント(1加算)する。なお、ECCエラーカウンタは、ECCエラーアドレス毎に予め設けられている。そしてS650の処理が終了すると、RAM診断処理を一旦終了する。
次に、第3実施形態のモータ制御処理の手順を図6を用いて説明する。
このモータ制御処理が実行されると、CPU11は、まずS710にて、ECCエラーアドレス毎に設けられているECCエラーカウンタのうち、ECCエラーカウンタの値(ECCエラー回数)が予め設定されたフェールセーフ判定値(本実施形態では3回を示す値)以上であるものが存在するか否かを判断する。
ここで、ECCエラー回数がフェールセーフ判定値以上となるECCエラーカウンタが存在しない場合には(S710:NO)、S720にて、S20と同様にして、モータ制御を実行し、モータ制御処理を一旦終了する。
一方、ECCエラー回数がフェールセーフ判定値以上となるECCエラーカウンタが存在する場合には(S710:YES)、S730にて、ECCエラー回数がフェールセーフ判定値以上となるECCエラーカウンタに対応するECCエラーアドレスが、モータ制御に関連するデータが記憶されるアドレスであるか否かを判断する。
ここで、ECCエラーアドレスが、モータ制御に関連するデータが記憶されるアドレスである場合には(S730:YES)、S740にて、S30と同様にして、フェールセーフ制御を実行し、モータ制御処理を一旦終了する。
一方、ECCエラーアドレスが、モータ制御に関連するデータが記憶されるアドレスでない場合には(S730:NO)、S750にて、フェールセーフ制御として、ワーニングランプ信号(図1を参照)を出力することにより警告灯(不図示)を点灯させて、モータ制御処理を一旦終了する。
このように構成されたECU1では、予め設定された診断単位バイト数毎に、データ記憶領域131の全領域に記憶されているデータを読み出し(S540)、診断単位バイト数のデータを読み出す毎に、ECCエラー記憶レジスタ133に異常検出情報が記憶されているか否かを判断し(S560)、ECCエラー記憶レジスタ133に異常検出情報が記憶されている場合に(S560:YES)、判断の対象となった診断単位バイト数のデータが記憶されているアドレスを特定するための診断対象アドレスを記憶する(S570)。
これにより、診断単位バイト数毎に、データで異常が発生しているか否かを判断することができる。
したがって、記憶されているデータで異常が発生した場合に、異常が発生したデータのアドレスに基づいて、異常が発生したデータの内容を特定し、異常が発生したデータの内容に対応したフェールセーフ制御に移行するという処理が可能となる。
以上説明した実施形態において、S540,590,600の処理は本発明における読出手段、S560の処理は本発明における異常判断手段、S550,590,600の処理は本発明における書込手段、S510の処理は本発明における書込禁止手段、S570の処理は本発明における異常アドレス記憶手段、診断単位バイト数は本発明における読出単位数である。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態では、CPU11が実行する処理で、データの読み出し及び書き込みを行うものを示したが、DMAコントローラ14を備えている場合には、データの読み出し及び書き込みがDMAにより行われるようにしてもよい。これにより、CPU11を介すことなく、ECC機能を作動させることができるため、データの異常を検出するためにCPU11の処理負荷が増大するのを抑制することができる。
また上記第1実施形態では、処理負荷を分散するために、診断単位バイト数毎にデータ記憶領域131のデータの読み出し及び書き込みを行うものを示したが、データ記憶領域131の全領域について一度にデータの読み出し及び書き込みを行うようにしてもよい。
また上記第2実施形態では、モータ制御記憶領域の全体について一度にデータの読み出し及び書き込みを行うものを示したが、診断単位バイト数毎にモータ制御記憶領域のデータの読み出し及び書き込みを行うようにしてもよい。
また上記第2実施形態では、RAM13のデータ記憶領域131のうちの特定の領域で異常が発生しているか否かを判断するものを示したが、RAM13の物理的ページ毎に分割して異常が発生しているか否かを判断するようにしてもよい。
また上記実施形態では、RAM13のデータの読み出し及び書き込みを行う前に、CPU11への割り込みを禁止するものを示したが、RAM13でアクセス干渉が発生する懸念がない場合には、割り込みを禁止しないようにしてもよい。
1…ECU、11…CPU、13…RAM、131…データ記憶領域、132…ECC記憶領域、133…ECCエラー記憶レジスタ

Claims (5)

  1. データを書き込むときには、書き込むデータに基づいて誤り訂正符号を生成して、対応する書き込みデータに前記誤り訂正符号を付加し、記憶されているデータを読み出すときには、読み出すデータに付加されている前記誤り訂正符号を用いて、記憶されているデータにおける1ビットの誤りを訂正することができるとともに、記憶されているデータにおける2ビット以上の誤りを検出することができ、且つ、2ビット以上の誤りを検出したときにその旨を示す異常検出情報を、内部に予め設定された異常記憶領域(133)に記憶することができるECC(Error Correction Code)機能を搭載し、記憶されるデータの書き換えが可能である書換可能メモリ(13)と、
    前記書換可能メモリの記憶領域のうち予め設定された異常検出領域(131)に記憶されているデータを読み出す読出手段(S120,S130,S140,S340,S540,590,600)と、
    前記異常記憶領域に前記異常検出情報が記憶されているか否かを判断する異常判断手段(S190,S360,S560)と、
    前記異常記憶領域に前記異常検出情報が記憶されていると前記異常判断手段が判断した場合に、前記書換可能メモリの前記異常検出領域に記憶されているデータを読み出し、その後に、読み出したデータを、読み出したときと同じアドレスに書き込む書込手段(S130,S140,S160,S350,S550,590,600)とを備える
    ことを特徴とする電子制御装置(1)。
  2. 前記異常記憶領域に記憶されている前記異常検出情報を消去する消去手段(S320)を備え、
    前記読出手段(S340)は、前記消去手段が前記異常検出情報を消去した後に、前記異常検出領域に記憶されているデータを読み出し、
    前記異常判断手段(S360)は、前記異常検出領域に記憶されている全てのデータを読み出した後に、前記異常記憶領域に前記異常検出情報が記憶されているか否かを判断する
    ことを特徴とする請求項1に記載の電子制御装置。
  3. 前記読出手段(S540,590,600)は、予め設定された読出単位数毎に、前記異常検出領域に記憶されているデータを読み出し、
    前記異常判断手段(S560)は、前記読出手段が前記読出単位数のデータを読み出す毎に、前記異常記憶領域に前記異常検出情報が記憶されているか否かを判断し、
    前記異常記憶領域に前記異常検出情報が記憶されていると前記異常判断手段が判断した場合に、前記異常判断手段による判断の対象となった前記読出単位数のデータが記憶されているアドレスを特定するためのアドレス情報を記憶する異常アドレス記憶手段(S570)を備える
    ことを特徴とする請求項1に記載の電子制御装置。
  4. 前記読出手段によるデータの読み出しと、前記書込手段によるデータの読み出し及び書き込みは、DMA(Direct Memory Access)により行われる
    ことを特徴とする請求項1〜請求項3の何れか1項に記載の電子制御装置。
  5. 前記書込手段がデータを書き込む前に、前記書込手段以外による前記書換可能メモリへのデータ書き込みを禁止する書込禁止手段(S150,S310,S510)を備える
    ことを特徴とする請求項1〜請求項4の何れか1項に記載の電子制御装置。
JP2012189139A 2012-08-29 2012-08-29 電子制御装置 Active JP5835160B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012189139A JP5835160B2 (ja) 2012-08-29 2012-08-29 電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012189139A JP5835160B2 (ja) 2012-08-29 2012-08-29 電子制御装置

Publications (2)

Publication Number Publication Date
JP2014048744A true JP2014048744A (ja) 2014-03-17
JP5835160B2 JP5835160B2 (ja) 2015-12-24

Family

ID=50608403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012189139A Active JP5835160B2 (ja) 2012-08-29 2012-08-29 電子制御装置

Country Status (1)

Country Link
JP (1) JP5835160B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016081341A (ja) * 2014-10-17 2016-05-16 株式会社デンソー 電子制御装置
DE102016221234A1 (de) 2015-10-29 2017-05-04 Denso Corporation Elektronische steuereinheit
DE102017208872A1 (de) 2016-07-11 2018-01-11 Denso Corporation Elektronische Steuereinheit
JP2019094889A (ja) * 2017-11-22 2019-06-20 株式会社デンソー 車載制御装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6370357A (ja) * 1986-09-11 1988-03-30 Nec Corp メモリデ−タ訂正方式
JP2000066963A (ja) * 1998-08-25 2000-03-03 Unisia Jecs Corp マイコン用メモリの診断装置
JP2005149501A (ja) * 2003-11-14 2005-06-09 Hewlett-Packard Development Co Lp Dmaを使用して拡張カードでメモリをテストするためのシステムおよび方法
WO2007010829A1 (ja) * 2005-07-15 2007-01-25 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置、メモリコントローラ及び不良領域検出方法
JP2008250671A (ja) * 2007-03-30 2008-10-16 Yokogawa Electric Corp 情報処理装置および情報処理方法
US20090241010A1 (en) * 2008-03-01 2009-09-24 Kabushiki Kaisha Toshiba Memory system
JP2009217754A (ja) * 2008-03-12 2009-09-24 Toshiba Corp メモリシステム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6370357A (ja) * 1986-09-11 1988-03-30 Nec Corp メモリデ−タ訂正方式
JP2000066963A (ja) * 1998-08-25 2000-03-03 Unisia Jecs Corp マイコン用メモリの診断装置
JP2005149501A (ja) * 2003-11-14 2005-06-09 Hewlett-Packard Development Co Lp Dmaを使用して拡張カードでメモリをテストするためのシステムおよび方法
WO2007010829A1 (ja) * 2005-07-15 2007-01-25 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置、メモリコントローラ及び不良領域検出方法
JP2008250671A (ja) * 2007-03-30 2008-10-16 Yokogawa Electric Corp 情報処理装置および情報処理方法
US20090241010A1 (en) * 2008-03-01 2009-09-24 Kabushiki Kaisha Toshiba Memory system
JP2009217754A (ja) * 2008-03-12 2009-09-24 Toshiba Corp メモリシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016081341A (ja) * 2014-10-17 2016-05-16 株式会社デンソー 電子制御装置
DE102016221234A1 (de) 2015-10-29 2017-05-04 Denso Corporation Elektronische steuereinheit
JP2017084163A (ja) * 2015-10-29 2017-05-18 株式会社デンソー 電子制御装置
DE102017208872A1 (de) 2016-07-11 2018-01-11 Denso Corporation Elektronische Steuereinheit
JP2019094889A (ja) * 2017-11-22 2019-06-20 株式会社デンソー 車載制御装置

Also Published As

Publication number Publication date
JP5835160B2 (ja) 2015-12-24

Similar Documents

Publication Publication Date Title
JP5835160B2 (ja) 電子制御装置
JP5554974B2 (ja) データ処理用半導体装置
JP4227149B2 (ja) 電子制御装置の情報記憶方法
JP4789420B2 (ja) 車両制御システムにおけるデータ処理装置
JP6658417B2 (ja) 電子制御装置
JP2016081341A (ja) 電子制御装置
TW201530554A (zh) 操作記憶體之方法及記憶體裝置
JP6512065B2 (ja) 電子制御装置
JP2006513471A (ja) メモリアクセスエラーの検出及び/又は訂正方法、並びにこの方法を実行するための電子回路構成
JP2006286111A (ja) 半導体メモリの管理装置
JP2014075078A (ja) 電子制御装置
JP2010097432A (ja) Ram診断装置、そのプログラム
JP2012174198A (ja) 異常検出装置、および異常検出プログラム
JP2016134082A (ja) マイクロコンピュータ
JP7024582B2 (ja) 車載制御装置
JP4353126B2 (ja) 車両状態判定装置
JP2007015643A (ja) 車両用電子制御装置
JP4851525B2 (ja) データ処理システムおよびその駆動方法
JP6183251B2 (ja) 電子制御装置
JP2013232028A (ja) マイクロコンピュータ
JP6555184B2 (ja) 車載制御装置
JP6295928B2 (ja) 制御装置
JP2009083777A (ja) 車両制御装置およびプログラム
JP2008225835A (ja) メモリアクセス制御方法及び回路、並びに情報処理装置
JP2009282849A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150914

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: 20151006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151019

R151 Written notification of patent or utility model registration

Ref document number: 5835160

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250