(57)【要約】【課題】ＲＯＭ等のプログラム記憶部に記憶異常が発生したときに、プログラムを修復することが可能な電動パワーステアリング装置を提供する。【解決手段】操舵機構に対して操舵補助力を発生する電動モータ１２を制御する電子制御装置１３を備えた電動パワーステアリング装置であって、前記電子制御装置１３は、前記電動モータを制御するアプリケーションプログラム及び当該アプリケーションプログラムの記憶異常検出プログラムを格納する主記憶部１５ｃと、少なくとも前記アプリケーションプログラムを格納する冗長記憶部１５ｄとを備え、前記記憶異常検出プログラムを実行することにより、前記主記憶部１５ｃのアプリケーションプログラムの異常が検出されたときに、前記冗長記憶部１５ｄに記憶されているアプリケーションプログラムに基づいて電動モータの制御を継続する。【選択図】図２
2010195220.tif 000002
【特許請求の範囲】
【請求項１】
操舵機構に対して操舵補助力を発生する電動モータを制御する電子制御装置を備えた電動パワーステアリング装置であって、
前記電子制御装置は、前記電動モータを制御するアプリケーションプログラム及び当該アプリケーションプログラムの記憶異常検出プログラムを格納する主記憶部と、少なくとも前記アプリケーションプログラムを格納する冗長記憶部とを備え、
前記記憶異常検出プログラムを実行することにより、前記主記憶部のアプリケーションプログラムの異常が検出されたときに、前記冗長記憶部に記憶されているアプリケーションプログラムによって電動モータの制御を継続することを特徴とする電動パワーステアリング装置。
【請求項２】
前記主記憶部は、前記アプリケーションプログラム及び記憶異常検出プログラムを格納する第１の格納領域と、起動プログラムと前記第１の格納領域内のアプリケーションプログラムを書換更新するためのブートプログラムを格納する第２の格納領域とを有するフラッシュＲＯＭで構成され、前記記憶異常検出プログラムを実行することにより、前記アプリケーションプログラムの記憶異常を検出したときに、前記ブートプログラムを実行することにより、前記冗長記憶部に記憶されているアプリケーションプログラムを前記第１の格納領域に書換更新することを特徴とする請求項１に記載の電動パワーステアリング装置。
【請求項３】
前記第１の格納領域は、少なくとも前記記憶異常検出プログラムを格納する特定ブロックと、前記アプリケーションプログラムを複数に分割して格納する小さな記憶容量の複数のブロックとを有し、
前記記憶異常検出プログラムは、前記第１の格納領域のブロック毎に記憶異常を検出するように構成され、当該記憶異常検出プログラムによって記憶異常となったブロックが検出されたときに、該当するブロックに対応して前記冗長記憶部に記憶されているブロックを読出して第１の記憶領域の該当ブロックを書換更新することを特徴とする請求項２に記載の電動パワーステアリング装置。
【請求項４】
前記主記憶部は、ＲＡＭをさらに有し、前記記憶異常検出プログラムは、記憶異常となったブロックを書換更新後に記憶異常が解消されないときに、前記冗長記憶部の該当ブロックを前記ＲＡＭに書込み、前記第２の記憶領域に記憶されているブートプログラムは、記憶異常検出プログラムで記憶異常を検出した第１の記憶領域のブロックをアクセスする際に、前記ＲＡＭに格納されているブロックをアクセスするように構成されていることを特徴とする請求項３に記載の電動パワーステアリング装置。
【請求項５】
前記主記憶部は少なくとも前記記憶異常検出プログラムを格納する特定ブロックと、前記アプリケーションプログラムを所定数に分割して格納する小さな記憶容量の複数のブロックとを有するＲＯＭと、ＲＡＭとで構成され、前記冗長記憶部は、前記ＲＯＭと同様に少なくとも前記記憶異常検出プログラムを格納する特定ブロックと、前記アプリケーションプログラムを所定数に分割して格納する小さな記憶容量の複数のブロックとを有し、前記記憶異常検出プログラムはブロック毎に記憶異常を検出するように構成され、当該記憶異常検出プログラムによって、記憶異常のブロックが検出されたときに、該当するブロックを前記冗長記憶部から読出して前記ＲＡＭに書込み、前記主記憶部の記憶異常となったブロックをアクセスする際に、前記ＲＡＭ上のブロックをアクセスすることを特徴とする請求項１に記載の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操舵系に対して操舵補助力を付与する電動機を制御する電動パワーステアリング装置に係り、特に、アプリケーションプログラムを格納する記憶部に記憶異常が発生した場合に自動的に修復するようにした電動パワーステアリング装置に関する。
【背景技術】
【０００２】
この種の電動パワーステアリング装置としては、ＲＯＭ領域は複数の所定数のバイトデータからなるセルから成り、制御対象に対して制御を行う通常制御期間と制御用コンピュータの故障診断を行う診断用期間からなるマシンサイクルで制御を行う制御手段と、診断用期間毎に複数のセルのうち一部載せるデータの加算を行い、前回診断用期間に得られた一部のセルのデータの加算値に今回診断用期間に他の一部のセルのデータを加算し、ＲＯＭ領域の全てのセルについてのデータの加算値が得られたとき、加算値の合計と規定値とを比較する演算手段を備え、演算手段による加算値の合計と規定値との比較に基づいて故障検出を行う制御用コンピュータが知られている（例えば、特許文献１参照）。
【０００３】
また、自動車のエンジン制御用ＥＣＵに備えられるマイコンのＲＡＭの記憶領域を、高ブロック、中ブロック及び低ブロックの３つのブロックに分け、ＲＡＭに記憶されるべきデータも、当該データの異常が自動車の安全性に与える影響度の大きさに応じて３種類のグループに分類されており、その影響度の大きいグループから順に、高ブロック、中ブロック、低ブロックにそれぞれ記憶し、ＣＰＵは、上記各ブロックを、上記影響度の大きいデータが記憶されるブロックほど高い頻度（すなわち、高＞中＞低）で診断し、異常を検出した場合にはフェイルセーフ処理を行うようにしたメモリ診断装置及び制御装置が知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】２００４−１３３６３５号公報
【特許文献２】２００３−３２３３５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このように、上記特許文献１及び２に記載れた従来例にあっては、マイクロコンピュータ起動からアシスト制御介し前に実施されるメモリ初期診断でメモリ故障が検出された場合、又はアシスト制御中に実施されるメモリ常時診断でメモリ故障が検出された場合、フェイルセーフ処理として、アシスト制御を停止、又はモータへの通電を遮断、又はマイクロコンピュータをリセットし、システムが重大な故障モードに至ることを防止している。
【０００６】
しかしなから、中型車や大型車への電動パワーステアリング装置の採用拡大に伴い、ステアリング機構を操舵する際に大きな操舵力を必要とすることになり、ＲＯＭ故障時にアシスト制御を停止、又はモータへの通電を遮断、又はマイクロコンピュータをリセットすることにより操舵補助力の発生を停止した場合、運転者に過大な負担を強いることになり、必ずしも得策とは言えなくなってきているという未解決の課題がある。
【０００７】
そこで、本発明は、上記従来例の未解決の課題に着目してなされたものであり、ＲＯＭ等のプログラム記憶部に記憶異常が発生したときに、プログラムを修復することが可能な電動パワーステアリング装置を提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係る請求項１記載の電動パワーステアリング装置は、操舵機構に対して操舵補助力を発生する電動モータを制御する電子制御装置を備えた電動パワーステアリング装置であって、
前記電子制御装置は、前記電動モータを制御するアプリケーションプログラム及び当該アプリケーションプログラムの記憶異常検出プログラムを格納する主記憶部と、少なくとも前記アプリケーションプログラムを格納する冗長記憶部とを備え、前記記憶異常検出プログラムを実行することにより、前記主記憶部のアプリケーションプログラムの異常が検出されたときに、前記冗長記憶部に記憶されているアプリケーションプログラムに基づいて電動モータの制御を継続することを特徴としている。
【０００９】
このような構成であれば、主記憶部に記憶されているアプリケーションプログラムの記憶異常を検出したときに、該当するアプリケーションプログラムを冗長記憶部から読み出して主記憶部のアプリケーションプログラムを書換えたり、ＲＡＭに格納したりすることにより、記憶異常となったアプリケーションプログラムを修復することができ、正常な操舵補助制御を中断することなく継続することができる。
【００１０】
また、本発明に係る請求項２記載の電動パワーステアリング装置は、前記主記憶部は、前記アプリケーションプログラム及び記憶異常検出プログラムを格納する第１の格納領域と、起動プログラムと前記第１の格納領域内のアプリケーションプログラムを書換更新するためのブートプログラムを格納する第２の格納領域とを有するフラッシュＲＯＭで構成され、前記記憶異常検出プログラムを実行することにより、前記アプリケーションプログラムの記憶異常を検出したときに、前記ブートプログラムを実行することにより、前記冗長記憶部に記憶されているアプリケーションプログラムを前記第１の格納領域に書換更新することを特徴としている。
【００１１】
このような構成であれば、主記憶部をアプリケーションプログラム及び記憶異常検出プログラムを格納する第１の格納領域と、起動プログラムと前記第１の格納領域内のアプリケーションプログラムを書換更新するためのブートプログラムを格納する第２の格納領域を有するフラッシュＲＯＭで構成することにより、記憶異常となったアプリケーションプログラムの修復を容易に行うことができる。
【００１２】
また、本発明に係る請求項３記載の電動パワーステアリング装置は、前記第１の格納領域は、少なくとも前記記憶異常検出プログラムを格納する特定ブロックと、前記アプリケーションプログラムを複数に分割して格納する小さな記憶容量の複数のブロックとを有し、前記記憶異常検出プログラムは、前記第１の格納領域のブロック毎に記憶異常を検出するように構成され、当該記憶異常検出プログラムによって記憶異常となったブロックが検出されたときに、該当するブロックに対応して前記冗長記憶部に記憶されているブロックを読出して第１の記憶領域の該当ブロックを書換更新することを特徴としている。
【００１３】
この構成であれば、小さな容量のブロック単位で記憶異常検出を行い、記憶異常を生じたブロックのみを冗長記憶部に記憶されている対応するブロックに格納されているプログラムで書換更新するので、書換更新処理を容易に行うことができる。
また、本発明に係る請求項４記載の電動パワーステアリング装置は、前記主記憶部は、ＲＡＭをさらに有し、前記記憶異常検出プログラムは、記憶異常となったブロックを書換更新後に記憶異常が解消されないときに、前記冗長記憶部の該当ブロックを前記ＲＡＭに書込み、前記第２の記憶領域に記憶されているブートプログラムは、記憶異常検出プログラムで記憶異常を検出した第１の記憶領域のブロックをアクセスする際に、前記ＲＡＭに格納されているブロックをアクセスするように構成されていることを特徴としている。
【００１４】
この構成であれば、主記憶部の記憶異常が生じたブロックを冗長記憶部に記憶されているブロックのプログラムで書換更新したときに、記憶異常が解消しないときには、該当ブロックをＲＡＭに書込み、該当ブロックをアクセスするときにはＲＡＭに格納されているブロックをアクセスすることにより、アプリケーションプログラムを実行することができ、主記憶部のブロックが異常となっても操舵補助制御を継続することができる。
【００１５】
また、本発明に係る請求項５に記載の電動パワーステアリング装置は、前記主記憶部は少なくとも前記記憶異常検出プログラムを格納する特定ブロックと、前記アプリケーションプログラムを所定数に分割して格納する小さな記憶容量の複数のブロックとを有するＲＯＭと、ＲＡＭとで構成され、前記冗長記憶部は、前記ＲＯＭと同様に少なくとも前記記憶異常検出プログラムを格納する特定ブロックと、前記アプリケーションプログラムを所定数に分割して格納する小さな記憶容量の複数のブロックとを有し、前記記憶異常検出プログラムはブロック毎に記憶異常を検出するように構成され、当該記憶異常検出プログラムによって、記憶異常のブロックが検出されたときに、該当するブロックを前記冗長記憶部から読出して前記ＲＡＭに書込み、前記主記憶部の記憶異常となったブロックをアクセスする際に、前記ＲＡＭ上のブロックをアクセスすることを特徴としている。
【００１６】
この構成であれば、ＲＯＭに記憶異常検出プログラム及びアプリケーションプログラムがブロック単位で記憶されており、記憶異常検出プログラムを実行することにより、ブロック単位に記憶異常を検出することができ、記憶異常を検出したブロックについて冗長記憶部に記憶されているブロックをＲＡＭに書込み、該当ブロックをアクセスする際に、ＲＡＭに格納されたブロックをアクセスすることにより、ＲＯＭのブロックが異常となっても操舵補助制御を継続することができる。
【発明の効果】
【００１７】
本発明によれば、主記憶部に記憶されているアプリケーションプログラムに記憶異常が検出されたときに、冗長記憶部に記憶されているアプリケーションプログラムで書換更新することにより、アプリケーションプログラムを修復し、操舵補助制御を中止したり、中断したりすることなく、操舵補助制御を継続することができるという効果が得られる。
また、主記憶部に複数のブロックに分けてアプリケーションプログラムを記憶するとともに、冗長記憶部にも同様に複数のブロックに分けてアプリケーションプログラムを記憶することにより、記憶異常となったブロック単位で書換更新が可能となり、アプリケーションプログラムの修復処理を容易に行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明による電動パワーステアリング装置の構成を示す概略構成図である。
【図２】コントローラの具体的構成を示すブロック図である。
【図３】フラッシュメモリ上のプログラム構成を示す説明図である。
【図４】操舵補助制御処理を示すフローチャートである。
【図５】記憶異常検出処理手順の一例を示すフローチャートである。
【図６】コントローラの機能ブロック図である。
【図７】フラッシュＲＯＭ及びＲＯＭを複数のブロックに分割した場合の実施形態を示す説明図である。
【図８】主記憶部としてＲＯＭを適用した場合の実施形態を示す説明図である。
【図９】図８の記憶異常検出処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を図面を参照しながら説明する。
図１は、本発明の一実施形態を示す電動パワーステアリング装置の概略構成図である。
図１において、１は、ステアリングホイールであり、ステアリングホイール１に運転者から作用される操舵力が入力軸２ａと出力軸２ｂとを有するステアリングシャフト２に伝達される。ステアリングシャフト２は、入力軸２ａの一端がステアリングホイール１に連結され、他端は、トルクセンサ３を介して出力軸２ｂの一端に連結されている。
【００２０】
出力軸２ｂに伝達された操舵力は、ユニバーサルジョイント４を介してロアシャフト５に伝達され、さらに、ユニバーサルジョイント６を介してピニオンシャフト７に伝達される。ピニオンシャフト７に伝達された操舵力は、ステアリングギヤ８を介してタイロッド９に伝達され、図示しない転舵輪を転舵させる。ここで、ステアリングギヤ８は、ピニオンシャフト７に連結されたピニオン８ａとピニオン８ａに噛合するラック８ｂとを有するラックアンドピニオン形式に構成され、ピニオン８ａに伝達された回転運動をラック８ｂで直進運動に変換している。
【００２１】
ステアリングシャフト２の出力軸２ｂには、補助操舵力を出力軸２ｂに伝達する減速ギヤ１０が連結されており、減速ギヤ１０には、補助操舵力を発生する電動モータ１２の出力軸が連結されている。
トルクセンサ３は、ステアリングホイール１に付与されて入力軸２ａに伝達された操舵トルクを検出するもので、例えば、操舵トルクを入力軸２ａ及び出力軸２ｂ間に介挿した図示しないトーションバーの捩れ角変位に変換し、この捩れ角変位を非接触の磁気センサで検出するように構成されている。
【００２２】
トルクセンサ３から出力されるトルク検出値Ｔは、コントローラ１３に入力される。コントローラ１３には、トルク検出値Ｔの他に車速センサ１４で検出した車速検出値Ｖおよび電動モータ１２に流れるモータ電流検出値Ｉｍｄも入力され、入力されるトルク検出値Ｔおよび車速検出値Ｖに応じた操舵補助力を電動モータ１２で発生する操舵補助指令値Ｉｒｅｆを算出し、算出した操舵補助指令値Ｉｒｅｆとモータ電流検出値Ｉｍｄとにより、電動モータ１２に供給する駆動電流をフィードバック制御する。
【００２３】
次に、コントローラ１３の構成を説明する。
図２は、コントローラ１３の構成を示すブロック図である。
コントローラ１３は、図３に示すように、電動モータ１２の制御処理を実行するマイクロコンピュータ１５と、マイクロコンピュータ１５から出力されるモータ駆動電流Iｍｔに基づいて電動モータ１２に供給する駆動電流を制御するモータ駆動回路１７と、電動モータ１２の出力電流であるモータ電流を検出するモータ電流検出回路１８とを備えている。
【００２４】
マイクロコンピュータ１５には、トルクセンサ３で検出したトルク検出値Ｔおよびモータ電流検出回路１８で検出したモータ電流検出値ＩｍｄがそれぞれＡ／Ｄ変換器２１および、２２でデジタル値に変換されて入力される。
マイクロコンピュータ１５は、トルク検出値Ｔ、車速検出値Ｖおよびモータ電流検出値Ｉｍｄが入力される入力インタフェース回路１５ａと、トルク検出値Ｔ、車速検出値Ｖおよびモータ電流検出値Ｉｍｄに基づいて電動モータ１２を駆動制御して操舵トルクに応じた操舵補助力を発生する操舵補助制御処理を実行する中央処理装置１５ｂと、中央処理装置１５ｂで実行する操舵補助制御処理プログラム、記憶異常検出プログラム等のアプリケーションプログラムを格納する主記憶部としてのフラッシュＲＯＭ１５ｃと、このフラッシュＲＯＭに格納されているアプリケーションプログラムと同一のアプリケーションプログラムが記憶されている冗長記憶部としてのＲＯＭ１５ｄと、トルク検出値Ｔおよびモータ電流検出値Ｉｍｄ等の検出データ、中央処理装置１５ｂで実行する操舵制御処理の処理過程で必要とするデータや処理結果を記憶するＲＡＭ１５ｅと、出力インタフェース回路１５ｆとを有する。
【００２５】
フラッシュＲＯＭ１５ｃには、図３に示すように、操舵制御処理を中央処理装置１５ｂに実行させるためのメインプログラムとなる操舵制御処理プログラム、フラッシュＲＯＭ１５ｃの記憶領域の異常を検出する記憶異常検出プログラム等のアプリケーションプログラムを格納する記憶内容が書換え可能な第１の記憶領域２１と、中央処理装置１５ｂにブートを行なわせるためのブートプログラムおよび中央処理装置１５ｂに上述した第１の記憶領域の書換更新を行なわせるための書換更新プログラムを記憶する第２の記憶領域２２とを備えている。
【００２６】
第２の記憶領域２２は、第２記憶領域２２内の先頭アドレスを含む第２記憶領域２２内の前半部分にブートプログラムが記憶されており、第２記憶領域内の後半部分に書換プログラムが記憶されており、この第２の記憶領域２２は書換えが不可能に構成されている。
中央処理装置１５ｂは、操舵補助制御処理のブート時にフラッシュＲＯＭ１５ｃの第２の記憶領域の先頭アドレスにアクセスし、アクセスした第２記憶領域２２に記憶されているブートプログラムにしたがって操舵補助制御処理のブートを行なって、操舵補助制御処理を実行する。
【００２７】
この操舵補助制御処理は、図４に示すように、先ず、ステップＳ１で、トルクセンサ３で検出したトルク検出値Ｔを読込み、次いでステップＳ２に移行して、車速検出値Ｖを読込、次いでステップＳ３に移行して、トルク検出値Ｔ及び車速検出値Ｖに基づいて図示しない操舵補助指令値算出マップを参照して操舵補助電流指令値Ｉｒｅｆを算出してからステップＳ４に移行する。
【００２８】
このステップＳ４では、モータ電流検出回路１８で検出したモータ電流検出値Ｉｍｄを読込み、次いでステップＳ５に移行して、操舵補助電流指令値Ｉｒｅｆからモータ電流検出値Ｉｍｄを減算して電流偏差ΔＩを算出してからステップＳ６に移行する。
このステップＳ６では、算出した電流偏差ΔＩに基づいてＰＩ制御処理を行なって、モータ駆動電流Ｉｍｔを算出し、次いでステップＳ７に移行して、モータ駆動電流Ｉｍｔをモータ駆動回路１７に出力してから操舵補助制御処理を終了する。
【００２９】
また、中央処理装置１５ｂは、コントローラ１３の起動時に、第１の記憶領域２１に記憶されている記憶異常検出プログラムに基づく図５に示す記憶異常処理を実行し、チェックサムによるフラッシュＲＯＭ１５ｃの第１の記憶領域２１のエラー検出を行なう。この記憶異常処理は、先ず、ステップＳ１１に移行して、第１の記憶領域２１内の加算値ＳＵＭ０を算出し、次いでステップＳ１２に移行して、算出した加算値ＳＵＭ０が第２の記憶領域２１に記憶されている第１の記憶領域２１に格納したアプリケーションプログラムの加算値ＳＵＭｓと一致するか否かを判定する。
【００３０】
この判定結果が、加算値ＳＵＭ０と設定された加算値ＳＵＭｓとが一致する場合には、第１の記憶領域２１には記憶異常が存在しないものと判断して記憶異常検出処理を終了して、前述した図４の操舵補助制御処理に移行する。
また、ステップＳ１２の判定結果が、加算値ＳＵＭ０と予め設定された加算値ＳＵＭｓとが不一致であるときには、ステップＳ１３に移行して、第２の記憶領域２２に格納されている書換更新プログラムに基づく書換処理を実行する。この書換処理は、冗長記憶部となるＲＯＭ１５ｄの記憶領域２３に記憶されている操舵補助制御プログラム、記憶異常検出プログラムを含むアプリケーションプログラムをフラッシュＲＯＭ１５ｃの第１の記憶領域着２１に書換更新する。
【００３１】
次いで、ステップＳ１４に移行して、書換更新した第１の記憶領域２１の加算値ＳＵＭ０′を算出し、次いでステップＳ１５に移行して、算出した加算値ＳＵＭ０′と更新記憶されたアプリケーションプログラムの加算値ＳＵＭｓ′とが一致するか否かを判定し、両者が一致する場合には、書換更新した第１の記憶領域に記憶異常が存在しないものと判断して記憶異常検出処理を終了して前述した図４の操舵補助制御処理に移行する。
【００３２】
また、ステップＳ１５の判定結果が、算出した加算値ＳＵＭ０′が設定された加算値ＳＵＭｓ′と一致しない場合には、第１の記憶領域２１自体に異常が発生しているものと判断して、ステップＳ１６に移行して、操舵補助制御処理を終了させてから記憶異常検出処理を終了する。
また、コントローラ１５の機能ブロック図は図６に示すように表される。
【００３３】
トルクセンサ３で検出されたトルク検出値Ｔおよび車速センサ１４で検出された車速検出値Ｖが操舵補助電流指令値演算部４１に供給され、この操舵補助電流指令値演算部４１で、トルク検出値Ｔおよび車速検出値Ｖに基づいて図示しない操舵補助電流指令値算出マップを参照して操舵補助電流指令値Ｉｒｅｆを算出する。
この操舵補助電流指令値演算部４１で算出された操舵補助電流指令値Ｉｒｅｆとモータ電流検出回路１８で検出されたモータ電流検出値Ｉｍｄとが減算器４２に供給されて、この減算器４２で補助電流指令値Ｉｒｅｆからモータ電流検出値Ｉｍｄを減算して電流偏差ΔＩを算出し、算出した電流偏差ΔＩをＰＩ電流制御部４３に供給して電流偏差ΔＩに対してＰＩ電流制御処理を実行してモータ電流Ｉｍｔを算出し、算出したモータ電流Ｉｍｔをモータ駆動回路１７に出力する。また、フラッシュＲＯＭ１５ｃの記憶異常をＲＯＭ記憶異常検出部４４で検出し、フラッシュＲＯＭ１５ｃの第１の記憶領域２１に異常が発生した場合には、冗長記憶部としてのＲＯＭ１５ｄに記憶されている操舵補助制御処理プログラム、記憶異常検出プログラム等を含むアプリケーションプログラムをフラッシュＲＯＭ１５ｃの第１の記憶領域に書換更新し、書換更新したアプリケーションプログラムのチェックサム結果が正常である場合には、そのまま記憶異常検出を終了するが、チェックサム結果が異常であるときにはフェイルセーフ処理部４５に伝達してモータ駆動回路１７への電源の供給を停止させる。
【００３４】
ここで、前述した図４のステップＳ１〜Ｓ３の処理が電流指令値演算部４１に対応し、ステップＳ４及びＳ５の処理が減算器４２に対応し、ステップＳ６の処理がＰＩ電流制御部４３に対応している。また、図５の処理がＲＯＭ記憶異常検出部４４およびフェイルセーフ処理部４５に対応している。
次に、上記実施形態の動作を説明する。
【００３５】
今、通常操舵状態では、コントローラ１３のマイクロコンピュータ１５の中央処理装置１５ｂでフラッシュＲＯＭ１５ｃの第２の記憶領域２１のブート部をアクセスして、操舵補助制御処理プログラムのブートが行なわれて、図４の操舵補助制御処理が実行される。
この操舵補助制御処理では、トルク検出値Ｔが読み込まれるとともに車速検出値Ｖが読込まれ（ステップＳ１，Ｓ２）、トルク検出値Ｔと車速検出値Ｖとに基づいて操舵補助電流指令値算出マップを参照して操舵補助電流指令値Ｉｒｅｆが算出される（ステップＳ３）
次いで、モータ電流検出値Ｉｍｄを読込み（ステップＳ４）、操舵補助電流指令値Ｉｒｅｆからモータ電流検出値Ｉｍｄを減算して電流偏差ΔＩを算出し（ステップＳ５）、算出した電流偏差ΔＩをＰＩ電流制御処理を行なってモータ電流Ｉｍｔを算出し（ステップＳ６）、算出したモータ電流Ｉｍｔをモータ駆動回路１７に出力することにより、電動モータ１２をトルク検出値Ｔに応じた操舵補助力を発生するように駆動制御する。
【００３６】
そして、電動モータ１２で発生された操舵トルクに応じた操舵補助力が減速ギヤ１０を介して出力軸２ｂに伝達される。
このとき、車両が停車している状態でステアリングホイール１を操舵するいわゆる据え切り状態では、図示しない操舵補助電流指令値算出マップの特性線の勾配が大きいことにより、小さいトルク検出値Ｔで大きな操舵補助電流指令値Ｉｒｅｆを算出するので、電動モータ１２で大きな操舵補助力を発生して軽い操舵を行うことができる。
【００３７】
一方、車両が発進して、所定車速以上となると、操舵補助指令値算出マップの特性線の勾配が小さくなることにより、大きなトルク検出値Ｔでも小さな操舵補助指令値Ｉｒｅｆを算出するので、電動モータ１２で発生する操舵補助力が小さくなり、ステアリングホイール１の操舵が軽くなりすぎることを抑制して最適な操舵を行うことができる。
一方、コントローラ１３に対して電源が投入された時点で、マイクロコンピュータ１５の中央処理装置１５ｂで、フラッシュＲＯＭ１５ｃの第１の記憶領域２１に格納されている記憶異常検出プログラムをブートして、記憶異常検出処理を実行する。この記憶異常検出処理では、操舵補助制御プログラム、記憶異常検出プログラム等のアプリケーションプログラムを格納した第１の記憶領域２１の加算値ＳＵＭ０を算出し、算出したＳＵＭ０と予め設定された正常なアプリケーションプログラムの加算値ＳＵＭｓとが一致するか否かを判定し、両者が一致する場合には第１の記憶領域２１に格納されているアプリケーションプログラムが正常であると判断して、操舵補助制御プログラムを読込んで、前述した操舵補助制御処理を実行開始する。
【００３８】
しかしながら、算出した第１の記憶領域２１の加算値ＳＵＭ０が予め設定された正常なアプリケーションプログラムの加算値ＳＵＭｓと不一致であるときには、書換更新プログラムを実行して、冗長記憶部としてのＲＯＭに格納されている正常なアプリケーションプログラムをフラッシュＲＯＭ１５ｃの第１の記憶領域に書換更新する。
そして、書換更新して新たなアプリケーションプログラムが格納された第１の記憶領域２１に対して再度チェックサムを実行して、新たなアプリケーションプログラムが書換更新された第１の記憶領域２１の加算値ＳＵＭ０′と正常なアプリケーションプログラムの加算値ＳＵＭｓ′とが一致するか否かを判定し、両者が一致したときには正常な書換えが行なわれたものと判断して操舵補助制御処理を実行開始する。
【００３９】
しかしなから、算出した第１の記憶領域２１の加算値ＳＵＭ０′が正常なアプリケーションプログラムの加算値ＳＵＭｓ′と不一致である場合には、フラッシュＲＯＭ１５ｃの第１の記憶領域２１の記憶領域に異常が発生しているものと判断してモータ駆動回路１７への電源供給を停止して、操舵補助制御処理を終了する。
このように、上記実施形態においては、フラッシュＲＯＭ１５ｃの第１の記憶領域２１に格納された操舵補助制御プログラム、記憶異常検出プログラム等のアプリケーションプログラムが正常であるか否かをチェックサムによって診断し、第１の記憶領域２１に格納されたアプリケーションプログラムが正常である場合には、操舵補助制御処理を実行開始するが、第１の記憶領域２１のチェックサム結果が異常であるときには、書換更新フログラムを実行して冗長記憶部としてのＲＯＭ１５ｄに記憶されている正常なアプリケーションプログラムをフラッシュＲＯＭ１５ｃの第１記憶領域２１に書換更新するので、異常となったアプリケーションプログラムを修復することができ、操舵補助制御処理を継続することができる。
【００４０】
また、フラッシュＲＯＭ１５ｃの第１の記憶領域２１への正常なアプリケーションプログラムの書換更新処理が終了した後にもチェックサム結果が異常であるときには、フラッシュＲＯＭ１５ｃの第１の記憶領域２１に異常が発生しているものと判断して、モータ駆動制御回路１７への電源の供給を停止して、電動モータ１２の駆動制御を停止するフェイルセーフ処理を実行する。
【００４１】
なお、上記実施形態においては、フラッシュＲＯＭ１５ｃの第１の記憶領域２１が１つの記憶領域で構成されている場合について説明したが、これに限定されるものではなく、図７に示すように、フラッシュＲＯＭ１５ｃの第１の記憶領域２１を複数のブロックＭＢ１〜ＭＢｎに分割し、これらブロックＭＢ１〜ＭＢｎに操舵補助制御プログラムおよび記憶異常検出プログラムを含むアプリケーションプログラムを複数に分割して格納するとともに、冗長記憶部としてのＲＯＭ１５ｄにもブロックＭＢ１′〜ＭＢｎ′に分割し、これらブロックＭＢ１′〜ＭＢｎ′に操舵補助制御プログラムおよび記憶異常検出プログラムを含むアプリケーションプログラムを複数に分割して格納する。そして、記憶異常プログラムで、ブロックＭＢ１〜ＭＢｎ毎にチェックサム診断を行なってブロック単位で異常の発生の有無を検出し、チェックサム結果が異常となったブロックＭＢｉ（ｉ＝１〜ｎ）に対して冗長記憶部としてのＲＯＭ１５ｄの対応するブロックＭＢｉ′のプログラムデータを書換更新するようにしてもよい。この場合には、書換更新をブロック単位で行なうので、書換更新処理時間を短くすることができる。
【００４２】
また、上記実施形態においては、主記憶部としてフラッシュＲＯＭ１５ｃを適用した場合について説明したが、これに限定されるものではなく、主記憶部として通常のＲＯＭ１５ｆを適用した場合には、図８に示すように、ＲＯＭ１５ｄを複数のブロックＭＢ０〜ＭＢｎに分割し、これらブロックＭＢ０〜ＭＢｎに操舵補助制御プログラムおよび記憶異常検出プログラムを含むアプリケーションプログラムを分割して格納し、このうち記憶異常検出プログラムについては分割せずに特定ブロックとしての先頭のブロックＭＢ０の先頭アドレスから書込むようにし、冗長記憶部としてのＲＯＭ１５ｄにもＲＯＭ１５ｆと同様のブロックＭＢ０′〜ＭＢｎ′に分割し、特定ブロックとしての先頭のブロックＭＢ０′の先頭アドレスに記憶異常検出プログラムを格納すると、ともに残りの操舵補助制御プログラムを含むアプリケーションプログラムを分割して、各ブロックＭＢ０′〜ＭＢｎ′に格納する。
【００４３】
そして、記憶異常検出プログラムに基づく記憶異常検出処理を図９に示すように実行する。この記憶異常検出処理では、先ず、ステップＳ２１で、ブロックＭＢ０〜ＭＢｎ毎にチェックサム診断処理を実行する。次いで、ステップＳ２２に移行して、異常となったブロックＭＢｉ（ｉ＝０〜ｎ）が存在するか否かを判定する。
この判定結果が、異常となったブロックが存在しない場合には、そのまま記憶異常検出処理を終了して操舵補助制御処理を実行し、異常となったブロックＭＢｉが存在する場合には、ステップＳ２２に移行して、該当するブロックＭＢｉに対応する冗長記憶部としてのＲＯＭ１５ｄのブロックＭＢｉ′のプログラムデータをＲＡＭの所定アドレスに格納し、次いでステップＳ２３に移行して、ＲＯＭ１５ｆのブロックＭＢｉに対する読出アドレスをＲＡＭ１５ｅのブロックＭＢｉ′の読出アドレスへ変更してから記憶異常検出処理を修理して、操舵補助制御処理に移行する。
【００４４】
この場合には、ＲＯＭ１５ｆのブロックにチェックサム異常が発生した場合に、ＲＡＭ１５ｅに冗長記憶部１５ｄに記憶されている正常なブロックを格納するので、操舵補助制御を開始又は継続することができる。
さらに、前述した図７の実施形態においても、フラッシュＲＯＭ１５ｃのブロックＭＢｉが異常と判定されたときに、異常となったブロックＭＢｉに対応する冗長記憶部としてのＲＯＭ１５ｄのブロックＭＢｉ′をＲＡＭ１５ｅに書込んで、ブロックＭＢｉをアクセスする際に、ＲＡＭ１５ｅのブロックＭＢｉ′をアクセスするようにしてもよい。
【００４５】
なお、上記実施の形態においては、コラムアシスト式の電動パワーステアリング装置に本発明を適用した場合について説明したが、これに限定されるものではなく、ラックアシスト式の電動パワーステアリングやピニオンアシスト式の電動パワーステアリング装置にも本発明を適用することができる。
【符号の説明】
【００４６】
１…ステアリングホイール、  ２…ステアリングシャフト、  ３…トルクセンサ、  ８…ステアリングギヤ、  １２…電動モータ、  １３…コントローラ、  １４…車速センサ、  １５…マイクロコンピュータ、  １５ａ…入力インタフェース回路、  １５ｂ…中央処理装置、  １５ｃ…フラッシュＲＯＭ、  １５ｄ…ＲＯＭ、  １５ｅ…ＲＡＭ、  １５ｆ…出力インタフェース回路、１５ｇ…ＲＯＭ、  １７…モータ駆動回路、  １８…モータ電流検出回路、２１…第１の記憶領域、２２…第２の記憶領域、２３…記憶領域、４１…操舵補助電流指令値演算部、４２…減算器、４３…ＰＩ電流制御部、４４…ＲＯＭ異常検出部、４５…フェイルセーフ処理部
【図１】
2010195220.tif 000003
【図２】
2010195220.tif 000004
【図３】
2010195220.tif 000005
【図４】
2010195220.tif 000006
【図５】
2010195220.tif 000007
【図６】
2010195220.tif 000008
【図７】
2010195220.tif 000009
【図８】
2010195220.tif 000010
【図９】
2010195220.tif 000011