(57)【特許請求の範囲】
【請求項１】
制御部（５）と、ＥＣＣ機能を有するメモリ（７）と、を有し、前記制御部により前記メモリに対するデータの書き込み及び読み出しが行われるマイクロコンピュータ（２）を備えた電子制御装置（１）であって、
前記制御部は、読み出し対象のデータを前記メモリから読み出し、その読み出したデータに対応するＥＣＣを算出し、その読み出したデータの書き込み時に算出して書き込んだＥＣＣを前記メモリから読み出し、その算出したＥＣＣと、その読み出したＥＣＣとを比較し、データの誤りが発生したか否かを判定し、２ビット以上の誤りであるか否かを判定することで、ＥＣＣ機能によりＥＣＣ異常を検出すると、読み出し対象のデータを前記メモリから再度読み出し、その読み出したデータに対応するＥＣＣを再度算出し、その読み出したデータの書き込み時に算出して書き込んだＥＣＣを前記メモリから再度読み出し、その再度算出したＥＣＣと、その再度読み出したＥＣＣとを比較し、データの誤りが発生したか否かを再度判定することで、ＥＣＣ異常からの復帰を試み、ＥＣＣ異常からの復帰を試みた回数が第１の所定回数を超えてもＥＣＣ異常から復帰しなかった場合に、ＥＣＣ機能を無効化した状態で、そのＥＣＣ異常が検出されたデータを前記メモリから読み出した後に、ＥＣＣ機能を有効化に戻した状態で、その読み出したデータを前記メモリに書き込む電子制御装置。
【請求項２】
請求項１に記載した電子制御装置において、
前記制御部は、ＥＣＣ異常を検出した回数が第２の所定回数を超えた場合に、ＥＣＣ機能を無効化する電子制御装置。
【請求項３】
請求項２に記載した電子制御装置において、
前記制御部は、ＥＣＣ異常を検出した回数が第２の所定回数を超えた場合に、ＥＣＣ機能を無効化し、更にフェールセーフ処理を行う電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置に関する。
【背景技術】
【０００２】
従来より、例えば車両制御を行う電子制御装置（ＥＣＵ：Electronic Control Unit）等に設けられるマイクロコンピュータ（以下、マイコンと称する）は、ＣＰＵ（Central Processing Unit）と、そのＣＰＵによりデータの書き込み及び読み出しが行われるメモリとを有する構成となっている。メモリが例えばビット化けやビット固着等によるデータの誤りを訂正及び検出するためのＥＣＣ（Error Correction Code）機能を備えている構成では、ＣＰＵは以下のように動作する。即ち、ＣＰＵは、データをメモリに書き込む時には、書き込み対象のデータを書き込み、その書き込んだデータに対応するＥＣＣを算出して書き込む。その後、ＣＰＵは、データをメモリから読み出す時には、読み出し対象のデータを読み出し、その読み出したデータに対応するＥＣＣを算出する。そして、ＣＰＵは、その読み出したデータの書き込み時に算出して書き込んだＥＣＣを読み出し、その算出したＥＣＣと、その読み出したＥＣＣとを比較し、データの誤りが発生したか否かを判定する。ＣＰＵは、１ビットの誤りを判定すると、その読み出したデータをＥＣＣにより自動訂正し、２ビット以上の誤りを判定すると、ＥＣＣ異常を検出する（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−４８７４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＣＰＵは、ＥＣＣ異常を検出すると、そのＥＣＣ異常が検出されたデータを再度読み出してＥＣＣ異常からの復帰を試みるが、ＥＣＣ異常からの復帰を所定回数繰り返してもＥＣＣ異常から復帰しない（即ちＥＣＣ異常が継続する）場合には、マイコンをリセットさせてＥＣＣ異常からの復帰を試みることが想定される。しかしながら、マイコンをリセットさせると、リセット期間（即ちリセット処理の開始から完了までの期間）中はマイコンが停止する。その結果、車両制御を行う電子制御装置にマイコンが設けられる構成では、マイコンが停止している期間で車両制御を行えなくなる。このような事情から、マイコンをリセットさせずにＥＣＣ異常を復帰させたい要望がある。
【０００５】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、ＥＣＣ異常を検出した場合に、マイコンをリセットさせずにＥＣＣ異常を復帰させることができる電子制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載した発明によれば、電子制御装置（１）のマイクロコンピュータ（以下、マイコンと称する）（２）において、制御部（５）は、ＥＣＣ機能によりＥＣＣ異常を検出すると、ＥＣＣ異常からの復帰を試みる。制御部は、そのＥＣＣ異常からの復帰を試みた回数が第１の所定回数を超えてもＥＣＣ異常から復帰しないと、ＥＣＣ機能を無効化した状態で、そのＥＣＣ異常が検出されたデータをメモリ（７）から読み出す。その後、制御部は、ＥＣＣ機能を有効化に戻した状態で、その読み出したデータをメモリに書き込む。ＥＣＣ機能を無効化してデータを読み出すことで、ＥＣＣ異常を検出せずに、ＥＣＣ異常が検出されたデータを読み出すことができる。その状態からＥＣＣ機能を有効化してデータを書き込み、その書き込んだデータに対応するＥＣＣを算出して書き込むことで、ＥＣＣ異常を復帰させることができる。この場合、マイコンをリセットさせる必要がなく、マイコンをリセットさせずにＥＣＣ異常を復帰させることができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態を示す機能ブロック図
【図２】データ読み出し処理を示すフローチャート
【図３】ＥＣＣ異常検出時処理を示すフローチャート
【図４】ＥＣＣ異常復帰処理を示すフローチャート
【図５】データ書き込み処理を示すフローチャート
【図６】データの読み出し及び書き込みの態様を示す図
【発明を実施するための形態】
【０００８】
以下、本発明を、車両制御として車両走行用のモータの駆動を制御する電子制御装置（ＥＣＵ：Electronic Control Unit）に適用した一実施形態について図面を参照して説明する。電子制御装置１は、マイクロコンピュータ（以下、マイコンと称する）２を有する。マイコン２は、アクセルペダルの踏み込み量を検出する図示しないアクセル開度センサから入力するアクセル開度信号等を用いて車両の走行用モータ３の制御を行う。走行用モータ３は、直流電源＋Ｂからリレー４を介して電源電圧が供給されて駆動する。リレー４は、マイコン２から入力する制御信号によりオン状態及びオフ状態を択一的に切り替える。
【０００９】
マイコン２は、ＣＰＵ（Central Processing Unit）５（制御部に相当）と、ＲＯＭ（Read Only Memory）６と、ＲＡＭ（Random Access Memory）７（メモリに相当）と、ＤＭＡ（Direct Memory Access）コントローラ８と、割込コントローラ９と、入出力ポート（Ｉ／Ｏ：Input／Output）１０と、これらを相互に接続するバス１１とを有する。ＣＰＵ５は、非遷移的実体的記録媒体であるＲＯＭ６に格納されているコンピュータプログラムを実行することで、コンピュータプログラムに対応する処理を実行し、電子制御装置１の動作全般を制御する。
【００１０】
ＣＰＵ５は、ＡＣＣ（アクセサリ）のオンオフを示すＡＣＣ信号及びＩＧ（イグニッション）のオンオフを示すＩＧ信号により車両電源のオンオフを判定し、マイコン２の起動状態及び停止状態を切り替える。即ち、ＣＰＵ５は、ＡＣＣ信号のオン又はＩＧ信号のオンにより車両電源のオンを判定すると、マイコン２を停止状態から起動状態に切り替える。一方、ＣＰＵ５は、ＡＣＣ信号のオフ且つＩＧ信号のオフにより車両電源のオフを判定すると、マイコン２を起動状態から停止状態に切り替える。
【００１１】
ＲＡＭ７は、例えばビット化けやビット固着等によるデータの誤りを訂正及び検出するための誤り訂正符号（ＥＣＣ：Error Correction Code）を生成するＥＣＣ機能を有する。ＲＡＭ７は、データを記憶するためのデータ記憶領域７ａと、ＥＣＣを記憶するためのＥＣＣ記憶領域７ｂと、データ記憶領域７ａに記憶されているデータを一時的に退避させるためのレジスタ７ｃとを有する。
【００１２】
ＣＰＵ５は、データをＲＡＭ７に書き込む時には、書き込み対象のデータをデータ記憶領域７ａに書き込み、その書き込んだデータに対応するＥＣＣを算出してＥＣＣ記憶領域７ｂに書き込む。その後、ＣＰＵ５は、データをＲＡＭ７から読み出す時には、読み出し対象のデータをデータ記憶領域７ａから読み出し、その読み出したデータに対応するＥＣＣを算出する。そして、ＣＰＵ５は、その読み出したデータの書き込み時に算出して書き込んだＥＣＣをＥＣＣ記憶領域７ｂから読み出し、そのデータの読み出し時に算出したＥＣＣと、そのデータの書き込み時に算出したＥＣＣとを比較し、データの誤りが発生したか否かを判定する。ＣＰＵ５は、データの誤りが発生していないと判定すると、その読み出したデータをそのまま処理する。一方、ＣＰＵ５は、１ビットの誤りを判定すると、自動訂正処理を行い、その読み出したデータをＥＣＣにより自動訂正する。又、ＣＰＵ５は、２ビット以上の誤りを判定すると、ＥＣＣ異常を検出し、詳しくは後述するように、そのＥＣＣ異常を検出した回数であるＥＣＣ異常検出カウンタが第２の所定回数以下であることを条件としてＥＣＣ異常復帰処理を行う。
【００１３】
ＤＭＡコントローラ８は、ＣＰＵ５からＤＭＡ転送要求信号を入力すると、外部から入出力ポート１０に入力された特定のデータをＣＰＵ５の処理を介さずにＲＡＭ７に転送して記憶させる。割込コントローラ９は、様々な割り込み要因の発生を示す信号を入力し、入力した信号が示す割り込み要因毎に予め設定された優先度に基づいて、優先度が最も高い割り込み要因に対応した割込要求信号をＣＰＵ５に出力する。又、割込コントローラ９は、入力した信号が示す割り込み要因の優先度とＣＰＵ５が実行中の処理の優先度とを比較し、ＣＰＵ５が実行中の処理の優先度よりも割り込み要因の優先度の方が高い場合に、割り込み要因に対応した割込要求信号をＣＰＵ５に出力する。入出力ポート１０は、上記したＡＣＣ信号、ＩＧ信号及びアクセル開度信号を外部から入力すると共に、ワーニングランプ信号を外部に出力する。
【００１４】
次に、上記した構成の作用について、図２から図５を参照して説明する。
マイコン２において、ＣＰＵ５は、本発明に関連して以下の処理を行う。尚、ＣＰＵ５は、ＥＣＣ異常を検出した回数を計数する機能としてＥＣＣ異常検出カウンタを有し、ＥＣＣ異常からの復帰を試みた回数を計数する機能としてＥＣＣ異常復帰カウンタを有する。ＥＣＣ異常検出カウンタは最初に初期値が設定された後では初期化されないカウンタであり、ＥＣＣ異常復帰カウンタはＣＰＵ５が後述するＥＣＣ異常復帰処理を開始する毎に初期化されるカウンタである。マイコン２の製造段階ではＥＣＣ異常検出カウンタの初期値は「０」に設定される。
【００１５】
ＣＰＵ５は、マイコン２が起動状態であるときに所定のデータ読み出し条件が成立すると、データ読み出し処理を開始する。ＣＰＵ５は、データ読み出し処理を開始すると、指定された読み出し対象のデータをデータ記憶領域７ａから読み出し（Ｓ１）、その読み出したデータに対応するＥＣＣを算出する（Ｓ２）。次いで、ＣＰＵ５は、その読み出したデータの書き込み時に算出して書き込んだＥＣＣをＥＣＣ記憶領域７ｂから読み出す（Ｓ３）。そして、ＣＰＵ５は、その算出したＥＣＣと、その読み出したＥＣＣとを比較し、データの誤りが発生したか否かを判定する（Ｓ４）。
【００１６】
ＣＰＵ５は、両者が一致してデータの誤りが発生していないと判定すると（Ｓ４：ＹＥＳ）、その読み出したデータをそのまま処理し、データ読み出し処理を終了し、次のデータ読み出し条件の成立を待機する。一方、ＣＰＵ５は、両者が一致せずにデータの誤りが発生したと判定すると（Ｓ４：ＮＯ）、１ビットの誤りであるか否かを判定する（Ｓ５）。ＣＰＵ５は、１ビットの誤りであると判定すると（Ｓ５：ＹＥＳ）、自動訂正処理に移行する（Ｓ６）。ＣＰＵ５は、自動訂正処理を開始すると、その読み出したデータをＥＣＣにより自動訂正して処理する。そして、ＣＰＵ５は、自動訂正処理を終了すると、データ読み出し処理に復帰し（即ちリターンし）、データ読み出し処理を終了し、次のデータ読み出し条件の成立を待機する。又、ＣＰＵ５は、１ビットの誤りでなく２ビット以上の誤りであると判定すると（Ｓ５：ＮＯ）、ＥＣＣ異常を検出し、ＥＣＣ異常検出時処理に移行する（Ｓ７）。
【００１７】
ＣＰＵ５は、ＥＣＣ異常検出時処理を開始すると、ＥＣＣ異常検出カウンタをインクリメントし（即ち「１」加算し）（Ｓ１１）、インクリメントした後のＥＣＣ異常検出カウンタが第２の所定回数（例えば３回）以下であるか否かを判定する（Ｓ１２）。ＣＰＵ５は、異常検出カウンタが第２の所定回数以下であると判定すると（Ｓ１２：ＹＥＳ）、ＥＣＣ異常復帰処理に移行する（Ｓ１３）。
【００１８】
ＣＰＵ５は、ＥＣＣ異常復帰処理を開始すると、ＥＣＣ異常復帰カウンタを初期化し（即ち「０」に設定し）（Ｓ２１）、指定された読み出し対象のデータをデータ記憶領域７ａから再度読み出し（Ｓ２２）、その読み出したデータに対応するＥＣＣを再度算出する（Ｓ２３）。次いで、ＣＰＵ５は、その読み出したデータの書き込み時に算出して書き込んだＥＣＣをＥＣＣ記憶領域７ｂから再度読み出す（Ｓ２４）。そして、ＣＰＵ５は、その再度算出したＥＣＣと、その再度読み出したＥＣＣとを比較し、データの誤りが発生したか否かを再度判定する（Ｓ２５）。
【００１９】
ＣＰＵ５は、両者が一致してデータの誤りが発生していないと判定すると（Ｓ２５：ＹＥＳ）、ＥＣＣ異常復帰処理を終了し、ＥＣＣ異常検出時処理に復帰する。一方、ＣＰＵ５は、両者が一致せずにデータの誤りが発生していると再度判定すると（Ｓ２５：ＮＯ）、１ビットの誤りであるか否かを再度判定する（Ｓ２６）。ＣＰＵ５は、１ビットの誤りであると判定すると（Ｓ２６：ＹＥＳ）、この場合も、ＥＣＣ異常復帰処理を終了し、ＥＣＣ異常検出時処理に復帰する。
【００２０】
又、ＣＰＵ５は、１ビットの誤りでなく２ビット以上の誤りであると判定すると（Ｓ２６：ＮＯ）、ＥＣＣ異常復帰カウンタをインクリメントし（即ち「１」加算し）（Ｓ７）、インクリメントした後のＥＣＣ異常復帰カウンタが第１の所定回数（例えば３回）以下であるか否かを判定する（Ｓ２８）。ＣＰＵ５は、異常復帰カウンタが第１の所定回数以下であると判定すると（Ｓ２８：ＹＥＳ）、ステップＳ２２に戻り、ステップＳ２２以降を繰り返して行う。一方、ＣＰＵ５は、異常復帰カウンタが第１の所定回数を超えたと判定すると（Ｓ２８：ＮＯ）、ＥＣＣ機能を無効化し、ＥＣＣ機能を無効化した状態で、指定された読み出し対象のデータをデータ記憶領域７ａから再度読み出す（Ｓ３０）。このとき、ＣＰＵ５は、その読み出したデータをレジスタ５ｃに一時的に退避させる。そして、ＣＰＵ５は、ＥＣＣ機能を有効化し（即ち無効化から有効化に戻し）（Ｓ３１）、ＥＣＣ機能を有効化した状態で、データ書き込み処理に移行する（Ｓ３２）。
【００２１】
ＣＰＵ５は、データ書き込み処理を開始すると、そのレジスタ５ｃに一時的に退避させた書き込み対象のデータをデータ記憶領域７ａに書き込み（Ｓ４１）、その書き込んだデータに対応するＥＣＣを算出する（Ｓ４２）。そして、ＣＰＵ５は、その算出したＥＣＣをＥＣＣ記憶領域７ｂに書き込み（Ｓ４３）、データ書き込み処理を終了し、ＥＣＣ異常復帰処理に復帰する。
【００２２】
一方、ＣＰＵ５は、異常検出カウンタが第２の所定回数を超えたと判定すると（Ｓ１２：ＮＯ）、ＥＣＣ機能を無効化し（Ｓ１１）、図示しないフェールセーフ処理を行い（Ｓ１２）、異常検出時処理を終了し、データ読み出し処理に復帰する。ＣＰＵ５は、異常検出カウンタが第２の所定回数を超えたと判定すると、ＲＡＭ７が恒久的に故障したと判定し、少なくともマイコン２が起動状態から停止状態に切り替わるまで、即ち、少なくとも車両電源がオンからオフに切り替わるまでＥＣＣ機能を無効化し、フェールセーフ処理として例えば走行モードを退避走行モードに移行させる処理等を行う。このとき、ＣＰＵ５は、例えばワーニングランプ信号を入出力ポート１０から図示しない警告灯に出力させ、電子制御装置１の部品不具合の発生により走行モードを退避走行モードに移行させた旨を運転者に通知しても良い。
【００２３】
ＣＰＵ５は、以上に説明した一連の処理を行うことで、図６に示すように、ＥＣＣ異常を検出し、ＥＣＣ異常からの復帰を試みた回数が第１の所定回数を超えてもＥＣＣ異常から復帰しなければ、ＥＣＣ機能を無効化した状態で、データをデータ記憶領域６ａから読み出すことで、ＥＣＣ異常を発生させずに、ＥＣＣ異常が検出されたデータを読み出し、その読み出したデータをレジスタ７ｃに一時的に退避させる。その後、ＣＰＵ５は、ＥＣＣ機能を有効化した状態で、その退避させたデータをデータ記憶領域６ａに書き込み、その書き込んだデータに対応するＥＣＣを算出して書き込むことで、ＥＣＣ異常を復帰させる。
【００２４】
以上のように本実施形態によれば、次に示す作用効果を得ることができる。
電子制御装置１のマイコン２において、ＣＰＵ５は、ＥＣＣ機能によりＥＣＣ異常を検出すると、ＥＣＣ異常からの復帰を試み、そのＥＣＣ異常からの復帰を試みた回数が第１の所定回数を超えてもＥＣＣ異常から復帰しないと、ＥＣＣ機能を無効化した状態で、そのＥＣＣ異常が検出されたデータをＲＡＭ７から読み出す。その後、ＣＰＵ５は、ＥＣＣ機能を有効化した状態で、その読み出したデータをＲＡＭ７に書き込むように構成した。ＥＣＣ機能を無効化してデータを読み出すことで、ＥＣＣ異常を検出せずに、ＥＣＣ異常が検出されたデータを読み出すことができる。その状態からＥＣＣ機能を有効化してデータを書き込み、その書き込んだデータに対応するＥＣＣを算出して書き込むことで、ＥＣＣ異常を復帰させることができる。これにより、マイコン２をリセットさせずにＥＣＣ異常を復帰させることができる。
【００２５】
又、ＣＰＵ５は、ＥＣＣ異常を検出した回数が第２の所定回数を超えると、ＥＣＣ機能を無効化し、更にフェールセーフ処理を行うように構成した。これにより、ＥＣＣ異常を頻繁に検出する状況ではＲＡＭ７が恒久的に故障したと判定することで、これ以降の不要な動作を未然に回避することができ、更に安全性を確保することができる。
【００２６】
本発明は、上記した実施形態にのみ限定されるものではなく、以下のように変形又は拡張することができる。
本実施形態では、車両制御として車両走行用のモータの駆動を制御する電子制御装置に適用した構成を例示したが、他の車両制御を行う電子制御装置に適用しても良い。
本実施形態では、ＥＣＣ異常を検出した回数が第２の所定回数を超えると、ＥＣＣ機能を無効化し、更にフェールセーフ処理を行う構成を例示したが、フェールセーフ処理を行わず、ＥＣＣ機能を無効化するだけでも良い。
【符号の説明】
【００２７】
図面中、１は電子制御装置、２はマイクロコンピュータ、５はＣＰＵ（制御部）、７はＲＡＭ（メモリ）である。
【図１】
0006512065.tif 000002
【図２】
0006512065.tif 000003
【図３】
0006512065.tif 000004
【図４】
0006512065.tif 000005
【図５】
0006512065.tif 000006
【図６】
0006512065.tif 000007