(57)【特許請求の範囲】
【請求項１】
車両のステアリング系に発生する操舵トルクおよび前記車両の速度に基づいて演算した操舵補助指令値と、前記ステアリング系に操舵補助力を付与する操舵補助モータの電流検出値とに基づいて、前記操舵補助モータを制御する電動パワーステアリング装置において、
前記操舵補助モータを制御する制御手段と、
前記制御手段のワークエリアとして使用され、センサデータや前記制御手段の演算結果等が格納されるランダムアクセスメモリと、
前記電動パワーステアリング装置の故障を検出する故障検出手段と、
を備え、
前記ランダムアクセスメモリは、少なくとも２つのメモリ領域を有し、一方のメモリ領域を通常処理に使用し、前記故障検出手段で故障が検出された場合には、他方のメモリ領域を通常処理に使用する領域に切り替え、前記一方のメモリ領域を故障解析用データの保存領域とすることを特徴とする電動パワーステアリング装置。
【請求項２】
前記２つのメモリ領域の切り替えは、メモリ領域を配列定義してアドレス指定するインデックス方式、固定アドレスに対して所定値を加減算するオフセット方式、または物理的なメモリ領域を選択するバンク方式で行うことを特徴とする請求項１に記載の電動パワーステアリング装置。
【請求項３】
前記故障解析用データを記録するための不揮発性記憶手段を備え、
前記制御手段は、空き時間に、前記ランダムアクセスメモリに保存されている故障解析用データを前記不揮発性記憶手段に保存することを特徴とする請求項１または請求項２に記載の電動パワーステアリング装置。
【請求項４】
前記故障検出手段で故障が検出される毎に、通常処理を行う領域と故障解析用データの保存領域とを、前記一方のメモリ領域と前記他方のメモリ領域とで交互に切り替えることを特徴とする請求項１〜請求項３のいずれか１つに記載の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動パワーステアリング装置に関し、詳細には、電動パワーステアリング装置の故障解析データを記録する電動パワーステアリング装置に関する。
【背景技術】
【０００２】
乗用車やトラック等の車両の操舵力を軽減するため、操舵補助モータによって操舵を補助する、いわゆる電動パワーステアリング（ＥＰＳ：Electric Power Steering）装置がある。電動パワーステアリング装置では、操舵補助モータの駆動力を、減速機を介してギヤまたはベルト等の伝送機構により、ステアリングシャフトまたはラック軸に補助力を付与するようになっている。かかる電動パワーステアリング装置は、操舵補助トルクを正確に発生させるため、モータ電流のフィードバック制御を行っている。フィードバック制御は、電流指令値とモータ電流検出値との差が小さくなるようにモータ印加電圧を調整するものであり、モータ印加電圧の調整は、一般的にＰＷＭ（パルス幅変調）制御のデューティー比の調整で行っている。
【０００３】
電動パワーステアリング装置においては、その駆動制御において種々のデータが発生し、必要なデータを電動パワーステアリング装置に備えた不揮発性メモリに記録している。このような電動パワーステアリング装置におけるデータの記録に関する技術として、たとえば、保存用メモリを上書き用のメモリと永久保存用の不揮発メモリとによって構成し、データの大きさが設定範囲を超えた場合、つまり、何らかの異常が生じている可能性が大きい場合に限って永久保存用の不揮発メモリに追加保存して、異常や故障の解析に有用なデータを長期間に亘って保持するようにしたものが提案されている（たとえば、特許文献１参照）。 
【０００４】
上述したように、従来の電動パワーステアリング装置においては、故障が発生した場合には、電動パワーステアリング装置内の不揮発メモリに故障解析用データ（故障記録データ）が自動的に記憶されるようになっている。かかる故障解析用データは、フリーズフレームデータとも呼ばれ、電子制御装置が何らかの原因で故障が発生した場合に、故障の発生原因を解析し易くするために、ソフトウェアの入出力信号や制御アルゴリズム演算過程のデータ等を保存しておく情報のことである。
【０００５】
しかしながら、故障解析用データは、高速かつ確実に保存する必要があるため、他のソフトウェア機能を一時的に停止してでも優先して処理しなければならない。このため、ソフトウェア全体の処理負荷が急激に増加して最大レベルに達してしまうという問題がある。
【０００６】
図８は、従来の故障解析用データの故障検出時の保存方法を説明するための図である。同図において、３０１は参照用メモリ、３０２は故障解析用メモリを示している。参照用メモリ３０２には、センサで検出されたデータやＣＰＵの演算結果のデータ等が一時的に記憶される。故障検出時には、参照用メモリ３０１に格納されているデータを、故障解析用メモリ３０２にコピーする。この場合、データ量が多いほど、長い期間、全体の処理をロックすることになるため、必然的に負荷が増すことになる。従来の方法では、コピー要素が１０〜２０バイト程度なら処理負荷がそれほど大きくないが、数１００バイト程度になると、ソフトウェアのリアルタイム性や処理負荷の関係でシステム的に問題が生じる場合がある。
【０００７】
図９は、故障検出時のソフトウェアの処理負荷の従来技術を説明するためのタイミングチャートである。同図では、所定周期Ｔ１内でＴａｓｋ（タスク）１〜４を実行し、Ｔａｓｋ２に故障解析用データの保存処理が組み込まれている場合を説明する。
【０００８】
同図において、従来では、故障解析用データを保存する場合には、例えば、時刻ｔ１で、Ｔａｓｋ２の故障診断機能により故障を検出した場合には、時刻ｔ２で故障解析用データ保存処理を開始し、時刻ｔ３で故障解析用データ保存処理が終了する。この場合、従来の方法では、故障解析用データの保存処理に長期間のＴ２の時間を要する。このため、Ｔａｓｋ２の処理負荷が増大し、後行の処理（Ｔａｓｋ３，Ｔａｓｋ４）が設計通りのタイミングで処理できなくなるため、Ｔａｓｋ３、４の処理の遅れの影響により、Ｔａｓｋ１が規定のタイミングで起動／処理できない状況が発生する場合がある。この結果、設計通りのタイミングで処理できないことで、操舵補助処理（以下、「アシスト処理」と称する）が破綻してアシスト停止に発展する可能性がある。
【０００９】
【特許文献１】特開２０００−３３７９７７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、上記課題に鑑みてなされたものであり、ソフトウェアの処理負荷を増加させることなく、故障解析用データを高速かつ確実に保存することが可能な電動パワーステアリング装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、車両のステアリング系に発生する操舵トルクおよび前記車両の速度に基づいて演算した操舵補助指令値と、前記ステアリング系に操舵補助力を付与する操舵補助モータの電流検出値とに基づいて、前記操舵補助モータを制御する電動パワーステアリング装置において、前記操舵補助モータを制御する制御手段と、前記制御手段のワークエリアとして使用され、センサデータや前記制御手段の演算結果等が格納されるランダムアクセスメモリと、前記電動パワーステアリングの故障を検出する故障検出手段と、を備え、前記ランダムアクセスメモリは、少なくとも２つのメモリ領域を有し、一方のメモリ領域を通常処理に使用し、前記故障検出手段で異常を検出した場合には、他方のメモリ領域を通常処理に使用する領域に切り替え、前記一方のメモリ領域を故障解析用データの保存領域とすることを特徴とする。
【００１２】
また、本発明の好ましい態様によれば、前記２つのメモリ領域の切り替えは、メモリ領域を配列定義してアドレス指定するインデックス方式、固定アドレスに対して所定値を加減算するオフセット方式、または物理的なメモリ領域を選択するバンク方式で行うことが望ましい。
【００１３】
また、本発明の好ましい態様によれば、前記故障解析用データを記録するための不揮発性記憶手段を備え、前記制御手段は、空き時間に、前記ランダムアクセスメモリに保存された故障解析用データを前記不揮発性記憶手段に保存することが望ましい。
【００１４】
また、本発明の好ましい態様によれば、前記故障検出手段で故障が検出される毎に、通常処理を行う領域と故障解析用データの保存領域を、前記一方のメモリ領域と前記他方のメモリ領域とで交互に切り替えることが望ましい。
【発明の効果】
【００１５】
この発明によれば、車両のステアリング系に発生する操舵トルクおよび前記車両の速度に基づいて演算した操舵補助指令値と、前記ステアリング系に操舵補助力を付与する操舵補助モータの電流検出値とに基づいて、前記操舵補助モータを制御する電動パワーステアリング装置において、前記操舵補助モータを制御する制御手段と、前記制御手段のワークエリアとして使用され、センサデータや前記制御手段の演算結果等が格納されるランダムアクセスメモリと、前記電動パワーステアリングの故障を検出する故障検出手段と、を備え、前記ランダムアクセスメモリは、少なくとも２つのメモリ領域を有し、一方のメモリ領域を通常処理に使用し、前記故障検出手段で異常を検出した場合には、他方のメモリ領域を通常処理に使用する領域に切り替え、前記一方のメモリ領域を故障解析用データの保存領域とすることとしたので、ソフトウェアの処理負荷を増加させることなく、故障解析用データを高速かつ確実に保存することが可能な電動パワーステアリング装置を提供することが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明にかかる電動パワーステアリング装置の実施の形態を図面に基づいて詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。 
【実施例】
【００１７】
図１は、電動パワーステアリング装置の一般的な構成を示す図である。図１において、操向ハンドル１のコラム軸２は減速ギヤ３、ユニバーサルジョイント４ａおよび４ｂ、ピニオンラック機構５を経て操向車輪のタイロッド６に連結されている。コラム軸２には、操向ハンドル１の操舵トルクＴを検出するトルクセンサ１０が設けられており、操向ハンドル１の操舵力を補助する操舵補助モータ２０が、減速ギヤ３を介してコラム軸２に連結されている。ここで、操舵補助モータ２０は、例えば、ブラシレスモータやブラシモータである。電動パワーステアリング装置を制御するコントロールユニット３０には、バッテリ１４から内蔵の電源リレー１３を経て電力が供給され、イグニションキー１１からイグニション信号が供給される。また、コントロールユニット３０は、トルクセンサ１０で検出された操舵トルクＴと車速センサ１２で検出された車速Ｖとに基づいて、操舵補助モータ２０の電流指令値を演算し、操舵補助モータ２０の電流検出値と電流指令値とに基づいて、操舵補助モータ２０の電流検出値が電流指令値に追従するように操舵補助モータ２０を駆動制御する。 
【００１８】
図２は、図１のコントロールユニット３０のハードウェア構成を示す図である。コントロールユニット３０は、図２に示すように、ＭＣＵ（マイクロコントロールユニット）１００と、ＦＥＴプリドライバ回路１１０と、モータ駆動回路（インバータ）１２０と、電流検出回路１３０と、位置検出回路１４０等を備えている。 
【００１９】
ＭＣＵ１００は、ＣＰＵ（制御手段）１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＥＥＰＲＯＭ（不揮発性メモリ）１０４、Ａ／Ｄ変換器１０５、インターフェース１０６、バス１０７等を備えている。ＣＰＵ１０１は、ＲＯＭ１０２に格納されたプログラムを実行して電動パワーステアリング装置を制御する。
【００２０】
ＲＯＭ１０２は、ＣＰＵ１０１が実行する各種プログラムを格納する。具体的には、ＲＯＭ１０２には、操舵補助（アシスト）を行う操舵補助モータ２０を制御するアシスト処理（操舵補助処理）を実行するためのプログラム、電動パワーステアリング装置の故障を検出するための故障検出処理を実行するためのプログラム、および故障検出時の故障解析用データの保存処理を実行するためのプログラム等が格納されている。
【００２１】
ＲＡＭ１０３は、ＣＰＵ１０１がプログラムを実行する場合にそのワークエリアとして使用され、センサデータ（操舵トルクＴ、車速Ｖ、操舵補助モータ２０の電流検出値Ｉｍ、モータ回転角信号θ等）、処理過程で必要とするデータ、および処理結果等のデータが一時的に記憶されるものである。ＲＡＭ１０３は、第１のメモリ領域１０３ａと第２のメモリ領域１０３ｂを備えており、後述するように、故障検出時にその使用が切り替えられる（図３〜図７参照）。
【００２２】
ＥＥＰＲＯＭ１０４は、電源遮断後においても記憶内容を保持可能な不揮発性メモリであり、ＣＰＵ１０１が、電動パワーステアリング装置の制御で使用する制御データや故障解析用データ等が格納される。なお、ここでは、不揮発性メモリとして、ＥＥＰＲＯＭを使用することとしたが、本発明はこれに限られるものではなく、ＦＬＡＳＨ−ＲＯＭ等の他の不揮発性メモリを使用することにしてもよい。 
【００２３】
Ａ／Ｄ変換器１０５は、トルクセンサ１０からの操舵トルクＴ、電流検出回路１３０からの操舵補助モータ２０の電流検出値Ｉｍ、および位置検出回路１４０からのモータ回転角信号θ等を入力し、デジタル信号に変換する。インターフェース１０６は、車速センサ１２からの車速Ｖ（パルス）をＣＡＮ通信で受け取るためのものである。
【００２４】
上記構成において、ＣＰＵ１０１が、ＲＯＭ１０２に格納されたプログラムを実行することにより、故障検出手段およびメモリ切替手段として機能する。
【００２５】
ＦＥＴプリドライバ回路１１０は、主ＭＣＵ１００から入力されるＵＶＷ各相のＰＷＭ制御信号を、各相正負の通電信号（Ｕp、Ｕn、Ｖp、Ｖn、Ｗp、Ｗn）に変換して、モータ駆動回路１２０に出力する。 
【００２６】
モータ駆動回路１２０は、一対のＦＥＴスイッチング素子からなるブリッジ回路をＵ相用、Ｖ相用、Ｗ相用として３相分備えており、各ＦＥＴスイッチング素子には還流ダイオードが並列接続されている。このブリッジ回路には、バッテリ１４から電源リレー１３を介して直流電圧が印加される。各ＦＥＴスイッチング素子の制御端子（ゲート端子）には、ＦＥＴプリドライバ回路１１０から通電信号が入力される。モータ駆動回路１２０に印加される直流電圧は、モータ駆動回路１２０内のＦＥＴスイッチング素子のスイッチング動作によって３相の交流電圧に変換され、それにより操舵補助モータ２０が駆動される。このブリッジ回路には、シャント抵抗Ｒ１、Ｒ２が接続されている。このシャント抵抗Ｒ１、Ｒ２に電流検出回路１３０が接続され、これによって、操舵補助モータ２０の電流検出値Ｉｍを検出するようになっている。 
【００２７】
位置検出回路１４０は、位置センサ２１からの出力信号をモータ回転角信号θとして、Ａ／Ｄ変換器１０５に出力する。
【００２８】
つぎに、図３〜図７を参照して、故障検出時の故障解析用データの保存処理について説明する。本実施例では、ＣＰＵ１０１は、正常状態では、ＲＡＭ１０３の第１の領域１０３ａを通常処理に使用している。通常処理では、ＣＰＵ１０１が、アシスト処理等を実行する場合に、第１の領域１０３ａに対して、センサデータ、処理過程で必要とするデータ、および処理結果等のデータのリード（Ｒ）／ライト（Ｗ）が行われる。そして、故障が検出された場合には、第２のメモリ領域１０３ｂを通常処理に使用する領域に切り替え、第１のメモリ領域１０３ａを故障解析用データの保存領域に切り替えることにより、ＣＰＵ１０１（ソフトウェア）の処理負荷を増加させることなく、故障解析用データを高速かつ確実に保存している。
【００２９】
図３は、故障解析用データの保存処理に関するＭＣＵ１００の機能構成図である。同図において、ＭＣＵ１００は、アシスト処理等を実行する制御部２０１と、センサデータに基づいて、故障を検出する故障検出部２０２と、ＲＡＭ１０３の第１のメモリ領域１０３ａと第２のメモリ領域１０３ｂの切り替えを行うメモリ切替部２０３等を備えている。
【００３０】
故障検出部２０２は、センサデータに基づいて、電動パワーステアリング装置の故障を検出するものであり、故障を検出した場合に、故障検出信号をメモリ切替部２０３に出力する。ここでは、センサデータに基づいて故障を検出することとしたが、故障検出は、センサデータに基づく故障検出に限られず、メモリ（ＲＯＭ１０２、ＥＥＰＲＯＭ１０４）、ＣＰＵ１０１等の故障を検出することにしてもよい。
【００３１】
制御部２０１は、通常処理を行う場合に、ＲＡＭ１０３に対して、センサデータ、処理過程で必要とするデータ、および処理結果等のデータのリード（Ｒ）／ライト（Ｗ）を行う。
【００３２】
メモリ切替部２０３は、故障検出部２０２から入力される故障検出信号に基づいて、ＲＡＭ１０３の第１のメモリ領域１０３ａと第２のメモリ領域１０３ｂの切り替えを行う。第１および第２のメモリ領域１０３ａ、１０３ｂの切り替えを行う場合のメモリアクセス方式としては、例えば、メモリ領域を配列定義してアドレス指定するインデックス方式、固定アドレスに対して所定値を加減算するオフセット方式、または物理的なメモリ領域を選択するバンク方式等を使用することができる。インデックス方式を使用した場合の実施例については後述する（図６−１〜図６−６参照）。
【００３３】
図４は、メモリ切替部２０３のメモリ領域の切り替えを説明するための模式図である。同図において、メモリ切替部２０３は、正常状態では、第１のメモリ領域１０３ａを選択する。制御部１０３は、第１のメモリ領域１０３ａを使用して、通常処理を行う（Ｓ１）。すなわち、第１のメモリ領域１０３ａは単純なデータの受け渡し領域として使用される。
【００３４】
メモリ切替部２０３は、故障検出部２０２で故障が検出されて故障検出信号が入力された場合には、通常処理を行う領域を第２のメモリ領域１０３ｂに切り替える。制御部１０３は、第２のメモリ領域１０３ｂを使用して、通常処理を行う（Ｓ２）。第１のメモリ領域１０３ａは、データが更新されなくなり、第１のメモリ領域１０３ａに格納されている故障発生時のデータを故障解析用データとして、制御部２０１の空き時間等にＥＥＰＲＯＭ１０４に格納する。これにより、コントロールユニット３０の電源をＯＦＦしても、後で故障解析用データを確認することが可能となる。
【００３５】
故障が軽微でフェールセーフ処理でリカバリーされた後に、さらに、故障が検出された場合には、通常処理を行う領域を第１のメモリ領域１０３ａに切り替える。制御部１０３は、第１のメモリ領域１０３ａを使用して、通常処理を行う（Ｓ３）。第２のメモリ領域１０３ｂは、データが更新されなくなり、第２のメモリ領域１０３ｂに格納されている故障発生時のデータを故障解析用データとして、制御部２０１の空き時間にＥＥＰＲＯＭ１０４に格納する。リカバリー後、さらに、故障が検出された場合には、第２のメモリ領域１０３を通常処理を行う領域に、第１のメモリ領域１０３ａを故障解析用データの保存領域に切り替える（Ｓ２）。このように、故障を検出する毎に、通常処理を行う領域と故障解析用データの保存領域とを、第１のメモリ領域１０３ａと第２のメモリ領域１０３ｂとで交互に切り替えることで、故障解析用データを繰り返し保存することが可能となる。また、制御部２０１の空き時間に、故障解析用データをＥＥＰＲＯＭ１０４に格納することにより、制御部２０１の処理負荷を軽減することができる。
【００３６】
図５は、図３のＭＣＵ１００の動作の概略を説明するためのフローチャートである。図５を参照して、図３のＭＣＵ１００の動作の概略を説明する。同図において、まず、ＩＧがオンされると（ステップＳ１１）、初期診断が実行される（ステップＳ１２）。初期診断の終了後、センサデータが故障検出部２０２に入力されると共に、ＲＡＭ１０３の第１のメモリ領域１０３ａに格納される（ステップＳ１３）。故障検出部２０２では、センサデータに基づいて、故障の検出を行う（ステップＳ１４）。故障検出部２０２は、故障を検出したか否かを判断し（ステップＳ１５）、故障診断部２０２で故障が検出されない場合は（ステップＳ１５の「Ｎｏ」）、制御部２０１は、ＲＡＭ１の第１のメモリ領域１０３を使用して通常処理を行って、制御演算を行い（ステップＳ１６）、操舵補助モータ２０の電流指令値を出力する（ステップＳ１７）。そして、ＩＧがＯＦＦされていない場合には（ステップＳ１８の「Ｎｏ」）、ステップＳ１３に戻り、ＩＧがＯＦＦされた場合には（ステップＳ１８の「Ｙｅｓ」）、操舵補助モータ２０を停止させるための所定の停止処理を行って（ステップＳ１９）、当該フローを終了する。
【００３７】
他方、ステップＳ１５において、故障検出部２０２で故障が検出された場合は（ステップＳ１５の「Ｙｅｓ」）、上述した故障解析データの保存処理を行った後（ステップＳ２０）、フェールセーフ処理を行う（ステップＳ２１）。フェールセーフ処理では、故障が軽微な場合にはリカバー処理を行って、ステップＳ１６に移行する。他方、故障が重大な場合には操舵補助モータ２０を停止させるための所定の停止処理を行う。
【００３８】
つぎに、図６−１〜図６−５を参照して、上述の故障解析データの保存処理において、メモリ切替部２０３がインデックス方式を使用して、ＲＡＭ１０３の第１のメモリ領域１０３ａと第２のメモリ領域１０３ｂの切り替えを行う場合の実施例を説明する。
【００３９】
図６−１において、本来１次元配列であるアドレス空間を擬似的に多次元配列することにより、同一構成のメモリ空間を複数作成し、これらの配列に対してインデックスによって高速に切り替え、リード／ライトアクセスできるようにＲＡＭ１０３を構成する。Ｍｅｍ［０］、Ｍｅｍ［１］、ＷｒｉｔｅＩｎｄｅｘ、ＲｅａｄＩｎｄｅｘを用意する（以下の説明では、第１の領域１０３ａをＭｅｍ［０］＝Ｍ０、第２の領域１０３ｂをＭｅｍ［１］＝Ｍ１，ＷｒｉｔｅＩｎｄｅｘ＝ＷＩ、ＲｅａｄＩｎｄｅｘ＝ＲＩとする。
【００４０】
初期状態では、ＷＩ＝０，ＲＩ＝０を設定し、Ｍ０、Ｍ１のメモリ空間は適切な値で初期化されている。ＷＩとＲＩに設定された値によってＭｅｍ［０］とＭｅｍ［１］のアクセスを切り替えることができる。
【００４１】
図６−２に示すように、故障解析用データを保存しない場合には（正常状態）、ＷＩ＝０，ＲＩ＝０をセットし、Ｍ０を単純なデータの受け渡し領域とする。
【００４２】
図６−３に示すように、故障解析用データを保存する場合には（故障検出部２０２での故障検出時）、まず、ＷＩ＝１、ＲＩ＝０をセットし、Ｍ１のデータ更新に切り替え、Ｍ０のデータを保持する。故障解析用データの保存処理によりも優先順位の高い処理がなければ、ＷＩ、ＲＩを同時に切り替えてもよい。
【００４３】
図６−４に示すように、ＷＩ＝１，ＲＩ＝１をセットし、Ｍ１を単純なデータの受け渡し領域とする。これにより、Ｍ０が更新されなくなり、Ｍ０に故障解析用データの取得が完了となる。Ｍ０に取得した故障解析用データを、制御部２０１の空き時間に所定の方法でＥＥＰＲＯＭ１０４に保存することで、一度、コントロールユニット３０の電源をＯＦＦしても、後で故障解析用データを確認することが可能となる。
【００４４】
また、故障解析用データを繰り返し保存するとき、例えば、故障検出→故障解析用データ保存→故障確定前に復帰→故障検出→故障解析用データ保存する場合には、図６−５に示すように、ＷＩとＲＩを変化させれば、最新の故障解析用データを何度でも簡単に取得することができる。同図において、まず、（１）ＷＩ＝０，ＲＩ＝０を設定し、Ｍ０を単純なデータの受け渡し領域とする。（２）故障検出部２０２で故障を検出した場合には、ＷＩ＝１、ＲＩ＝０を設定し、Ｍ１のデータ更新に切り替え、Ｍ０のデータを保持する。なお、Ｍ０に保持したデータは、制御部２０１の処理が空いている間に、ＥＥＰＲＯＭ１０４に格納する。この後、（３）、（４）ＷＩ＝１，ＲＩ＝１をセットし、Ｍ１を単純なデータの受け渡し領域とする。制御部２０１の処理が空いている間に、Ｍ０に書き込んだデータをＥＥＰＲＯＭ１０４に格納する。
【００４５】
つぎに、故障確定前に復帰した後に、（５）故障検出部２０２で故障を検出した場合には、ＷＩ＝０、ＲＩ＝１を設定し、Ｍ０のデータ更新に切り替え、Ｍ１のデータを保持する。なお、Ｍ０に保持したデータは、制御部１０１の空き時間にＥＥＰＲＯＭ１０４に格納する。そして、（６）ＷＩ＝０，ＲＩ＝０を設定し、第１の領域であるＭ０を単純なデータの受け渡し領域とする。この後、異常を検出した場合は、（１）に戻る。Ｍ０とＭ１を切り替えるだけで、最新の故障解析用データを何度でも取得することができる。
【００４６】
このように、ＷＩとＲＩの２つのインデックス変数を操作するだけで、大量の故障解析用データを高速かつ確実に保存することが可能となる。この方式を用いれば故障解析用データの要素数が多いほど効果を発揮する。周期入出力のタイミングによっては、配列アクセスのための複数インデックスを同時操作しても目的を果たすことが可能となる。また、周期入出力のタイミングによっては、配列アクセスのためのインデックスが１つでも充分目的を果たすことが可能となる。
【００４７】
図７は、本実施例において、故障検出時のＣＰＵ１０１（ソフトウェア）の処理負荷を説明するためのタイミングチャートである。同図では、所定周期Ｔ１内でＴａｓｋ（タスク）１〜４を実行し、Ｔａｓｋ２に故障解析用データの保存処理が組み込まれている場合を説明する。
【００４８】
同図において、故障解析用データを保存する場合には、例えば、時刻ｔ１で、Ｔａｓｋ２の故障検出機能により故障を検出した場合には、時刻ｔ２で故障解析用データ保存処理を開始し、時刻ｔ３で故障解析用データ保存処理が終了する。この場合、本実施例では、ＲＡＭ１０３の第１および第２のメモリ領域１０３ａ、１０３ｂの切り替えを行うだけであるので、従来では故障解析用データの保存処理に長期間Ｔ２（図９参照）要していたが、本実施例では、短期間のＴ３で済み、後行の処理（Ｔａｓｋ３，Ｔａｓｋ４）を設計通りのタイミングで処理できる。すなわち、ソフトウェアの処理負荷を増加させることなく、故障解析用データを高速かつ確実に保存することができ、設計通りのタイミングで処理できるようになる。したがって、本来の診断／制御の効果を発揮することができる。
【００４９】
以上説明したように、本実施例によれば、操舵補助モータ２０を制御する制御部２０１と、制御部２０１のワークエリアとして使用され、センサデータやその演算結果等が格納され、第１のメモリ領域１０３ａと第２のメモリ領域１０３ｂを有するＲＡＭ１０３と、電動パワーステアリング装置の故障を検出する故障検出部２０２と、正常状態では、第１のメモリ領域１０３ａを通常処理に使用する領域として選択し、故障検出部２０２で故障を検出した場合には、第２のメモリ領域１０３ｂを通常処理に使用する領域に切り替え、第１のメモリ領域１０３ａを故障解析用データの保存領域とするメモリ切替部２０３とを備えているので、ソフトウェア（ＣＰＵ）の処理負荷を増加させることなく、故障解析用データを高速かつ確実に保存することが可能となる。
【００５０】
また、メモリ切替部２０３は、第１および第２のメモリ領域１０３ａ、１０３ｂの切り替えを、メモリ領域を配列定義してアドレス指定するインデックス方式、固定アドレスに対して所定値を加減算するオフセット方式、または物理的なメモリ領域を選択するバンク方式で行うこととしたので、第１および第２のメモリ領域１０３ａ、１０３ｂの切り替えを簡単な方法で行うことが可能となる。
【００５１】
また、故障解析用データを記録するためのＥＥＰＲＯＭ１０４を備え、制御部２０２の空き時間に、ＲＡＭ１０３に保存された故障解析用データをＥＥＰＲＯＭ１０４に保存することとしたので、ソフトウェア（ＣＰＵ）の処理負荷を増加させることなく、故障解析用データを永続的に保存することが可能となる。
【００５２】
また、故障検出部２０２で故障を検出する毎に、通常処理を行う領域と故障解析用データの保存領域を、第１のメモリ領域１０３ａと第２のメモリ領域１０３ｂとで交互に切り替えることとしたので、故障解析用データを繰り返し保存することが可能となる。
【００５３】
なお、上記実施例では、ＲＡＭ１０３の領域を２つの領域に分割することとしたが、分割する領域数はこれに限られるものではなく、３つ以上の領域に分割することにしてもよい。
【００５４】
また、故障検出処理をＣＰＵ１０１で実行することとしたが、故障検出を行うデバイスを別個に設ける構成としてもよい。
【産業上の利用可能性】
【００５５】
本発明に係る電動パワーステアリング装置は、故障解析用データを保存する場合に有用である。
【図面の簡単な説明】
【００５６】
【図１】電動パワーステアリング装置の一般的な構成を示す図である。
【図２】図１のコントロールユニットのハードウェア構成を示す図である。
【図３】故障解析用データの保存処理およびアシスト処理に関するＭＣＵの機能構成図である。
【図４】メモリ切替部におけるＲＡＭのメモリ領域の切替を説明するための模式図である。
【図５】電動パワーステアリング装置の動作の概略を説明するためのフローチャートである。
【図６−１】メモリ切替部がインデックス方式を使用して、ＲＡＭのメモリ領域の切替を行う場合の実施例を説明するための説明図（その１）である。
【図６−２】メモリ切替部がインデックス方式を使用して、ＲＡＭのメモリ領域の切替を行う場合の実施例を説明するための説明図（その２）である。
【図６−３】メモリ切替部がインデックス方式を使用して、ＲＡＭのメモリ領域の切替を行う場合の実施例を説明するための説明図（その３）である。
【図６−４】メモリ切替部がインデックス方式を使用して、ＲＡＭのメモリ領域の切替を行う場合の実施例を説明するための説明図（その４）である。
【図６−５】メモリ切替部がインデックス方式を使用して、ＲＡＭのメモリ領域の切替を行う場合の実施例を説明するための説明図（その５）である。
【図７】本実施例の故障検出時の故障解析用データ保存処理におけるソフトウェアの処理負荷を説明するためのタイミングチャートである。
【図８】従来の故障検出時の故障解析用データ保存方法を説明するための図である。
【図９】従来の故障検出時の故障解析用データ保存におけるソフトウェアの処理負荷を説明するためのタイミングチャートである。
【符号の説明】
【００５７】
１  操向ハンドル
２  コラム軸
３  減速ギヤ
４ａ、４ｂ  ユニバーサルジョイント
５  ピニオンラック機構
６  タイロッド
１０  トルクセンサ
１２  車速センサ
１４  バッテリ
２０  操舵補助モータ
３０  コントロールユニット
１００  ＭＣＵ（マイクロコントロールユニット）
１０１  ＣＰＵ（制御手段）
１０２  ＲＯＭ
１０３  ＲＡＭ
１０３ａ  第１のメモリ領域
１０３ｂ  第２のメモリ領域
１０４  ＥＥＰＲＯＭ
１０５  Ａ／Ｄ変換器
１０６  インターフェース
１０７  バス
１１０  ＦＥＴプリドライバ回路
１２０  モータ駆動回路（インバータ）
１３０  電流検出回路
１４０  位置検出回路
【図１】
0005169450.tif 000002
【図２】
0005169450.tif 000003
【図３】
0005169450.tif 000004
【図４】
0005169450.tif 000005
【図５】
0005169450.tif 000006
【図６−１】
0005169450.tif 000007
【図６−２】
0005169450.tif 000008
【図６−３】
0005169450.tif 000009
【図６−４】
0005169450.tif 000010
【図６−５】
0005169450.tif 000011
【図７】
0005169450.tif 000012
【図８】
0005169450.tif 000013
【図９】
0005169450.tif 000014