(57)【特許請求の範囲】
【請求項１】
複数の演算処理装置を含む複数系統からなる制御装置であって、
前記複数の演算処理装置は、
相互に異常通知信号を授受するための出力端子及び入力端子を備え、
自身の系統で異常が発生したときに前記出力端子をハイインピーダンスに設定し、
前記出力端子がハイインピーダンスに設定されたときに、前記出力端子と異常通知ラインで接続される前記入力端子の入力を中間電位とし、異常通知ラインが断線しているときは、前記出力端子と異常通知ラインで接続される前記入力端子の入力を前記出力端子の電位レベルを反転した電位レベルに切り替える処理回路を設け、
前記入力端子の入力電位レベルに応じて前記出力端子側の系統の異常、前記異常通知ラインの断線、前記出力端子側の系統及び前記異常通知ラインの正常を区別して検知し、検知結果それぞれに応じた処理を実施する、
制御装置。
【請求項２】
前記処理回路は、前記出力端子、前記入力端子それぞれをプルダウン処理、プルアップ処理するプルダウン抵抗及びプルアップ抵抗からなる、
請求項１記載の制御装置。
【請求項３】
前記入力端子の入力をローパス処理するフィルタ回路を備える、請求項２記載の制御装置。
【請求項４】
前記出力端子は複数並列接続されて１つの異常通知ラインを形成する、請求項１から請求項３のいずれか１つに記載の制御装置。
【請求項５】
前記複数の演算処理装置は、前記異常通知ラインの正常性診断のために前記出力端子の状態を所定パターンに従って切り替える処理を並行して実施し、前記入力端子の状態が前記所定パターンに対応しないときに異常通知ラインの異常に対処する処理を実施する、請求項１から請求項４のいずれか１つに記載の制御装置。
【請求項６】
前記複数の演算処理装置の間で通信するための通信回路を備え、
前記複数の演算処理装置は、前記出力端子の状態を前記所定パターンに従って切り替えるタイミングを前記通信回路を介して伝達する、請求項５記載の制御装置。
【請求項７】
前記複数の演算処理装置は、Ａ／Ｄ変換対象の電圧を内部のコンデンサにチャージし、前記コンデンサの電圧をＡ／Ｄ変換するＡ／Ｄ変換回路を備え、
前記Ａ／Ｄ変換回路は、前記入力端子の電圧を前記コンデンサにチャージする第１スイッチと、基準電圧を前記コンデンサにチャージする第２スイッチとを有し、
前記複数の演算処理装置は、前記第２スイッチをオンして前記基準電圧を前記コンデンサにチャージした後に、前記第２スイッチをオフして前記第１スイッチをオンし、前記第１スイッチのオンで前記コンデンサにサンプリングされた電圧が前記基準電圧であるときに、前記入力端子のオープン故障を検出する、
請求項１から請求項６のいずれか１つに記載の制御装置。
【請求項８】
前記制御装置は、複数の巻線群を有する電動機を駆動制御する装置であり、
前記複数の演算処理装置は、前記複数の巻線群それぞれに電力を供給する複数のインバータをそれぞれ制御し、
前記複数の演算処理装置は、前記出力端子側の系統の異常に応じた処理として、正常な系統による電力供給を増やす処理を実施する、請求項１から請求項７のいずれか１つに記載の制御装置。
【請求項９】
異常通知用の出力端子及び入力端子をそれぞれ備えた複数の演算処理装置からなる複数系統間で相互に異常通知を行う方法であって、
自身の系統に異常が発生したときに前記出力端子をハイインピーダンスに設定し、
前記出力端子がハイインピーダンスに設定されたときに、前記出力端子と異常通知ラインで接続される前記入力端子の入力を中間電位とし、
異常通知ラインが断線しているときは、前記出力端子と異常通知ラインで接続される前記入力端子の入力を前記出力端子の電位レベルを反転した電位レベルに切り替え、
前記入力端子の入力電位レベルに応じて前記出力端子側の系統の異常、前記異常通知ラインの断線、前記出力端子側の系統及び前記異常通知ラインの正常を区別して検知し、
検知結果それぞれに応じた処理を実施する、
複数の演算処理装置における異常通知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の演算処理装置を含む複数系統からなる制御装置及び複数の演算処理装置における異常通知方法に関し、詳しくは、複数の演算処理装置の間で相互に異常通知を行うための技術に関する。
【背景技術】
【０００２】
特許文献１には、２つの巻線群に電力をそれぞれ供給する２つのインバータを有する２系統電動機駆動装置において、第１系統のインバータや巻線が故障すると、第１系統のインバータが供給していた電力を補うために、正常な第２系統のインバータに正常作動時の２倍の電流を流し、インバータ出力の合計を故障の前後で一定に維持することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１１１４７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、複数系統毎にマイクロコンピュータなどの演算処理装置を備えたモータ制御装置では、各系統におけるインバータや巻線などの異常情報を他の系統の演算処理装置に通知することで、一部の系統で異常が発生したときに正常な系統で電力供給を増やしてモータトルクの低下を抑制するモータトルク補償制御を行うことができる。
ここで、他系統におけるインバータや巻線などの異常に対して補償制御を実施するとともに、演算処理装置に異常が発生し異常通知処理が正常に行えない場合にも、演算処理装置を含めて正常な系統においてトルク補償制御などのフェイルセーフ処理を適切に実施できれば、複数の演算処理装置を含む複数系統からなる制御装置の信頼性を向上させることができる。
【０００５】
本発明は上記問題点に鑑みなされたものであり、複数の演算処理装置を含む複数系統からなる制御装置において、演算処理装置の異常を含めた系統異常を他系統に適切に通知できるようにして制御装置の信頼性を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
そのため、本願発明に係る制御装置は、複数の演算処理装置を含む複数系統からなる制御装置であって、前記複数の演算処理装置は、相互に異常通知信号を授受するための出力端子及び入力端子を備え、
自身の系統で異常が発生したときに前記出力端子をハイインピーダンスに設定し、
前記出力端子がハイインピーダンスに設定されたときに、前記出力端子と異常通知ラインで接続される前記入力端子の入力を中間電位とし、異常通知ラインが断線しているときは、前記出力端子と異常通知ラインで接続される前記入力端子の入力を前記出力端子の電位レベルを反転した電位レベルに切り替える処理回路を設け、
前記入力端子の入力電位レベルに応じて前記出力端子側の系統の異常、前記異常通知ラインの断線、前記出力端子側の系統及び前記異常通知ラインの正常を区別して検知し、検知結果それぞれに応じた処理を実施する。
【０００７】
また、本願発明に係る複数の演算処理装置における異常通知方法は、異常通知用の出力端子及び入力端子をそれぞれ備えた複数の演算処理装置からなる複数系統間で相互に異常通知を行う方法であって、
自身の系統に異常が発生したときに前記出力端子をハイインピーダンスに設定し、
前記出力端子がハイインピーダンスに設定されたときに、前記出力端子と異常通知ラインで接続される前記入力端子の入力を中間電位とし、
異常通知ラインが断線しているときは、前記出力端子と異常通知ラインで接続される前記入力端子の入力を前記出力端子の電位レベルを反転した電位レベルに切り替え、
前記入力端子の入力電位レベルに応じて前記出力端子側の系統の異常、前記異常通知ラインの断線、前記出力端子側の系統及び前記異常通知ラインの正常を区別して検知し、
検知結果それぞれに応じた処理を実施する。
【発明の効果】
【０００８】
上記発明によると、演算処理装置の異常を含めた系統異常を他系統に適切に通知でき、制御装置の信頼性を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における車両用電動パワーステアリング装置のシステム構成図である。
【図２】本発明の実施形態におけるモータ駆動回路及び３相ブラシレスモータの回路図である。
【図３】本発明の実施形態におけるマイクロコンピュータの構成を示す回路図である。
【図４】本発明の実施形態におけるＡ／Ｄ変換回路の構成を示す回路図である。
【図５】本発明の実施形態における異常通知ラインの初期診断の流れを示すフローチャートである。
【図６】本発明の実施形態における異常通知ラインの初期診断における出力切り替え特性を示すタイムチャートである。
【図７】本発明の実施形態におけるマイクロコンピュータの構成を示す回路図である。
【発明を実施するための形態】
【００１０】
以下に本発明の実施の形態を説明する。
図１−図７は、本発明に係る制御装置及び複数の演算処理装置における異常通知方法の一態様として、車両用の電動パワーステアリング装置において操舵補助力（アシストトルク）を発生するモータの制御に適用した例を示す。
【００１１】
図１に示す電動パワーステアリング装置１００は、車両２００に備えられ、操舵補助力（アシストトルク）を電動モータ１３０によって発生させる装置である。
電動パワーステアリング装置１００は、ステアリングホイール１１０、操舵トルクセンサ１２０、電動モータ１３０、制御装置（電子制御ユニット）１５０、電動モータ１３０の回転を減速してステアリングシャフト（ピニオンシャフト）１７０に伝達する減速機１６０などを含んで構成される。
【００１２】
操舵トルクセンサ１２０及び減速機１６０は、ステアリングシャフト１７０を内包するステアリングコラム１８０内に設けられる。
ステアリングシャフト１７０の先端にはピニオンギア１７１が設けられていて、このピニオンギア１７１が回転すると、ラックギア１７２が車両２００の進行方向左右に水平移動する。
【００１３】
ラックギア１７２の両端にはそれぞれ車輪２０４の操舵機構２０２が設けられており、ラックギア１７２が水平移動することで車輪２０４の向きが変えられる。
操舵トルクセンサ１２０は、車両の運転者がステアリング操作を行うことでステアリングシャフト１７０に発生する操舵トルクを検出し、操舵トルク信号ＳＴを制御装置１５０に出力する。
【００１４】
電動パワーステアリング装置１００の制御装置１５０は、後述するように、マイクロコンピュータ（演算処理装置）、電動モータ１３０に電力を供給するインバータ、インバータの駆動回路などを備える。
制御装置１５０には、モータ制御（操舵補助力の決定）に用いる情報信号として、操舵トルクセンサ１２０が出力する操舵トルク信号ＳＴの他、車速センサ１９０が出力する車速信号ＶＳＰなどが入力される。
【００１５】
そして、制御装置１５０は、操舵トルク信号ＳＴ、車速信号ＶＳＰなどの情報に基づき目標トルク（電流指令値）を演算し、目標トルク（電流指令値）に基づきパルス幅変調（ＰＷＭ：Pulse Width Modulation）によって電動モータ１３０への通電を制御し、以って、電動モータ１３０の発生トルク、つまり操舵補助力を制御する。
このように、制御装置１５０は、電動パワーステアリング装置１００の電動モータ１３０を制御する機能を有している。
【００１６】
図２は、制御装置１５０及び電動モータ１３０の回路構成の一態様を示す。
図２に示す電動モータ１３０は、スター結線される３相巻線ＵＡ、ＶＡ、ＷＡからなる第１巻線群２Ａと、同じくスター結線される３相巻線ＵＢ、ＶＢ、ＷＢからなる第２巻線群２Ｂとを有する３相同期電動機であり、各巻線群２Ａ，２Ｂにおいて３相巻線Ｕ、Ｖ、Ｗが互いに接続された点は中性点をなす。
【００１７】
第１巻線群２Ａ及び第２巻線群２Ｂは図示省略した円筒状の固定子に設けられ、該固定子の中央部に形成した空間にロータ（永久磁石回転子）２０１が回転可能に備えられ、第１巻線群２Ａと第２巻線群２Ｂとは磁気回路を共有する。
そして、第１巻線群２Ａの各巻線は第１インバータ１Ａに接続され、第２巻線群２Ｂの各巻線は第２インバータ１Ｂに接続され、第１巻線群２Ａには第１インバータ１Ａから電力が供給され、第２巻線群２Ｂには第２インバータ１Ｂから電力が供給される。
【００１８】
第１インバータ１Ａは、第１巻線群２Ａの各相の上下アームを１組として３組の半導体スイッチを備えた３相ブリッジ回路からなり、上アームは、半導体スイッチＵＨＡ，ＶＨＡ，ＷＨＡ，ＷＨＡで構成され、下アームは、半導体スイッチＵＬＡ，ＶＬＡ，ＷＬＡで構成される。
また、第２インバータ１Ｂは、第２巻線群２Ｂの各相の上下アームを１組として３組の半導体スイッチを備えた３相ブリッジ回路からなり、上アームは、半導体スイッチＵＨＢ，ＶＨＢ，ＷＨＢで構成され、下アームは、半導体スイッチＵＬＢ，ＶＬＢ，ＷＬＢで構成される。
【００１９】
本実施形態では、第１インバータ１Ａ及び第２インバータ１Ｂを構成する各半導体スイッチとしてＮチャンネル型ＭＯＳＦＥＴを用いる。
第１インバータ１Ａ及び第２インバータ１Ｂにおいて、半導体スイッチＵＨ，ＵＬは、バッテリ電源ＶＢと接地点との間にドレイン−ソース間が直列接続され、半導体スイッチＵＨと半導体スイッチＵＬとの接続点にＵ相巻線Ｕが接続される。
【００２０】
また、第１インバータ１Ａ及び第２インバータ１Ｂにおいて、半導体スイッチＶＨ，ＶＬは、バッテリ電源ＶＢと接地点との間にドレイン−ソース間が直列接続され、半導体スイッチＶＨと半導体スイッチＶＬとの接続点にＶ相巻線Ｖが接続される。
また、第１インバータ１Ａ及び第２インバータ１Ｂにおいて、半導体スイッチＷＨ，ＷＬは、バッテリ電源ＶＢと接地点との間にドレイン−ソース間が直列接続され、半導体スイッチＷＨと半導体スイッチＷＬとの接続点にＷ相巻線Ｗが接続される。
【００２１】
第１駆動回路３０３Ａは、第１インバータ１Ａを構成する各半導体スイッチを駆動する回路であり、第１インバータ１Ａにおける上アーム（高電位側スイッチング素子、上流側駆動素子）である半導体スイッチＶＨＡ，ＵＨＡ，ＷＨＡをそれぞれに駆動する３つの上アームドライバと、第１インバータ１Ａにおける下アーム（低電位側スイッチング素子、下流側駆動素子）である半導体スイッチＶＬＡ，ＵＬＡ，ＷＬＡをそれぞれに駆動する３つの下アームドライバとを備えている。
【００２２】
同様に、第２駆動回路３０３Ｂは、第２インバータ１Ｂを構成する各半導体スイッチを駆動する回路であり、第２インバータ１Ｂにおける上アーム（高電位側スイッチング素子、上流側駆動素子）である半導体スイッチＶＨＢ，ＵＨＢ，ＷＨＢをそれぞれに駆動する３つの上アームドライバと、第２インバータ１Ｂにおける下アーム（低電位側スイッチング素子、下流側駆動素子）である半導体スイッチＶＬＢ，ＵＬＢ，ＷＬＢをそれぞれに駆動する３つの下アームドライバとを備えている。
【００２３】
そして、第１駆動回路３０３Ａは、第１マイクロコンピュータ（第１演算処理装置）３０２Ａからの指令信号（ＰＷＭ制御信号）に応じて第１インバータ１Ａを構成する各半導体スイッチを駆動し、これにより第１巻線群２Ａへの通電が制御される。
また、第２駆動回路３０３Ｂは、第２マイクロコンピュータ（第２演算処理装置）３０２Ｂからの指令信号（ＰＷＭ制御信号）に応じて第２インバータ１Ｂを構成する各半導体スイッチを駆動し、これにより第２巻線群２Ｂへの通電が制御される。
【００２４】
つまり、図２に示した一態様では、第１マイクロコンピュータ３０２Ａ、第１駆動回路３０３Ａ、第１インバータ１Ａ、第１巻線群２Ａによって第１系統が構成され、第２マイクロコンピュータ３０２Ｂ、第２駆動回路３０３Ｂ、第２インバータ１Ｂ、第２巻線群２Ｂによって第２系統が構成され、これら２つの駆動制御系統によって電動モータ１３０が駆動される。
【００２５】
また、バッテリ電源ＶＢと第１インバータ１Ａとの間には第１インバータ１Ａへの電源供給を遮断するための電源リレー３０４Ａが設けられ、バッテリ電源ＶＢと第２インバータ１Ｂとの間には第２インバータ１Ｂへの電源供給を遮断するための電源リレー３０４Ｂが設けられている。
本実施形態において、電源リレー３０４Ａ，３０４ＢはＮチャンネル型ＭＯＳＦＥＴなどの半導体スイッチで構成され、電源リレー３０４Ａ、３０４Ｂを構成する半導体スイッチは駆動回路３０５Ａ、３０５Ｂで駆動される。
【００２６】
なお、電源リレー３０４Ａ、３０４Ｂとして、接点を物理的に動かして開閉する電磁リレーを用いることができる。
駆動回路３０５Ａは、第１マイクロコンピュータ３０２Ａからの指令信号（制御信号）に応じて電源リレー３０４Ａを構成する半導体スイッチを駆動し、動回路３０５Ｂは、第２マイクロコンピュータ３０２Ｂからの指令信号（制御信号）に応じて電源リレー３０４Ｂを構成する半導体スイッチを駆動する。つまり、２つの駆動制御系統はそれぞれに独立してインバータ１Ａ，１Ｂへの電源供給を遮断できるよう構成されている。
【００２７】
また、インバータ１Ａ，１Ｂに供給される電源電圧の変動を抑制するために、電源リレー３０４Ａ，３０４Ｂとインバータ１Ａ，１Ｂとの間の電源ラインと接地点とを結ぶラインにコンデンサ３０６Ａ，３０６Ｂが配置されている。
角度センサ（角度検出手段）３０８はロータ２０１の角度を検出し、角度データの信号を各マイクロコンピュータ３０２Ａ，３０２Ｂに出力する。なお、例えば、第１マイクロコンピュータ３０２Ａが角度センサ３０８からの角度データ信号を入力し、第１マイクロコンピュータ３０２Ａから第２マイクロコンピュータ３０２Ｂに向けて通信回路を介して角度データ信号を転送する構成とすることができる。
【００２８】
また、下アームの半導体スイッチＵＬ，ＶＬ，ＷＬと上アームの半導体スイッチＵＨ，ＶＨ，ＷＨとの間と３相巻線Ｕ，Ｖ，Ｗとを接続する駆動ライン、換言すれば、インバータ１Ａ、１Ｂの出力点と３相巻線Ｕ，Ｖ，Ｗとの間に、３相巻線Ｕ，Ｖ，Ｗに流れる電流（相電流）をそれぞれに検出する電流センサ（電流検出抵抗、電流検出器、電流検出手段）３０１ＵＡ、３０１ＶＡ、３０１ＷＡ、３０１ＵＢ、３０１ＶＢ、３０１ＷＢを設けてある。
【００２９】
なお、図２に示した各相毎に設けられる電流センサに代えて、例えば、各インバータ１Ａ，１Ｂの下アームと接地点との間に直列に接続したシャント抵抗を用いて電流検出を行うセンサを設けた構成にでき、各相電流を検出するための構成は図２の構成に限定されない。
各マイクロコンピュータ３０２Ａ，３０２Ｂは、ＣＰＵ，ＲＯＭ，ＲＡMなどを含んで構成され、目標トルクに応じた指令電流から各相の指令電圧を決定し、インバータ１Ａ，１Ｂを三角波比較方式などによってＰＷＭ制御する。
【００３０】
具体的には、第１マイクロコンピュータ３０２Ａは、操舵トルク信号ＳＴ、車速信号ＶＳＰなどの情報に基づき第１系統の第１目標トルク（第１電流指令値）と第２系統の第２目標トルク（第２電流指令値）とを演算し、第２目標トルクの信号を第２系統の第２マイクロコンピュータ３０２Ｂに送信する。
なお、制御装置１５０は、第１目標トルク及び第２目標トルクを演算し、この目標トルクの信号を各マイクロコンピュータ３０２Ａ，３０２Ｂに送信する第３のマイクロコンピュータ（又はデジタルシグナルコントローラ）を備えることができる。
【００３１】
各マイクロコンピュータ３０２Ａ，３０２Ｂは、例えば、以下のような機能ブロックによって各インバータ１Ａ，１Ｂのスイッチング素子をＰＷＭ制御する。
各マイクロコンピュータ３０２Ａ，３０２Ｂは、一態様として、各相電流検出値をそのときのモータ角度に基づいて２軸の回転座標系（ｄ−ｑ座標系）の実電流Ｉｄ，Ｉｑに変換する３相−２軸変換部３３１Ａ，３３１Ｂと、目標トルク（指令トルク）に応じたｄ軸指令電流，ｑ軸指令電流とモータ角速度に基づいてｄ−ｑ座標系におけるｄ軸電流指令値Ｉdref及びｑ軸電流指令値Ｉqrefを算出し、ｄ軸電流指令値Ｉdref及びｑ軸電流指令値Ｉqrefと実電流Ｉｄ，Ｉｑとの比較に基づき指令電圧Ｖｑ，Ｖｄを決定するベクトル制御部３３２Ａ，３３２Ｂと、指令電圧Ｖｑ，Ｖｄを３相指令電圧Ｖu，Ｖv，Ｖwに変換する２軸−３相変換部３３３Ａ，３３３Ｂと、変調波としての３相指令電圧Ｖu，Ｖv，Ｖwを三角波キャリアと比較することで、インバータ１Ａ，１Ｂのスイッチング素子を駆動するためのスイッチングゲート波形を生成するＰＷＭ変調部３３４Ａ，３３４Ｂとしての機能をソフトウェア（software）として備える。
【００３２】
なお、各マイクロコンピュータ３０２Ａ，３０２Ｂ（ＰＷＭ変調部３３４Ａ，３３４Ｂ）は、各相の上アームのオン／オフを制御するＰＷＭパルス（スイッチングゲート波形）に対し、各相の下アームのオン／オフを制御するＰＷＭパルスを逆相とする相補方式で、各インバータ１Ａ，１Ｂのスイッチング素子をＰＷＭ制御する。
各マイクロコンピュータ３０２Ａ，３０２Ｂは、相電流検出値などに基づきインバータ１Ａ，１Ｂや巻線群２Ａ，２Ｂが正常であるか異常（故障状態）であるかを検知する異常診断機能を備え、異常の発生を検知したときには電源リレー３０４Ａ，３０４Ｂをオフしてインバータ１Ａ，１Ｂへの電源供給を遮断する（換言すれば、通電制御を停止する）フェイルセーフ処理を実施する。
【００３３】
また、２つの系統のいずれか一方で異常が発生して電源リレー３０４Ａ，３０４Ｂのいずれか一方がオフされると、正常状態では第１系統の目標トルクと第２系統の目標トルクとの合計のモータトルクを発生させることができたのに、前記一方の系統における目標トルクを発生させることができなくなり、異常発生前後でステアリングの操作性が変化することになってしまう。
【００３４】
そこで、各マイクロコンピュータ３０２Ａ，３０２Ｂは、自身の系統で異常が検知されているか示す異常検知信号、換言すれば、異常発生に基づき電源リレー３０４Ａ，３０４Ｂをオフしてインバータ１Ａ，１Ｂへの電源供給を遮断しているか否かを通知する信号を相互に相手側に送信する機能を有し、異常の発生を通知する信号を受け取った側の系統（正常な系統）では、異常発生側の系統で電動モータ１３０に供給していた電力を補うモータトルク補償制御を実施する。
【００３５】
図３は、異常検知信号をマイクロコンピュータ３０２Ａ，３０２Ｂの間で互いに送受するための回路の一態様を示す。
図３において、各系統には、マイクロコンピュータ３０２Ａ，３０２Ｂに電源供給を行うとともにマイクロコンピュータ３０２Ａ，３０２Ｂの監視を行うの電源回路３５１Ａ，３５１Ｂを備える。例えば、電源回路３５１Ａ，３５１Ｂは、ウォッチドックタイマ（watchdog timer）付の電源ＩＣである。
【００３６】
電源回路３５１Ａ，３５１Ｂは、マイクロコンピュータ３０２Ａ，３０２Ｂが出力する動作監視用信号（プログラムラン信号）を入力し、この動作監視用信号に基づきマイクロコンピュータ３０２Ａ，３０２Ｂの動作異常を検知すると、マイクロコンピュータ３０２Ａ，３０２Ｂのリセット信号入力端子３２１Ａ，３２１Ｂにリセット信号（アクティブ信号）を出力して、マイクロコンピュータ３０２Ａ，３０２Ｂをリセット（初期化）する。
【００３７】
また、マイクロコンピュータ３０２Ａ，３０２Ｂ間での異常通知ラインとして、第１マイクロコンピュータ３０２Ａから第２マイクロコンピュータ３０２Ｂに向けて第１系統における異常の有無を通知するための第１異常通知ライン３６０Ａと、第２マイクロコンピュータ３０２Ｂから第１マイクロコンピュータ３０２Ａに向けて第２系統における異常の有無を通知するための第２異常通知ライン３６０Ｂとを設けてある。
【００３８】
第１異常通知ライン３６０Ａは、第１マイクロコンピュータ３０２Ａの２つ異常通知信号の出力端子（出力ポート）３６１Ａ，３６２Ａを並列接続した回路と、第２マイクロコンピュータ３０２Ｂの異常通知信号の入力端子（入力ポート）３６３Ｂとを信号線３７０Ａで直列接続して構成される。
更に、第１異常通知ライン３６０Ａは、出力端子３６１Ａ，３６２Ａを論理レベルとしてロー（Low）レベル、つまり、第１マイクロコンピュータ３０２Ａのグランド（ground）レベルにプルダウン処理するプルダウン抵抗Ｒ１Ａと、入力端子３６３Ｂを論理レベルとしてハイ（High）レベル、つまり、第２マイクロコンピュータ３０２Ｂの電源電圧にプルアップ処理するプルアップ抵抗Ｒ２Ｂと、入力端子３６３Ｂの入力信号をローパス処理する抵抗Ｒ３ＢとコンデンサＣＢとからなるフィルタ回路３６５Ｂとを有している。
【００３９】
また、第２異常通知ライン３６０Ｂは、第２マイクロコンピュータ３０２Ｂの２つ異常通知信号の出力端子３６１Ｂ，３６２Ｂを並列接続した回路と、第１マイクロコンピュータ３０２Ａの異常通知信号の入力端子３６３Ａとを信号線３７０Ｂで直列接続して構成される。
更に、第２異常通知ライン３６０Ｂは、出力端子３６１Ｂ，３６２Ｂ側を論理レベルとしてロー（Low）レベル、つまり、第２マイクロコンピュータ３０２Ｂのグランド（ground）レベルにプルダウン処理するプルダウン抵抗Ｒ１Ｂと、入力端子３６３Ａ側を論理レベルとしてハイ（High）レベル、つまり、第１マイクロコンピュータ３０２Ａの電源電圧にプルアップ処理するプルアップ抵抗Ｒ２Ａと、入力端子３６３Ａの入力信号をローパス処理する抵抗Ｒ３ＡとコンデンサＣＡとからなるフィルタ回路３６５Ａとを有している。
【００４０】
また、第１マイクロコンピュータ３０２Ａは、入力端子３６３Ａの入力信号の電圧をＡ／Ｄ変換するＡ／Ｄ変換回路３６４Ａを備え、このＡ／Ｄ変換回路３６４Ａが出力する電圧データに基づき第２系統での異常の有無を検知する。
同様に、第２マイクロコンピュータ３０２Ｂは、入力端子３６３Ｂの入力信号の電圧をＡ／Ｄ変換するＡ／Ｄ変換回路３６４Ｂを備え、このＡ／Ｄ変換回路３６４Ｂが出力する電圧データに基づき第１系統での異常の有無を検知する。
【００４１】
そして、第１マイクロコンピュータ３０２Ａは、第１インバータ１Ａや第１巻線群２Ａなどの第１系統を構成するデバイスの異常を検知していないときには両出力端子３６１Ａ，３６２Ａを論理レベルとしてロー（Low）レベルに設定し、異常を検知したときには両出力端子３６１Ａ，３６２Ａを第１異常通知ライン３６０Ａから電気的に切り離したハイインピーダンス（High-Z）に設定する。
【００４２】
同様に、第２マイクロコンピュータ３０２Ｂは、第２インバータ１Ｂや第２巻線群２Ｂなどの第２系統を構成するデバイスの異常を検知していないときには両出力端子３６１Ｂ，３６２Ｂを論理レベルとしてロー（Low）レベルに設定し、異常を検知したときには両出力端子３６１Ｂ，３６２Ｂを第２異常通知ライン３６０Ｂから電気的に切り離したハイインピーダンス（High-Z）に設定する。
【００４３】
係る構成の異常通知ライン３６０Ａ，３６０Ｂにおいて、例えば、第１系統に異常がなく、第１マイクロコンピュータ３０２Ａが出力端子３６１Ａ，３６２Ａを論理レベルとしてロー（Low）レベルに設定していると、第２マイクロコンピュータ３０２Ｂの入力端子３６３Ｂの電圧は論理レベルとしてロー（Low）レベルになり、第２マイクロコンピュータ３０２ＢはＡ／Ｄ変換回路３６４Ｂが出力する電圧データが論理レベルとしてロー（Low）レベルであるときに、第１系統に異常がない状態であることを検知する。
【００４４】
一方、第１系統に異常が発生し、第１マイクロコンピュータ３０２Ａが出力端子３６１Ａ，３６２Ａをハイインピーダンス（High-Z）に設定すると、第２マイクロコンピュータ３０２Ｂの入力端子３６３Ｂの電圧がロー（Low）レベルとハイ（High）レベルとの中間電圧になり、第２マイクロコンピュータ３０２ＢはＡ／Ｄ変換回路３６４Ｂが出力する電圧データがロー（Low）レベルとハイ（High）レベルとの中間電圧であるときは、第１系統に異常が発生している状態であることを検知する。
【００４５】
第１マイクロコンピュータ３０２Ａが出力端子３６１Ａ，３６２Ａをハイインピーダンス（High-Z）に設定すると、第２マイクロコンピュータ３０２Ｂ側の入力端子３６３Ｂの電圧は、抵抗Ｒ２Ｂと抵抗Ｒ１Ａとの直列回路において抵抗Ｒ１Ａにかかる電圧、つまり、電源電圧とグランドレベルとの中間電圧となる。
一方、第１マイクロコンピュータ３０２Ａが出力端子３６１Ａ，３６２Ａをロー（Low）レベルに設定すると、抵抗Ｒ２Ｂと接地点との間の電圧レベルが第２マイクロコンピュータ３０２Ｂ側の入力端子３６３Ｂの電圧になり、入力端子３６３Ｂの電圧はグランドレベルとなって論理レベルとしてはロー（Low）レベルとなる。
【００４６】
同様に、第２マイクロコンピュータ３０２Ｂが出力端子３６１Ｂ，３６２Ｂをハイインピーダンス（High-Z）に設定すると、第１マイクロコンピュータ３０２Ａ側の入力端子３６３Ａの電圧は、抵抗Ｒ２Ａと抵抗Ｒ１Ｂとの直列回路において抵抗Ｒ１Ｂにかかる電圧、つまり、電源電圧とグランドレベルとの中間電圧となる。
また、第２マイクロコンピュータ３０２Ｂが出力端子３６１Ｂ，３６２Ｂをロー（Low）レベルに設定すると、抵抗Ｒ２Ａと接地点との間の電圧レベルが第１マイクロコンピュータ３０２Ａ側の入力端子３６３Ａの電圧になり、入力端子３６３Ａの電圧は論理レベルとしてロー（Low）レベルとなる。
【００４７】
更に、第１マイクロコンピュータ３０２Ａと第２マイクロコンピュータ３０２Ｂとの間で信号線３７０Ａ又は信号線３７０Ｂが断線した場合、プルアップ抵抗Ｒ２Ａ，Ｒ２Ｂのプルアップ処理によって、断線した信号線に接続される入力端子３６３Ａ又は３６３Ｂの入力は、論理レベルとしてハイ（High）レベルになる。
これにより、マイクロコンピュータ３０２Ａ，３０２Ｂは、入力端子３６３Ａ，３６３Ｂの入力がハイ（High）レベルであるときに、信号線３７０Ａ，３７０Ｂが断線していて、他方の系統の異常検知信号が入力されない状態であることを検知する。
【００４８】
更に、マイクロコンピュータ３０２Ａ，３０２Ｂが故障し、電源回路３５１Ａ，３５１Ｂによってリセットされた直後は、異常検知信号用の出力端子３６１Ａ，３６２Ａ，３６１Ｂ，３６２Ｂが入力モードになってハイインピーダンス状態になるので、異常検知に基づき出力端子３６１Ａ，３６２Ａ，３６１Ｂ，３６２Ｂをハイインピーダンスに設定するときと同様に、正常な系統は相手側の系統に異常が発生したことを検知できる。
【００４９】
以上のように、インバータ１Ａ，１Ｂや巻線群２Ａ，２Ｂに異常がない正常状態では、各マイクロコンピュータ３０２Ａ，３０２Ｂは出力端子３６１Ａ，３６２Ａ，３６１Ｂ，３６２Ｂをロー（Low）レベルに設定し、異常が発生するとハイインピーダンス（High-Z）に設定する。
そして、各マイクロコンピュータ３０２Ａ，３０２Ｂは、入力端子３６３Ａ，３６３Ｂがロー（Low）レベルであれば相手側系統が正常状態であることを検知し、入力端子３６３Ａ，３６３Ｂがハイ（High）レベルであれば信号線が断線していることを検知し、入力端子３６３Ａ，３６３Ｂが中間電圧であれば相手側系統に異常が発生していることを検知する。
【００５０】
ここで、相手側系統の異常には、相手側のインバータや巻線などのデバイス異常と、相手側のマイクロコンピュータの演算処理異常とが含まれる。
相手側系統が正常であることを検知したマイクロコンピュータ３０２Ａ，３０２Ｂは、通常に各系統に割り振られた目標トルクに従ってインバータ１Ａ，１Ｂによる電動モータ１３０への電力供給を制御する通常時処理を実施する。
【００５１】
また、相手側系統が異常であることを検知したマイクロコンピュータ３０２Ａ，３０２Ｂは、相手側系統では電源リレー３０４Ａ，３０４Ｂをオフし電動モータ１３０への電力供給を停止するから、異常発生側の系統でモータに供給していた電力を補うモータトルク補償制御（他系統異常時処理）を実施して、異常発生前後でステアリングの操作性が変化することを抑制する。
相手側系統が異常であることを検知したマイクロコンピュータ３０２Ａ，３０２Ｂは、モータトルク補償制御に加えて車両の運転者に異常発生を警告するための警告灯３７１を点灯させる制御を行うことができる。
なお、警告手段は、警告灯３７１に限定されず、ブザーや警告文の文字表示などの警告手段を動作させる構成とすることができる。
【００５２】
また、マイクロコンピュータ３０２Ａ，３０２Ｂの間での異常検知信号の送受信に用いる信号線の断線を検知したマイクロコンピュータ３０２Ａ，３０２Ｂは、モータトルク補償制御を実施することなく、通常に各系統に割り振られた目標トルクに従ってインバータ１Ａ，１Ｂによる電動モータ１３０への電力供給を制御するものの、前記警告灯３７１を点灯させる断線時処理を実施する。
【００５３】
以上のように、異常通知ライン３６０Ａ，３６０Ｂによって２系統が相互に異常検知信号を送受信する制御装置１５０では、正常な系統のマイクロコンピュータは、相手側のデバイス異常と演算処理異常との双方に対してモータトルク補償制御などの適切なフェイルセーフ処理（異常時処理）を実施できる。
更に、マイクロコンピュータ３０２Ａ，３０２Ｂは、異常検知信号を授受するため信号線の断線を、各系統の異常と区別して検知できるので、モータトルク補償制御などのフェイルセーフ処理が無用に実施されることを抑制できる。
【００５４】
また、異常通知ライン３６０Ａ，３６０Ｂはレベル信号としての異常検知信号を送信し、異常通知信号の受信側はＡ／Ｄ変換によって異常検知信号の信号レベルを検知するから、異常通知ライン３６０Ａ，３６０Ｂにフィルタ回路３６５Ａ，３６５Ｂを設定でき、グランド（ＧＮＤ）電位変動の影響による誤検知を抑制できる。
例えば、マイクロコンピュータ３０２Ａ，３０２Ｂ間での通信によって異常検知情報の受け渡しを行わせる場合、通信ラインにフィルタ回路（ローパスフィルタ）を設定すると通信信号の鈍りが発生してしまうためフィルタ回路を設けることができず、モータ通電開始時などのグランド（ＧＮＤ）電位変動が発生する状態では異常検知情報を通信できない可能性がある。
【００５５】
また、ＣＡＮ（Controller Area Network）通信を用いれば、グランド（ＧＮＤ）電位差に対してロバストネスを有するシステムにすることが可能であるが、マイクロコンピュータ３０２Ａ，３０２Ｂ間でクロック誤差があると通信が成立せず、グランド（ＧＮＤ）電位差に対してロバストネスを有しかつ同期クロック方式とする通信方式とするためにはコスト高になる。
これに対し、レベル信号としての異常検知信号を送信する構成であってフィルタ回路３６５Ａ，３６５Ｂが設定される異常通知ライン３６０Ａ，３６０Ｂでは、グランド（ＧＮＤ）電位変動による誤検知の発生を十分に抑制でき、また、コスト高になることも避けることができる。
【００５６】
また、図３に示した異常通知ライン３６０Ａ，３６０Ｂでは、２つの出力端子３６１Ａ，３６２Ａの並列接続回路と入力端子３６３Ｂとを信号線３７０Ａで結び、２つの出力端子３６１Ｂ，３６２Ｂの並列接続回路と入力端子３６３Ａとを信号線３７０Ｂで結ぶので、並列接続される２つの出力端子の一方がオープン故障しても、正常な出力端子をローレベルに設定することで、入力端子側の論理レベルをローレベルにして、正常であることを相手側に通知できる。
【００５７】
なお、２つの出力端子を並列接続させる構成に代えて、１つの出力端子と１つの入力端子とを信号線で結んで異常通知ライン３６０Ａ，３６０Ｂを構成することができ、また、３つ以上の出力端子を並列接続して他系統の入力端子と接続させることができる。
また、入力端子３６３Ａ，３６３Ｂの電圧レベルをＡ／Ｄ変換するＡ／Ｄ変換回路３６４Ａ，３６４Ｂを、図４に示すように、基準電圧（例えば３．３Ｖ）が入力される状態と、入力端子３６３Ａ，３６３Ｂの電圧レベルが入力される状態とに切り替えることができるよう構成することで、マイクロコンピュータ３０２Ａ，３０２Ｂは、入力端子３６３Ａ，３６３Ｂのオープン故障を検知することが可能となる。
【００５８】
図４に示すＡ／Ｄ変換回路３６４Ａ，３６４Ｂは、Ａ／Ｄ変換対象の電圧を内部コンデンサＣ３にチャージ（サンプリング）し、チャージした結果をＡ／Ｄ変換に使用する回路であり、入力端子３６３Ａ，３６３Ｂの電圧を内部コンデンサＣ３にチャージするための第１スイッチＳＷ１と、基準電圧を内部コンデンサＣ３にチャージするための第２スイッチＳＷ２とを有する。
基準電圧を内部コンデンサＣ３にチャージする機能を備えないＡ／Ｄ変換回路を用いる場合、入力端子３６３Ａ，３６３Ｂがオープン故障してもＡ／Ｄ変換回路は既に内部コンデンサＣ３にチャージされている電圧をＡ／Ｄ変換することになり、マイクロコンピュータ３０２Ａ，３０２Ｂは、入力端子３６３Ａ，３６３Ｂがオープン故障していることを検知できない。
【００５９】
これに対し、Ａ／Ｄ変換回路３６４Ａ，３６４Ｂは基準電圧を内部コンデンサＣ３にチャージするための第２スイッチＳＷ２を有するから、マイクロコンピュータ３０２Ａ，３０２Ｂは、入力端子３６３Ａ，３６３Ｂがオープン故障していることを検知することができる。
以下に、入力端子３６３Ａ，３６３Ｂのオープン故障の検知を可能とするＡ／Ｄ変換処理を説明する。
マイクロコンピュータ３０２Ａ，３０２Ｂは、入力端子３６３Ａ，３６３Ｂの電圧をＡ／Ｄ変換する前（第１スイッチＳＷ１をオンする前）に、第２スイッチＳＷ２をオンして基準電圧を内部コンデンサＣ３にチャージし、その後、第２スイッチＳＷ２をオフして第１スイッチＳＷ１をオンする。
これにより、入力端子３６３Ａ，３６３Ｂが正常であれば、第１スイッチＳＷ１をオンすることで内部コンデンサＣ３には入力端子３６３Ａ，３６３Ｂの電圧がチャージされ、Ａ／Ｄ変換回路３６４Ａ，３６４Ｂは入力端子３６３Ａ，３６３Ｂの入力電圧をＡ／Ｄ変換することになる。
【００６０】
一方、入力端子３６３Ａ，３６３Ｂがオープン故障している場合、第１スイッチＳＷ１をオンしても内部コンデンサＣ３を放電させる経路が入力端子３６３Ａ，３６３Ｂのオープン故障によって断たれているため、Ａ／Ｄ変換回路３６４Ａ，３６４Ｂは基準電圧をＡ／Ｄ変換することになり、マイクロコンピュータ３０２Ａ，３０２Ｂは、基準電圧値がＡ／Ｄ変換値として得られたことに基づき入力端子３６３Ａ，３６３Ｂのオープン故障を検知できる。
【００６１】
ここで、基準電圧値を論理レベルでのハイ（High）レベルとした場合、マイクロコンピュータ３０２Ａ，３０２Ｂは、Ａ／Ｄ変換値がハイ（High）レベルであるときに、信号線３７０Ａ，３７０Ｂの故障又は入力端子３６３Ａ，３６３Ｂのオープン故障であること、つまり、異常通知ラインの断線故障を検知できる。
また、マイクロコンピュータ３０２Ａ，３０２Ｂは、異常通知ライン３６０Ａ，３６０Ｂの正常性チェック（初期診断）を行う機能をソフトウェアとして備えることができる。
【００６２】
各マイクロコンピュータ３０２Ａ，３０２Ｂは、異常通知ライン３６０Ａ，３６０Ｂの正常性チェックにおいて、異常の検知とは無関係に予め定められたパターンで出力端子３６１Ａ，３６２Ａ，３６１Ｂ，３６２Ｂの出力を周期的に切り替える処理を並行して実施し、入力端子３６３Ａ，３６３Ｂの入力レベルが相手側の出力状態に対応しているか否かを検証することで、１系統の動作停止、端子異常、断線などの有無を検出する。
【００６３】
図５のフローチャートは、各マイクロコンピュータ３０２Ａ，３０２Ｂが、異常通知ライン３６０Ａ，３６０Ｂの正常性チェック（初期診断）のために出力端子３６１Ａ，３６２Ａ，３６１Ｂ，３６２Ｂの出力を切り替える処理の流れを示す。
各マイクロコンピュータ３０２Ａ，３０２Ｂは、図５のフローチャートに示す処理プログラムをそれぞれメモリに格納し、係る処理プログラムに沿ってそれぞれ動作することで、異常通知信号用の出力端子の出力切り替えを並行して実施するが、以下では、第１マイクロコンピュータ３０２Ａ側の処理として説明する。
【００６４】
第１マイクロコンピュータ３０２Ａは、ステップＳ１０１で起動に伴うリセットが解除されると、ステップＳ１０２で各種のイニシャル処理（初期化処理）を実施する。
第１マイクロコンピュータ３０２Ａは、イニシャル処理が終了すると、ステップＳ１０３で異常通知信号用の出力端子３６１Ａ，３６２Ａを共に論理レベルとしてハイ（High）レベルに設定する。
【００６５】
第１マイクロコンピュータ３０２Ａが出力端子３６１Ａ，３６２Ａを共にハイ（High）レベルに設定すると、異常通知ライン３６０Ａが正常であれば、第２マイクロコンピュータ３０２Ｂの入力端子３６３Ｂの入力は論理レベルとしてハイになる。
第１マイクロコンピュータ３０２Ａは、ステップＳ１０４で、出力端子３６１Ａ，３６２Ａを共にハイ（High）レベルに切り替えた後からの経過時間を、第２マイクロコンピュータ３０２Ｂ側でのイニシャル処理の終了を待っている時間として計測する処理を開始する。
【００６６】
そして、第１マイクロコンピュータ３０２Ａは、ステップＳ１０５で、第２マイクロコンピュータ３０２Ｂ側でのイニシャル処理の終了を待っている時間（イニシャル処理終了待ち時間）が第１所定時間（例えば４０ms）を下回っているか否かを判別する。
ここで、イニシャル処理終了待ち時間が第１所定時間を下回っている場合、第１マイクロコンピュータ３０２Ａは、ステップＳ１０６に進み、第２マイクロコンピュータ３０２Ｂ側で各種のイニシャル処理（初期化処理）が終了したか否かを、第１マイクロコンピュータ３０２Ａの入力端子３６３Ａの入力がハイになっているか否かに基づいて検出する。
【００６７】
つまり、第２マイクロコンピュータ３０２Ｂ側でも、第１マイクロコンピュータ３０２Ａと同様に、イニシャル処理が終了すると異常通知信号用の出力端子３６１Ｂ，３６２Ｂを共に論理レベルとしてハイ（High）レベルに設定する処理を行うから、これによって、第１マイクロコンピュータ３０２Ａの入力端子３６３Ａの入力がハイになる。
したがって、第１マイクロコンピュータ３０２Ａは、入力端子３６３Ａの入力がハイになっていない場合は第２マイクロコンピュータ３０２Ｂ側でのイニシャル処理（初期化処理）が終了していないことを検知し、入力端子３６３Ａの入力がハイに切り替わったときに第２マイクロコンピュータ３０２Ｂ側でのイニシャル処理（初期化処理）が終了していることを検知できる。
【００６８】
そして、第１マイクロコンピュータ３０２Ａは、入力端子３６３Ａの入力がハイにならないときには、ステップＳ１０５に戻って、イニシャル処理終了待ち時間が第１所定時間を下回っているか否かを判別する。
マイクロコンピュータ３０２Ａ，３０２Ｂが、ステップＳ１０５においてイニシャル処理終了待ち時間と比較する第１所定時間は、相手側のマイクロコンピュータが正常であれば、イニシャル処理が終了すると見込まれる時間に設定される。
【００６９】
したがって、イニシャル処理終了待ち時間が第１所定時間を下回っている間は、相手側のマイクロコンピュータが正常であるか否かが不定であり、第１マイクロコンピュータ３０２Ａは、ステップＳ１０６の処理を繰り返す。
ここで、イニシャル処理終了待ち時間が第１所定時間以上になっても入力端子３６３Ａの入力がハイに切り替わらない場合、第１マイクロコンピュータ３０２Ａは、第２マイクロコンピュータ３０２Ｂの動作停止を検知してステップＳ１１７に進み、モータ通電制御を開始する。
【００７０】
第１マイクロコンピュータ３０２Ａは、ステップＳ１０５からステップＳ１１７に進んだ場合、第２マイクロコンピュータ３０２Ｂの動作停止を検知しているが、起動時から第２マイクロコンピュータ３０２Ｂが動作せず、途中から第２マイクロコンピュータ３０２Ｂ側で制御されるモータトルクが無くなる状態ではないので、第２マイクロコンピュータ３０２Ｂ側で制御されるモータトルクを補うトルク補償は行わず、自系統に割り当てられたトルク指令に基づきモータ通電を制御する。
【００７１】
但し、両系統が正常である場合よりもアシストトルクが減るので、第１マイクロコンピュータ３０２Ａは、警告灯３７１を点灯させる警告制御を行うことで、車両の運転者に異常（故障）の発生を警告して認知させる。
一方、イニシャル処理終了待ち時間が第１所定時間を下回っている間に、入力端子３６３Ａの入力がハイに切り替わると、第１マイクロコンピュータ３０２Ａは、ステップＳ１０７へ進み、入力端子３６３Ａの入力がハイに切り替わってから第２所定時間（例えば、１０ms）が経過したか否かを検出する。
【００７２】
そして、入力端子３６３Ａの入力がハイに切り替わってから第２所定時間が経過すると、第１マイクロコンピュータ３０２Ａは、ステップＳ１０８へ進み、出力端子３６１Ａ及び出力端子３６２Ａの出力をハイレベルからローレベルに切り替える。
例えば、図６に示すように、第１マイクロコンピュータ３０２Ａにおけるイニシャル処理の終了が、第２マイクロコンピュータ３０２Ｂにおけるイニシャル処理の終了よりも早かった場合には、第１マイクロコンピュータ３０２Ａは、第２マイクロコンピュータ３０２Ｂにおけるイニシャル処理の終了を待ち、第２マイクロコンピュータ３０２Ｂのイニシャル処理が終了してから第２所定時間後に出力端子３６１Ａ及び出力端子３６２Ａの出力をハイレベルからローレベルに切り替える。
【００７３】
この場合、第２マイクロコンピュータ３０２Ｂがイニシャル処理を終了して出力端子３６１Ｂ及び出力端子３６２Ｂの出力をハイレベルに立ち上げたときには、第１マイクロコンピュータ３０２Ａ側からの入力がハイレベルになっていることから、第２マイクロコンピュータ３０２Ｂは、イニシャル処理の終了時点から第２所定時間が経過したときに、出力をハイレベルからローレベルに切り替えることになる。
【００７４】
この結果、マイクロコンピュータ３０２Ａ，３０２Ｂ間でイニシャル処理の終了タイミングが異なっていても、双方が同じタイミングで異常検知信号の出力をハイレベルからローレベルに切り替えることになる。
第１マイクロコンピュータ３０２Ａは、ステップＳ１０８において出力端子３６１Ａ，３６２Ａの出力レベルをハイからローに切り替えた後、ステップＳ１０９へ進み、第３所定時間が経過したか否かを検出する。
【００７５】
第１マイクロコンピュータ３０２Ａは、出力端子３６１Ａ，３６２Ａの出力レベルをハイからローに切り替えた時点から第３所定時間が経過するまでは、ステップＳ１０９の検出を繰り返し、第３所定時間が経過するとステップＳ１１０に進む。
第１マイクロコンピュータ３０２Ａは、ステップＳ１１０において、出力端子３６１Ａの出力をローレベルからハイレベルに切り替え、出力端子３６２Ａをローレベルからハイインピーダンス（High-Z）に設定する。
【００７６】
なお、第２マイクロコンピュータ３０２Ｂでも、異常検知信号の出力をハイレベルからローレベルに切り替えた後から第３所定時間の経過を待って、出力端子３６１Ｂをハイレベルに切り替え、出力端子３６２Ｂをハイインピーダンス（High-Z）に切り替える処理が実施される。
その後、第１マイクロコンピュータ３０２Ａは、ステップＳ１１１に進み、出力端子３６１Ａをハイレベルとし、出力端子３６２Ａをハイインピーダンスとしてからの経過時間が第４所定時間に達したか否かを検出し、第４所定時間が経過するまでステップＳ１１１の検出処理を繰り返す。
【００７７】
そして、第４所定時間が経過すると、第１マイクロコンピュータ３０２Ａは、ステップＳ１１２に進み、出力端子３６１Ａ及び出力端子３６２Ａをハイインピーダンスに設定する。
なお、第２マイクロコンピュータ３０２Ｂでも、第４所定時間が経過した時点で２つの異常検知信号がハイインピーダンス（High-Z）に切り替える処理が実施される。
出力端子３６１Ａ及び出力端子３６２Ａをハイインピーダンスに設定した後、第１マイクロコンピュータ３０２Ａは、ステップＳ１１３に進み、出力端子３６１Ａ及び出力端子３６２Ａをハイインピーダンスに設定してから第５所定時間が経過したか否かを検出する。
【００７８】
そして、第５所定時間が経過すると、第１マイクロコンピュータ３０２Ａは、ステップＳ１１４に進み、出力端子３６１Ａをハイインピーダンスに維持し、出力端子３６２Ａをハイインピーダンスからハイレベルに切り替える。
なお、第２マイクロコンピュータ３０２Ｂでも、第５所定時間が経過した時点で出力端子３６１Ｂをハイインピーダンスに維持し、出力端子３６２Ｂをハイレベルに切り替える。
【００７９】
出力端子３６１Ａをハイインピーダンス、出力端子３６２Ａをハイレベルに設定した後、第１マイクロコンピュータ３０２Ａは、ステップＳ１１５に進み、出力端子３６１Ａをハイインピーダンス、出力端子３６２Ａをハイレベルに設定してから第６所定時間が経過したか否かを検出する。
なお、第２所定時間〜第６所定時間を全て同じ時間（例えば１０ms）とすることができ、また、第２所定時間〜第６所定時間を全て異なる時間に設定でき、更に、第２所定時間〜第６所定時間のうちの一部を同じに設定することもでき、第２所定時間〜第６所定時間は任意に設定できる時間である。但し、出力端子の切り替えを相手側が確認するのに要する時間を最小時間とする。
【００８０】
そして、出力端子３６１Ａをハイインピーダンス、出力端子３６２Ａをハイレベルに設定してから第６所定時間が経過すると、第１マイクロコンピュータ３０２Ａは、ステップＳ１１５に進み、出力端子３６１Ａ及び出力端子３６２Ａを共にローレベルに切り替えて、端子異常や断線などの有無を診断するための切り替え処理を終了させる。
なお、第２マイクロコンピュータ３０２Ｂでも、第６所定時間が経過した時点で両出力端子３６１Ｂ，出力端子３６２Ｂをローレベルに切り替える。
【００８１】
上記出力端子の切り替え処理を実施することで、マイクロコンピュータ３０２Ａ，３０２Ｂは、同じタイミング毎に出力端子の状態を同じ状態に切り替えることになり、そのときの入力端子の状態から、正規の入力信号を受けているか否かを検出できることになる。
つまり、図６に示したように、２つの出力端子を共にハイレベルに設定している場合、相手側の２つの出力端子もハイレベルに設定されるから、入力がハイレベルであれば異常通知ラインが正常であることになり、２つの出力端子を共にローレベルに設定している場合、相手側の２つの出力端子もローレベルに設定されるから、入力がローレベルであれば異常通知ラインが正常であることになる。
【００８２】
更に、２つの出力端子を共にハイインピーダンスに設定している場合、相手側の２つの出力端子もハイインピーダンスに設定されるから、入力が中間電圧であれば異常通知ラインが正常であることになり、２つの出力端子の一方をハイレベルとし他方をハイインピーダンスに設定している場合、相手側の２つの出力端子も一方をハイレベルとし他方をハイインピーダンスに設定されるから、入力がハイレベルであれば異常通知ラインが正常であることになる。
【００８３】
このようにして、各マイクロコンピュータ３０２Ａ，３０２Ｂは、異常通知ライン３６０Ａ，３６０Ｂの正常性チェックを行い、ステップＳ１１７の通電制御にその結果を反映させる。
異常通知ライン３６０Ａ，３６０Ｂに断線などの異常が発生している場合、相手側系統の故障検出は行わず、また、相手側の通電制御で発生させるモータトルクを補うトルク補償制御を行わず、各マイクロコンピュータ３０２Ａ，３０２Ｂは、割り当てられた目標トルクに応じた通常の通電制御をそれぞれ実施する。また、異常通知ライン３６０Ａ，３６０Ｂに異常が発生している場合、各マイクロコンピュータ３０２Ａ，３０２Ｂは、異常発生を警告するための警告灯３７１を点灯させる制御を行う。
【００８４】
異常通知ライン３６０Ａ，３６０Ｂに断線などの異常が発生していても、各マイクロコンピュータ３０２Ａ，３０２Ｂが通常にモータ通電制御を行う場合があり、この場合は、アシストトルクは正常に発生することになるが、異常通知ライン３６０Ａ，３６０Ｂに異常が発生しているので、係る異常の修理などを運転者に促すために、各マイクロコンピュータ３０２Ａ，３０２Ｂは警告灯３７１を点灯させる制御を実施する。
通電制御開始後に、第１マイクロコンピュータ３０２Ａは、ステップＳ１１８に進み、自身の系統での異常発生（故障）の有無を検出し、異常（故障）が発生したときには、ステップＳ１１９に進んで、モータ通電制御を停止し、また、出力端子３６１Ａ及び出力端子３６２Ａを共にハイインピーダンスに設定して第２マイクロコンピュータ３０２Ｂに異常の発生を通知する。
【００８５】
ここで、第２マイクロコンピュータ３０２Ｂが正常に動作していて、かつ、異常通知ライン３６０Ａ，３６０Ｂが正常であれば、第２マイクロコンピュータ３０２Ｂは、第１マイクロコンピュータ３０２Ａによる通電制御が停止されることによるモータトルクの減少分を補う補償制御を実施する。
なお、図５のフローチャートに示す初期診断において、マイクロコンピュータ３０２Ａ，３０２Ｂの間でのシステムクロックの相対差が大きいと、クロックが異常である側のマイクロコンピュータが相手側のマイクロコンピュータの異常を誤診断する可能性がある。そこで、各系統内の監視機能により、自系統のクロック周波数が正常時の値を含む正常範囲内であるか否かを診断し、自系統のクロック周波数が正常範囲を逸脱している場合は自系統の動作を停止するよう構成することができる。
【００８６】
また、図７に示すように、マイクロコンピュータ３０２Ａ，３０２Ｂ間で相互に通信するための通信回路７１１を設け、初期診断のためにマイクロコンピュータ３０２Ａ，３０２Ｂが出力端子の状態を切り替えるタイミングを、前記通信回路によって相手側に通知することで、相手側の出力端子の状態に見合う入力状態になっているか否かを診断することができる。
【００８７】
通信回路７１１を用いて相手側が出力端子の状態を切り替えるタイミングを監視する場合、初期診断で通信回路７１１の異常が検知されると（通信回路７１１を介して通信できなかったとき）、マイクロコンピュータ３０２Ａ，３０２Ｂは、相手側系統の故障検出は行わず、また、相手側の通電制御で発生させるモータトルクを補うトルク補償制御を行わず、割り当てられた目標トルクに応じた通常の通電制御をそれぞれ実施する。また、通信回路７１１に異常が発生している場合、各マイクロコンピュータ３０２Ａ，３０２Ｂは、異常発生を警告するための警告灯３７１を点灯させる制御を行う。
【００８８】
以上、好ましい実施形態を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば種々の変形態様を採り得ることは自明である。
上記実施形態では、電動パワーステアリング装置１００において電動モータ１３０を制御する制御装置に本発明を適用したが、本発明を適用するシステムを電動パワーステアリング装置に限定するものではなく、また、制御対象をモータに限定するものでもなく、例えば、車両の電子ブレーキ装置や変速制御装置などの種々の制御装置に適用することが可能である。
【００８９】
また、３つ以上のマイクロコンピュータ（演算処理装置）間の異常通知に、本発明を適用できることは明らかであり、２つのマイクロコンピュータ間で一方から他方への異常通知にのみ本発明に係る異常通知を適用することもできる。
また、異常時処理には、異常検知履歴をメモリに格納すること、異常を警告すること、他系統の異常に基づき自系統の制御を停止させることなど、異常検知の結果に基づく種々の処理が含まれる。
また、図５のフローチャートに示した異常通知ラインの初期診断において、出力端子の状態を切り替える順番を任意に設定できることは明らかであり、また、２つの出力端子の出力の組み合わせパターンを、例えばハイインピーダンスとハイレベルとの組み合わせに限定することも可能である。
【符号の説明】
【００９０】
１００…電動パワーステアリング装置、１３０…電動モータ、３０２Ａ，３０２Ｂ…マイクロコンピュータ、３６０Ａ，３６０Ｂ…異常通知ライン、３６１Ａ，３６２Ａ，３６１Ｂ，３６２Ｂ…出力端子（出力ポート）、３６３Ａ，３６３Ｂ…入力端子（入力ポート）、Ｒ１Ａ，Ｒ１Ｂ…プルダウン抵抗、Ｒ２Ａ，Ｒ２Ｂ…プルアップ抵抗、３６４Ａ，３６４Ｂ…Ａ／Ｄ変換回路
【図１】
0006580502.tif 000002
【図２】
0006580502.tif 000003
【図３】
0006580502.tif 000004
【図４】
0006580502.tif 000005
【図５】
0006580502.tif 000006
【図６】
0006580502.tif 000007
【図７】
0006580502.tif 000008