(57)【特許請求の範囲】
【請求項１】
車両のステアリング系に発生する操舵トルクおよび前記車両の速度に基づいて演算した操舵補助指令値と、前記ステアリング系に操舵補助力を付与する操舵補助モータの電流検出値とに基づいて、前記操舵補助モータを制御する電動パワーステアリング装置において、
前記操舵補助モータを制御する操舵補助処理を実行する制御手段と、
前記制御手段の作業領域となるメモリと、
前記操舵補助処理の実行前または実行中に前記メモリの故障検出を行うメモリ故障検出手段と、
前記メモリ故障検出手段でメモリの故障を検出した場合に、操舵補助処理を実行可能な故障であるか否かを判定する操舵補助可否判定手段と、
を備え、
前記操舵補助可否判定手段で操舵補助処理を実行可能な故障と判定された場合には、前記操舵補助処理を開始または継続する一方、前記操舵補助処理を実行不可能な故障と判定された場合には、前記操舵補助処理を停止させ、
前記操舵補助可否判定手段は、前記メモリ故障検出手段でメモリの故障を検出した場合に、その故障ビットに基づいて、前記操舵補助処理を実行可能か否か判断し、
前記メモリは、故障を許容するビットと、故障を許容しないビットとを有し、
前記操舵補助可否判定手段は、前記故障ビットが、前記故障を許容するビットである場合には前記操舵補助処理を実行可能と判定し、前記故障を許容しないビットである場合には前記操舵補助処理を実行不可能と判定し、
前記メモリ故障検出手段は、前記メモリの故障アドレスを検出し、
前記操舵補助可否判定手段は、前記検出されたメモリの故障アドレスにおいて、前記故障を許容しないビットの少なくとも１つの故障を検出した場合に、前記操舵補助処理を実行不可能と判定し、
前記メモリは、記憶される変数のサイズ毎に複数の領域に分割されており、各領域は、それぞれ、前記故障を許容するビットを含む領域と、前記故障を許容しないビットのみで構成される領域とを有する
ことを特徴とする電動パワーステアリング装置。
【請求項２】
前記メモリはランダムアクセスメモリであることを特徴とする請求項１記載の電動パワーステアリング装置。
【請求項３】
車両のステアリング系に発生する操舵トルクおよび前記車両の速度に基づいて演算した操舵補助指令値と、前記ステアリング系に操舵補助力を付与する操舵補助モータの電流検出値とに基づいて、前記操舵補助モータを制御する電動パワーステアリング装置のメモリ故障検出方法において、
前記操舵補助モータを制御する操舵補助処理を実行する制御手段の作業領域となるメモリに対して、前記操舵補助処理の実行前または実行中に、その故障検出を行う第１の工程と、
前記メモリの故障を検出した場合に、前記操舵補助処理を実行可能な故障であるか否かを判断する第２の工程と、
前記操舵補助処理を実行可能な故障と判定された場合に、前記操舵補助処理を開始または継続する第３の工程と、
前記操舵補助処理を実行不可能な故障と判定された場合には、前記操舵補助処理を停止する第４の工程と、を含み、
前記第２の工程は、前記第１の工程でメモリの故障を検出した場合に、その故障ビットに基づいて、前記操舵補助処理を実行可能か否か判断し、
前記メモリは、故障を許容するビットと、故障を許容しないビットとを有し、
前記第２の工程は、前記故障ビットが、前記故障を許容するビットである場合には前記操舵補助処理を実行可能と判定し、前記故障を許容しないビットである場合には前記操舵補助処理を実行不可能と判定し、
前記第１の工程は、前記メモリの故障アドレスを検出し、
前記第２の工程は、前記検出されたメモリの故障アドレスにおいて、前記故障を許容しないビットの少なくとも１つの故障を検出した場合に、前記操舵補助処理を実行不可能と判定し、
前記メモリは、記憶される変数のサイズ毎に複数の領域に分割されており、各領域は、それぞれ、前記故障を許容するビットを含む領域と、前記故障を許容しないビットのみで構成される領域とを有する
ことを特徴とする電動パワーステアリング装置のメモリ故障検出方法。
【請求項４】
車両のステアリング系に発生する操舵トルクおよび前記車両の速度に基づいて演算した操舵補助指令値と、前記ステアリング系に操舵補助力を付与する操舵補助モータの電流検出値とに基づいて、前記操舵補助モータを制御する電動パワーステアリング装置に搭載されるプログラムにおいて、
前記操舵補助モータを制御する操舵補助処理を実行する制御手段の作業領域となるメモリに対して、前記操舵補助処理の実行前または実行中に、その故障検出を行う第１の工程と、
前記メモリの故障を検出した場合に、前記操舵補助処理を実行可能な故障であるか否かを判定する第２の工程と、
前記操舵補助処理を実行可能な故障と判定された場合に、前記操舵補助処理を開始または継続する第３の工程と、
前記操舵補助処理を実行不可能な故障と判定された場合には、前記操舵補助処理を停止させる第４の工程と、を含み、
前記第２の工程は、前記第１の工程でメモリの故障を検出した場合に、その故障ビットに基づいて、前記操舵補助処理を実行可能か否か判断し、
前記メモリは、故障を許容するビットと、故障を許容しないビットとを有し、
前記第２の工程は、前記故障ビットが、前記故障を許容するビットである場合には前記操舵補助処理を実行可能と判定し、前記故障を許容しないビットである場合には前記操舵補助処理を実行不可能と判定し、
前記第１の工程は、前記メモリの故障アドレスを検出し、
前記第２の工程は、前記検出されたメモリの故障アドレスにおいて、前記故障を許容しないビットの少なくとも１つの故障を検出した場合に、前記操舵補助処理を実行不可能と判定し、
前記メモリは、記憶される変数のサイズ毎に複数の領域に分割されており、各領域は、それぞれ、前記故障を許容するビットを含む領域と、前記故障を許容しないビットのみで構成される領域とを有する
ことを特徴とするコンピュータが実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動パワーステアリング装置、そのメモリ故障検出方法、およびコンピュータが実行可能なプログラムに関し、詳細には、メモリに故障（異常）が発生した場合でも操舵補助処理を継続することが可能な電動パワーステアリング装置、そのメモリ故障検出方法、およびコンピュータが実行可能なプログラムに関する。 
【背景技術】
【０００２】
乗用車やトラック等の車両の操舵力を軽減するため、操舵補助モータによって操舵を補助する、いわゆる電動パワーステアリング（ＥＰＳ：Electric Power Steering）装置がある。電動パワーステアリング装置では、操舵補助モータの駆動力を、減速機を介してギヤまたはベルト等の伝送機構により、ステアリングシャフトまたはラック軸に補助力を付与するようになっている。かかる電動パワーステアリング装置は、操舵補助トルクを正確に発生させるため、モータ電流のフィードバック制御を行っている。フィードバック制御は、電流指令値とモータ電流検出値との差が小さくなるようにモータ印加電圧を調整するものであり、モータ印加電圧の調整は、一般的にＰＷＭ（パルス幅変調）制御のデューティー比の調整で行っている。 
【０００３】
かかる電動パワーステアリング装置を搭載する車両の大型化のため、電動パワーステアリング装置の高出力化が進み、操舵補助モータのモータトルクの増大・大電流化が加速している。従来、電動パワーステアリング装置に何らかの異常が発生した場合には、操舵アシストを停止していた。軽自動車等では、電動パワーステアリング装置が作動していない場合でもある程度の操舵が可能であるが、リッターカー以上では操舵に大きな力が必要になるため、異常発生後も電動パワーステアリング装置による操舵アシストを継続することが望まれる。
【０００４】
このような電動パワーステアリング装置の制御には、データの格納や演算処理のためにＲＡＭ等のメモリを使用しており、操舵性能と信頼性を向上させるためにメモリ容量も大きくなってきている。そして、電動パワーステアリング装置の安全性を高めるために、初期時においても、また、操舵アシスト中においてもシステムの信頼性を高めたり、安全性を図ることを目的としてメモリ診断機能を具備するようになっている。
【０００５】
例えば、特許文献１〜３では、メモリ診断機能を備えた電動パワーステアリング装置において、メモリの異常を検出した場合に、安全のために操舵アシストを停止する技術が開示されている。しかしながら、特許文献１〜３では、メモリの異常を検出した場合には、
異常の軽重に拘わらず操舵アシストを停止する構成であるので、メモリに異常がある場合に操舵アシストを継続することができないという問題がある。
【０００６】
【特許文献１】特開２００６−３３１０８６号公報
【特許文献２】特開２００４−１３３６３５号公報
【特許文献３】特開２００３−３２３３５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上記に鑑みてなされたものであり、メモリに異常がある場合でも可及的に操舵補助処理を継続することが可能な電動パワーステアリング装置、そのメモリ故障検出方法、およびコンピュータが実行可能なプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、車両のステアリング系に発生する操舵トルクおよび前記車両の速度に基づいて演算した操舵補助指令値と、前記ステアリング系に操舵補助力を付与する操舵補助モータの電流検出値とに基づいて、前記操舵補助モータを制御する電動パワーステアリング装置において、前記操舵補助モータを制御する操舵補助処理を実行する制御手段と、前記制御手段の作業領域となるメモリと、前記操舵補助処理の実行前または実行中に前記メモリの故障検出を行うメモリ故障検出手段と、前記メモリ故障検出手段でメモリの故障を検出した場合に、操舵補助処理を実行可能な故障であるか否かを判定する操舵補助可否判定手段と、を備え、前記操舵補助可否判定手段で操舵補助処理を実行可能な故障と判定された場合には、前記操舵補助処理を開始または継続する一方、前記操舵補助処理を実行不可能な故障と判定された場合には、前記操舵補助処理を停止させ、前記操舵補助可否判定手段は、前記メモリ故障検出手段でメモリの故障を検出した場合に、その故障ビットに基づいて、前記操舵補助処理を実行可能か否か判断し、前記メモリは、故障を許容するビットと、故障を許容しないビットとを有し、前記操舵補助可否判定手段は、前記故障ビットが、前記故障を許容するビットである場合には前記操舵補助処理を実行可能と判定し、前記故障を許容しないビットである場合には前記操舵補助処理を実行不可能と判定し、前記メモリ故障検出手段は、前記メモリの故障アドレスを検出し、前記操舵補助可否判定手段は、前記検出されたメモリの故障アドレスにおいて、前記故障を許容しないビットの少なくとも１つの故障を検出した場合に、前記操舵補助処理を実行不可能と判定し、前記メモリは、記憶される変数のサイズ毎に複数の領域に分割されており、各領域は、それぞれ、前記故障を許容するビットを含む領域と、前記故障を許容しないビットのみで構成される領域とを有することを特徴とする。
【００１３】
また、本発明の好ましい態様によれば、前記メモリはランダムアクセスメモリであることが望ましい。
【００１４】
上述した課題を解決し、目的を達成するために、本発明は、車両のステアリング系に発生する操舵トルクおよび前記車両の速度に基づいて演算した操舵補助指令値と、前記ステアリング系に操舵補助力を付与する操舵補助モータの電流検出値とに基づいて、前記操舵補助モータを制御する電動パワーステアリング装置のメモリ故障検出方法において、前記操舵補助モータを制御する操舵補助処理を実行する制御手段の作業領域となるメモリに対して、前記操舵補助処理の実行前または実行中に、その故障検出を行う第１の工程と、前記メモリの故障を検出した場合に、前記操舵補助処理を実行可能な故障であるか否かを判断する第２の工程と、前記操舵補助処理を実行可能な故障と判定された場合に、前記操舵補助処理を開始または継続する第３の工程と、前記操舵補助処理を実行不可能な故障と判定された場合には、前記操舵補助処理を停止する第４の工程と、を含み、前記第２の工程は、前記第１の工程でメモリの故障を検出した場合に、その故障ビットに基づいて、前記操舵補助処理を実行可能か否か判断し、前記メモリは、故障を許容するビットと、故障を許容しないビットとを有し、前記第２の工程は、前記故障ビットが、前記故障を許容するビットである場合には前記操舵補助処理を実行可能と判定し、前記故障を許容しないビットである場合には前記操舵補助処理を実行不可能と判定し、前記第１の工程は、前記メモリの故障アドレスを検出し、前記第２の工程は、前記検出されたメモリの故障アドレスにおいて、前記故障を許容しないビットの少なくとも１つの故障を検出した場合に、前記操舵補助処理を実行不可能と判定し、前記メモリは、記憶される変数のサイズ毎に複数の領域に分割されており、各領域は、それぞれ、前記故障を許容するビットを含む領域と、前記故障を許容しないビットのみで構成される領域とを有することを特徴とする。
【００１５】
上述した課題を解決し、目的を達成するために、本発明は、車両のステアリング系に発生する操舵トルクおよび前記車両の速度に基づいて演算した操舵補助指令値と、前記ステアリング系に操舵補助力を付与する操舵補助モータの電流検出値とに基づいて、前記操舵補助モータを制御する電動パワーステアリング装置に搭載されるプログラムにおいて、前記操舵補助モータを制御する操舵補助処理を実行する制御手段の作業領域となるメモリに対して、前記操舵補助処理の実行前または実行中に、その故障検出を行う第１の工程と、前記メモリの故障を検出した場合に、前記操舵補助処理を実行可能な故障であるか否かを判定する第２の工程と、前記操舵補助処理を実行可能な故障と判定された場合に、前記操舵補助処理を開始または継続する第３の工程と、前記操舵補助処理を実行不可能な故障と判定された場合には、前記操舵補助処理を停止させる第４の工程と、を含み、前記第２の工程は、前記第１の工程でメモリの故障を検出した場合に、その故障ビットに基づいて、前記操舵補助処理を実行可能か否か判断し、前記メモリは、故障を許容するビットと、故障を許容しないビットとを有し、前記第２の工程は、前記故障ビットが、前記故障を許容するビットである場合には前記操舵補助処理を実行可能と判定し、前記故障を許容しないビットである場合には前記操舵補助処理を実行不可能と判定し、前記第１の工程は、前記メモリの故障アドレスを検出し、前記第２の工程は、前記検出されたメモリの故障アドレスにおいて、前記故障を許容しないビットの少なくとも１つの故障を検出した場合に、前記操舵補助処理を実行不可能と判定し、前記メモリは、記憶される変数のサイズ毎に複数の領域に分割されており、各領域は、それぞれ、前記故障を許容するビットを含む領域と、前記故障を許容しないビットのみで構成される領域とを有することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、車両のステアリング系に発生する操舵トルクおよび前記車両の速度に基づいて演算した操舵補助指令値と、前記ステアリング系に操舵補助力を付与する操舵補助モータの電流検出値とに基づいて、前記操舵補助モータを制御する電動パワーステアリング装置において、前記操舵補助モータを制御する操舵補助処理を実行する制御手段と、前記制御手段の作業領域となるメモリと、前記操舵補助処理の実行前または実行中に前記メモリの故障検出を行うメモリ故障検出手段と、前記メモリ故障検出手段でメモリの故障を検出した場合に、操舵補助処理を実行可能な故障であるか否かを判定する操舵補助可否判定手段と、を備え、前記操舵補助可否判定手段で操舵補助を実行可能な故障と判定された場合には、前記操舵補助処理を開始または継続する一方、前記操舵補助処理を実行不可能な故障と判定された場合には、前記操舵補助処理を停止させることとしたので、メモリに異常がある場合でも可及的に操舵補助処理を継続することが可能な電動パワーステアリング装置を提供することが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に、この発明につき図面を参照しつつ詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、下記実施例における構成要素には、当業者が容易に想定できるものまたは実質的に同一のものが含まれる。
【実施例】
【００１８】
図１は、電動パワーステアリング装置の一般的な構成を示す図である。図１において、操向ハンドル１のコラム軸２は減速ギヤ３、ユニバーサルジョイント４ａおよび４ｂ、ピニオンラック機構５を経て操向車輪のタイロッド６に連結されている。コラム軸２には、操向ハンドル１の操舵トルクＴを検出するトルクセンサ１０が設けられており、操向ハンドル１の操舵力を補助する操舵補助モータ２０が、減速ギヤ３を介してコラム軸２に連結されている。ここで、操舵補助モータ２０は、例えば、ブラシレスモータやブラシモータである。電動パワーステアリング装置を制御するコントロールユニット３０には、バッテリ１４から内蔵の電源リレー１３を経て電力が供給され、イグニションキー１１からイグニション信号が供給される。また、コントロールユニット３０は、トルクセンサ１０で検出された操舵トルクＴと車速センサ１２で検出された車速Ｖとに基づいて、操舵補助モータ２０の電流指令値を演算し、操舵補助モータ２０の電流検出値と電流指令値とに基づいて、操舵補助モータ２０の電流検出値が電流指令値に追従するように操舵補助モータ２０を駆動制御する。 
【００１９】
図２は、図１のコントロールユニット３０のハードウェア構成を示す図である。コントロールユニット３０は、図２に示すように、ＭＣＵ（マイクロコントロールユニット）１００と、ＦＥＴプリドライバ回路１１０と、モータ駆動回路（インバータ）１２０と、電流検出回路１３０と、位置検出回路１４０等を備えている。
【００２０】
ＭＣＵ１００は、ＣＰＵ（制御手段）１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＥＥＰＲＯＭ（不揮発性メモリ）１０４、第１のレジスタ１０７Ａ、第２のレジスタ１０７Ｂ、Ａ／Ｄ変換器１０５、インターフェース１０６、バス１０８等を備えている。ＣＰＵ１０１は、ＲＯＭ１０２に格納されたプログラムを実行して電動パワーステアリング装置を制御する。
【００２１】
ＲＯＭ１０２は、ＣＰＵ１０１が実行する各種プログラムを格納する。具体的には、ＲＯＭ１０２には、操舵補助（アシスト）を行う操舵補助モータ２０を制御するアシスト処理（操舵補助処理）、およびＲＡＭ１０３の故障検出を行うメモリ診断処理（メモリ初期診断処理およびメモリ常時診断処理）を実行するための制御プログラム等が格納されている。
【００２２】
ＲＡＭ１０３は、ＣＰＵ１０１がプログラムを実行する場合にその作業領域として使用され、処理過程で必要とするデータや処理結果等が記憶されるものである。第１のレジスタ１０７Ａおよび第２のレジスタ１０７Ｂは、ＣＰＵ１０１の演算等で使用され、例えば、メモリ診断処理で使用される。
【００２３】
ＥＥＰＲＯＭ１０４は、電源遮断後においても記憶内容を保持可能な不揮発性メモリであり、ＣＰＵ１０１が、電動パワーステアリング装置の制御で使用する制御データ等が格納される。なお、ここでは、不揮発性メモリとして、ＥＥＰＲＯＭを使用することとしたが、本発明はこれに限られるものではなく、ＦＬＡＳＨ−ＲＯＭ等の他の不揮発性メモリを使用することにしてもよい。
【００２４】
Ａ／Ｄ変換器１０５は、トルクセンサ１０からの操舵トルクＴ、電流検出回路１３０からの操舵補助モータ２０の電流検出値Ｉｍ、および位置検出回路１４０からのモータ回転角信号θ等を入力し、デジタル信号に変換する。インターフェース１０６は、車速センサ１２からの車速Ｖ（パルス）をＣＡＮ通信で受け取るためのものである。
【００２５】
上記構成において、ＣＰＵ１０１が、ＲＯＭ１０２に格納されたプログラムを実行することにより、メモリ故障検出手段、アシスト可否判定手段、およびフェールセーフ処理手段として機能する。
【００２６】
ＦＥＴプリドライバ回路１１０は、主ＭＣＵ１００から入力されるＵＶＷ各相のＰＷＭ制御信号を、各相正負の通電信号（Ｕp、Ｕn、Ｖp、Ｖn、Ｗp、Ｗn）に変換して、モータ駆動回路１２０に出力する。 
【００２７】
モータ駆動回路１２０は、一対のＦＥＴスイッチング素子からなるブリッジ回路をＵ相用、Ｖ相用、Ｗ相用として３相分備えており、各ＦＥＴスイッチング素子には還流ダイオードが並列接続されている。このブリッジ回路には、バッテリ１４から電源リレー１３を介して直流電圧が印加される。各ＦＥＴスイッチング素子の制御端子（ゲート端子）には、ＦＥＴプリドライバ回路１１０から通電信号が入力される。モータ駆動回路１２０に印加される直流電圧は、モータ駆動回路１２０内のＦＥＴスイッチング素子のスイッチング動作によって３相の交流電圧に変換され、それにより操舵補助モータ２０が駆動される。このブリッジ回路には、シャント抵抗Ｒ１、Ｒ２が接続されている。このシャント抵抗Ｒ１、Ｒ２に電流検出回路１３０が接続され、これによって、操舵補助モータ２０の電流検出値Ｉｍを検出するようになっている。 
【００２８】
位置検出回路１４０は、位置センサ２１からの出力信号をモータ回転角信号θとして、Ａ／Ｄ変換器１０５に出力する。
【００２９】
上記のように構成される電動パワーステアリング装置では、アシスト処理の実行前または実行中に、ＲＡＭ１０３の故障を検出した場合でも、可及的にアシスト処理を実行するために、ＲＡＭ１０３の故障を検出した場合に、アシスト処理を実行可能な故障か否かを判断し、アシスト処理を実行可能な故障と判定した場合には、アシスト処理を開始または継続し、アシスト処理を実行不可能な故障と判定した場合には、アシスト処理を停止するように構成されている。
【００３０】
図３は、ＲＡＭ１０３のメモリ構成例を示す図である。同図において、ＲＡＭ１０３は、記憶される変数のサイズ毎に３つの領域に分割されており、４バイト変数領域１０３ａ、２バイト変数領域１０３ｂ、１バイト変数領域１０３ｃを備えている。
【００３１】
さらに、各変数領域１０３ａ〜１０３ｃは、故障を許容するビット数に応じて４つの領域に分割されており、故障を許容するビットがない第１の領域２０１と、故障を許容するビットがｂｉｔ０である第２の領域２０２と、故障を許容するビットがｂｉｔ０、１である第３の領域２０３と、故障を許容するビットがｂｉｔ０，１，２である第４の領域２０４とを備えている。ＲＡＭ１０３に記憶されるべきデータも、当該データが異常となった際にアシスト処理に及ぶ影響度に応じて、４つに分類されており、影響度の高いデータから順に、第１〜第４の領域２０１〜２０４にそれぞれ記憶されるようになっている。
【００３２】
図４は、ＭＣＵ１００の機能構成図（ＣＰＵ１０１が制御プログラムを実行することにより実現する機能構成）を示す図である。ＭＣＵ１００は、図４に示すように、メモリ故障検出・アシスト可否判定部２１１と、フェールセーフ処理部２１２とを備えている。メモリ故障検出・アシスト可否判定部２１１は、ＲＡＭ１０３の故障診断を行い、ＲＡＭ１０３の故障を検出した場合に、その故障ビットに基づいて、アシスト処理を実行可能な故障か否かを判断し、アシスト処理を実行不可能と判断した場合に、アシスト不能通知をフェールセーフ処理部２１２に出力する。フェールセーフ処理部２１２は、メモリ故障検出・アシスト可否判定部２１１からアシスト不能通知を受け取った場合に、フェールセーフ処理（アシスト処理を停止、操舵補助モータ２０への通電を遮断、またはＭＣＵ１００のリセット等）を実行し、具体的には、例えば、モータ停止信号をＦＥＴプリドライバ回路１１０に出力して、ＦＥＴプリドライバ回路１１０の動作を停止させて、操舵補助モータ２０を停止させる。
【００３３】
また、ＭＣＵ１００は、図４に示すように、操舵トルクＴと車速Ｖに基づいて操舵補助トルク指令値を算出するトルク制御系モジュール５００と、各種のトルク補償を行う補償制御系モジュール５１０と、モータ電流のＦＢ（フィードバック）制御を行うモータ電流制御系モジュール５２０と、操舵補助モータ２０のモータ電流のＦＦ（フィードフォワード）制御を行うモータ電流補助制御系モジュール５３０等を備えている。つぎに、動作の概略を説明する。
【００３４】
まず、トルクセンサ１０で検出された操舵トルクＴと、車速センサ１２で検出された車速Ｖとがアシストマップ５０１に入力され操舵補助指令値が算出される。さらに、補償制御系モジュール５１０で演算される補償値、例えば、収斂性、慣性、およびＳＡＴなどの補償値を、加算部５０２で操舵補助指令値に加算してトルク指令値Ｔｒｅｆが決定される。トルク指令値Ｔｒｅｆは、位相補償部５０３で位相補償された後、電流指令値演算部５４０に入力される。そして、トルク指令値Ｔｒｅｆに基づいて電流指令値演算部５４０で電流指令値Ｉｒｅｆが決定される。なお、ブラシレスモータでは、トルク指令値Ｔｒｅｆの他に回転子のロータ角度も電流指令値演算部５４０に入力して電流指令値Ｉｒｅｆが決定される。
【００３５】
一方、操舵補助モータ２０のモータ電流は、電流検出値Ｉｍとして、電流検出回路１３０で検出され、電流指令値Ｉｒｅｆとともに減算部５２１へ入力される。減算部５２１では、それらの偏差ΔＩ＝Ｉｒｅｆ−Ｉｍが算出され、ＰＩ（比例積分）制御部５２２に入力される。ＰＩ（比例積分）制御部５２２では、偏差ΔＩの比例積分出力として、電圧制御値Ｖｒｅｆが出力される。また、電流指令値Ｉｒｅｆは、補助値演算部５３１に入力される。補助値演算部５３１で演算される補助値、例えば、Ｄｅａｄ  Ｔｉｍｅ、ＥＭＦ（逆起電力）、および弱め界磁制御の補助値が、加算部５３５で電圧制御値Ｖｒｅｆに加算される。加算部５３５の出力は、ＰＷＭ制御部５５０に入力されて、ＰＷＭ処理され、ＵＶＷ各相のＰＷＭ制御信号がＦＥＴプリドライバ回路１１０に出力され、ＦＥＴプリドライバ回路１１０およびモータ駆動回路１２０を介して、操舵補助モータ２０が駆動される。
【００３６】
図５は、ＭＣＵ１００の全体動作の概略を説明するためのフローチャートである。図５を参照して、ＭＣＵ１００の全体動作の概略を説明する。同図において、まず、ＩＧがオンされると（ステップＳ１の「Ｙｅｓ」）、ＣＰＵ１０１を初期化した後（ステップＳ２）、メモリ故障検出・アシスト可否判定部２１１はメモリ初期診断処理を実行する（ステップＳ３）。メモリ初期診断処理では、後述するＲＡＭ１０３の故障診断を行う（図６参照）。なお、メモリ初期診断処理でＲＡＭ１０３の故障を検出した場合に、アシスト処理を実行不可能な故障と判定した場合には、アシスト処理（ステップＳ５）を開始しない。
【００３７】
つづいて、ＲＡＭ１０３を初期化した後（ステップＳ４）、アシスト処理を開始する（ステップＳ５）、アシスト処理の実行中に、所定周期でメモリ常時診断処理を実行する（ステップＳ６）。メモリ常時診断処理は、メモリ初期診断処理と同様なＲＡＭ１０３の故障診断を行い（図６参照）、ＲＡＭ１０３の故障を検出した場合に、アシスト処理を実行不可能な故障と判定した場合には、アシスト処理を停止させる。
【００３８】
この後、ＩＧがＯＦＦされていない場合には（ステップＳ７の「Ｎｏ」）、ステップＳ５に戻り、ＩＧがＯＦＦされた場合には（ステップＳ７の「Ｙｅｓ」）、操舵補助モータ２０を停止させるための所定の停止処理を行って（ステップＳ８）、当該フローを終了する。
【００３９】
図６は、図５のメモリ初期診断処理およびメモリ常時診断処理におけるＲＡＭ診断処理の具体的な内容を説明するためのフローチャートである。同図において、まず、メモリ故障検出・アシスト可否判定部２１１は、ＲＡＭ１０３の先頭アドレスを診断アドレスに設定し（ステップＳ１１）、ＲＡＭ１０３の診断アドレスの診断を行って（ステップＳ１２）、故障ビットがあるか否かを判定する（ステップＳ１３）。ここでは、簡易的に診断アドレスに故障ビットがあるか否かを判断し、例えば、基準データをＲＡＭ１０３の診断アドレスにライト／リードして、その一致を判断して、故障ビットか否かを判定することができる。
【００４０】
診断アドレスに故障ビットがない場合には（ステップＳ１３の「Ｙｅｓ」）、ステップＳ１４に移行する一方、診断アドレスに故障ビットがある場合には（ステップＳ１３の「Ｎｏ」）、診断アドレスをＲＡＭ１０３の故障アドレスに設定して、アシスト可否判定処理（図７参照）を実行する（ステップＳ１７）。このアシスト可否判定処理では、後述するように、故障がアシスト処理を実行可能な故障であるか否かを判定する。
【００４１】
つぎに、メモリ故障検出・アシスト可否判定部２１１は、アシスト可否判定処理の判定結果がアシスト可能であるか否かを判断する（ステップＳ１８）。アシスト可能でない場合（ステップＳ１８の「Ｎｏ」）、アシスト不能通知をフェールセーフ処理部２１２に出力する。フェールセーフ処理部２１２は、アシスト不能通知を受け取ると、フェールセーフ処理を実行して、アシスト処理を停止させた後（ステップＳ１９）、当該フローを終了する。他方、アシスト可能である場合には（ステップＳ１８の「Ｙｅｓ」）、ステップＳ１４に移行する。
【００４２】
ステップＳ１４では、メモリ故障検出・アシスト可否判定部２１１は、ＲＡＭ１０３の次のアドレスを診断アドレスに設定し、診断アドレス＞ＲＡＭ１０３の最終アドレスであるか否かを判断する（ステップＳ１５）。診断アドレス＞ＲＡＭ１０３の最終アドレスでない場合には（ステップＳ１５の「Ｎｏ」）、ステップＳ１２に戻り、当該診断アドレスの診断を行って故障ビットがあるか否かを判断し（ステップＳ１３）、診断アドレス＞ＲＡＭ１０３の最終アドレスとなるまで（ステップＳ１５の「Ｙｅｓ」）、同じ処理（ステップＳ１２〜Ｓ１４）を繰り返し実行する。
【００４３】
図７は、上記図６のステップＳ１７のアシスト可否判定処理の詳細を説明するためのフローチャートである。同図において、まず、メモリ故障検出・アシスト可否判定部２１１は、ＲＡＭ１０３の故障アドレスの領域が第１〜第４の領域２０１〜２０４（図３参照）のいずれであるかを判定する（ステップＳ２１）。第１の領域２０１である場合には、故障アドレスの全ビットを診断対象ビットに設定（例えば、１バイト領域１０３ｃの場合は、ｂｉｔ０〜ｂｉｔ７）する（ステップＳ２２）。第２の領域２０２である場合には、故障アドレスのｂｉｔ０を除くビットを診断対象ビットに設定（例えば、１バイト領域１０３ｃの場合は、ｂｉｔ１〜ｂｉｔ７）する（ステップＳ２３）。第３の領域２０３である場合には、故障アドレスのｂｉｔ０、１を除くビットを診断対象ビットに設定（例えば、１バイト領域１０３ｃの場合は、ｂｉｔ２〜ｂｉｔ７）する（ステップＳ２４）。第４の領域２０４である場合には、故障アドレスのｂｉｔ０、１、２を除くビットを診断対象ビットに設定（例えば、１バイト領域１０３ｃの場合は、ｂｉｔ３〜ｂｉｔ７）する（ステップＳ２５）。
【００４４】
つづいて、診断対象メモリ（故障アドレスの全ビット）のデータを第１のレジスタ１０７Ａに書き込み（ステップＳ２６）、第１のレジスタ１０７Ａのデータの反転データを第２のレジスタ１０７Ｂに書き込む（ステップＳ２７）。第２のレジスタ１０７Ｂのデータを診断対象メモリに書き込む（ステップＳ２８）。第２のレジスタ１０７Ｂのデータを診断対象メモリのデータとＸＯＲ演算する（ステップＳ２９）。第２のレジスタ１０７Ｂのデータを診断対象ビットのデータとＡＮＤ演算する（ステップＳ３０）。この後、第２のレジスタ１０７Ｂ＝０であるか否かを判断し（ステップＳ３１）、第２のレジスタ１０７Ｂ＝０である場合には（ステップＳ３１の「Ｙｅｓ」）、ステップＳ３２に移行する一方、第２のレジスタ１０７Ｂ＝０でない場合には（ステップＳ３１の「Ｎｏ」）、判定結果＝アシスト不可能とする（ステップＳ３７）。
【００４５】
ステップＳ３２では、第１のレジスタ１０７Ａのデータを故障対象メモリに書き込み、第１のレジスタ１０７Ａのデータを診断対象メモリのデータとＸＯＲ演算する（ステップＳ３３）。第１のレジスタ１０７Ａのデータを診断対象ビットのデータでＡＮＤ演算する（ステップＳ３４）。この後、第１のレジスタ１０７Ａ＝０であるか否かを判断し（ステップＳ３５）、第１のレジスタ１０７Ａ＝０である場合には（ステップＳ３５の「Ｙｅｓ」）、判定結果＝アシスト可能とし（ステップＳ３６）、第１のレジスタ１０７Ａ＝０でない場合には（ステップＳ３５の「Ｎｏ」）、判定結果＝アシスト不可能とする（ステップＳ３７）。
【００４６】
以上説明したように、本実施例によれば、操舵補助モータ２０を制御するアシスト処理を実行するＣＰＵ１０１と、ＣＰＵ１０１の作業領域となるＲＡＭ１０３と、アシスト処理の実行前または実行中にＲＡＭ１０３の故障検出を行い、故障を検出した場合に、その故障ビットに基づいて、アシスト処理を実行可能な故障か否かを判定するメモリ故障検出・アシスト可否判定部２１１とを備え、メモリ故障検出・アシスト可否判定部２１１でアシスト処理を実行可能な故障と判定された場合には、アシスト処理を開始または継続する一方、アシスト処理を実行不可能な故障と判定された場合には、アシスト処理を停止することとしたので、ＲＡＭに故障がある場合でも可及的にアシスト処理を継続することが可能となる。
【００４７】
また、ＲＡＭ１０３は、故障を許容するビットと、故障を許容しないビットとを有し、
メモリ故障検出・アシスト可否判定部２１１は、故障ビットが、故障を許容するビットである場合にはアシスト処理を実行可能と判断する一方、故障を許容しないビットである場合にはアシスト処理を実行不可能と判定することとしたので、故障を許容するビットに故障があってもアシスト処理を継続することが可能となる。
【００４８】
また、メモリ故障検出・アシスト可否判定部２１１は、ＲＡＭ１０３の故障アドレスを検出し、故障アドレスの故障を許容しないビットの少なくとも１つの故障を検出した場合に、アシスト処理を実行不可能と判定することとしたので、アシスト処理に影響があるような故障の場合には、アシスト処理を中止して安全性を確保することが可能となる。
【００４９】
また、ＲＡＭ１０３は、記憶される変数のサイズ毎に複数の領域（４バイト変数領域１０３ａ、２バイト変数領域１０３ｂ、１バイト変数領域１０３ｃ）に分割されており、各領域は、それぞれ、故障を許容しないビットのみで構成される領域（第１の領域２０１）と、故障を許容するビットを含む領域（第２〜第４の領域２０２〜２０４）とを有しているので、記憶される変数のサイズ毎に、当該データが異常となった際にアシスト処理に及ぶ影響度に応じて、影響度の高いデータから順にそれぞれ記憶することが可能となる。
【００５０】
なお、上記実施例では、ＲＡＭ１０３を４バイト変数領域１０３ａ、２バイト変数領域１０３ｂ、および１バイト変数領域１０３ｃの３つの領域に分割することとしたが、変数のサイズおよび分割数はこれに限られるものではなく、２または４以上の領域に分割することにしてもよい。
【００５１】
また、上記実施例では、各変数領域１０３ａ〜１０３ｃを、第１〜第４の領域２０１〜２０４の４つの領域に分割することとしたが、分割数および故障を許容するビットの数はこれに限られるものではない。
【００５２】
また、上記実施例では、ＲＡＭ１０３の故障検出を一例として説明したが、本発明はこれに限られるものではなく、ＣＰＵの作業領域として使用されるレジスタについても同様な方法でアシスト可能な故障か否かを判定することができる。
【００５３】
また、上記実施例では、メモリ故障検出・アシスト可否判定およびフェールセーフ処理をＣＰＵ１０１で実行することとしたが、別個のデバイスで実施することにしてもよい。
【産業上の利用可能性】
【００５４】
本発明に係る電動パワーステアリング装置、そのメモリ故障検出方法、およびコンピュータが実行可能なプログラムは、ＣＰＵが作業用領域として使用するメモリが故障した場合でも、可及的に操舵補助処理を継続する場合に有用である。 
【図面の簡単な説明】
【００５５】
【図１】電動パワーステアリング装置の一般的な構成を示す図である。
【図２】図１のコントロールユニットのハードウェア構成を示す図である。
【図３】ＲＡＭのメモリ構成例を示す図である。
【図４】ＭＣＵの機能構成図（ＣＰＵが制御プログラムを実行することにより実現する機能構成）を示す図である。
【図５】ＭＣＵの動作の概略を説明するためのフローチャートである。
【図６】メモリ初期診断処理およびメモリ常時診断処理におけるＲＡＭ診断処理を説明するためのフローチャートである。
【図７】アシスト可否判定処理の詳細を説明するためのフローチャートである。
【符号の説明】
【００５６】
１  操向ハンドル
２  コラム軸
３  減速ギヤ
４ａ、４ｂ  ユニバーサルジョイント
５  ピニオンラック機構
６  タイロッド
１０  トルクセンサ
１２  車速センサ
１４  バッテリ
２０  操舵補助モータ
３０  コントロールユニット
１００  ＭＣＵ（マイクロコントロールユニット）
１０１  ＣＰＵ（制御手段）
１０２  ＲＯＭ
１０３  ＲＡＭ
１０３ａ  ４バイト領域
１０３ｂ  ２バイト領域
１０３ｃ  １バイト領域
１０４  ＥＥＰＲＯＭ
１０５  Ａ／Ｄ変換器
１０６  インターフェース
１０７Ａ  第１のレジスタ
１０７Ｂ  第２のレジスタ
１０８  バス
１１０  ＦＥＴプリドライバ回路
１２０  モータ駆動回路（インバータ）
１３０  電流検出回路
１４０  位置検出回路
２０１  第１の領域
２０２  第２の領域
２０３  第３の領域
２０４  第４の領域
２１１  メモリ故障検出・アシスト可否判定部
２１２  フェールセーフ処理部
【図１】
0005169410.tif 000002
【図２】
0005169410.tif 000003
【図３】
0005169410.tif 000004
【図４】
0005169410.tif 000005
【図５】
0005169410.tif 000006
【図６】
0005169410.tif 000007
【図７】
0005169410.tif 000008