(57)【特許請求の範囲】
【請求項１】
制御対象（８０）を制御する電子制御装置（１０）であって、
前記制御対象を制御するときに用いる制御データ（４１）を記憶するＲＯＭ（１３）と、
前記制御データを一時的に記憶可能なＲＡＭ（１４）と、
前記ＲＡＭに記憶された前記制御データを読み出し、読み出した前記制御データを用いて演算を行うことにより前記制御対象を制御する制御手段（１１、５１、５２、５３）と、
前記制御手段により前記制御データが読み出されたとき、読み出された前記制御データに１ビットのエラーが存在する場合、当該エラーを訂正可能なエラー訂正手段（３３）と、
前記制御手段により前記制御データが読み出されたとき、読み出された前記制御データに２ビット以上のエラーが存在する場合、エラー検出信号を出力する信号出力手段（３２）と、
前記信号出力手段が出力した前記エラー検出信号が入力されると、当該エラー検出信号を情報として記憶するエラー情報レジスタ（２３）と、
前記信号出力手段が出力した前記エラー検出信号が入力された場合、「前記制御データに２ビット以上のエラーが生じたこと」を検出する第１エラー検出手段（２２）と、
所定の周期で前記エラー情報レジスタから情報を読み出し、読み出した情報に前記エラー検出信号が含まれている場合、「前記制御データに２ビット以上のエラーが生じたこと」を検出する第２エラー検出手段（１１、６０）と、を備え、
前記第１エラー検出手段が機能しなくなった場合、前記第２エラー検出手段により、「前記制御データに２ビット以上のエラーが生じたこと」を検出可能である電子制御装置。
【請求項２】
前記第１エラー検出手段および前記第２エラー検出手段は、「前記制御データに２ビット以上のエラーが生じたこと」を検出したとき、前記エラー情報レジスタの情報の内容を消去し、
前記第２エラー検出手段が「前記制御データに２ビット以上のエラーが生じたこと」を検出した場合、「前記第１エラー検出手段に異常が生じたこと」を検出する異常検出手段（１１）をさらに備えることを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記第２エラー検出手段は、「前記制御データに２ビット以上のエラーが生じたこと」を検出したとき、前記エラー情報レジスタの情報の内容を消去し、
前記第２エラー検出手段が「前記制御データに２ビット以上のエラーが生じたこと」を検出したとき、検出するまでの所定の期間内に前記第１エラー検出手段が「前記制御データに２ビット以上のエラーが生じたこと」を検出しなかった場合、「前記第１エラー検出手段に異常が生じたこと」を検出する異常検出手段（１１）をさらに備えることを特徴とする請求項１に記載の電子制御装置。
【請求項４】
前記所定の期間は、前記第２エラー検出手段が前記エラー情報レジスタから前回情報を読み出してから、今回情報を読み出し「前記制御データに２ビット以上のエラーが生じたこと」を検出するまでの期間であることを特徴とする請求項３に記載の電子制御装置。
【請求項５】
前記第１エラー検出手段が検出したエラーの回数、または、前記第２エラー検出手段が検出したエラーの回数が所定の回数を超えた場合、前記電子制御装置を再起動によりリセットするリセット手段（１１）をさらに備えることを特徴とする請求項１〜４のいずれか一項に記載の電子制御装置。
【請求項６】
前記リセット手段が前記電子制御装置をリセットした回数が所定の回数を超えた場合、前記電子制御装置を停止する停止手段（１１）をさらに備えることを特徴とする請求項５に記載の電子制御装置。
【請求項７】
請求項１〜６のいずれか一項に記載の電子制御装置（１０）と、
前記電子制御装置によって制御され、操舵アシストトルクを出力可能なモータ（８０）と、
を備える電動パワーステアリング装置（１）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象を制御する電子制御装置、および、これを用いた電動パワーステアリング装置に関する。
【背景技術】
【０００２】
従来、ＲＡＭから読み出した制御データのエラーを検出可能な電子制御装置が知られている。例えば特許文献１に記載された電子制御装置では、ＥＣＣ（Error Correction Code）を付加した制御データをＲＡＭに記憶することにより、読み出した制御データに１ビットのエラーが存在する場合、当該エラーを訂正し、読み出した制御データに２ビット以上のエラーが存在する場合、制御データのエラーとして検出している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−８６６３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の電子制御装置では、読み出した制御データに２ビット以上のエラーが存在する場合、割り込みコントローラにより割り込み処理を実行し、制御データのエラーとして検出している。しかしながら、割り込みコントローラに故障等の異常が生じ、割り込みコントローラが機能しなくなった場合、制御データのエラーを検出できなくなるおそれがある。
【０００５】
また、特許文献１の電子制御装置では、制御データのエラーを検出した回数が所定の回数を超えた場合、制御対象の制御を停止することにより、エラーを含む制御データによる制御対象の誤作動の防止を図っている。しかしながら、特許文献１の電子制御装置では、上述のように割り込みコントローラに異常が生じ、割り込みコントローラが機能しなくなった場合、制御データのエラーを検出することができず、制御対象の制御の停止ができないおそれがある。この場合、エラーを含む制御データにより制御対象が誤作動するおそれがある。
【０００６】
本発明は、上述の問題に鑑みてなされたものであり、その目的は、制御データのエラー検出のための手段の一部に異常が生じた場合でも、制御データのエラーの検出を継続可能な電子制御装置、および、これを用いた電動パワーステアリング装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、制御対象を制御する電子制御装置であって、ＲＯＭとＲＡＭと制御手段とエラー訂正手段と信号出力手段とエラー情報レジスタと第１エラー検出手段と第２エラー検出手段とを備えている。
ＲＯＭは、制御対象を制御するときに用いる制御データを記憶している。ＲＡＭは、制御データを一時的に記憶可能である。制御手段は、ＲＡＭに記憶された制御データを読み出し、読み出した制御データを用いて演算を行うことにより制御対象を制御する。
【０００８】
エラー訂正手段は、制御手段により制御データが読み出されたとき、読み出された制御データに１ビットのエラーが存在する場合、当該エラーを訂正可能である。これにより、制御データに１ビットのエラーが存在しても、当該エラーをエラー訂正手段により訂正し、通常通り制御対象の制御を継続することができる。信号出力手段は、制御手段により制御データが読み出されたとき、読み出された制御データに２ビット以上のエラーが存在する場合、エラー検出信号を出力する。
【０００９】
エラー情報レジスタは、信号出力手段が出力したエラー検出信号が入力されると、当該エラー検出信号を情報として記憶する。第１エラー検出手段は、信号出力手段が出力したエラー検出信号が入力された場合、「制御データに２ビット以上のエラーが生じたこと」を検出する。第２エラー検出手段は、所定の周期でエラー情報レジスタから情報を読み出し、読み出した情報にエラー検出信号が含まれている場合、「制御データに２ビット以上のエラーが生じたこと」を検出する。
【００１０】
本発明では、第１エラー検出手段または第２エラー検出手段により、「制御データに２ビット以上のエラーが生じたこと」を検出することができる。また、本発明では、第１エラー検出手段が機能しなくなった場合、第２エラー検出手段により、「制御データに２ビット以上のエラーが生じたこと」を検出することができる。
【００１１】
なお、本発明では、電子制御装置が、例えば、検出したエラーの回数により電子制御装置をリセット、あるいは、停止する手段をさらに備える場合、制御データにエラーが発生しているとき、電子制御装置をリセットまたは停止することができ、エラーを含む制御データによる制御対象の誤作動を防ぐことができる。特に、第２エラー検出手段は所定の周期でエラーの検出を試みるため、当該所定の周期、および、電子制御装置をリセットあるいは停止する場合のエラー検出回数を適宜設定することにより、安全上の許容時間内に電子制御装置をリセットまたは停止することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態による電子制御装置を適用した電動パワーステアリング装置を示す概略図。
【図２】本発明の第１実施形態による電子制御装置の概略図。
【図３】本発明の第１実施形態による電子制御装置のＲＡＭ、および、その近傍を示す概略図。
【図４】本発明の第１実施形態による電子制御装置のマイコンの作動を説明するための図。
【図５】本発明の第１実施形態の電子制御装置によるエラー検出に関する処理を示すフロー図。
【図６】本発明の第１実施形態による電子制御装置の作動の一例を示すタイムチャート。
【図７】本発明の第２実施形態による電子制御装置の作動の一例を示すタイムチャート。
【発明を実施するための形態】
【００１３】
以下、本発明の複数の実施形態による電子制御装置、および、これを用いた電動パワーステアリング装置を図面に基づき説明する。なお、複数の実施形態において、実質的に同一の構成部位には同一の符号を付し、説明を省略する。
【００１４】
（第１実施形態）
本発明の一実施形態による電子制御装置、および、これを用いた電動パワーステアリング装置を図１に示す。
電子制御装置（以下、「ＥＣＵ」という）１０が適用される電動パワーステアリング装置１は、例えば自動車等のハンドル操作をアシストするための装置であり、自動車のステアリングシステム９０に設けられる。
【００１５】
電動パワーステアリング装置１には、ハンドル９１に接続されたステアリングシャフト９２にトルクセンサ９４が設けられている。トルクセンサ９４は、運転者からハンドル９１（ステアリングシャフト９２）に入力される操舵トルクを検出する。
【００１６】
ステアリングシャフト９２の先端にはピニオンギア９６が設けられており、ピニオンギア９６はラック軸９７に噛み合っている。ラック軸９７の両端には、タイロッド等を介して一対の車輪９８が回転可能に連結されている。
【００１７】
これにより、運転者がハンドル９１を回転させると、ハンドル９１に接続されたステアリングシャフト９２が回転し、ステアリングシャフト９２の回転運動は、ピニオンギア９６によってラック軸９７の直線運動に変換され、ラック軸９７の直線運動変位に応じた角度について一対の車輪９８が操舵される。
【００１８】
電動パワーステアリング装置１は、操舵アシストトルクを発生するモータ８０、モータ８０の回転を減速してステアリングシャフト９２に伝える減速ギア８９、および、モータ駆動装置２を備える。モータ８０は３相ブラシレスモータであり、減速ギア８９を正逆回転させる。モータ駆動装置２は、ＥＣＵ１０を備える。モータ駆動装置２は、モータ８０の回転角を検出する回転角センサ８５、上述のトルクセンサ９４、および、車速を検出する車速センサ９５を含む。
この構成により、電動パワーステアリング装置１は、ハンドル９１の操舵を補助するための操舵アシストトルクをモータ８０から発生し、ステアリングシャフト９２に伝達する。
【００１９】
図２にＥＣＵ１０のシステム概略図を示す。ＥＣＵ１０は、マイコン１１を有している。マイコン１１は、上述の回転角センサ８５、トルクセンサ９４および車速センサ９５等から入力した信号に基づき、ハンドル９１の操舵を補助（アシスト）するための出力（操舵アシストトルク）を算出する。そして、算出した出力をモータ８０から発生させるための電流指令値を算出し、モータ８０に流れる電流が算出した電流指令値と一致するよう、モータ８０に供給する電力を制御する。これにより、マイコン１１は、モータ８０の駆動を制御可能である。ここで、モータ８０は、特許請求の範囲における「制御対象」に対応している。
【００２０】
マイコン１１は、ＣＰＵ１２、ＲＯＭ１３、ＲＡＭ１４、バス１５、割り込みコントローラ２２およびエラー情報レジスタ２３等を有している。
ＲＯＭ１３は、ＣＰＵ１２が実行する各種プログラム等が記憶されている、読み出し専用の記憶素子である。本実施形態では、ＲＯＭ１３は、モータ８０を制御するためのプログラムや数値データ等を制御データとして記憶している。
【００２１】
ＲＡＭ１４は、ＣＰＵ１２によって演算された演算結果や、ＲＯＭ１３に記憶されているプログラムを実行するため一時的に制御データを記憶し、作業領域として使用される、書き込み、および、読み出し可能な記憶素子である。
バス１５は、ＣＰＵ１２とＲＯＭ１３とＲＡＭ１４との間を電気的に接続している。バス１５は、ＣＰＵ１２とＲＯＭ１３とＲＡＭ１４との間でアドレスや制御データを伝達するための信号ラインである。
【００２２】
ＲＯＭ１３およびＲＡＭ１４は、それぞれ、ＥＣＣ回路部３０を有している。ＥＣＣ回路部３０は、エラー検出およびエラー訂正のための冗長データを記憶し、冗長データを使用して、制御データに存在する２ビット以上のエラーの検出と制御データに存在する１ビットのエラーの訂正を行う。
より詳細には、図３に示すように、ＥＣＣ回路部３０は、ＥＣＣ生成部３１、信号出力部３２およびエラー訂正部３３を有している。
【００２３】
ＥＣＣ生成部３１は、ＲＡＭ１４に対する書き込み要求が発生すると、ＲＡＭインターフェース２１を経由して制御データ４１を入力し、当該データに基づくＥＣＣ（Error Correction Code）４２を生成する。そして、ＥＣＣ回路部３０は、ＥＣＣ生成部３１で生成したＥＣＣ４２を制御データ４１に付加してＲＡＭ１４の所定のアドレスに記憶する。ここで、本実施形態では、制御データ４１のビット数は３２ビット、ＥＣＣ４２のビット数は７ビットとする。
【００２４】
信号出力部３２は、ＲＡＭ１４に対する読み出し要求が発生すると、読み出し対象の制御データ４１のＥＣＣ４２に基づき、制御データ４１にエラーが存在するか否かを確認する。信号出力部３２は、読み出し対象の制御データ４１に２ビット以上のエラーが存在した場合、エラー検出信号を割り込みコントローラ２２およびエラー情報レジスタ２３に出力する。一方、信号出力部３２は、読み出し対象の制御データ４１に１ビットのエラーが存在した場合、エラー検出信号を出力することなく、エラー訂正信号をエラー訂正部３３に出力する。ここで、信号出力部３２は、特許請求の範囲における「信号出力手段」に対応している。
【００２５】
エラー訂正部３３は、信号出力部３２が出力したエラー訂正信号が入力された場合、すなわち、信号出力部３２で１ビットのエラーが検出された場合、入力されたエラー訂正信号に基づき制御データ４１のエラーを訂正し、エラーが訂正された制御データ４１を、ＲＡＭインターフェース２１を経由して読み出し先に伝達する。一方、エラー訂正部３３は、信号出力部３２でエラーが検出されなかった場合、または、２ビット以上のエラーが検出された場合、読み出し対象の制御データ４１をそのまま、ＲＡＭインターフェース２１を経由して読み出し先に伝達する。ここで、エラー訂正部３３は、特許請求の範囲における「エラー訂正手段」に対応している。
エラー情報レジスタ２３は、信号出力部３２が出力したエラー検出信号が入力されると、当該エラー検出信号を情報として記憶する。
【００２６】
割り込みコントローラ２２は、信号出力部３２が出力したエラー検出信号が入力された場合、割り込み処理を実行し、「制御データ４１に２ビット以上のエラーが生じたこと」を検出する。ここで、割り込みコントローラ２２は、特許請求の範囲における「第１エラー検出手段」に対応している。
本実施形態では、割り込みコントローラ２２は、「制御データ４１に２ビット以上のエラーが生じたこと」を検出したとき、エラー情報レジスタ２３の情報の内容を消去する。
【００２７】
図４に示すように、本実施形態では、ＲＯＭ１３に、プログラムとしての機能部５１、５２、５３、周期読み出し部６０等が記憶されている。また、ＥＣＵ１０の電源がオンされると、ＲＡＭ１４の所定のアドレスに制御データ４１が記憶される。ここで、各制御データ４１には、ＥＣＣ４２が付加されている。
【００２８】
マイコン１１は、モータ８０の駆動を制御するとき、機能部５１、５２、５３を実行する。マイコン１１は、機能部５１、５２、５３を実行するとき、それぞれの実行タイミング毎に、ＲＡＭ１４に記憶されている制御データ４１を読み出す。なお、ＲＡＭ１４から制御データ４１を読み出すとき、上記ＥＣＣ回路部３０により制御データ４１のエラーの検出（エラー検出信号の出力）と訂正とが行われる。ここで、マイコン１１、機能部５１、５２、５３は、特許請求の範囲における「制御手段」に対応している。
【００２９】
本実施形態では、マイコン１１は、機能部５１、５２、５３を実行するタイミングとは関係ない、比較的短い所定の周期で周期読み出し部６０を実行する。マイコン１１は、周期読み出し部６０を実行するとき、エラー情報レジスタ２３から情報を読み出し、読み出した情報にエラー検出信号が含まれている場合、「制御データ４１に２ビット以上のエラーが生じたこと」を検出する。ここで、マイコン１１および周期読み出し部６０は、特許請求の範囲における「第２エラー検出手段」に対応している。
【００３０】
また、本実施形態では、ＲＯＭ１３には、機能５１、５２、５３の他にも、モータ８０の駆動を制御するときに実行するプログラム（機能）が記憶されている。よって、これらのプログラムを実行するときも、ＲＡＭ１４から制御データ４１が読み出され、上記ＥＣＣ回路部３０により制御データ４１のエラーの検出と訂正とが行われる。
【００３１】
本実施形態では、マイコン１１は、ＥＣＣ回路部３０（信号出力部３２）から割り込みコントローラ２２に「２ビット以上のエラーを検出したことを示すエラー検出信号」が入力され、割り込みコントローラ２２が「制御データ４１に２ビット以上のエラーが生じたこと」を検出した場合、エラー検出カウンタの値を増大させる。なお、エラー検出カウンタの初期値は０である。マイコン１１は、エラー検出カウンタの値が所定の値を超えた場合、ＥＣＵ１０を再起動によりリセット（初期化）する。ＥＣＵ１０がリセットされると、エラー検出カウンタの値は０になる。また、マイコン１１は、ＥＣＵ１０をリセットした回数が所定の回数を超えた場合、ＥＣＵ１０を停止する。これにより、ＥＣＵ１０によるモータ８０の制御が停止する。
ここで、マイコン１１は、特許請求の範囲における「リセット手段」および「停止手段」として機能する。
【００３２】
次に、周期読み出し部６０を実行するときのマイコン１１による処理について、図５に基づき説明する。
マイコン１１は、ＥＣＵ１０の電源がオンされると、比較的短い所定の周期で図５に示す一連の処理Ｓ１００（周期読み出し部６０）を実行する。
Ｓ１０１では、マイコン１１は、エラー情報レジスタ２３から情報を読み出す。Ｓ１０１の後、処理はＳ１０２へ移行する。
【００３３】
Ｓ１０２では、マイコン１１は、ＲＡＭ１４内の制御データ４１に２ビット以上のエラーが生じたか否かを判断する。具体的には、Ｓ１０１でエラー情報レジスタ２３から読み出した情報にエラー検出信号が含まれているか否かにより判断する。情報にエラー検出信号が含まれている場合、「制御データ４１に２ビット以上のエラーが生じた」と判断、すなわち、制御データ４１のエラーとして検出する。一方、情報にエラー検出信号が含まれていない場合、「制御データ４１に２ビット以上のエラーは生じていない」と判断する。
【００３４】
「制御データ４１に２ビット以上のエラーが生じた」と判断した場合（Ｓ１０２：ＹＥＳ）、処理はＳ１０３へ移行する。一方、「制御データ４１に２ビット以上のエラーは生じていない」と判断した場合（Ｓ１０２：ＮＯ）、処理は一連の処理Ｓ１００を抜ける。
Ｓ１０３では、マイコン１１は、エラー情報レジスタ２３の情報の内容を消去する。Ｓ１０３の後、処理はＳ１０４へ移行する。
Ｓ１０４では、マイコン１１は、制御データ４１のエラーの検出回数を更新する。具体的には、マイコン１１は、エラー検出カウンタの値を増大させる。Ｓ１０４の後、処理はＳ１０５へ移行する。
【００３５】
Ｓ１０５では、マイコン１１は、制御データ４１のエラーの検出回数が所定の回数以上か否かを判断する。具体的には、エラー検出カウンタの値が所定の値以上か否かに基づき判断する。制御データ４１のエラーの検出回数が所定の回数以上、すなわち、エラー検出カウンタの値が所定の値以上の場合（Ｓ１０５：ＹＥＳ）、処理はＳ１０６へ移行する。一方、エラー検出カウンタの値が所定の値未満の場合（Ｓ１０５：ＮＯ）、処理は一連の処理Ｓ１００を抜ける。
Ｓ１０６では、マイコン１１は、ＥＣＵ１０を再起動によりリセット（初期化）する。ここで、マイコン１１は、特許請求の範囲における「リセット手段」として機能する。
【００３６】
上述の一連の処理Ｓ１００（周期読み出し部６０）は、ＥＣＵ１０の電源がオンされてからオフされるまで、所定の周期で繰り返し実行される。なお、本実施形態では、割り込みコントローラ２２が「制御データ４１に２ビット以上のエラーが生じたこと」を検出したとき、エラー情報レジスタ２３の情報の内容を消去するため、Ｓ１０２でＹＥＳとなるのは、割り込みコントローラ２２が故障等で正常に機能しなかった（エラー情報レジスタ２３の情報の内容を消去しなかった）場合のみである。つまり、割り込みコントローラ２２が正常な状態のとき、Ｓ１０２ではＮＯとなる。
【００３７】
本実施形態では、マイコン１１は、マイコン１１（周期読み出し部６０）が「制御データ４１に２ビット以上のエラーが生じたこと」を検出した場合（Ｓ１０２：ＹＥＳ）、「割り込みコントローラ２２に異常が生じたこと」を検出する。ここで、マイコン１１は、特許請求の範囲における「異常検出手段」として機能する。
【００３８】
次に、本実施形態によるＥＣＵ１０の作動例について、図６に基づき説明する。
図６に示すように、時刻ｔ０で機能部５１、５２、５３のいずれかにより制御データ４１が読み出されたとする。このとき、ＲＡＭ１４は故障していないため、制御データ４１に２ビット以上のエラーは存在しない。よって、時刻ｔ１でマイコン１１（周期読み出し部６０）がエラー情報レジスタ２３から情報を読み出しても、エラー検出信号は含まれていないため、マイコン１１は制御データ４１のエラーを検出しない。
【００３９】
時刻ｔ２でＲＡＭ１４が故障した場合、時刻ｔ３で機能部５１、５２、５３のいずれかにより制御データ４１が読み出されたとき、信号出力部３２から割り込みコントローラ２２およびエラー情報レジスタ２３にエラー検出信号が出力される。これにより、割り込みコントローラ２２は、「制御データ４１に２ビット以上のエラーが生じたこと」を検出する。また、割り込みコントローラ２２は、エラー情報レジスタ２３の情報の内容を消去する。なお、時刻ｔ２以降、ＲＡＭ１４の故障は継続しているものとする。
【００４０】
時刻ｔ４でマイコン１１（周期読み出し部６０）がエラー情報レジスタ２３から情報を読み出しても、時刻ｔ３で割り込みコントローラ２２によりエラー情報レジスタ２３の情報の内容は消去されており、エラー検出信号は含まれていないため、マイコン１１は制御データ４１のエラーを検出しない。
【００４１】
時刻ｔ５で割り込みコントローラ２２が故障した場合、時刻ｔ６でマイコン１１（周期読み出し部６０）がエラー情報レジスタ２３から情報を読み出しても、エラー検出信号は含まれていないため、マイコン１１は制御データ４１のエラーを検出しない。なお、時刻ｔ５以降、割り込みコントローラ２２の故障は継続しているものとする。
【００４２】
時刻ｔ７で機能部５１、５２、５３のいずれかにより制御データ４１が読み出されたとき、信号出力部３２から割り込みコントローラ２２およびエラー情報レジスタ２３にエラー検出信号が出力される。このとき、割り込みコントローラ２２は故障しているため、割り込みコントローラ２２による制御データ４１のエラー検出、および、エラー情報レジスタ２３の情報の内容の消去は行われない。
【００４３】
時刻ｔ８でマイコン１１（周期読み出し部６０）がエラー情報レジスタ２３から情報を読み出すと、情報にエラー検出信号が含まれているため、マイコン１１は、「制御データ４１に２ビット以上のエラーが生じたこと」を検出する。また、マイコン１１は、エラー情報レジスタ２３の情報の内容を消去する。
【００４４】
また、このとき（時刻ｔ８）、マイコン１１は、「制御データ４１に２ビット以上のエラーが生じたこと」を検出したため、異常検出手段として機能し、「割り込みコントローラ２２に異常が生じたこと」を検出する。
【００４５】
時刻ｔ９でマイコン１１（周期読み出し部６０）がエラー情報レジスタ２３から情報を読み出しても、時刻ｔ８でマイコン１１によりエラー情報レジスタ２３の情報の内容は消去されており、エラー検出信号は含まれていないため、マイコン１１は制御データ４１のエラーを検出しない。
【００４６】
このように、本実施形態では、割り込みコントローラ２２が故障しても、マイコン１１（周期読み出し部６０）により「制御データ４１に２ビット以上のエラーが生じたこと」を検出することができる。また、マイコン１１により、「割り込みコントローラ２２に異常が生じたこと」を検出することもできる。
【００４７】
以上説明したように、（１）本実施形態では、ＲＯＭ１３は、モータ８０を制御するときに用いる制御データ４１を記憶している。ＲＡＭ１４は、制御データ４１を一時的に記憶可能である。マイコン１１は、機能部５１、５２、５３を実行するとき、ＲＡＭ１４に記憶された制御データ４１を読み出し、読み出した制御データ４１を用いて演算を行うことによりモータ８０を制御する。
【００４８】
エラー訂正部３３は、機能部５１、５２、５３を実行することにより制御データ４１が読み出されたとき、読み出された制御データ４１に１ビットのエラーが存在する場合、当該エラーを訂正可能である。これにより、制御データ４１に１ビットのエラーが存在しても、当該エラーをエラー訂正部３３により訂正し、通常通りモータ８０の制御を継続することができる。信号出力部３２は、機能部５１、５２、５３を実行することにより制御データ４１が読み出されたとき、読み出された制御データ４１に２ビット以上のエラーが存在する場合、エラー検出信号を出力する。
【００４９】
エラー情報レジスタ２３は、信号出力部３２が出力したエラー検出信号が入力されると、当該エラー検出信号を情報として記憶する。割り込みコントローラ２２は、信号出力部３２が出力したエラー検出信号が入力された場合、「制御データ４１に２ビット以上のエラーが生じたこと」を検出する。マイコン１１は、所定の周期で周期読み出し部６０を実行することにより、所定の周期でエラー情報レジスタ２３から情報を読み出し、読み出した情報にエラー検出信号が含まれている場合、「制御データ４１に２ビット以上のエラーが生じたこと」を検出する。
【００５０】
本実施形態では、割り込みコントローラ２２またはマイコン１１（周期読み出し部６０）により、「制御データ４１に２ビット以上のエラーが生じたこと」を検出することができる。また、例えば割り込みコントローラ２２に故障等の異常が生じ割り込みコントローラ２２が機能しなくなった場合でも、マイコン１１（周期読み出し部６０）により、「制御データ４１に２ビット以上のエラーが生じたこと」を検出することができる。
【００５１】
また、（２）本実施形態では、割り込みコントローラ２２またはマイコン１１（周期読み出し部６０）は、「制御データ４１に２ビット以上のエラーが生じたこと」を検出したとき、エラー情報レジスタ２３の情報の内容を消去する。また、本実施形態は、マイコン１１（周期読み出し部６０）が「制御データ４１に２ビット以上のエラーが生じたこと」を検出した場合、「割り込みコントローラ２２に異常が生じたこと」を検出する異常検出手段をさらに備えている。これにより、割り込みコントローラ２２は正常なのか異常なのかを検知することができ、異常の場合、マイコン１１を交換する等の対応を採ることができる。
【００５２】
また、（５）本実施形態では、マイコン１１は、リセット手段として機能することにより、割り込みコントローラ２２が検出した制御データ４１のエラーの回数、または、マイコン１１（周期読み出し部６０）が検出した制御データ４１のエラーの回数が所定の回数を超えた場合、ＥＣＵ１０を再起動によりリセットする。これにより、例えばハードウェアまたはソフトウェアの本質的な故障ではなく、ノイズ等によって制御データ４１の値が一時的に異常値となった場合など、ＥＣＵ１０を正常状態に復帰させることができる場合がある。
【００５３】
また、（６）本実施形態では、マイコン１１は、停止手段として機能することにより、ＥＣＵ１０をリセットした回数が所定の回数を超えた場合、ＥＣＵ１０を停止する。このように、本実施形態では、例えばハードウェアまたはソフトウェアの本質的な故障等によりＥＣＵ１０が異常となっていて、リセットによってもＥＣＵ１０を正常状態に復帰させることができない場合等、ＥＣＵ１０を停止する。これにより、エラーを含む制御データ４１による、制御対象としてのモータ８０（電動パワーステアリング装置１）の誤作動を防ぐことができる。
【００５４】
本実施形態では、特に、マイコン１１（周期読み出し部６０）は所定の周期で制御データ４１のエラーの検出を試みるため、当該所定の周期、および、ＥＣＵ１０をリセットあるいは停止する場合のエラー検出回数を適宜設定することにより、安全上の許容時間内にＥＣＵ１０をリセットまたは停止することができる。
【００５５】
また、（７）本実施形態では、電動パワーステアリング装置１は、上述のＥＣＵ１０と、当該ＥＣＵ１０によって制御され、操舵アシストトルクを出力可能なモータ８０と、を備えている。
ところで、電子制御装置（ＥＣＵ）が電動パワーステアリング装置のモータの駆動制御に用いられる場合、電子制御装置によるモータの制御が異常になると、運転者の操舵に関するフィーリングに大きく影響する。本実施形態では、ＥＣＵ１０は、モータ８０を制御するための制御データ４１に２ビット以上のエラーが生じた場合、割り込みコントローラ２２またはマイコン１１（周期読み出し部６０）により、「制御データ４１に２ビット以上のエラーが生じたこと」を検出することができる。また、例えば割り込みコントローラ２２に故障等の異常が生じ割り込みコントローラ２２が機能しなくなった場合でも、マイコン１１（周期読み出し部６０）により、「制御データ４１に２ビット以上のエラーが生じたこと」を検出することができる。そのため、制御データ４１に２ビット以上のエラーが発生しているとき、割り込みコントローラ２２に異常が生じていても、短期間でＥＣＵ１０をリセットまたは停止することができ、エラーを含む制御データ４１によるモータ８０の誤作動を防ぐことができる。したがって、制御データ４１のエラー検出の遅れ、または、エラーの不検出により運転者の操舵に関するフィーリングが低下するのを抑制することができる。
【００５６】
なお、本実施形態では、制御データ４１に１ビットのエラーが存在する場合は、制御データ４１のエラーとして検出せず、当該１ビットのエラーを訂正することで、通常通りモータ８０（電動パワーステアリング装置１）の制御を継続することができる。
【００５７】
（第２実施形態）
本発明の第２実施形態による電子制御装置について説明する。第２実施形態は、割り込みコントローラ２２のエラー検出時の作動、および、マイコン１１による割り込みコントローラ２２の異常検出時の作動が第１実施形態と異なる。
【００５８】
第２実施形態では、割り込みコントローラ２２は、第１実施形態と異なり、「制御データ４１に２ビット以上のエラーが生じたこと」を検出したとき、エラー情報レジスタ２３の情報の内容を消去しない。一方、マイコン１１（周期読み出し部６０）は、第１実施形態と同様、Ｓ１０２で「制御データ４１に２ビット以上のエラーが生じたこと」を検出したとき、Ｓ１０３でエラー情報レジスタの情報の内容を消去する。
【００５９】
本実施形態では、割り込みコントローラ２２が「制御データ４１に２ビット以上のエラーが生じたこと」を検出したとき、エラー情報レジスタ２３の情報の内容を消去しないため、割り込みコントローラ２２が「制御データ４１に２ビット以上のエラーが生じたこと」を検出しても、Ｓ１０２でＹＥＳとなり、マイコン１１（周期読み出し部６０）も「制御データ４１に２ビット以上のエラーが生じたこと」を検出する。
【００６０】
本実施形態では、マイコン１１は、マイコン１１（周期読み出し部６０）が「制御データ４１に２ビット以上のエラーが生じたこと」を検出したとき（Ｓ１０２：ＹＥＳ）、検出するまでの所定の期間内に割り込みコントローラ２２が「制御データ４１に２ビット以上のエラーが生じたこと」を検出しなかった場合、「割り込みコントローラ２２に異常が生じたこと」を検出する。ここで、マイコン１１は、特許請求の範囲における「異常検出手段」として機能する。
【００６１】
なお、ここで、前記所定の期間は、マイコン１１（周期読み出し部６０）がエラー情報レジスタ２３から前回情報を読み出してから、今回情報を読み出し「制御データ４１に２ビット以上のエラーが生じたこと」を検出するまでの期間である。
【００６２】
次に、本実施形態によるＥＣＵ１０の作動例について、図７に基づき説明する。
図７に示すように、時刻ｔ０で機能部５１、５２、５３のいずれかにより制御データ４１が読み出されたとする。このとき、ＲＡＭ１４は故障していないため、制御データ４１に２ビット以上のエラーは存在しない。よって、時刻ｔ１でマイコン１１（周期読み出し部６０）がエラー情報レジスタ２３から情報を読み出しても、エラー検出信号は含まれていないため、マイコン１１は制御データ４１のエラーを検出しない。
【００６３】
時刻ｔ２でＲＡＭ１４が故障した場合、時刻ｔ３で機能部５１、５２、５３のいずれかにより制御データ４１が読み出されたとき、信号出力部３２から割り込みコントローラ２２およびエラー情報レジスタ２３にエラー検出信号が出力される。これにより、割り込みコントローラ２２は、「制御データ４１に２ビット以上のエラーが生じたこと」を検出する。なお、時刻ｔ２以降、ＲＡＭ１４の故障は継続しているものとする。
【００６４】
時刻ｔ４でマイコン１１（周期読み出し部６０）がエラー情報レジスタ２３から情報を読み出すと、情報にエラー検出信号が含まれているため、マイコン１１は、「制御データ４１に２ビット以上のエラーが生じたこと」を検出する。また、マイコン１１は、エラー情報レジスタ２３の情報の内容を消去する。
【００６５】
時刻ｔ５で割り込みコントローラ２２が故障した場合、時刻ｔ６でマイコン１１（周期読み出し部６０）がエラー情報レジスタ２３から情報を読み出しても、エラー検出信号は含まれていないため、マイコン１１は制御データ４１のエラーを検出しない。なお、時刻ｔ５以降、割り込みコントローラ２２の故障は継続しているものとする。
【００６６】
時刻ｔ７で機能部５１、５２、５３のいずれかにより制御データ４１が読み出されたとき、信号出力部３２から割り込みコントローラ２２およびエラー情報レジスタ２３にエラー検出信号が出力される。このとき、割り込みコントローラ２２は故障しているため、割り込みコントローラ２２による制御データ４１のエラー検出は行われない。
【００６７】
時刻ｔ８でマイコン１１（周期読み出し部６０）がエラー情報レジスタ２３から情報を読み出すと、情報にエラー検出信号が含まれているため、マイコン１１は、「制御データ４１に２ビット以上のエラーが生じたこと」を検出する。また、マイコン１１は、エラー情報レジスタ２３の情報の内容を消去する。
【００６８】
また、このとき（時刻ｔ８）、マイコン１１は、「制御データ４１に２ビット以上のエラーが生じたこと」を検出するまでの所定の期間内、すなわち、マイコン１１（周期読み出し部６０）がエラー情報レジスタ２３から前回（時刻ｔ６）情報を読み出してから、今回（時刻ｔ８）情報を読み出し「制御データ４１に２ビット以上のエラーが生じたこと」を検出するまでの期間内に割り込みコントローラ２２が「制御データ４１に２ビット以上のエラーが生じたこと」を検出しなかったため、異常検出手段として機能し、「割り込みコントローラ２２に異常が生じたこと」を検出する。
【００６９】
時刻ｔ９でマイコン１１（周期読み出し部６０）がエラー情報レジスタ２３から情報を読み出しても、時刻ｔ８でマイコン１１によりエラー情報レジスタ２３の情報の内容は消去されており、エラー検出信号は含まれていないため、マイコン１１は制御データ４１のエラーを検出しない。
【００７０】
このように、本実施形態では、第１実施形態と同様、割り込みコントローラ２２が故障しても、マイコン１１（周期読み出し部６０）により「制御データ４１に２ビット以上のエラーが生じたこと」を検出することができる。また、マイコン１１により、「割り込みコントローラ２２に異常が生じたこと」を検出することもできる。
【００７１】
なお、本実施形態では、時刻ｔ３で割り込みコントローラ２２が「制御データ４１に２ビット以上のエラーが生じたこと」を検出したとき、マイコン１１は、割り込みコントローラ２２（第１エラー検出手段）側のエラー検出カウンタの値を増大させる。一方、時刻ｔ４、ｔ８でマイコン１１が「制御データ４１に２ビット以上のエラーが生じたこと」を検出したとき、マイコン１１（第２エラー検出手段）側のエラー検出カウンタの値を増大させる。そして、マイコン１１は、割り込みコントローラ２２（第１エラー検出手段）側のエラー検出カウンタ、または、マイコン１１（第２エラー検出手段）側のエラー検出カウンタのいずれか一方の値が所定の値を超えた場合、ＥＣＵ１０を再起動によりリセット（初期化）する。
【００７２】
以上説明したように、（３）本実施形態では、マイコン１１（周期読み出し部６０）は、「制御データ４１に２ビット以上のエラーが生じたこと」を検出したとき、エラー情報レジスタ２３の情報の内容を消去する。また、本実施形態は、マイコン１１（周期読み出し部６０）が「制御データ４１に２ビット以上のエラーが生じたこと」を検出したとき、検出するまでの所定の期間内に割り込みコントローラ２２が「制御データ４１に２ビット以上のエラーが生じたこと」を検出しなかった場合、「割り込みコントローラ２２に異常が生じたこと」を検出する異常検出手段をさらに備えている。これにより、割り込みコントローラ２２は正常なのか異常なのかを検知することができ、異常の場合、マイコン１１を交換する等の対応を採ることができる。
【００７３】
（４）本実施形態では、前記所定の期間は、マイコン１１（周期読み出し部６０）がエラー情報レジスタ２３から前回情報を読み出してから、今回情報を読み出し「制御データ４１に２ビット以上のエラーが生じたこと」を検出するまでの期間である。
【００７４】
（他の実施形態）
また、上述の実施形態では、マイコン１１は、検出した制御データのエラーの回数が所定の回数を超えた場合、電子制御装置をリセット（初期化）し、電子制御装置をリセットした回数が所定の回数を超えた場合、電子制御装置を停止する例を示した。これに対し、本発明の他の実施形態では、マイコン１１は、検出した制御データのエラーの回数が所定の回数を超えた場合、電子制御装置をリセットするのではなく、停止することとしてもよい。また、マイコン１１は、検出した制御データのエラーの回数が所定の回数を超えても、電子制御装置のリセットおよび停止を行わないこととしてもよい。
【００７５】
また、上述の実施形態では、エラー検出対象である制御データを記憶するマイコン１１により、制御データのエラーの検出回数のカウント、電子制御装置のリセットおよび停止等を行う例を示した。これに対し、本発明の他の実施形態では、制御データのエラーの検出回数のカウント、電子制御装置のリセットおよび停止等を、マイコン１１以外の例えば周辺装置等により行うこととしてもよい。この場合、マイコン１１が故障しても、制御データのエラーの検出回数のカウント、電子制御装置のリセットおよび停止等を行うことができる。
【００７６】
本発明の電子制御装置は、電動パワーステアリング装置のモータの他、例えば、ＶＧＲＳ（ギア比可変ステアリング）、ＡＲＳ（アクティブリアステアリング）等、様々な装置のモータ等を制御対象にすることができる。
このように、本発明は上述の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の形態で実施可能である。
【符号の説明】
【００７７】
１０  ・・・ＥＣＵ（電子制御装置）
１１  ・・・マイコン（制御手段、第２エラー検出手段）
１３  ・・・ＲＯＭ
１４  ・・・ＲＡＭ
２２  ・・・割り込みコントローラ（第１エラー検出手段）
２３  ・・・エラー情報レジスタ
３２  ・・・信号出力部（信号出力手段）
３３  ・・・エラー訂正部（エラー訂正手段）
４１  ・・・制御データ
５１、５２、５３  ・・・機能部（制御手段）
６０  ・・・周期読み出し部（第２エラー検出手段）
８０  ・・・モータ（制御対象）
【図１】
0005975015.tif 000002
【図２】
0005975015.tif 000003
【図３】
0005975015.tif 000004
【図４】
0005975015.tif 000005
【図５】
0005975015.tif 000006
【図６】
0005975015.tif 000007
【図７】
0005975015.tif 000008