(57)【要約】【課題】不揮発性メモリに格納されたデータの整合性及び異常を、容易に且つ迅速に低コストで確認することのできる電動パワーステアリング制御装置を提供する。【解決手段】不揮発性メモリ１０９に格納されている制御データは、ＲＯＭ１１４に格納されている制御プログラムに整合する制御データか否かを判定するための識別値が予め付加されており、且つ、ＥＣＵ１内のＣＰＵ１１４は、制御プログラムと制御データとを読み込む際、これら制御プログラムと制御データとに基づいて識別値を演算すると共に、この演算された識別値と、制御データに予め付加された識別値と、を比較して、前記制御プログラムと前記制御データとの整合性を判定する。【選択図】図１
2008265422.tif 000002
【特許請求の範囲】
【請求項１】
操向ハンドルに発生する操舵トルクを検出して操舵トルク信号を出力する操舵トルク検出手段と、前記操向ハンドルに操舵補助力を付与するモータと、前記モータを制御するための制御プログラムが格納されている内部メモリと、前記制御プログラムの実行時に用いられる制御データが格納されている不揮発性メモリと、を有して、前記制御プログラムと前記制御データとを読み込んで前記制御プログラムを実行し、少なくとも前記操舵トルク信号に基づいて前記モータを制御する電動パワーステアリング制御装置であって、
前記不揮発性メモリに格納されている制御データは、前記制御プログラムに整合する制御データか否かを判定するための識別値が予め付加されており、且つ
さらに、前記制御プログラムと前記制御データとを読み込む際、これら制御プログラムと制御データとに基づいて識別値を演算する識別値演算手段と、
前記識別演算手段で演算された識別値と、前記制御データに予め付加された識別値と、を比較して、前記制御プログラムと前記制御データとの整合性を判定する整合性判定手段と、
を備えたことを特徴とする電動パワーステアリング制御装置。
【請求項２】
前記識別値演算手段は、
制御データの内部データと、制御プログラムに付加されたバージョン情報と、に基づいて識別値を演算する、請求項１に記載の電動パワーステアリング制御装置。
【請求項３】
前記識別値の演算が、チェックサム方式に基づいて実施される、請求項２に記載の電動パワーステアリング制御装置。
【請求項４】
前記識別値の演算が、巡回冗長検査方式に基づいて実施される、請求項２に記載の電動パワーステアリング制御装置。
【請求項５】
前記整合性判定手段は、電流投入時に整合性を判定する、請求項１〜４の何れか一項に記載の電動パワーステアリング制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操舵者が操向ハンドルを操舵する際にステアリング装置に操舵補助力をモータにより付与する電動パワーステアリング制御装置に関する。
【背景技術】
【０００２】
自動車などの車両に搭載されている電動パワーステアリング装置は、ステアリング装置に対してモータの出力トルクにより操舵補助力を付与して、操舵者の操舵を支援している。
【０００３】
このような電動パワーステアリング装置の一般的な概略構成を図９に示す。図９に示すように、電動パワーステアリング装置は、操向ハンドル８１に直結する軸８２の操舵トルクを検出するトルクセンサ８３と、例えば車両の車輪に付設されて車両の走行速度を検出する車速センサ８４と、これら各センサの検出信号に基づいて操舵補助力を演算する電動パワーステアリング制御装置（以下、ＥＣＵとも記す。）８５と、このＥＣＵ８５から出力される信号に基づいて回転トルクを発生するモータ８６と、発生した回転トルクをステアリング機構に伝える減速ギア８７と、イグニションキー８８をオンにすることによってＥＣＵ８５に電流を供給するバッテリ電源８９と、操向ハンドル８１の回転運動を車輪に伝えるユニバーサルジョイント９０ａ、９０ｂと、ラック＆ピニオン９１及びタイロッド９２と、を備えて構成されている。
【０００４】
図１０は、ＥＣＵ８５の一般的な概略構成を示すブロック図である。ＥＣＵ８５は、ＣＰＵ及び記録媒体（例えば、ＲＯＭ、ＲＡＭなどの内部メモリ）から成るマイクロプロセッサ（ＭＣＵ）８５１、モータ駆動回路８５２及びモータ電流検出回路８５３から構成され、ＭＣＵ８５１の内部メモリに格納された制御プログラムと制御データとを読み込んでＣＰＵが実行することにより、トルクセンサ８３で検出された操舵トルク信号Ｔと、車速センサ８４で検出された車速信号Ｖとに基づいて、モータ８６を駆動するための電流制御値Ｅを生成するとともに、この電流制御値Ｅとモータ電流検出回路８５３で検出したモータ電流ｉとの偏差が小さくなるようにフィードバック制御を行って、アシスト制御を実現している。
なお、ＣＰＵは、図示しないクロック発生回路に基づき所定の周期で、これら制御のための制御プログラムを実行している。また、その他、操舵トルク信号Ｔ、車速信号Ｖなどの信号を、ＭＣＵ８５１が演算処理できるように変換するインタフェース等の図示は省略している。
【０００５】
このように構成された電動パワーステアリング装置は、軽乗用車は言うに及ばす、近年では普通自動車やＲＶ等の大型自動車へとその適用範囲が拡大してきている。大型自動車は車両重量が大きいこともあり、より大きな操舵補助力が必要である一方、さらなる操作性、安全性が要求されている。このため、電動パワーステアリング制御装置におけるアシスト制御（モータ制御）の高機能化が著しく進展しており、ＭＣＵ８５１の内部メモリに格納される制御プログラム及び制御データの容量などの増加、及びその度重なるパージョンアップ・更新などは不可避な状況となっている。
【０００６】
また、市場要求から、電動パワーステアリング装置のモデルチェンジに合せた開発周期短縮への対応が求められおり、それに伴って制御プログラム等の開発も短縮化を余儀なくされている。このような状況下、ＭＣＵ８５１の内部メモリは準備期間の短いもの、即ち、内部メモリの主役はＲＯＭからＦｌａｓｈ  ＲＯＭへ移行している。さらには、開発期間をより一層短縮するため、制御データはＭＣＵ８５１以外の不揮発性メモリ（ＥＥＰＲＯＭ）などに格納されるようになってきた。
【０００７】
加えて、このＥＥＰＲＯＭの採用は、前記Ｆｌａｓｈ  ＲＯＭへの制御プログラム格納（実装）後においても制御データを更新して調整を適宜行うことができるので、生産性向上の面からも好適である。さらに、電動パワーステアリング装置が市場に供給された場合においても、例えば車両ディーラ先で制御データを更新することができて、ＭＣＵ８５１のＦｌａｓｈ  ＲＯＭを書き換える場合よりも、迅速に対応できて且つコストを抑制できる実益も有している。
【０００８】
このような不揮発性メモリの採用に関連する技術としては、車両の車種毎の仕様の差異を吸収すべくＥＣＵを共通化するため、不揮発性メモリにマップデータ、エンジン仕様、車速仕様を予め格納するもの（例えば、特許文献１）、また制御プログラムが格納される不揮発性メモリを書き換える際、通信ネットワークで接続された情報管理センタが、書換用データが正常に動作するのか否かをテストしながら書き換えを実行するもの（例えば、特許文献２）などが提案されている。
【０００９】
一方、不揮発性メモリに格納されたデータは容易に更新され得るため、様々なバージョンが存在する可能性があり、当該データを更新する際、電動パワーステアリング制御装置では、Ｆｌａｓｈ  ＲＯＭ内に格納された制御プログラムと、更新されて不揮発性メモリ内に格納される制御データとの整合性を、作業者がバージョン情報などで逐次、目視で確認しなければならないという嫌いがあった。
【００１０】
【特許文献１】特許３７４６０３０号公報
【特許文献２】特開２０００−４３６５４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ここで、このような様々なバージョンが存在することに対して、上述した特許文献１に記載の例では、制御データなどにおける整合性を確認することについては述べられていない。また、上述した特許文献２に記載の例では、ＥＣＵの機能ではないため、ＥＣＵ始動時に制御プログラムと制御データとの不整合があっても起動してしまう嫌いがあり、さらにはネットワークを介してテストが実施されるのでシステムが大規模となってしまいコスト面及び迅速的対応の面からも望ましいものとは言えない。
【００１２】
本発明は、上述の事情に鑑みてなされたものであり、その目的は、不揮発性メモリに格納されたデータの整合性及び異常を、容易に且つ迅速に低コストで確認することのできる電動パワーステアリング制御装置を提供することにある。
【課題を解決するための手段】
【００１３】
前述した目的を達成するために、本発明に係る電動パワーステアリング制御装置は下記を構成としている。
【００１４】
（１）  操向ハンドルに発生する操舵トルクを検出して操舵トルク信号を出力する操舵トルク検出手段と、前記操向ハンドルに操舵補助力を付与するモータと、前記モータを制御するための制御プログラムが格納されている内部メモリと、前記制御プログラムの実行時に用いられる制御データが格納されている不揮発性メモリと、を有して、前記制御プログラムと前記制御データとを読み込んで前記制御プログラムを実行し、少なくとも前記操舵トルク信号に基づいて前記モータを制御する電動パワーステアリング制御装置であって、
前記不揮発性メモリに格納されている制御データは、前記制御プログラムに整合する制御データか否かを判定するための識別値が予め付加されており、且つ
さらに、前記制御プログラムと前記制御データとを読み込む際、これら制御プログラムと制御データとに基づいて識別値を演算する識別値演算手段と、
前記識別演算手段で演算された識別値と、前記制御データに予め付加された識別値と、を比較して、前記制御プログラムと前記制御データとの整合性を判定する整合性判定手段と、
を備えたことを特徴とする電動パワーステアリング制御装置。
（２）  前記識別値演算手段は、
制御データの内部データと、制御プログラムに付加されたバージョン情報と、に基づいて識別値を演算する、上記（１）に記載の電動パワーステアリング制御装置。
（３）  前記識別値の演算が、チェックサム方式に基づいて実施される、上記（２）に記載の電動パワーステアリング制御装置。
（４）  前記識別値の演算が、巡回冗長検査方式に基づいて実施される、上記（２）に記載の電動パワーステアリング制御装置。
（５）  前記整合性判定手段は、電流投入時に整合性を判定する、上記（１）〜（４）の何れか１つに記載の電動パワーステアリング制御装置。
【００１５】
上記（１）又は（２）に記載の電動パワーステアリング制御装置によれば、識別演算手段で演算された識別値と、制御データに予め付加された識別値と、を比較して、前記制御プログラムと前記制御データとの整合性を判定するので、不揮発性メモリに格納されたデータの整合性及び異常を、容易に且つ迅速に低コストで確認することができる。
また、上記（３）に記載の電動パワーステアリング制御装置によれば、チェックサム方式で、制御データの内部データと制御プログラムのバージョン情報とにおけるチェックサム値を求め、この値を識別値とするので、演算処理の負担を抑制して整合性判定の時間を短縮化することができる。
さらに、上記（４）に記載の電動パワーステアリング制御装置によれば、巡回冗長検査（ＣＲＣ：Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｔ  Ｃｈｅｃｋ）方式で、制御データの内部データと制御プログラムのバージョン情報とにおけるＣＲＣ値を求め、この値を識別値とするので、精度のよい整合性判定を行うことができる。
そして、上記（５）に記載の電動パワーステアリング制御装置によれば、ＥＣＵの電源投入時に整合性を判定するので、操舵者は車両を運転する前に異常を把握することができて、安全性確保に供することができる。
【発明の効果】
【００１６】
本発明によれば、不揮発性メモリに格納されたデータの整合性及び異常を、ＥＣＵの電源投入時に判定することにより、容易に且つ迅速に低コストで確認することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明に係る電動パワーステアリング制御装置の実施形態について、図面を参照して説明する。図１は、本発明の実施形態に係る電動パワーステアリング制御装置のハードウェア構成を示すブロック図である。
【００１８】
図１において、電動パワーステアリング制御装置（以下、ＥＣＵとも記す。）１は、バス１００、不揮発性メモリ１０９、Ａ／Ｄコンバータ１１０、インタフェース（Ｉ／Ｆ）１１１、クロック発生回路１１２、ＭＣＵ２００、ＲＤコンバータ１１６、ＰＷＭコントローラ１１７、モータ駆動回路１１８、モータ電流検出回路１１９、１２０を備えて構成される。なお、ＭＣＵ２００は、ＣＰＵ１１３、ＲＯＭ（内部メモリ）１１４（例えば、Ｆｌａｓｈ  ＲＯＭなど）、ＲＡＭ１１５で構成されている。
【００１９】
バス１００は、Ａ／Ｄコンバータ１１０、インタフェース１１１、ＣＰＵ１１３、ＲＯＭ１１４及びＲＡＭ１１５等の相互間でデータの送受信を行う。
【００２０】
Ａ／Ｄコンバータ１１０は、トルクセンサ４から出力される操舵トルク信号Ｔ、モータ電流検出回路１１９、１２０から出力される電流検出値、ＲＤコンバータ１１６から出力されるモータ回転角信号、及びモータ３の端子間電圧などをデジタル信号に変換する。
【００２１】
インタフェース１１１は、車速センサ２から出力される車速信号（パルス信号）Ｖをカウントし、デジタル信号に変換してバス１００に出力する。
【００２２】
バス１００に接続されるＲＯＭ１１４は、後述する、モータ３を制御してアシスト制御を実現する制御プログラム、ＰＷＭコントローラ１１７の演算プログラム、モータ３の出力トルク（操舵補助力）の補償プログラム等の制御プログラムを記憶するためのメモリとして使用され、ＲＡＭ１１５はこれらの制御プログラムを動作させるためのワークメモリとして使用される。なお、図２に示すように、前記ＲＯＭ１１４に格納された前記制御プログラムは、プログラムのバージョン情報を示すｖｅｒ．ｄａｔａデータが、例えばプログラムコードのヘッダー部分などに付加されている。
【００２３】
また、不揮発性メモリ１０９は、ＥＥＰＲＯＭにより構成され、これによりイグニッションキーがオフになった後でも、メモリ内に格納された内容を保持可能である。また、後述する車速感応マップデータ、およびアシスト制御（モータ制御）のための制御パラメータなどの制御データを記録保持するためにも用いられる。なお、これら制御データは、専用の書換ツールを用いて外部から書き換え可能となっている。また、図３に示すように、不揮発性メモリ１０９に格納された前記制御データには、制御プログラムの実行のための内部データ（例えば、車速感応マップデータ、制御パラメータなど）とは別に、前記制御プログラムに対応した制御データであるのか否かの、整合性を確認するための識別値（ｃｈｅｃｋ＿ｄａｔａ）が、例えばデータコードのヘッダー部分などに予め付加されている。
なお、ｃｈｅｃｋ＿ｄａｔａは前記制御データと制御プログラムとの組み合わせに基づいた固有値として予め規定されるデータである。例えば、ｃｈｅｃｋ＿ｄａｔａは、正規のツールにより制御データの内容と制御プログラムのＶｅｒ．ｄａｔａとから真正且つ一義的に予め演算される値とされる。
【００２４】
ＰＷＭコントローラ１１７は、モータ３のトルクを表す信号をパルス幅変調してデューティ指令値パルス信号Ｗ、Ｖ、Ｕ、Ｗｂ、Ｖｂ、Ｕｂに変換する。ここで、パルス信号Ｗ、Ｖ、Ｕは正相の三相信号を表し、パルス信号Ｗｂ、Ｖｂ、Ｕｂは逆相の三相信号を表している。
【００２５】
モータ駆動回路１１８は、モータ３を駆動するＷ、Ｕ、Ｖ各相の電流を発生させるための３つのインバータ回路より構成されている。これらのインバータ回路は、それぞれ電源電圧と接地電位間にカスケード接続された２個のスイッチングトランジスタからなり、上段のスイッチングトランジスタのゲートには正相のデューティ指令値パルス信号Ｗ、Ｖ、Ｕを入力し、下段のスイッチングトランジスタには逆相のデューティ指令値パルス信号Ｗｂ、Ｖｂ、Ｕｂを入力する。これによって上下各段のスイッチングトランジスタは相補動作し、交互にオン、オフ動作を繰り返して所望のパルス幅を有するモータ３の駆動電流ＩＵ、ＩＶ、ＩＷを生成する。
なお、上下各段のスイッチングトランジスタが同時にオンにならないように、正相と逆相の各デューティ指令値パルス信号のＷ、Ｖ、Ｕ及びＷｂ、Ｖｂ、Ｕｂの各オン時間の前後には、両スイッチングトランジスタが共にオフになる時間（デッドタイム）が設けられている。これにより、カスケード接続された２個のスイッチングトランジスタが短絡することを回避できる。
【００２６】
ＲＤコンバータ１１６は、励磁電流をレゾルバ５に与えるとともに、レゾルバ５からの出力信号を回転角信号としてＡ／Ｄコンバータ１１０に出力する。
【００２７】
モータ電流検出回路１１９、１２０は、抵抗などの電流−電圧変換素子から構成され、モータ３の駆動電流ＩＵ、ＩＷを検出して、電流に応じた電圧の電流検出値を出力する。この電流検出値は、不図示の電源電圧補正回路によって電圧変動が補正され、増幅回路１２１，１２２によって増幅された後、Ａ／Ｄコンバータ１１０でデジタル信号に変換される。
【００２８】
図４は、ＥＣＵ１を構成するＣＰＵ１１３のアシスト制御を行うための制御機能を示すブロック図であり、即ちＣＰＵ１１３で実行される制御プログラムをブロック毎に示している。なお、図１と同一の構成要素には同じ符号を付して説明を簡略化あるいは省略する。また、車速感応マップデータ、制御パラメータなどの内部データを有する制御データは、制御プログラム実行する際に、例えばブロック毎に読み込まれてアシスト制御が実施されることとなる。
【００２９】
図４に示すように、ＥＣＵ１は、操舵トルク信号Ｔなどを用いて制御を行うトルク系と、モータの駆動に関連した制御を行う電流制御系と、モータ３の出力トルク（操舵補助指令値）を補正する補償系などから構成されている。トルク系は、操舵補助指令値演算部１０、微分制御器３０などから構成され、電流制御系は、減算器９７、電流制御器９８、ＰＷＭコントローラ１１７、モータ駆動回路１１８、モータ電流検出器１１９，１２０から構成され、そして補償系は、位相補償器２０、収斂制御器６０、慣性補償器７０、およびＳＡＴ推定補償器８０によって構成されている。
【００３０】
操舵トルク信号Ｔはトルクセンサ４によって検出され、操舵補助指令値演算部１０と、微分制御器３０と、ＳＡＴ推定補償部８０とに入力される。
【００３１】
操舵補助指令値演算部１０は、操舵トルク信号Ｔと車速信号Ｖとに基づいてモータに供給すべき操舵補助指令値Ｉを演算して、操舵補助指令値Ｉを位相補償器２０に出力する。なお、操舵トルクは、車両が停止した状態では最も大きく、一方車速が大きいほど前記操舵トルクは小さくなる特性があるので、操舵補助指令値演算器１０では、この特性が予め示された車速感応マップデータに従い、操舵トルク信号Ｔとモータ３に供給される操舵補助指令値Ｉとの関係を車速信号Ｖに応じて変化させることによって、操舵フィーリングを向上させるとともに車両挙動の安定化を図っている。
【００３２】
位相補償器２０は、操舵補助指令値Ｉに位相補償を施し、位相補償が施された操舵補助指令値ＩＰを減算器９５とＳＡＴ推定補償器８０とに出力する。なお、位相補償器２０は、モータ３による出力トルクに含まれる慣性要素とばね要素で成る共振系の共振周波数におけるピーク値を除去し、制御系の応答性と安定性を阻害する共振周波数の位相のズレを補償して、過渡特性を改善あるいは制御系の安定化を図る。
【００３３】
微分制御器３０は、操舵トルク信号Ｔを取り込み、当該操舵トルク信号Ｔの変動に応じて操舵補助指令値Ｉを補正し、モータ３による出力トルクの変動を抑制してステアリングの中立点付近の制御の応答性を高め、滑らかでスムーズな操舵を実現する。そして、微分制御器３０の出力結果は、減算器９５に出力される。
【００３４】
一方、モータ角速度推定部４０では、前記レゾルバ５の出力信号に基づきモータ角速度ωを推定する。当該モータ角速度ωは、収斂制御器６０と、モータ角加速度推定器５０と、ＳＡＴ推定補償器８０とにそれぞれ入力される。さらに、前記モータ角加速度推定部５０は、前記モータ角速度ωを、例えば微分処理を施してモータ角加速度αを推定し、慣性補償器７０とＳＡＴ推定補償器８０とに出力する。
【００３５】
収斂制御器６０は、前記モータ角速度ωを入力として、車両の収斂性を改善するために、操向ハンドルの回転を妨げる方向に前記操舵補助指令値Iを補正して当該操向ハンドルの振れ回る動作に対してブレーキをかけるようになっており、操舵後の当該操向ハンドルの挙動を安定化する。
【００３６】
そして、慣性補償器７０は、モータ角加速度αを入力として、操向ハンドルやラック＆ピニオンやモータ３や減速ギアなどの駆動系に係る慣性系の変動に応じて前記操舵補助指令値Iを補正して出力トルクの変動を抑制する。これにより、操舵者に駆動系の慣性が伝達しないように働き、操舵フィーリングを向上させている。
【００３７】
また、ＳＡＴ推定補償器８０は、操舵トルク信号Ｔと操舵補助指令値ＩＰとモータ角加速度αとモータ角速度ωとを入力とし、操向ハンドルの操作を助ける方向に操舵補助指令値Ｉを補正し、操舵後の操向ハンドルの戻りを改善する。
【００３８】
ここで、ＳＡＴ推定補償器８０について図５を参照してさらに詳しく説明する。
操舵者が操向ハンドルを操舵することによって操舵トルクＴｈが発生し、その操舵トルクＴｈ（操舵トルク信号Ｔに相当）に従ってモータ３が補助トルク（出力トルク）Ｔｍを発生する。その結果、車輪が転舵され、反力としてＳＡＴが発生する。また、その際、モータ３の慣性Ｊ及び摩擦（静摩擦）Ｆｒによってハンドル操舵の抵抗となるトルクが生じる。これらの力の釣り合いを考えると、下記（１）式のような運動方程式が得られる。
【００３９】
Ｊ・α（ｓ）＋Ｆｒ・ｓｉｇｎ（ω）＋ＳＡＴ＝Ｔｍ＋Ｔｈ・・・（１）
ここで、上記（１）式を初期値ゼロとしてラプラス変換し、ＳＡＴについて解くと、下記（２）式が得られる。
【００４０】
ＳＡＴ（ｓ）＝Ｔｍ（ｓ）＋Ｔｈ（ｓ）―Ｊ・α（ｓ）−Ｆｒ・ｓｉｇｎ（ω（ｓ））・・・（２）
【００４１】
また、補助トルクＴｍは操舵補助指令値ＩＰから推定可能であるので、上記（２）によればＳＡＴ推定補償器８０はＳＡＴを推定して操補助指令値Ｉを補正することができる。
【００４２】
再度、図４に戻って説明を続ける。
加算器９３は、前記慣性補償器７０の出力とＳＡＴ推定補償器８０の出力とを加算処理して加算器９４にその加算結果を出力する。そして、当該加算器９４は、前記加算器９３の出力と収斂制御器６０との出力とを加算処理して、その加算結果を減算器９５に出力する。
【００４３】
減算器９５は、微分制御器３０の出力と操舵補助指令値ＩＰとを加算処理し、そしてこの加算結果から前記加算器９４の出力を減算処理して、この結果をトルク指令値として２−３相変換器などで構成される電流指令値演算部９６に出力する。
【００４４】
次に、減算器９７は電流指令値演算部９６で算出された電流指令値から電流検出器１１９，１２０の出力を減算処理して、その結果を電流制御器９８に出力する。電流制御器９８は、減算器９７の出力信号を取り込み、当該出力信号に基づいて電圧指令値を演算する。さらに、ＰＷＭコントローラ１１７により電圧指令値からデューティ比が演算され、モータ駆動回路１１８でインバータ回路が駆動されてモータ３に電圧が印加される。
これにより、モータ３の出力トルクによりステアリング機構に操舵補助力を付与して、操舵者の操舵を支援している。
【００４５】
次に、図６を参照しながら、ＥＣＵ１の始動時（電源投入時）における、制御プログラムと制御データとの整合性確認のための動作フローについて説明する。なお、この動作フローはＣＰＵ１１３で実行されており、即ち、ＣＰＵ１１３が制御プログラムと制御データとの整合性を判定する機能（整合性判定手段）をも有していることとなる。
【００４６】
ＥＣＵ１の始動の際（即ち、Ｓ６０１）、前記制御プログラムに付加されたＶｅｒ．ｄａｔａと（即ち、Ｓ６０２）、前記制御データと（即ち、Ｓ６０３）を、ＣＰＵ１１３はＲＡＭ１１５を介して読み込む。そして、ＣＰＵ１１３は、読み込んだＶｅｒ．ｄａｔａと制御データとの内部データに基づき、識別値演算処理を実施し、識別値を算出する（即ち、Ｓ６０４）。その後、当該識別値と、不揮発性メモリに格納されたｃｈｅｃｋ＿ｄａｔａとが比較判定され（即ち、Ｓ６０５）、一致すれば異常なし（整合）（即ち、Ｓ６０６）、不一致であれば異常有り（不整合）として判定する（即ち、Ｓ６０７）。
【００４７】
この整合性判定後は、ＥＣＵ１はアシスト制御を始動させずに、操舵者に異常を報知して制御を終了する（即ち、Ｓ６０８）。あるいは、例えばＲＯＭ１１４に別系統で標準的な制御データを予め実装しておき、異常判定後には当該制御データを読み込んで代替的にアシスト制御を実施するようにしてもよい。
【００４８】
次に、図７を参照して、識別値演算のための動作フロー（識別演算処理のサブルーチン）について、さらに詳しく説明する。なお、この動作フローはＣＰＵ１１３で実行されており、即ち、ＣＰＵ１１３が制御プログラムと制御データとを読み込んで識別値を演算する機能（識別値演算手段）を有していることとなる。
【００４９】
本実施形態の識別値演算処理においては、変数として変数ＳＵＭが用意されており、その識別演算処理が行われる際、当該変数ＳＵＭは初期化（「０」を代入）される（即ち、Ｓ７０１）。この初期化の実施後、逐次読み込まれる制御データの内部データが当該内部データの終端が読み込まれるまで、変数ＳＵＭは制御データの内部データが逐次加算される（即ち、Ｓ７０２，Ｓ７０３，Ｓ７０３のＮＯ）。即ち、制御データ内の内部データはすべて加算されることとなる。そして、前記内部データが終端まで加算演算された後は（即ち、Ｓ７０３のＹＥＳ）、内部データ全部の加算結果となっている変数ＳＵＭにＶｅｒ．ｄａｔａが加算され（即ち、Ｓ７０４）、識別値としてその値が戻されることとなる（即ち、Ｓ７０５）。この識別値でもって一致・不一致の判定が行われることとなる（チェックサム方式）。
【００５０】
この識別値による整合性判定により、異常の原因として、（１）制御データと制御プログラムのバージョンが不整合であった、（２）不揮発性メモリ１０９のＨ／Ｗ（通信異常など）により、識別値（変数ＳＵＭの値）が一致しなかった、（３）正規のツールによりｃｈｅｃｋ＿ｄａｔａが正しく演算されなかった、などが想定されることとなる。なお、頻出度合いとして上記（１）の場合が多いので、異常判定の際には、（１）の項目から検査されることとなる。
【００５１】
本実施形態によれば、制御プログラムと制御データとに基づいて演算される識別値と、前記不揮発性メモリ１０９に格納されている制御データに付加された識別値と、を比較して、前記制御プログラムと前記制御データとの整合性を判定することとなる。したがって、不揮発性メモリ１０９に格納された制御データの整合性及び異常を、容易に且つ迅速に低コストで確認することができる。
【００５２】
さらに、本実施形態によれば、不揮発性メモリ１０９に格納された制御データの加算処理の繰り返し（チェックサム方式）で処理を行っているので、ＣＰＵ１１３の演算量を増加させることなく制御プログラムと制御データとの整合性の確認を行うことができる。
【００５３】
また、ＥＣＵ１の始動時に整合性を判定するので、操舵者は車両を運転する前に異常を把握することができて、安全性確保に繋がる。
【００５４】
そして、従来技術の手法（例えば、上記特許文献２）では、書換ツールなどによるテストを実施するため、制御データと制御プログラムのバージョンの不整合や、正規のツールによるｃｈｅｃｋ＿ｄａｔａの演算ミスを見過ごす虞があるが、本発明によれば、その不整合やその演算ミスなどの検出が容易に且つ迅速に低コストに実施できる。
【００５５】
ここで、その他の実施形態として、識別値演算に対しＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｔ  Ｃｈｅｃｋ：巡回冗長検査）方式を適用した場合の別の動作フローについて、図８を参照して説明する。なお、同図ではＣＲＣ−ＣＣＩＴＴ方式を示すものであり、生成多項式としてＧＰ（Ｘ）＝Ｘ１６＋Ｘ１２＋Ｘ５＋１を採用したものであるが、これに限らず、ＣＰＵ１１３の演算処理能力やＲＯＭ１１４容量に余裕がある場合には、この方式に代えて、ＭＤ４（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  Ａｌｇｏｒｉｔｈｍ  ５）、又はＳＨＡ（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）などのハッシュ関数を用いて、識別値を演算するようにしてもよい。また、この動作フローも同様に、ＣＰＵ１１３にて実行される。
【００５６】
図８に示すように、本実施形態では、制御データの内部データと制御プログラムのＶｅｒ．ｄａｔａとを加算演算した値を生成多項式で除算して、その余りをＣＲＣ値として演算し、このＣＲＣ値を識別値として返して、識別値演算処理を行っている。
【００５７】
即ち、前記生成多項式ＧＰ（Ｘ）を示すこととなる変数ＧＰ、制御データの内部データ及び制御プログラムのＶｅｒ．ｄａｔａのデータを順次先頭から読み込むためポインタＰ、識別値として利用される変数ＣＲＣとがまず用意され、識別演算処理が行われる際には、前記変数ＧＰに初期値として「０ｘ０８１０」が代入される（即ち、Ｓ８０１）。
【００５８】
次に、ポインタＰが制御データの内部データの先頭、即ちメモリ領域に展開された内部データの先頭アドレスに設定された後、変数ＣＲＣは初期化（「０」が代入）される（即ち、Ｓ８０３）。その後、変数ＣＲＣの最上位ビットが「１」であるか否かが判定される（即ち、Ｓ８０４）。当該最上位ビットが「１」であれば、変数ＣＲＣと変数ＧＰとの排他的論理和が取られ１ビットシフトが行われると共に、ポインタＰと「１」との排他的論理和が演算された後、そのビットシフトの結果と、ポインタＰと「１」との排他的論理和と、が加算処理され、その結果が変数ＣＲＣに代入されて変数ＣＲＣが更新される（即ち、Ｓ８０５）。一方、前記最上位ビットが「１」でなければ、変数ＣＲＣが１ビットシフトされて、このビットシフトの結果と、ポインタＰと、が加算処理されて、その結果が変数ＣＲＣに代入されて変数ＣＲＣが更新される（即ち、Ｓ８０６）。
【００５９】
そして、上記Ｓ８０５又はＳ８０６の処理後は、ポインタＰが次のアドレスに設定されて、その設定されたアドレスが内部データの終端にあるか否かが判定される（即ち、Ｓ８０７）。データの終端にないと判定される場合には（即ち、Ｓ８０７のＮＯ）、再度上記Ｓ８０４に戻る。即ち、上記Ｓ８０４〜Ｓ８０６のステップは、制御データの内部データの終端まで逐次繰り返され、変数ＣＲＣが代入更新されることとなる。
【００６０】
その後は（即ち、Ｓ８０７のＹＥＳ）、ポインタＰは、制御プログラムのＶｅｒ．ｄａｔａの先頭に再設定されて、制御データの内部データに対する処理（即ち、Ｓ８０２〜Ｓ８０７）と同様に、処理を行う（即ち、Ｓ８０９〜Ｓ８１２）。そして、一連の処理により求められた変数ＣＲＣの値を識別値として戻す。
【００６１】
このようにして、ポインタＰに設定されるデータと、論理演算・ビットシフトを実施することにより、制御データの内部データと制御プログラムのＶｅｒ．ｄａｔａとを合わせたＣＲＣの値を求めることができる。このため、この値を識別値として戻すことにより、例えば両データの同位置でのビット化けなどが起きた場合にも対応できて、識別値を精度よく演算することができる。
【００６２】
以上で具体的実施形態の説明を終えるが、本発明の態様はこれら実施形態に限られるものではなく、適宜、変形、改良等が可能である。
【００６３】
なお、本発明は電動パワーステアリング装置の形式（コラムタイプ、ピニオンタイプ、ラックタイプ）、モータの種類（ブラシ付き、ブラシレスなど）を問わず、全ての電動パワーステアリング装置に適用可能である。
【図面の簡単な説明】
【００６４】
【図１】本発明に係る電動パワーステアリング制御装置のハードウェア構成を示すブロック図である。
【図２】本発明に係る電動パワーステアリング制御装置のＲＯＭ内に格納される制御プログラムの構造を説明するための概念図である。
【図３】本発明に係る電動パワーステアリング制御装置の不揮発性メモリ内に格納される制御データの構造を説明するための概念図である。
【図４】本発明に係る電動パワーステアリング制御装置のＥＣＵを構成するＣＰＵの機能を示すブロック図である。
【図５】路面からステアリングまでの間に発生するトルクの様子を示す模式図である。
【図６】本発明に係る制御プログラムと制御データとの整合性を確認するための動作フローを示す図である。
【図７】図６に示す識別値を演算するためのサブルーチンの動作フローを示す図である。
【図８】図６に示す識別値を演算するための別のサブルーチンの動作フローを示す図である。
【図９】一般的な電動パワーステアリング装置の概略構成を示す図である。
【図１０】ＥＣＵの概略構成を示すブロック図である。
【符号の説明】
【００６５】
１      ＥＣＵ（電動パワーステアリング制御装置）
２      トルクセンサ（操舵トルク検出手段）
３      モータ
１０    操舵補助指令値演算部
２０    位相補償器
６０    収斂制御器
７０    慣性補償器
８０    ＳＡＴ推定補償器
１０９  不揮発性メモリ
１１３  ＣＰＵ（識別値演算手段、整合性判定手段）
１１４  ＲＯＭ（内部メモリ）
【図１】
2008265422.tif 000003
【図２】
2008265422.tif 000004
【図３】
2008265422.tif 000005
【図４】
2008265422.tif 000006
【図５】
2008265422.tif 000007
【図６】
2008265422.tif 000008
【図７】
2008265422.tif 000009
【図８】
2008265422.tif 000010
【図９】
2008265422.tif 000011
【図１０】
2008265422.tif 000012