(57)【要約】【課題】メモリ異常が検出されたときにアシスト制御可能な異常であるかアシスト制御不可能な異常であるかを判定し、アシスト制御不可能な異常である場合にのみアシスト制御を停止し、アシスト制御可能な範囲でアシスト制御をできるだけ継続できるようにした電動パワーステアリング装置を提供する。【解決手段】メモリを具備したコントロールユニットにより演算及び制御を行い、モータの駆動により車両の操舵系をアシスト制御する電動パワーステアリング装置において、メモリの異常を検出するメモリ異常検出部と、メモリ異常検出部で検出された異常状態に基づいてアシスト制御の可能又は不可能を判定するアシスト可否判定部とを設け、アシスト可否判定部がアシスト制御可能と判定したときにアシスト制御を継続する。【選択図】  図１
2009269501.tif 000002
【特許請求の範囲】
【請求項１】
メモリを具備したコントロールユニットにより演算及び制御を行い、モータの駆動により車両の操舵系をアシスト制御する電動パワーステアリング装置において、前記メモリの異常を検出するメモリ異常検出部と、前記メモリ異常検出部で検出された異常状態に基づいて前記アシスト制御の可能又は不可能を判定するアシスト可否判定部とを備え、前記アシスト可否判定部がアシスト制御可能と判定したときに前記アシスト制御を継続することを特徴とする電動パワーステアリング装置。
【請求項２】
前記アシスト可否判定部がアシスト制御不可能と判定したときに前記アシスト制御を停止する請求項１に記載の電動パワーステアリング装置。
【請求項３】
前記アシスト制御可能と判定したときに、前記メモリのデータを加工するようになっている請求項１又は２に記載の電動パワーステアリング装置。
【請求項４】
前記メモリの異常ビットを所定値に固定して前記データの加工を行う請求項３に記載の電動パワーステアリング装置。
【請求項５】
前記メモリの異常ビットを使用しないようにビットシフトして前記データの加工を行う請求項３に記載の電動パワーステアリング装置。
【請求項６】
前記メモリの異常ビットを符号拡張して前記データの加工を行う請求項３に記載の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリを具備したコントロールユニットにより演算及び制御を行い、モータの駆動により車両の操舵系をアシスト制御する電動パワーステアリング装置に関し、特にメモリの異常（故障を含む）の程度を判定し、アシスト制御継続（若しくは開始）或いはアシスト制御停止かを効率良く制御する電動パワーステアリング装置に関するものである。
【背景技術】
【０００２】
車両の操舵系にモータによる駆動力を付与してアシスト制御するようにした電動パワーステアリング装置は、モータの駆動力を減速機を介してギア又はベルト等の伝達機構により、ステアリングシャフト或いはラック軸にアシスト力を付与するようになっている。
【０００３】
ここで先ず、電動パワーステアリング装置の一般的な構成を図２６に示して説明する。
【０００４】
操向ハンドル１のコラム軸２は減速ギア３、ユニバーサルジョイント４Ａ及び４Ｂ、ピニオンラック機構５を経て、操向車輪のタイロッド６に連結されている。コラム軸２には、操向ハンドル１の操舵トルクを検出するトルクセンサ１０が設けられており、操向ハンドル１の操舵力を補助するモータ２０が減速ギア３を介してコラム軸２に連結されている。パワーステアリング装置を制御するコントロールユニット３０には、バッテリ１４から電力が供給されると共に、イグニションキー１１を経てイグニションキー信号が入力される。コントロールユニット３０は、トルクセンサ１０で検出された操舵トルクＴと、車速センサ１２で検出された車速Ｖとに基づいてアシスト指令の電流指令値Ｉの演算を行い、演算された電流指令値Ｉに基づいてモータ２０に供給する電流を制御する。
【０００５】
コントロールユニット３０は主としてＣＰＵ（ＭＰＵ（Micro  Processor  Unit）やＭＣＵ（Micro  Controller  Unit）を含む）で構成されるが、そのコントロールユニット３０内部においてプログラムで実行される一般的な機能を示すと、図２７のようになっている。コントロールユニット３０は、プログラムを格納するＲＯＭ、制御の上で必要なデータやパラメータを保持したり、ワークメモリとして一時的にデータを保持したりするＲＡＭで成るメモリ４０を備えている。
【０００６】
図２７を参照してコントロールユニット３０の機能及び動作を説明すると、トルクセンサ１０で検出されて入力される操舵トルクＴ及び車速センサ１２からの車速Ｖは、ＡＤコンバータ（図示せず）でディジタル値に変換されて電流指令値演算部３１に入力されて電流指令値Ｉｒｅｆ１が演算される。演算された電流指令値Ｉｒｅｆ１は操舵系の安定性を高めるための位相補償部３２で位相補償され、位相補償された電流指令値Ｉｒｅｆ２が加算部３３に入力される。また、操舵トルクＴは応答速度を高めるためのフィードフォワード系の微分補償部３５に入力され、微分補償された操舵トルクＴＡは加算部３３に入力され、加算部３３は電流指令値Ｉｒｅｆ２と操舵トルクＴＡを加算し、その加算結果である電流指令値Ｉｒｅｆ３を減算部３４に入力する。
【０００７】
また、加算部３３には補償部３９からの補償信号ＣＭが加算されており、補償信号ＣＭの加算によってシステム系の補償を行い、セルフアライニングトルク（ＳＡＴ）、収れん性、慣性特性等を改善するようになっている。
【０００８】
減算部３４は、電流指令値Ｉｒｅｆ３とフィードバックされているモータ電流ｉとの偏差（Ｉｒｅｆ３−ｉ）を求め、偏差（Ｉｒｅｆ３−ｉ）はＰＩ制御部３６でＰＩ制御され、更にＰＷＭ制御部３７に入力されてデューティを演算され、インバータ３８を介してモータ２０をＰＷＭ駆動する。モータ２０のモータ電流値ｉはモータ電流検出手段（図示せず）で検出され、減算部３４に入力されてフィードバックされる。
【０００９】
このような電動パワーステアリング装置の制御には、プログラムの格納のためのＲＯＭ、データの記憶や演算処理等のためのＲＡＭで成るメモリ４０を使用しており、近年車両の操舵性能と信頼性を向上させるために、メモリ容量も大きくなって来ている。そして、電動パワーステアリング装置の安全性を高めるために、初期時においても、また、アシスト中においてもシステムの信頼性を高めたり、安全性を図ることを目的としてメモリ診断機能を具備するようになっている。
【００１０】
図２８は診断機能の動作例を示しており、イグニションキー１１がＯＮになったときに（ステップＳ１）、メモリ等の初期診断を行い（ステップＳ２）、初期診断がＯＫの場合（ステップＳ３）にアシスト制御を開始し（ステップＳ４）、アシスト制御中にもメモリ等の常時診断を行う（ステップＳ５）。そして、イグニションキーがＯＦＦになった場合に（ステップＳ６）、終了条件を判定して終了するようになっている（ステップＳ７）。なお、上記ステップＳ３において初期診断がＮＧとなった場合、上記ステップＳ５において常時診断がＮＧとなった場合にも、終了条件を判定して終了するようになっている（ステップＳ７）。
【００１１】
従来メモリの診断手法として、特開２００６−３３１０８６号公報（特許文献１）に示されるものがあり、特許文献１に開示された手法ではＣＰＵ処理負荷を軽減すると共に、制御装置の信頼性を高めている。
【００１２】
また、メモリ異常検出後の処理としては、特開２００４−１３３６３５号公報（特許文献２）に開示されるものがあり、マイクロコンピュータ起動からアシスト制御開始前に実施されているメモリ初期診断でメモリ異常が検出された場合、或いはアシスト制御中に実施されるメモリ常時診断でメモリ異常が検出された場合、フェールセーフ処理としてアシスト制御を停止又はモータへの通電を遮断、或いはマイクロコンピュータをリセットし、システムが重大な異常（故障）モードに至ることを防止している。
【００１３】
診断処理ではメモリの異常有無も診断されるが、ＲＡＭからのデータの読み出し及びＲＡＭへのデータの書き込みは図２９に示すように行われている。即ち、ＲＡＭのデータ数値範囲が上位ビットに及ぶようなＲＡＭの使い方をする場合には、ＲＡＭの異常の有無に関係なくＲＡＭからデータを読み出してワークメモリ（若しくはレジスタ）に書き込み（ステップＳ１０）、電流指令値や補償値等の演算処理を行い（ステップＳ１１）、演算結果をワークメモリ（若しくはレジスタ）に書き込み（ステップＳ１２）、ＲＡＭの異常の有無に関係なくワークメモリのデータをＲＡＭに書き込んでいる（ステップＳ１３）。
【００１４】
また、ＲＡＭのデータ数値範囲が上位ビットに及ばないようなＲＡＭの使い方をする場合、例えば１２ビットＡＤ変換値や演算の入力値が制限されている場合、１２ビットＡＤ変換値の読み出しは図３０に示すように、ＲＡＭの異常の有無に関係なくＲＡＭからデータを読み出してワークメモリ（若しくはレジスタ）に書き込み（ステップＳ２０）、演算処理を行って（ステップＳ２１）、必要な処理後にリターンしている。１２ビットＡＤ変換値の書き込みは図３１に示すように、ＡＤ変換処理でＡＤ変換値を得（ステップＳ３０）、このＡＤ変換値をワークメモリ（若しくはレジスタ）に書き込み（ステップＳ３１）、ＲＡＭの異常の有無に関係なくワークメモリのデータをＲＡＭに書き込んでいる（ステップＳ３２）。
【特許文献１】特開２００６−３３１０８６号公報
【特許文献２】特開２００４−１３３６３５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
ＲＡＭの異常の有無に関係なくデータの読み出しやデータの書き込みを行っているため、演算や制御に誤差や誤動作を生じる可能性がある。また、異常診断でＲＡＭに異常が生じていることが検出された場合には、一律にアシスト制御を停止しているため、運転者に不安感を与える可能性もある。
【００１６】
更に、中型車や大型車への電動パワーステアリング装置の採用拡大に伴い、メモリ異常時にアシスト制御を停止又はモータへの通電を遮断、或いはコントロールユニット内のマイクロコンピュータをリセットすることが必ずしも得策とは言えなくなって来ている。特に操舵中にメモリ異常を検出した場合に、突然アシスト制御を停止すると、運転者に不安を与えてしまう可能性がある。そのため、異常発生が検出された場合であっても、できるだけアシスト制御を継続させたい要請が強い。
【００１７】
本発明は上述のような事情からなされたものであり、本発明の目的は、メモリ異常が検出されたときにアシスト制御可能な異常であるかアシスト制御不可能な異常であるかを判定し、アシスト制御不可能な異常である場合にのみアシスト制御を停止し、アシスト制御可能な異常である場合にはアシスト制御を継続（若しくは開始）し、アシスト制御可能な範囲でアシスト制御をできるだけ継続できるようにした高性能な電動パワーステアリング装置を提供することにある。
【課題を解決するための手段】
【００１８】
本発明は、メモリを具備したコントロールユニットにより演算及び制御を行い、モータの駆動により車両の操舵系をアシスト制御する電動パワーステアリング装置に関し、本発明の上記目的は、前記メモリの異常を検出するメモリ異常検出部と、前記メモリ異常検出部で検出された異常状態に基づいて前記アシスト制御の可能又は不可能を判定するアシスト可否判定部とを備え、前記アシスト可否判定部がアシスト制御可能と判定したときに前記アシスト制御を継続することにより達成される。
【００１９】
また、本発明の上記目的は、前記アシスト可否判定部がアシスト制御不可能と判定したときに前記アシスト制御を停止することにより、或いは前記アシスト制御可能と判定したときに、前記メモリのデータを加工するようになっていることにより、或いは前記メモリの異常ビットを所定値に固定して前記データの加工を行うことにより、或いは前記メモリの異常ビットを使用しないようにビットシフトして前記データの加工を行うことにより、或いは前記メモリの異常ビットを符号拡張して前記データの加工を行うことにより、より効果的に達成される。
【発明の効果】
【００２０】
本発明の電動パワーステアリング装置によれば、メモリの初期診断及び常時診断において、メモリ異常が検出されたときにアシスト制御可能な異常であるか又はアシスト制御不可能な異常であるかを判定し、アシスト制御不可能なメモリ異常である場合にのみアシスト制御を停止し、アシスト制御可能なメモリ異常である場合にはアシスト制御を継続（若しくは開始）するようにしているので、操舵中にメモリ異常を検出した場合に、突然アシスト制御を停止して運転者に不安を与えることもない。
【００２１】
また、アシスト制御可能なメモリ異常である場合には、アシスト制御を継続若しくは開始するようにしているので、効率的なアシスト制御を実現でき、操舵の信頼性を一層向上することができる
【発明を実施するための最良の形態】
【００２２】
本発明の電動パワーステアリング装置では、ＲＯＭ及びＲＡＭで成るメモリの異常（故障を含む）を検出するメモリ異常検出部と、メモリ異常検出部で検出された異常状態について、アシスト制御を継続若しくは開始することができる異常か或いはアシスト制御を停止しなければならない異常であるかを判定、つまりアシスト制御の可能又は不可能を判定するアシスト可否判定部とを設け、アシスト可否判定部がアシスト制御不可能と判定したときにのみアシスト制御を徐変等の処理後に停止し、アシスト制御可能なメモリ異常である場合にはアシスト制御を継続若しくは開始する。
【００２３】
本発明ではメモリの異常診断に際して、ＲＡＭからワークメモリ（若しくはレジスタ又は別のＲＡＭ）へのデータ読み出し時に、読み出し元のＲＡＭの診断結果と前回の書き込み時のＲＡＭの状態とに応じて読み出し方法を変え、ワークメモリからＲＡＭへのデータ書き込み時に、書き込み先のＲＡＭの診断結果に応じて書き込み方法を変えている。書き込み時のＲＡＭ状態を考慮する理由は、異常なデータ数値になることを防止するためである。例えば、書き込み時に下位ビットのみ異常で左シフトして書き込まれたデータを、読み出し時に正常で通常読み出ししてしまうと異常なデータ数値になってしまう。
【００２４】
このような機能を有しているので、本発明の電動パワーステアリング装置では、できるだけアシスト制御を継続させたいという要請に答え得ると共に、効率的なアシスト制御を実現でき、操舵の信頼性を一層向上することができる。
【００２５】
以下、本発明の実施形態について、図面を参照して説明する。
【００２６】
図１は、本発明の実施形態の一例を図２７に対応させて示すブロック構成図であり、本発明では、ＲＡＭからのデータ読み出し時若しくはデータ書き込み時或いは異常診断時に、メモリ（ＲＯＭ，ＲＡＭ）４０の異常（故障を含む）を検出して異常信号ＭＡを出力するメモリ異常検出部５０と、メモリ４０の異常が検出され異常信号ＭＡが入力されたときに、その異常がアシスト制御を継続できるものであるか否かを判定してアシスト可否信号ＡＮを出力するアシスト可否判定部６０と、アシスト可否信号ＡＮに応じて必要な処理（例えば徐変処理）を行う処理部７０とを新たに追加した構成としている。図２７と同一部材には同一符号を付して、説明を省略する。
【００２７】
また、メモリ異常検出部５０は、データ演算時の作業領域となるワークメモリ（レジスタ）５１と、メモリデータを論理演算する論理部５４と、演算結果を判定して異常の有無を異常信号ＭＡとして出力する判定部５５とを備えている。
【００２８】
図２は、本発明におけるメモリ４０のＲＡＭの配置構成例を示す模式図であり、本発明ではメモリ異常の程度をアシスト制御に反映するため、パワーステアリングの起動処理などで利用し、アシスト動作とは関係のないデータやパラメータ等を記憶するメモリ領域４１と、アシスト制御の影響の少ない、例えば補償系のパラメータやデータ等を記憶するメモリ領域４２と、アシスト制御の影響の大きい、例えばフラグや符号等のデータを記憶するメモリ領域４３とに区画している。そして、メモリ領域４２は更に、浮動小数点領域４２１Ａと、固定小数点領域領域４２１Ｂと、整数領域４２２とに便宜的に区画している。
【００２９】
メモリ異常検出部５０より異常信号ＭＡが出力されると、アシスト可否判定部６０は異常信号ＭＡがメモリ領域４１〜４３のいずれのものであるかを判定し、アシスト可否信号ＡＮを出力する。即ち、メモリ領域４１の異常はアシスト制御とは関係ないので、メモリ領域４１の異常が検出されてもアシスト可否判定部６０はアシスト制御をするためのアシスト可否信号ＡＮを出力し、初期診断においてはアシスト制御を開始し、常時診断においてはアシスト制御を継続する。また、メモリ領域４３の異常はアシスト制御に大きな影響を与えるので、メモリ領域４３の異常が検出された場合には、アシスト可否判定部６０はアシスト制御をしないためのアシスト可否信号ＡＮを出力し、処理部７０を介して、初期診断で検出されたときはアシスト制御を開始せず、常時診断で検出されたときはアシスト制御を停止する。
【００３０】
更に、メモリ領域４２の異常はアシスト制御に影響を与えるが、その影響は小さいので、メモリ領域４２の異常が検出されたときは処理部７０でアシスト制御を開始したり、アシスト制御を継続する。つまり、メモリ領域４２の異常が検出された場合、アシスト可否判定部６０はアシスト制御をするためのアシスト可否信号ＡＮを出力し、このアシスト可否信号ＡＮに基づいて必要な処理を行い、インバータ３８により初期診断においてはアシスト制御を開始し、常時診断においてはアシスト制御を継続する。
【００３１】
このような構成において、ＲＡＭのデータ数値範囲が上位ビットに及ぶような使い方をする場合の概略動作は、図３のフローチャートのようになる。即ち、ＲＡＭからのデータ読み出し処理（ステップＳ１００）を行い、読み出したデータを用いて必要な演算処理を行い（ステップＳ１００Ａ）、演算結果をワークメモリに書き込み（ステップＳ１００Ｂ）、ワークメモリのデータをＲＡＭへ書き込む（ステップＳ２００）。本発明では、ＲＡＭからワークメモリへのデータ読み出し時に、読み出し元のＲＡＭの診断結果と前回の書き込み時のＲＡＭの状態とに応じて読み出し方法を変えると共に、ワークメモリからＲＡＭへのデータ書き込み時に、書き込み先のＲＡＭの診断結果に応じて書き込み方法を変えている
ＲＡＭからのデータ読み出し処理（ステップＳ１００）の詳細は図４に示すようになっており、先ずメモリ異常検出部５０は後述するＲＡＭ診断を行い（ステップＳ３００）、診断結果が「正常」であるか「異常」であるかを判定部５５が判定する（ステップＳ１０１）。
【００３２】
診断結果が「正常」と判定された場合、前回の書き込み時のＲＡＭが「下位異常」であったか又は「上位異常」であったか、或いは「正常」であったかを判定し（ステップＳ１０２）、「正常」であった場合には、読み出し元のＲＡＭが正常で、前回書き込み時のＲＡＭ状態も正常であるので、ＲＡＭのデータをそのまま読み出してワークメモリに書き込む（ステップＳ１０３）。
【００３３】
一方、上記ステップＳ１０１で「異常」と判定された場合には、異常ビット位置のフラグが「上位異常のみＯＮ」であるか、又は「下位異常のみＯＮ」であるか又は「その他」であるかを判定し（ステップＳ１１０）、「その他」と判定された場合には、読み出し元のＲＡＭの中位ビットが異常又は上位ビット、下位ビット、中位ビットのいずれか２つ以上が異常（メモリ領域として使用不可）であり、アシスト可否判定部６０はアシスト制御継続不可能と判定し、処理部７０で徐変処理等を行ってアシスト制御を停止する（ステップＳ１１１）。なお、読み出し元のＲＡＭの上位ビットのみが異常又は下位ビットのみが異常であるが、前回書き込み時のＲＡＭ状態によりデータの復元が不可能な場合も、アシスト制御を停止する。
【００３４】
異常ビット位置のフラグが「上位異常のみＯＮ」であると判定された場合には、前回の書き込み時のＲＡＭ状態が「上位異常」であったか或いは「正常」又は「下位異常」であったかを判定し（ステップＳ１２０）、「正常」又は「下位異常」であったと判定された場合にはアシスト可否判定部６０はアシスト制御継続不可能と判定し、上記ステップＳ１１１（アシスト制御停止）に移行する。また、「上位異常」であったと判定された場合、つまり読み出し元のＲＡＭの上位ビットのみが異常、かつ書き込み時のＲＡＭ状態が上位異常の場合には、ＲＡＭからデータをワークメモリに読み出し後（ステップＳ１２１）、ワークメモリで異常ビット分だけ左シフトし、左シフトした分下位ビットを操舵への影響が少なくなる「０」又は「１」に固定する（ステップＳ１２２）。読み出し元のＲＡＭが正常でも、書き込み時ＲＡＭ状態が上位異常の場合も同様である。
【００３５】
上記ステップＳ１１０で「下位異常のみＯＮ」と判定された場合には、前回の書き込み時のＲＡＭ状態が「上位異常」であったか或いは「正常」又は「下位異常」であったかを判定し（ステップＳ１３０）、「上位異常」であったと判定された場合には上記ステップＳ１１１（アシスト制御停止）に移行する。また、「正常」又は「下位異常」であったと判定された場合、つまり読み出し元のＲＡＭの下位ビットのみが異常、かつ書き込み時のＲＡＭ状態が正常又は下位異常の場合には、ＲＡＭのデータをワークメモリに読み出し後（ステップＳ１３１）、ワークメモリで異常ビットを操舵への影響が少なくなる「０」又は「１」に固定する（ステップＳ１３２）。読み出し元のＲＡＭが正常でも、書き込み時に下位ビットのみが異常の場合も同様である。
【００３６】
上記ステップＳ１０２で、「上位異常」と判定された場合には上記ステップＳ１２１に移行し、「下位異常」と判定された場合には上記ステップＳ１３１に移行する。
【００３７】
また、ＲＡＭへのデータ書き込み処理（ステップＳ２００）の詳細は図５に示すようになっており、先ず読み込み時と同様なＲＡＭ診断を行い（ステップＳ３００）、診断結果が「正常」であるか「異常」であるかを判定部５５が判定する（ステップＳ２０１）。
【００３８】
診断結果が「正常」と判定された場合、書き込み先のＲＡＭが正常のため、ワークメモリのデータをそのままＲＡＭに書き込み（ステップＳ２０２）、書き込み時のＲＡＭ状態を「正常」に設定する（ステップＳ２０３）。
【００３９】
一方、上記ステップＳ２０１で「異常」と判定された場合には、異常ビット位置のフラグが「上位異常のみＯＮ」であるか、又は「下位異常のみＯＮ」であるか又は「その他」であるかを判定し（ステップＳ２１０）、「その他」と判定された場合は、書き込み先のＲＡＭの中位ビットが異常又は上位ビット、下位ビット、中位ビットのいずれか２つ以上が異常（メモリ領域として使用不可）であり、アシスト可否判定部６０はアシスト制御継続不可能と判定し、処理部７０で徐変処理等を行ってアシスト制御を停止する（ステップＳ２１１）。
【００４０】
異常ビット位置のフラグが「上位異常のみＯＮ」であると判定された場合、つまり書き込み先のＲＡＭの上位ビットのみが異常（それ以外のビットは正常で、メモリ領域として使用可）のため、アシスト可否判定部６０はアシスト制御継続可能と判定し、メモリとして異常ビットを使用しないようにワークメモリで異常ビット分だけ右シフトし（ステップＳ２２０）、ワークメモリのデータをＲＡＭに書き込み（ステップＳ２２１）、書き込み時のＲＡＭ状態を「上位異常」に設定する（ステップＳ２２２）。
【００４１】
上記ステップＳ２１０で「下位異常のみＯＮ」と判定された場合、つまり書き込み先のＲＡＭの下位ビットのみが異常（それ以外のビットは正常で、メモリ領域として使用可）のため、アシスト可否判定部６０はアシスト制御継続可能と判定し、ワークメモリのデータをそのままＲＡＭに書き込み（ステップＳ２３０）、書き込み時のＲＡＭ状態を「下位異常」に設定する（ステップＳ２３１）。
【００４２】
上記ＲＡＭ読み出し処理及びＲＡＭ書き込み処理は、コンピュータでの数値表現（浮動小数点、固定小数点、整数）に依存しない共通の処理であり、コンピュータでの数値表現毎のビット操作のイメージ例で説明する。
【００４３】
浮動小数点領域４２１Ａのメモリ構成は、例えば図６に示すように３２ビットで構成されており、ＭＳＢの１ビットは符号、上位８ビットは指数部、ＬＳＢを含む残りの２３ビットは仮数部に使用されている。そして、図７（Ａ）に示すようにＬＳＢからの下位ビット（本例では３ビット）に異常が検出されると、図７（Ｂ）に示すように当該異常ビット（３ビット）を「０」又は「１」に固定する（ステップＳ１３２）。「０」又は「１」に固定して使用しても影響は小さく、本例では図７（Ｂ）に示すように下位３ビットを「０」で固定している。
【００４４】
図８（Ａ）に示すようにＭＳＢを含む上位ビット（３ビット）にメモリ異常が検出されると、ステップＳ１２２では、図８（Ｂ）に示すように異常ビット分（３ビット）だけ左シフト（ＭＳＢ方向へのシフト）し、当該異常ビットを使用しないようにすると共に、図８（Ｃ）に示すように異常ビット数に対応する下位ビット（３ビット）を「０」又は「１」に固定する。これにより、上位ビットの異常を無視した形態でデータ処理を行うことができる。
【００４５】
また、固定小数点領域４２１Ｂのメモリ構成は、例えば図９に示すように３２ビットで構成されており、ＭＳＢの１ビットは符号、上位１６ビットは整数部、ＬＳＢを含む残り１５ビットは小数部に使用されている。そして、図１０（Ａ）に示すようにＬＳＢを含む下位ビット（本例では５ビット）に異常が検出されると、図１０（Ｂ）に示すように当該異常ビット（５ビット）を「０」又は「１」に固定する（ステップＳ１３２）。下位ビットであるため、「０」又は「１」に固定して使用しても影響は小さく、本例では図１０（Ｂ）に示すように下位５ビットを「０」で固定している。
【００４６】
上述では固定小数点領域４２１Ｂの下位ビットにメモリ異常が検出された場合を説明したが、図１１（Ａ）に示すようにＭＳＢを含む上位ビット（本例では５ビット）にメモリ異常が検出された場合には、図１１（Ｂ）に示すように異常ビット分（５ビット）だけ左シフトし、当該異常ビットを使用しないようにすると共に、図１１（Ｃ）に示すようにＬＳＢを含む下位ビット（５ビット）を「０」又は「１」に固定する（ステップＳ１２２）。下位ビットであるため、「０」又は「１」に固定して使用しても影響は小さく、本例では、下位５ビットを「０」で固定している。
【００４７】
整数領域４２２のメモリ構成は、例えば図１２に示すように３２ビットで構成されており、ＭＳＢの１ビットが符号、残りの３１ビット全てが整数に使用されている。かかる整数領域４２２では、図１３（Ａ）に示すようにメモリ異常検出部５０でＬＳＢを含む下位ビット（本例では６ビット）に異常が検出されると、図１３（Ｂ）に示すように当該異常ビットを「０」又は「１」に固定して使用する。また、図１４（Ａ）に示すようにＭＳＢを含む上位ビット（本例では６ビット）にメモリ異常が検出された場合、この整数領域にデータを書き込む際には、予め異常ビット分だけ右にシフトして書き込む（ステップＳ２２０）。整数領域からデータを読み込むときは、ＲＡＭのワーク領域へデータを転送し、図１４（Ｃ）に示すように異常ビット分だけ左シフトを行い、下位の異常ビット分を「０」又は「１」で固定する（ステップＳ１２２）。
【００４８】
ここにおいて、操舵への影響が少なくなる値（「０」又は「１」）に固定することは、アシストトルクを減らす方向の値を意味しており、例えば補償部３９で演算された補償値で符号付きＲＡＭの場合、符号ビットと同じ値に固定する。具体的には、符号ビットが０なら正値なので「０」に固定し、符号ビットが１なら負値なので「１」に固定することにより、モータ電流値が０に近い方向になる。また、車速Ｖなどの値が大きいほど、モータ電流値が小さくなるＲＡＭの場合は「１」に固定する。
【００４９】
上述したデータ数値範囲が上位ビットに及ぶ場合の例において、書き込み時と読み出し時のＲＡＭ状態の組み合わせを纏めると図１５に示すようになる。上段の“Ｗ”は書き込み時の処理を示し、下段の“Ｒ”は読み出し時の処理を表している。
【００５０】
次に、ＲＡＭ診断処理（ステップＳ３００）について、図１６及び図１７のフローチャートを参照して説明する。
【００５１】
先ず診断結果を「正常」にし（ステップＳ３０１）、異常ビット位置フラグをクリア、つまり「下位異常」をＯＦＦにすると共に、「上位異常」をＯＦＦにする（ステップＳ３０２）。そして、診断対象ＲＡＭを退避させ（ステップＳ３０３）、診断対象ＲＡＭに１６進（ｈ）の“ＡＡＡＡＡＡＡＡ”を書き込み（ステップＳ３０４）、診断対象ＲＡＭと“ＡＡＡＡＡＡＡＡ”とのＥｘ−ＯＲ（排他的論理和）を論理部５４でとり（ステップＳ３０５）、論理演算Ｅｘ−ＯＲの結果が１６進（ｈ）の“００００００００”であるか否かを判定部５５で判定する（ステップＳ３０６）。論理演算Ｅｘ−ＯＲの結果が“００００００００”である場合には診断対象ＲＡＭに１６進（ｈ）の“５５５５５５５５”を書き込み（ステップＳ３３０）、論理演算Ｅｘ−ＯＲの結果が“００００００００”でない場合には異常ビット位置の検出を行い（ステップＳ３１０）、診断結果を「異常」にし（ステップＳ３２０）、その後に診断対象ＲＡＭに“５５５５５５５５”を書き込む（ステップＳ３３０）。
【００５２】
なお、本例では１６進（ｈ）の各桁は４ビット構成であり、全体で３２ビット構成になっているが、各桁のビット数、全体ビット数等は任意である。
【００５３】
診断対象ＲＡＭに“５５５５５５５５”を書き込んで後、診断対象ＲＡＭと“５５５５５５５５”との論理演算Ｅｘ−ＯＲをとり（ステップＳ３３１）、論理演算Ｅｘ−ＯＲの結果が１６進（ｈ）の“００００００００”であるか否かを判定する（ステップＳ３３２）。論理演算Ｅｘ−ＯＲの結果が“００００００００”である場合には退避した値をＲＡＭに復帰させ（ステップＳ３３３）、論理演算Ｅｘ−ＯＲの結果が“００００００００”でない場合には異常ビット位置の検出を行い（ステップＳ３１０Ａ）、診断結果を「異常」にし（ステップＳ３２０Ａ）、その後に退避した値をＲＡＭに復帰させる（ステップＳ３３３）。
【００５４】
ステップＳ３１０及びＳ３１０Ａの異常ビット位置の検出動作は同じであり、図１７のフローチャートを参照して説明する。
【００５５】
先ず論理演算Ｅｘ−ＯＲの結果と下位ビット異常判定用閾値（例えば１６進（ｈ）の“０００００００Ｆ”）とのＡＮＤ（論理積）を論理部５４でとり（ステップＳ３１１）、論理演算ＡＮＤの結果が１６進（ｈ）の“００００００００”であるか否かを判定する（ステップＳ３１２）。論理演算ＡＮＤの結果が“００００００００”であれば、更に論理演算Ｅｘ−ＯＲの結果と上位ビット異常判定用閾値（例えば１６進（ｈ）の“Ｆ０００００００”）とのＡＮＤをとり（ステップＳ３１４）、論理演算ＡＮＤの結果が“００００００００”でない場合には、異常ビット位置フラグの「下位異常」をＯＮにし（ステップＳ３１３）、その後に論理演算Ｅｘ−ＯＲの結果と上位ビット異常判定用閾値“Ｆ０００００００”とのＡＮＤをとる（ステップＳ３１４）。論理演算ＡＮＤの結果が“００００００００”であればリターンとなり、論理演算ＡＮＤの結果が“００００００００”でない場合には、異常ビット位置フラグの「上位異常」をＯＮにし（ステップＳ３１６）、リターンとなる。
【００５６】
上述では上位ビットの異常でも下位ビットの異常でも、アシスト制御を継続できる構成となっているが、上位ビットの異常又は下位ビットの異常のいずれかに対応した構成としても良い。
【００５７】
上述の例は、ＲＡＭのデータ数値範囲が上位ビットに及ぶような使い方をする場合であるが、ＲＡＭのデータ数値範囲が上位ビットに及ばないような使い方をする場合の概略動作は、図１８及び図１９のフローチャートのようになる。即ち、１２ビットのＡＤ変換値の読み出しは、先ずＲＡＭからのデータ読み出し処理（ステップＳ４００）を行い、読み出したデータを用いて必要な演算処理を行う（ステップＳ４００Ａ）。また、１２ビットのＡＤ値の書き込みでは、先ずＡＤ変換処理によりＡＤ変換値を得（ステップＳ５００Ａ）、得られたＡＤ変換値をワークメモリに書き込み（ステップＳ５００Ｂ）、その後にワークメモリのデータをＲＡＭへ書き込む（ステップＳ５００）。
【００５８】
ＲＡＭからのデータ読み出し処理（ステップＳ４００）の詳細は図２０に示すようになっており、先ず前述と同様なＲＡＭ診断を行い（ステップＳ３００）、診断結果が「正常」であるか「異常」であるかを判定する（ステップＳ４０１）。
【００５９】
診断結果が「正常」と判定された場合、前回の書き込み時のＲＡＭが「下位異常」であったか又は「上位異常」であったか、或いは「正常」であったかを判定し（ステップＳ４０２）、「正常」であった場合には、読み出し元のＲＡＭが正常でかつ書き込み時のＲＡＭ状態も正常であるので、ＲＡＭのデータをそのまま読み出してワークメモリに書き込む（ステップＳ４０３）。
【００６０】
一方、上記ステップＳ４０１で「異常」と判定された場合には、異常ビット位置のフラグが「上位異常のみＯＮ」であるか、又は「下位異常のみＯＮ」であるか又は「その他」であるかを判定し（ステップＳ４１０）、「その他」と判定された場合には、読み出し元のＲＡＭの中位ビットが異常又は上位ビット、下位ビット、中位ビットのいずれか２つ以上が異常（メモリ領域として使用不可）であり、アシスト可否判定部６０はアシスト継続不可能と判定し、処理部７０で徐変処理等を行ってアシスト制御を停止する（ステップＳ４１１）。読み出し元のＲＡＭの上位ビットのみが異常又は下位ビットのみが異常であるが、書き込み時のＲＡＭ状態によりデータの復元が不可能な場合も、アシスト制御を停止する。
【００６１】
異常ビット位置のフラグが「上位異常のみＯＮ」であると判定された場合には、前回の書き込み時のＲＡＭ状態が「下位異常」であったか或いは「正常」又は「上位異常」であったかを判定し（ステップＳ４２０）、「下位異常」であったと判定された場合には上記ステップＳ４１１（アシスト制御停止）に移行する。また、「正常」又は「上位異常」であったと判定された場合、つまり読み出し元のＲＡＭの上位ビットのみが異常、かつ書き込み時のＲＡＭ状態が正常又は上位異常の場合には、ＲＡＭのデータをワークメモリに読み出し後（ステップＳ４２１）、例えば１２ビットＡＤ変換値の最上位ビット（符号ビット）又は正常な符号拡張ビットに基づいて、ワークメモリで符号拡張を行う（ステップＳ４２２）。読み出し元のＲＡＭが正常でも、書き込み時のＲＡＭ状態が上位異常の場合も同様である。
【００６２】
上記ステップＳ４１０で「下位異常のみＯＮ」と判定された場合には、前回の書き込み時のＲＡＭ状態が「下位異常」であったか或いは「正常」又は「上位異常」であったかを判定し（ステップＳ４３０）、「正常」又は「上位異常」であったと判定された場合には上記ステップＳ４１１（アシスト制御停止）に移行する。また、「下位異常」であったと判定された場合、つまり読み出し元のＲＡＭの下位ビットのみが異常、かつ書き込み時のＲＡＭ状態が下位異常の場合には、ＲＡＭのデータをワークメモリに読み出し後（ステップＳ４３１）、例えば１２ビットＡＤ変換値の最上位ビット（符号ビット）又は正常な符号拡張ビットに基づいて、ワークメモリで例えば２０ビット右シフトして符号拡張する（ステップＳ４３２）。読み出し元のＲＡＭが正常でも、書き込み時のＲＡＭ状態が下位異常の場合も同様である。
【００６３】
上記ステップＳ４０２で、「上位異常」と判定された場合には上記ステップＳ４２１に移行し、「下位異常」と判定された場合には上記ステップＳ４３１に移行する。
【００６４】
また、ＲＡＭへのデータ書き込み処理（ステップＳ５００）の詳細は図２１に示すようになっており、先ず上述と同様なＲＡＭ診断を行い（ステップＳ３００）、診断結果が「正常」であるか「異常」であるかを判定する（ステップＳ５０１）。
【００６５】
診断結果が「正常」と判定された場合、書き込み先のＲＡＭが正常であるのでワークメモリのデータをそのままＲＡＭに書き込み（ステップＳ５０２）、書き込み時のＲＡＭ状態を「正常」に設定する（ステップＳ５０３）。
【００６６】
一方、上記ステップＳ５０１で「異常」と判定された場合には、異常ビット位置のフラグが「上位異常のみＯＮ」であるか、又は「下位異常のみＯＮ」であるか又は「その他」であるかを判定し（ステップＳ５１０）、「その他」と判定された場合には、書き込み先のＲＡＭの中位ビットが異常又は上位ビット、下位ビット、中位ビットのいずれか２つ以上が異常（メモリ領域として使用不可）であり、アシスト可否判定部６０はアシスト継続不可能と判定し、処理部７０で徐変処理等を行ってアシスト制御を停止する（ステップＳ５１１）。
【００６７】
異常ビット位置のフラグが「上位異常のみＯＮ」であると判定された場合には、書き込み先のＲＡＭの上位ビットのみが異常（上位ビットは符号拡張ビットであり、データ数値に影響なし）のため、アシスト可否判定部６０はアシスト継続可能と判定し、ワークメモリのデータをそのままＲＡＭに書き込み（ステップＳ５２０）、書き込み時のＲＡＭ状態を「上位異常」に設定する（ステップＳ５２１）。
【００６８】
また、異常ビット位置のフラグが「下位異常のみＯＮ」であると判定された場合には、書き込み先のＲＡＭの下位ビットのみが異常（それ以外のビットは正常であり、メモリ領域として使用可）のため、アシスト可否判定部６０はアシスト継続可能と判定し、ワークメモリで所定ビット分（例えば２０ビット）だけ左シフトし（ステップＳ５３０）、ワークメモリのデータをＲＡＭに書き込み（ステップＳ５３１）、書き込み時のＲＡＭ状態を「下位異常」に設定する（ステップＳ５３２）。
【００６９】
上記ＲＡＭ読み出し処理及びＲＡＭ書き込み処理は、コンピュータでの数値表現が整数の場合の処理であり、コンピュータでの数値表現毎のビット操作のイメージ例で説明する。
【００７０】
図２２は、ＬＳＢを含む下位の１２ビットが使用領域で、ＭＳＢを含む上位２０ビットが拡張領域である整数領域の例を示しており、図２３（Ａ）に示すようにＬＳＢを含む下位ビット（本例では６ビット）が異常である場合、図２３（Ｂ）に示すように下位２０ビットを未使用領域とするために右シフトし、図２３（Ｃ）に示すように２０ビットの符号拡張領域を得る（ステップＳ４３２）。データ書き込みは逆に、２０ビット左シフトして使用する（ステップＳ５３０）。また、図２４は、整数領域の上位ビット（符号拡張領域）に異常がある場合を示しており、符号拡張して下位１２ビットを使用領域としている。
【００７１】
上述したデータ数値範囲が上位ビットに及ばない場合の例において、書き込み時と読み出し時のＲＡＭ状態の組み合わせを纏めると図２５に示すようになる。上段の“Ｗ”は書き込み時の処理を示し、下段の“Ｒ”は読み出し時の処理を表している。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施形態の一例を示すブロック構成図である。
【図２】本発明におけるメモリ構成の一例を示す模式図である。
【図３】本発明の概略動作（データ数値範囲が上位ビットに及ぶ場合）を示すフローチャートである。
【図４】ＲＡＭ読み出し処理の動作例（データ数値範囲が上位ビットに及ぶ場合）を示すフローチャートである。
【図５】ＲＡＭ書き込み処理の動作例（データ数値範囲が上位ビットに及ぶ場合）を示すフローチャートである。
【図６】３２ビット浮動小数点領域のメモリ構成例を示す図である。
【図７】浮動小数点領域（下位ビット異常）の読み出し処理の動作例（データ数値範囲が上位ビットに及ぶ場合）を説明する図である。
【図８】浮動小数点領域（上位ビット異常）の読み出し処理の動作例（データ数値範囲が上位ビットに及ぶ場合）を説明する図である。
【図９】３２ビット固定小数点領域のメモリ構成例を示す図である。
【図１０】固定小数点領域（下位ビット異常）の読み出し処理の動作例（データ数値範囲が上位ビットに及ぶ場合）を説明する図である。
【図１１】固定小数点領域（上位ビット異常）の読み出し処理の動作例（データ数値範囲が上位ビットに及ぶ場合）を説明する図である。
【図１２】３２ビット整数領域のメモリ構成例を示す図である。
【図１３】整数領域（下位ビット異常）の読み出し処理の動作例（データ数値範囲が上位ビットに及ぶ場合）を説明する図である。
【図１４】整数領域（上位ビット異常）の読み出し処理の動作例（データ数値範囲が上位ビットに及ぶ場合）を説明する図である。
【図１５】データ数値範囲が上位ビットに及ぶ場合の書き込み時と読み出し時のＲＡＭ状態組み合わせ例を示す図である。
【図１６】ＲＡＭ診断処理の動作例を示すフローチャートである。
【図１７】異常ビット位置の検出動作例を示すフローチャートである。
【図１８】本発明のデータ読み出しの概略動作（データ数値範囲が上位ビットに及ばない場合）を示すフローチャートである。
【図１９】本発明のデータ書き込みの概略動作（データ数値範囲が上位ビットに及ばない場合）を示すフローチャートである。
【図２０】ＲＡＭ読み出し処理の動作例（データ数値範囲が上位ビットに及ばない場合）を示すフローチャートである。
【図２１】ＲＡＭ書き込み処理の動作例（データ数値範囲が上位ビットに及ばない場合）を示すフローチャートである。
【図２２】３２ビット整数領域のメモリ構成例を示す図である。
【図２３】整数領域（下位ビット異常）の読み出し処理の動作例（データ数値範囲が上位ビットに及ばない場合）を説明する図である。
【図２４】整数領域（上位ビット異常）の読み出し処理の動作例（データ数値範囲が上位ビットに及ばない場合）を説明する図である。
【図２５】データ数値範囲が上位ビットに及ばない場合の書き込み時と読み出し時のＲＡＭ状態組み合わせ例を示す図である。
【図２６】一般的な電動パワーステアリング装置の構成例を示す図である。
【図２７】コントロールユニットの一例を示すブロック図である。
【図２８】イグニションキーＯＮ後の動作例を示すフローチャートである。
【図２９】ＲＡＭからの読み出し処理及びＲＡＭへの書き込み処理の動作例（データ数値範囲が上位ビットに及ぶ場合）を示すフローチャートである。
【図３０】ＲＡＭからの読み出し処理の動作例（データ数値範囲が上位ビットに及ばない場合）を示すフローチャートである。
【図３１】ＲＡＭへの書き込み処理の動作例（データ数値範囲が上位ビットに及ばない場合）を示すフローチャートである。
【符号の説明】
【００７３】
１            操向ハンドル
２            コラム軸
３            減速ギア
４Ａ、４Ｂ    ユニバーサルジョイント
５            ピニオンラック機構
６            タイロッド
１０          トルクセンサ
１１          イグニションキー
１２          車速センサ
１４          バッテリ
２０          モータ
３０          コントロールユニット
３１          電流指令値演算部
３２          位相補償部
３５          微分補償部
３６          ＰＩ制御部
３７          ＰＷＭ制御部
３８          インバータ
３９          補償部
４０          メモリ（ＲＯＭ，ＲＡＭ）
５０          メモリ異常検出部
５１          ワークメモリ（レジスタ）
５４          論理部
５５          判定部
６０          アシスト可否判定部
７０          処理部
【図１】
2009269501.tif 000003
【図２】
2009269501.tif 000004
【図３】
2009269501.tif 000005
【図４】
2009269501.tif 000006
【図５】
2009269501.tif 000007
【図６】
2009269501.tif 000008
【図７】
2009269501.tif 000009
【図８】
2009269501.tif 000010
【図９】
2009269501.tif 000011
【図１０】
2009269501.tif 000012
【図１１】
2009269501.tif 000013
【図１２】
2009269501.tif 000014
【図１３】
2009269501.tif 000015
【図１４】
2009269501.tif 000016
【図１５】
2009269501.tif 000017
【図１６】
2009269501.tif 000018
【図１７】
2009269501.tif 000019
【図１８】
2009269501.tif 000020
【図１９】
2009269501.tif 000021
【図２０】
2009269501.tif 000022
【図２１】
2009269501.tif 000023
【図２２】
2009269501.tif 000024
【図２３】
2009269501.tif 000025
【図２４】
2009269501.tif 000026
【図２５】
2009269501.tif 000027
【図２６】
2009269501.tif 000028
【図２７】
2009269501.tif 000029
【図２８】
2009269501.tif 000030
【図２９】
2009269501.tif 000031
【図３０】
2009269501.tif 000032
【図３１】
2009269501.tif 000033