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