(57)【特許請求の範囲】
【請求項１】
制御対象の動作を制御するためのＰＷＭ信号を生成するものであって、発振器がそれぞれ個別に接続されてなる複数の演算処理部を備え、前記複数の演算処理部は、デューティ比を指示するデューティ指示値との比較を通じて前記ＰＷＭ信号のオン信号及びオフ信号を規定する信号であって、それぞれ個別に接続される前記発振器から入力されるクロックに基づいて、ハイレベル及びローレベルの変化を繰り返す搬送波を生成する搬送波生成部をそれぞれ有して構成される制御装置において、
前記複数の演算処理部は、前記搬送波のハイレベル及びローレベルの状態を把握可能に変化する信号である同期用信号を生成して出力する同期用信号出力部をそれぞれ有しており、
前記複数の演算処理部の少なくとも一つの演算処理部は、自身の前記同期用信号出力部から出力される前記同期用信号と、他の演算処理部の前記同期用信号出力部から出力される前記同期用信号との間に生じる時間差に基づいて、当該時間差が小さくなるように自身の前記搬送波の周波数を調整する周波数調整部を有し、
前記周波数調整部は、前記搬送波と、前記デューティ指示値とが交差し、前記ＰＷＭ信号がオン信号となるタイミングの後であって、前記搬送波のローレベルのタイミングで当該搬送波の周波数の調整を実施するように構成されていることを特徴とする制御装置。
【請求項２】
前記複数の演算処理部は、前記発振器から入力されるクロックに基づく発振数を予め定めた上限カウント値までカウントするタイマカウント部をそれぞれ有しており、
各搬送波生成部は、前記搬送波として、自身が属する演算処理部の前記タイマカウント部のカウント値が前記上限カウント値に達する度に、ハイレベル及びローレベルの変化を繰り返す三角波をそれぞれ生成するものであり、
前記周波数調整部は、自身が属する演算処理部の前記タイマカウント部のカウント値の前記上限カウント値を増減させることによって前記搬送波の周波数を調整するように構成されている請求項１に記載の制御装置。
【請求項３】
前記複数の演算処理部は、第１の演算処理部と、第２の演算処理部とを含み、
前記第１の演算処理部及び前記第２の演算処理部のいずれか一つの演算処理部は、前記周波数調整部を有している請求項１又は請求項２に記載の制御装置。
【請求項４】
前記周波数調整部は、前記搬送波の周波数を周期的に調整するものであり、
前記第１の演算処理部及び前記第２の演算処理部のうち正常な演算処理部が一つになった場合、一つとなった前記正常な演算処理部によって生成される前記ＰＷＭ信号に基づいて、前記制御対象の動作が制御されるように信号の流れを切り替えることのできる信号切替部をさらに備えている請求項３に記載の制御装置。
【請求項５】
請求項１〜請求項４のうちいずれか一項に記載の制御装置を有し、モータを制御対象とするモータ制御装置。
【請求項６】
車両の転舵輪を転舵させる力である転舵力を付与するモータと、
前記モータを制御対象とする請求項５に記載のモータ制御装置と、
を備える電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、モータ制御装置、及び電動パワーステアリング装置に関する。
【背景技術】
【０００２】
制御対象の動作を制御するためにＰＷＭ（Pulse Width Modulation）信号を出力する制御装置において、当該ＰＷＭ信号を演算する複数の演算処理部を備えるようにしたものがある。
【０００３】
例えば、特許文献１には、モータを制御対象とし、モータの動作を制御するために電流指令値の演算及びその出力をそれぞれ行う２つの演算処理部を備えるモータ制御装置が開示されている。このモータ制御装置の各演算処理部は、同一の性能を有しており、同一の電流フィードバック演算を実行して電流指令値を演算し、ＰＷＭ信号をそれぞれ生成する。
【０００４】
そして、特許文献１のモータ制御装置では、各演算処理部の間でＰＷＭ信号のエッジに時間差（所謂、同期ずれ）が生じた場合、この時間差を小さくする工夫を施すことで、各演算処理部の間で同期ずれを抑制するようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１３０４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１にも記載されているように、各演算処理部の間で同期ずれを抑制する場合、簡素な構成で実現することが好ましく、汎用性の観点からも簡素な構成での実現が望まれている。これは、モータを制御対象として操舵機構にモータのアシスト力を付与することによる運転者のステアリング操作を補助する電動パワーステアリング装置においても望まれている。また、こうした要望は、モータを制御対象にするものに限らず、電子制御によって制御対象を動作させるものであれば同様である。
【０００７】
本発明は、こうした実情に鑑みてなされたものであり、その目的は、構成を複雑化させることなく複数の演算処理部の間で同期ずれを抑制できる制御装置、モータ制御装置、及び電動パワーステアリング装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決する制御装置は、制御対象の動作を制御するためのＰＷＭ信号を生成するものであって、発振器がそれぞれ個別に接続されてなる複数の演算処理部を備えるものである。この制御装置において、複数の演算処理部は、ＰＷＭ信号の基準となる信号であって、それぞれ個別に接続される発振器から入力されるクロックに基づいて、ハイレベル及びローレベルの変化を繰り返す搬送波を生成する搬送波生成部をそれぞれ有して構成されている。そして、複数の演算処理部は、搬送波のハイレベル及びローレベルの状態を把握可能に変化する信号である同期用信号を生成して出力する同期用信号出力部をそれぞれ有しており、複数の演算処理部の少なくとも一つの演算処理部は、自身の同期用信号出力部から出力される同期用信号と、他の演算処理部の同期用信号出力部から出力される同期用信号との間に生じる時間差に基づいて、当該時間差が小さくなるように自身の搬送波の周波数を調整する周波数調整部を有するようにしている。
【０００９】
ここで、複数の演算処理部の間で、発振器に個体差がある場合、搬送波に時間差が生じて、当該搬送波を基準として生成されるＰＷＭ信号の変化が一致しなくなってしまう（所謂、同期ずれ）。これに対して、本発明の発明者は、ＰＷＭ信号の基となる搬送波が複数の演算処理部の同期ずれの基となる発振器のクロックに基づいて生成される点に着目した。そして、同発明者は、複数の演算処理部のＰＷＭ信号の変化が一致しなくなって、複数の演算処理部の間で同期ずれを生じたとしても、これを搬送波の周波数を調整することによって、抑制することができることを見出した。
【００１０】
すなわち、上記構成によれば、複数の演算処理部の間で同期ずれ、すなわちＰＷＭ信号の同期ずれを抑制するために、複数の演算処理部のそれぞれに対して、同期用信号出力部を有するように構成するとともに、複数の演算処理部の少なくとも一つの演算処理部に対して、自身の搬送波の周波数を調整する周波数調整部を有するように構成すれば済む。この場合、搬送波の周波数の調整を演算処理部内の処理で済ませることができ、構成を複雑化させることなく複数の演算処理部の間で同期ずれを抑制することができる。
【００１１】
上記制御装置において、複数の演算処理部は、発振器から入力されるクロックに基づく発振数を予め定めた上限カウント値までカウントするタイマカウント部をそれぞれ有しており、各搬送波生成部は、搬送波として、自身が属する演算処理部のタイマカウント部のカウント値が上限カウント値に達する度に、ハイレベル及びローレベルの変化を繰り返す三角波をそれぞれ生成するものであり、周波数調整部は、自身が属する演算処理部のタイマカウント部のカウント値の上限カウント値を増減させることによって搬送波の周波数を調整するように構成することが望ましい。
【００１２】
上記構成によれば、搬送波の周波数を調整する場合、タイマカウント部のカウントの上限カウント値を増減させるのみで済む。なお、搬送波及び同期用信号は、その時間軸を発振器のクロックに基づく発振数、すなわちタイマカウント部のカウント値にて置き換えることができる。すなわち、各同期用信号の時間差は、そのままタイマカウント部のカウント値に換算することができる。そのため、搬送波の周波数を調整する場合、複雑な演算を介在させることなく、各同期用信号の時間差に応じたタイマカウント部のカウントの上限カウント値の増減量を算出することができる。したがって、搬送波の周波数の調整に必要な演算が複雑化することを抑制することができる。
【００１３】
上記制御装置において、複数の演算処理部は、第１の演算処理部と、第２の演算処理部とを含み、第１の演算処理部及び第２の演算処理部のいずれか一つの演算処理部は、周波数調整部を有していることが望ましい。
【００１４】
上記構成によれば、第１の演算処理部及び第２の演算処理部の間で同期ずれを抑制する場合、第１の演算処理部及び第２の演算処理部のいずれか一つの演算処理部が相手の演算処理部の搬送波に対して、自身の演算処理部の搬送波の周波数を調整すれば済む。したがって、第１の演算処理部及び第２の演算処理部の間で同期ずれを抑制するための構成を簡素化することができる。
【００１５】
また、上記制御装置において、周波数調整部は、搬送波の周波数を周期的に調整するものであり、第１の演算処理部及び第２の演算処理部のうち正常な演算処理部が一つになった場合、一つとなった正常な演算処理部によって生成されるＰＷＭ信号に基づいて、制御対象の動作が制御されるように信号の流れを切り替えることのできる信号切替部をさらに備えていることが望ましい。
【００１６】
上記構成のように、第１の演算処理部及び第２の演算処理部、すなわち複数の演算処理部を備えている場合には、第１の演算処理部及び第２の演算処理部のうち正常な演算処理部が一つになったとしても、正常でない演算処理部が実行していた制御を、一つとなった正常な演算処理部によって、冗長化やバックアップすることができるようになる。これは、各演算処理部で異なる制御対象の動作を制御したり、各演算処理部で同一の制御対象を制御したり制御態様に関係なく同様である。そして、正常でない演算処理部が実行していた制御を、一つとなった正常な演算処理部によって、冗長化やバックアップする場合、最も重要になるのが第１の演算処理部及び第２の演算処理部の同期ずれであり、当該同期ずれが著しいと、制御対象の動作が不安的になる可能性がある。
【００１７】
その点、上記構成によれば、第１の演算処理部及び第２の演算処理部のいずれか一つの演算処理部の搬送波の周波数が周期的に調整されているため、第１の演算処理部及び第２の演算処理部のうち正常な演算処理部が一つになったとしても、その直前までは基本的に第１の演算処理部及び第２の演算処理部の間で同期ずれが抑制されている。この場合、正常でない演算処理部が行っていた制御を、一つとなった正常な演算処理部によって、冗長化やバックアップするように、信号の流れが切り替えられたとしても、その切り替え時及び切り替え後において、ＰＷＭ信号の変化に時間差を生じさせ難くすることができる。したがって、制御対象の動作が不安定になる可能性を低減することができる。
【００１８】
上記制御装置は、モータを制御対象とするモータ制御装置に具体化することができるだけでなく、車両の転舵輪を転舵させる力である転舵力を付与するモータと、当該モータを制御対象とする上記モータ制御装置とを備える電動パワーステアリング装置に具体化することができる。
【００１９】
これら構成によれば、構成を複雑化させることなく複数の演算処理部の間で同期ずれを抑制することによって、モータの故障の発生の低減を図ることのできるモータ制御装置を実現することができる。そして、このモータ制御装置を用いて実現される電動パワーステアリング装置では、転舵力の付与について信頼性の向上を図ることができる。
【発明の効果】
【００２０】
本発明によれば、構成を複雑化させることなく複数の演算処理部の間で同期ずれを抑制することができる。
【図面の簡単な説明】
【００２１】
【図１】電動パワーステアリング装置の一実施形態についてその概略を示す図。
【図２】制御装置を具体化したモータ制御装置の一実施形態についてその電気的構成を示すブロック図。
【図３】同モータ制御装置についてその第１演算処理部及び第２演算処理部の構成を示すブロック図。
【図４】同モータ制御装置についてその制御系統間のＰＷＭ信号の時間差を示す図。
【図５】同モータ制御装置についてその制御系統間のクロックずれを示す図。
【図６】同モータ制御装置についてその第１演算処理部で生成される同期用信号を示す図。
【図７】同モータ制御装置の第２演算処理部についてその周波数調整部が実行する同期制御処理の流れを示すフローチャート。
【図８】同モータ制御装置の第２演算処理部についてその周波数調整部が実行する周波数調整処理の流れを示すフローチャート。
【図９】同モータ制御装置について三角波の周波数が調整される態様を示す図。
【発明を実施するための形態】
【００２２】
以下、制御装置、モータ制御装置、及び電動パワーステアリング装置の一実施形態について説明する。
図１に示すように、例えば、車両には、操舵機構２に対して転舵輪１５を転舵させる転舵力としてアシストトルクを付与する電動パワーステアリング装置（以下、「ＥＰＳ」という）１が搭載されている。ＥＰＳ１は、ユーザーのステアリングの操作に応じてアシストトルクを付与し、ユーザーのステアリングの操作を補助する。
【００２３】
ＥＰＳ１は、ユーザーのステアリングホイール１０の操作に基づき転舵輪１５を転舵させる操舵機構２、及びユーザーのステアリングの操作を補助するアシスト機構３を備えている。
【００２４】
操舵機構２は、ステアリングホイール１０と、ステアリングホイール１０に連動して回転するステアリングシャフト１１とを備えている。ステアリングシャフト１１は、ステアリングホイール１０に連結されたコラムシャフト１１ａと、コラムシャフト１１ａの下端部に連結されたインターミディエイトシャフト１１ｂと、インターミディエイトシャフト１１ｂの下端部に連結されたピニオンシャフト１１ｃとを有している。ピニオンシャフト１１ｃの下端部は、ラックアンドピニオン機構１３を介してラックシャフト１２に連結されている。したがって、ステアリングシャフト１１の回転運動は、ピニオンシャフト１１ｃ及びラックシャフト１２からなるラックアンドピニオン機構１３を介してラックシャフト１２の軸方向（図１の左右方向）の往復直線運動に変換される。当該往復直線運動が、ラックシャフト１２の両端にそれぞれ連結されたタイロッド１４を介して、左右の転舵輪１５にそれぞれ伝達されることにより、転舵輪１５の転舵角が変化する。
【００２５】
アシスト機構３は、アシストトルクの発生源であるモータ２０を備えている。例えば、モータ２０は、表面磁石型のブラシレスモータである。モータ２０の回転軸２１は、減速機構２２を介してコラムシャフト１１ａに連結されている。アシスト機構３は、モータ２０の回転軸２１の回転力を減速機構２２を介して、ラックシャフト１２を軸方向に往復直線運動させる力に変換する。このラックシャフト１２に付与される軸方向の力がアシスト力となり、ユーザーのステアリングの操作を補助する。
【００２６】
モータ２０は、その回転軸２１を中心に回転するロータ２３と、ロータ２３の外周に配置されるステータ２４とを備えている。ロータ２３には、その表面に永久磁石が固定されている。永久磁石は、ロータ２３の周方向に異なる極性（Ｎ極、Ｓ極）が交互に並んで配置されている。こうした永久磁石は、モータ２０が回転する際に磁界、すなわち界磁を形成する。ステータ２４には、３相（Ｕ相、Ｖ相、Ｗ相）の複数のコイル２５が円環状に配されている。コイル２５は、第１コイル群２５Ａと第２コイル群２５Ｂとに分類される。第１コイル群２５Ａ及び第２コイル群２５Ｂは、それぞれスター結線されたＵ相、Ｖ相、Ｗ相のコイル２５を有している。モータ２０には、モータ２０の制御量である電流量を制御することによって、モータ２０の動作（駆動）を制御する制御ユニットであるモータ制御装置３０が接続されている。なお、本実施形態において、モータ制御装置３０は制御装置の一例である。
【００２７】
モータ制御装置３０は、車両に設けられる各種のセンサの検出結果である外部情報に基づき、モータ２０の動作を制御する。各種のセンサとしては、例えば、トルクセンサ２６、回転角センサ２７、及び車速センサ２８がある。トルクセンサ２６はコラムシャフト１１ａに設けられ、回転角センサ２７はモータ２０に設けられている。トルクセンサ２６は、ユーザーのステアリングの操作によりステアリングシャフト１１に加えられる負荷である操舵トルクの大きさ及び向きを示す値であるトルク値Ｔｈを検出する。回転角センサ２７は、モータ２０の回転軸２１のモータ角度θを検出する。車速センサ２８は、車両の走行速度である車速値Ｖを検出する。モータ制御装置３０は、各センサの出力に基づき目標のアシストトルクを設定し、実際のアシストトルクが目標のアシストトルクとなるように、モータ２０に供給される電流を制御する。
【００２８】
図２に示すように、モータ制御装置３０は、モータ２０の第１コイル群２５Ａへの給電を制御する制御系統Ａと、モータ２０の第２コイル群２５Ｂへの給電を制御する制御系統Ｂとを備えている。制御系統Ａ及び制御系統Ｂは、それぞれ独立したＥＣＵ（Electronic Control Unit）として構成されるものである。なお、各コイル群２５Ａ，２５Ｂは、それぞれの各相のコイルがモータ２０の周に沿って系統毎に交互に配置されたり、それぞれの各相のコイルがモータ２０の周に沿って纏めて並べて配置されたり、同一ティースにモータ２０の径方向に積層されて配置されたりする。
【００２９】
制御系統Ａは、第１演算処理部３１、第１モータ駆動部３３、第１電流センサ３５、及び発振器３７を備えている。また、制御系統Ｂは、第２演算処理部３２、第２モータ駆動部３４、第２電流センサ３６、及び発振器３８を備えている。なお、各モータ駆動部３３，３４は、複数のＭＯＳＦＥＴ等のスイッチング素子を有してなる、３相（Ｕ相、Ｖ相、Ｗ相）のインバータ回路である。各モータ駆動部３３，３４は、直列に接続された２つのＦＥＴ（Field effect transistor）を１組とする３組のアーム（単相ハーフブリッジ）が、それぞれ直流電源の＋端子と−端子との間に並列に接続されてなる。また、各電流センサ３５，３６は、各モータ駆動部３３，３４と各相のコイル２５との間の給電経路に生じる各相の各電流値Ｉ１，Ｉ２を検出する。
【００３０】
第１演算処理部３１は、トルクセンサ２６、回転角センサ２７、車速センサ２８、及び第１電流センサ３５のそれぞれの値を取り込む。第１演算処理部３１は、これらのセンサにより検出されるトルク値Ｔｈ、モータ角度θ、車速値Ｖ、及び電流値Ｉ１に基づいて、第１ＰＷＭ信号Ｐ１を生成し、第１モータ駆動部３３（モータ２０）を制御対象としてＰＷＭ制御する。また、第２演算処理部３２は、第１演算処理部３１と同様、トルクセンサ２６、回転角センサ２７、車速センサ２８、及び第２電流センサ３６のそれぞれの値を取り込み、これらトルク値Ｔｈ、モータ角度θ、車速値Ｖ、及び電流値Ｉ２に基づいて、第２ＰＷＭ信号Ｐ２を生成し、第２モータ駆動部３４（モータ２０）を制御対象としてＰＷＭ制御する。
【００３１】
各演算処理部３１，３２は、自身にモータ２０への給電等の動作に関わる制御を継続できない異常が生じているか否か診断する自己診断機能を有しており、その結果として、自己診断の結果Ｓｄ１，Ｓｄ２をそれぞれ後述の信号切替部３９に対して出力する。各演算処理部３１，３２は、自身に異常が生じていることを自己診断する場合、モータ２０への給電等の制御を停止する。すなわち、第１演算処理部３１に異常が生じている場合、制御系統Ａによるモータ２０への給電等の制御が停止される。また、第２演算処理部３２に異常が生じている場合、制御系統Ｂによるモータ２０への給電等の制御が停止される。
【００３２】
一方、モータ制御装置３０は、各演算処理部３１，３２に上記異常が生じている場合であっても、モータ２０の機能（出力）を維持することができるように、信号切替部３９を備えている。
【００３３】
信号切替部３９には、第１演算処理部３１から第１ＰＷＭ信号Ｐ１が入力される。信号切替部３９は、第２演算処理部３２に上記異常が生じている場合、第１ＰＷＭ信号Ｐ１により第２モータ駆動部３４をＰＷＭ制御できるように信号の流れを切り替える（図２中、破線で示す）。この場合、第１演算処理部３１は、第１ＰＷＭ信号Ｐ１によるＰＷＭ制御を、各モータ駆動部３３，３４を制御対象としてそれぞれ実行する。これにより、第２演算処理部に上記異常が生じている場合であっても、モータ２０の機能（出力）を維持することができる。
【００３４】
また、信号切替部３９には、第２演算処理部３２から第２ＰＷＭ信号Ｐ２が入力される。信号切替部３９は、第１演算処理部３１に上記異常が生じている場合、第２ＰＷＭ信号Ｐ２により第１モータ駆動部３３をＰＷＭ制御できるように信号の流れを切り替える（図２中、破線で示す）。この場合、第２演算処理部３２は、第２ＰＷＭ信号Ｐ２によるＰＷＭ制御を、各モータ駆動部３３，３４を制御対象としてそれぞれ実行する。これにより、第１演算処理部に上記異常が生じている場合であっても、モータ２０の機能（出力）を維持することができる。
【００３５】
そして、信号切替部３９には、各演算処理部３１，３２の自己診断（セルフチェック）機能における自己診断の結果Ｓｄ１，Ｓｄ２が入力される。信号切替部３９は、各自己診断の結果Ｓｄ１，Ｓｄ２に基づいて、各演算処理部３１，３２が異常であるか否かを判定する。そして、信号切替部３９は、第２演算処理部３２に異常が生じていることを判定する場合、上述のように、第１ＰＷＭ信号Ｐ１により第２モータ駆動部３４をＰＷＭ制御できるように信号の流れを切り替える。また、信号切替部３９は、第１演算処理部３１に異常が生じていることを判定する場合、上述のように、第２ＰＷＭ信号Ｐ２により第１モータ駆動部３３をＰＷＭ制御できるように信号の流れを切り替える。
【００３６】
このように、本実施形態では、制御系統Ａ及び制御系統Ｂを備えるとともに、信号切替部３９を備えることによって、モータ２０の動作に関わる制御系統の冗長化が図られている。
【００３７】
ここで、第１演算処理部３１及び第２演算処理部３２の機能について、詳しく説明する。
図３に示すように、第１演算処理部３１は、マイクロプロセスユニット（ＭＰＵ）からなり、演算部（ＣＰＵ（Central Processing Unit））４１、クロック発生部４２、タイマカウント部４３、三角波生成部４４、モータ駆動指令生成部４５、及び同期用信号出力部４６を有している。第２演算処理部３２は、第１演算処理部３１と同様、演算部（ＣＰＵ）５１、クロック発生部５２、タイマカウント部５３、三角波生成部５４、モータ駆動指令生成部５５、及び同期用信号出力部５６を有している。
【００３８】
各クロック発生部４２，５２は、逓倍器であって、水晶素子等からなる各発振器３７，３８から入力した基本周波数のクロックを所定倍数で逓倍し、これによって得られるクロックを自身の各演算部（ＣＰＵ）４１，５１及び各タイマカウント部４３，５３にそれぞれ出力する。クロック発生部４２は、第１演算処理部３１に接続される発振器３７の基本周波数のクロックに基づいて、第１演算処理部３１用のクロックＣＬＫａを発生させる。クロック発生部５２は、第２演算処理部３２に接続される発振器３８の基本周波数のクロックに基づいて、第２演算処理部３２用のクロックＣＬＫｂを発生させる。各クロックＣＬＫａ，ＣＬＫｂは、各演算部４１，５１が各種センサから検出信号を入力する等、各種の演算処理を実行する演算タイミングを規定するものである。演算タイミングの周期は、各クロックＣＬＫａ，ＣＬＫｂの発振数（クロック数）に基づき規定される。なお、各クロック発生部４２，５２には、イグニッション信号ＩＧが入力されることによって、各発振器３７，３８への給電が開始された後から基本周波数のクロックが入力されるようになる。
【００３９】
各演算部４１，５１は、演算タイミングに合わせて各種センサから入力した検出信号に基づいて、ＰＷＭ制御におけるデューティ比を指示するデューティ指示値Ｄ１，Ｄ２をそれぞれ生成し、その各デューティ指示値Ｄ１，Ｄ２を自身が属する演算処理部の各モータ駆動指令生成部４５，５５にそれぞれ出力する。
【００４０】
各タイマカウント部４３，５３は、公知の分周器及びアップダウンカウンタからなり、分周器で分周された各クロックＣＬＫａ，ＣＬＫｂのクロック数をアップダウンカウンタでアップカウント及びダウンカウントし、そのカウント値Ｃｔ１，Ｃｔ２を自身が属する演算処理部の各三角波生成部４４，５４にそれぞれ出力する。各タイマカウント部４３，５３は、アップカウント及びダウンカウントをそれぞれ繰り返した回数が予め定めた上限カウント値Ｃｔ０に達した場合、アップカウント及びダウンカウントを切り替える。なお、上限カウント値Ｃｔ０は、各タイマカウント部４３，５３の間で、ベースとなる基準値Ｃｔｈ（同一値）が基本的に設定されている。なお、第２演算処理部３２のタイマカウント部５３については、上限カウント値Ｃｔ０が後述する周波数調整部５７から入力されるカウント指示値Ｃｔｒにより指示される。
【００４１】
各三角波生成部４４，５４は、各タイマカウント部４３，５３から入力した各カウント値Ｃｔ１，Ｃｔ２に基づいて、搬送波としての三角波Ｗ１，Ｗ２（例えば、図４に示す）を生成し、その各三角波Ｗ１，Ｗ２を自身が属する演算処理部の各モータ駆動指令生成部４５，５５にそれぞれ出力する。各三角波生成部４４，５４は、各カウント値Ｃｔ１，Ｃｔ２を入力する毎に、アップカウントを示す間は予め定めた信号レベル（電圧値）を累積加算するとともに、ダウンカウントを示す間は予め定めた信号レベル（電圧値）を累積減算することによって、各三角波Ｗ１，Ｗ２をそれぞれ生成する。このように生成される各三角波Ｗ１，Ｗ２は、各クロックＣＬＫａ，ＣＬＫｂの上限カウント値Ｃｔ０に応じた所定周期毎に、ハイレベル（山）及びローレベル（谷）の変化を繰り返す。すなわち、各三角波Ｗ１，Ｗ２において、ハイレベル及びローレベルの変化を繰り返す周期は、各クロックＣＬＫａ，ＣＬＫｂに時間差等の時間的ずれがなければ、基本的に基準値Ｃｔｈに基づく同一周期とされている。本実施形態において、各三角波生成部４４，５４は搬送波生成部の一例である。
【００４２】
各モータ駆動指令生成部４５，５５は、各三角波生成部４４，５４から入力した各三角波Ｗ１，Ｗ２と、各演算部４１，５１から入力した各デューティ指示値Ｄ１，Ｄ２に基づいて、各ＰＷＭ信号Ｐ１，Ｐ２を生成し、その各ＰＷＭ信号Ｐ１，Ｐ２を自身が属する制御系統の各モータ駆動部３３，３４にそれぞれ出力する。本実施形態において、各ＰＷＭ信号Ｐ１，Ｐ２は、各三角波Ｗ１，Ｗ２と各デューティ指示値Ｄ１，Ｄ２とを比較して、各デューティ指示値Ｄ１，Ｄ２が大きい場合にオン信号（ＯＮ）となり、各デューティ指示値Ｄ１，Ｄ２が小さい場合にオフ信号（ＯＦＦ）となる。
【００４３】
各モータ駆動部３３，３４は、各ＰＷＭ信号Ｐ１，Ｐ２に基づいて、複数のスイッチング素子をオンオフすることによりバッテリなどの直流電源から供給される直流電力を三相交流電力に変換する。なお、第１モータ駆動部３３は、第１演算処理部３１に異常が生じている場合、第２演算処理部３２の第２モータ駆動指令生成部５５を通じて入力した第２ＰＷＭ信号Ｐ２に基づいて、複数のスイッチング素子をオンオフする。また、第２モータ駆動部３４は、第２演算処理部３２に異常が生じている場合、第１演算処理部３１の第１モータ駆動指令生成部４５を通じて入力した第１ＰＷＭ信号Ｐ１に基づいて、複数のスイッチング素子をオンオフする。
【００４４】
第１演算処理部３１及び第２演算処理部３２、すなわち制御系統Ａ及び制御系統Ｂにおいて、各演算部４１，５１の各三角波Ｗ１，Ｗ２、すなわち各ＰＷＭ信号Ｐ１，Ｐ２は、各クロックＣＬＫａ，ＣＬＫｂに基づいて生成される。一方、制御系統Ａ及び制御系統Ｂには、異なる各発振器３７，３８がそれぞれ個別に接続されている。こうした前提において、本実施形態では、制御系統Ａ及び制御系統Ｂの間で、各演算処理部３１，３２の各演算部４１，５１の演算タイミングの周期を一致させ、各演算処理部３１，３２が同期して各種演算を実行できるように構成している。
【００４５】
ただし、図４及び図５に示すように、各発振器３７，３８の間で、それぞれの発振子（例えば、水晶素子）にばらつきがある場合、それぞれのクロックが入力される各クロック発生部４２，５２が生成する各クロックＣＬＫａ，ＣＬＫｂにクロックずれ（時間差）が生ずる。こうしたクロックずれは、解消されるものではなく、各タイマカウント部４３，５３の各カウント値Ｃｔ１，Ｃｔ２、さらには各三角波生成部４４，５４の各三角波Ｗ１，Ｗ２へと波及し、最終的に制御系統Ａ及び制御系統Ｂ、すなわち各演算処理部３１，３２の間で、各ＰＷＭ信号Ｐ１，Ｐ２の時間的ずれ（時間差）を生じさせる。
【００４６】
より詳しく言えば、図４に示すように、横軸を時間軸ｔとする場合、各演算処理部３１，３２の間における各三角波Ｗ１，Ｗ２の時間差は、時間経過とともに大きくなり、最終的に各演算処理部３１，３２が同期して各種演算を実行することができなくなり、同期ずれを生じる。同期ずれを生じると、各演算処理部３１，３２の間における各ＰＷＭ信号Ｐ１，Ｐ２の変化が一致しなくなる。この場合、各モータ駆動部３３，３４の間でスイッチング素子をオンオフするタイミングがずれてしまって、モータ２０の動作が不安定になる可能性がある。これに対して、本実施形態では、各演算処理部３１，３２の間で同期ずれ、すなわちＰＷＭ信号の同期ずれを生じて、各ＰＷＭ信号Ｐ１，Ｐ２の変化が一致しなくなったとしても、各演算処理部３１，３２の間の同期ずれを修正する構成を有している。
【００４７】
図３に示すように、各演算処理部３１，３２の間の同期ずれを修正する構成として、各演算処理部３１，３２は各同期用信号出力部４６，５６をそれぞれ有しているとともに、各演算処理部３１，３２のうち第２演算処理部３２については周波数調整部５７を有するようにしている。
【００４８】
ここで、各同期用信号出力部４６，５６及び周波数調整部５７の機能について、詳しく説明する。
図２及び図３に示すように、各三角波生成部４４，５４は、生成した各三角波Ｗ１，Ｗ２を自身が属する演算処理部の各モータ駆動指令生成部４５，５５だけでなく、各同期用信号出力部４６，５６にも出力する。各同期用信号出力部４６，５６は、各三角波生成部４４，５４から入力した各三角波Ｗ１，Ｗ２に基づいて、各三角波Ｗ１，Ｗ２のハイレベル及びローレベルの状態を把握可能に変化する信号である同期用信号Ｓｐ１，Ｓｐ２をそれぞれ生成し、その各同期用信号Ｓｐ１，Ｓｐ２を第２演算処理部３２の周波数調整部５７にそれぞれ出力する。なお、各同期用信号出力部４６，５６と、周波数調整部５７との間は、特別な回路を介在させることなく信号線（ハーネス）により接続されている。
【００４９】
例えば、図６に示すように、横軸を時間軸ｔとして、第１演算処理部３１において、三角波Ｗ１（図中、破線で示す）が生成される場合、最初の三角波Ｗ１の山について、ローレベル（Ｌ）からハイレベル（Ｈ）到達までの間、同期用信号Ｓｐ１は、ローレベルを維持する。同じく最初の三角波Ｗ１の山について、ハイレベル到達時、同期用信号Ｓｐ１は、ハイレベルに達するように立上がりエッジを有して変化する。同じく最初の三角波Ｗ１の山について、ハイレベルからローレベル到達までの間、同期用信号Ｓｐ１は、ハイレベルを維持する。同じく最初の三角波Ｗ１の山について、ローレベル到達時、同期用信号Ｓｐ１は、当該ローレベルに達するように立下がりエッジを有して変化する。以後、同期用信号Ｓｐ１は、ローレベル、立上がりエッジ、ハイレベル、立上がりエッジの変化を、三角波Ｗ１の時間経過に伴う変化に合わせて繰り返す。これは、第２演算処理部３２の同期用信号Ｓｐ２についても同様である。
【００５０】
そして、周波数調整部５７は、各同期用信号出力部４６，５６から入力した各同期用信号Ｓｐ１，Ｓｐ２の間に時間差を生じている場合、その時間差を小さくするように第２演算処理部３２の三角波Ｗ２の周波数を調整する。
【００５１】
次に、周波数調整部５７が各三角波Ｗ１，Ｗ２の時間差を小さくするために実行する処理である同期制御処理（図７）及び周波数調整処理（図８）について、詳しく説明する。周波数調整部５７は、イグニッション信号ＩＧが入力された後、第２演算処理部３２の演算タイミングの周期毎に周期処理を実行することによって、同期制御処理及び周波数調整処理に関わる以下の処理を実行する。
【００５２】
図７に示すように、同期制御処理において、周波数調整部５７は、各同期用信号出力部４６，５６を通じて各同期用信号Ｓｐ１，Ｓｐ２をそれぞれ取得する（Ｓ１０）。Ｓ１０にて、周波数調整部５７は、演算タイミングの周期毎に各同期用信号Ｓｐ１，Ｓｐ２を累積的に記憶し、例えば、各同期用信号Ｓｐ１，Ｓｐ２の立上がりエッジ及び立下がりエッジを検出することができる。
【００５３】
続いて、周波数調整部５７は、第１演算処理部３１についての同期用信号Ｓｐ１の立下がりエッジと、第２演算処理部３２についての同期用信号Ｓｐ２の立下がりエッジとの時間差Δｔを検出する（Ｓ２０）。その後、周波数調整部５７は、周波数調整処理（Ｓ３０）を読み出して実行した後にＳ１０の処理へと戻り、Ｓ１０〜Ｓ３０の処理を繰り返し実行する。
【００５４】
例えば、図９に示すように、周波数調整部５７は、同期用信号Ｓｐ２の立上がりエッジＳｐ２（ｕ１）のタイミングに合わせてＳ２０の処理を実行し、このタイミングの直近に検出している各同期用信号Ｓｐ１，Ｓｐ２のそれぞれの立下がりエッジＳｐ１（ｄ１），Ｓｐ２（ｄ１）に基づいて、時間差Δｔを検出する。
【００５５】
Ｓ２０にて、周波数調整部５７は、同期用信号Ｓｐ１の立下がりエッジに対する、同期用信号Ｓｐ２の立下がりエッジの時間的な進み又は遅れと、その量である時間差Δｔを検出する。この場合、周波数調整部５７は、同期用信号Ｓｐ１の立下がりエッジに対して、同期用信号Ｓｐ２の立下がりエッジが時間的に進んでいる場合に時間差Δｔとして正値を検出し、同期用信号Ｓｐ２の立下がりエッジが時間的に遅れている場合に時間差Δｔとして負値を検出する。
【００５６】
次に、周波数調整処理（Ｓ３０）について、詳しく説明する。
例えば、図９に示すように、周波数調整部５７は、Ｓ２０を実行するタイミングである同期用信号Ｓｐ２の立上がりエッジＳｐ２（ｕ１）の後の立下がりエッジＳｐ２（ｄ２）のタイミングに合わせて周波数調整処理（Ｓ３０）を実行する。
【００５７】
そして、図８に示すように、周波数調整処理（Ｓ３０）において、周波数調整部５７は、Ｓ２０で検出した時間差Δｔが「０（零）」でない（Δｔ≠０）か否かを判定する（Ｓ３１）。周波数調整部５７は、Ｓ２０で検出した時間差Δｔが「０」の場合（Ｓ３１：ＮＯ）、各三角波Ｗ１，Ｗ２に時間差を生じていないことを判定し、三角波Ｗ２を生成するための上限カウント値Ｃｔ０として基準値Ｃｔｈ（Ｃｔ０←Ｃｔｈ）を、第２演算処理部３２のタイマカウント部５３に対して指示する（Ｓ３２）。Ｓ３２にて、周波数調整部５７は、カウント指示値Ｃｔｒを出力することによって、同期用信号Ｓｐ２についてＳ２０で検出している立上がりエッジの次の三角波の山（谷→山→谷）についての上限カウント値Ｃｔ０を基準値Ｃｔｈとすることをタイマカウント部５３に対して指示する。この場合、タイマカウント部５３は、カウント指示値Ｃｔｒが入力された次のアップカウント及びダウンカウントについて、上限カウント値Ｃｔ０を基準値Ｃｔｈとして実行する。
【００５８】
一方、周波数調整部５７は、Ｓ２０で検出した時間差Δｔが「０」でない場合（Ｓ３１：ＹＥＳ）、各三角波Ｗ１，Ｗ２に時間差を生じていることを判定し、Ｓ２０で検出した時間差Δｔが正値であるか否か（時間差Δｔ＞０（零））であるか否かを判定する（Ｓ３３）。周波数調整部５７は、Ｓ２０で検出した時間差Δｔが正値の場合（Ｓ３３：ＹＥＳ）、三角波Ｗ１に対して、三角波Ｗ２が時間的に遅れていることを判定し、時間差Δｔをタイマカウント部５３のカウント値に換算したものであるカウント差ΔＣｔ（Ｋ・Δｔ）を算出する（Ｓ３４）。Ｓ３４にて、周波数調整部５７は、時間差Δｔに換算係数Ｋを乗算してカウント差ΔＣｔを算出する。ここで、換算係数Ｋは、第２演算処理部３２用のクロックＣＬＫｂの周期の逆数に応じて定められている。なお、発振器３８のクロックに基づき生成される三角波Ｗ２は、その時間軸ｔをクロック発生部５２のクロック数、すなわちタイマカウント部５３のカウント値にて置き換えることができる。すなわち、時間差Δｔは、そのままタイマカウント部５３のカウント値に換算することができる。
【００５９】
続いて、周波数調整部５７は、時間差Δｔを小さくして「０」とするように、上限カウント値Ｃｔ０として基準値Ｃｔｈからカウント差ΔＣｔ分減少させた値（Ｃｔ０←Ｃｔｈ−ΔＣｔ）とすることを、第２演算処理部３２のタイマカウント部５３に対して指示する（Ｓ３５）。Ｓ３５にて、周波数調整部５７は、カウント指示値Ｃｔｒを出力することによって、同期用信号Ｓｐ２についてＳ２０で検出している立上がりエッジの次の三角波の山（谷→山→谷）についての上限カウント値Ｃｔ０を基準値Ｃｔｈからカウント差ΔＣｔ分減少させた値とすることをタイマカウント部５３に対して指示する。
【００６０】
この場合、タイマカウント部５３は、カウント指示値Ｃｔｒが入力された次のアップカウント及びダウンカウントについて、上限カウント値Ｃｔ０を基準値Ｃｔｈからカウント差ΔＣｔ分減少させた値として実行する。これにより、上限カウント値Ｃｔ０が基準値Ｃｔｈの場合と比較して、三角波Ｗ２のハイレベルが低く設定され、短い周期でハイレベル及びローレベルに変化するようになり、三角波Ｗ２の周波数が低くなる。すなわち、周波数調整部５７は、三角波Ｗ１に対して、三角波Ｗ２が時間的に遅れている場合、上限カウント値Ｃｔ０を基準値Ｃｔｈに対してカウント差ΔＣｔ分減少させることによって、三角波Ｗ２の周波数を低く変更して調整する。
【００６１】
一方、周波数調整部５７は、Ｓ２０で検出した時間差Δｔが負値の場合（Ｓ３３：ＮＯ）、三角波Ｗ１に対して、三角波Ｗ２が時間的に進んでいることを判定し、Ｓ３４と同様、時間差Δｔに基づいて、カウント差ΔＣｔ（Ｋ・Δｔ）を算出する（Ｓ３６）。
【００６２】
続いて、周波数調整部５７は、時間差Δｔを小さくして「０」とするように、上限カウント値Ｃｔ０として基準値Ｃｔｈからカウント差ΔＣｔ分増加させた値（Ｃｔ０←Ｃｔｈ＋ΔＣｔ）とすることを、第２演算処理部３２のタイマカウント部５３に対して指示する（Ｓ３７）。Ｓ３７にて、周波数調整部５７は、カウント指示値Ｃｔｒを出力することによって、同期用信号Ｓｐ２についてＳ２０で検出している立上がりエッジの次の三角波の山（谷→山→谷）についての上限カウント値Ｃｔ０を基準値Ｃｔｈからカウント差ΔＣｔ分増加させた値とすることをタイマカウント部５３に対して指示する。
【００６３】
この場合、タイマカウント部５３は、カウント指示値Ｃｔｒが入力された次のアップカウント及びダウンカウントについて、上限カウント値Ｃｔ０を基準値Ｃｔｈに対してカウント差ΔＣｔ分増加させた値として実行する。これにより、上限カウント値Ｃｔ０が基準値Ｃｔｈの場合と比較して、三角波Ｗ２のハイレベルが高く設定され、長い周期でハイレベル及びローレベルに変化するようになり、三角波Ｗ２の周波数が高くなる。すなわち、周波数調整部５７は、三角波Ｗ１に対して、三角波Ｗ２が時間的に進んでいる場合、上限カウント値Ｃｔ０を基準値Ｃｔｈに対してカウント差ΔＣｔ分増加させることによって、三角波Ｗ２の周波数を高く変更して調整する。
【００６４】
例えば、図９に示すように、周波数調整部５７は、三角波Ｗ２のローレベルのタイミングで、周波数調整処理（Ｓ３０）のＳ３５及びＳ３７の処理を通じて、三角波Ｗ２の周波数が高低するように変更する。この三角波Ｗ２のローレベルのタイミングの前には、三角波Ｗ２（減少）と、デューティ指示値Ｄ２とが交差し、第２ＰＷＭ信号Ｐ２がオン信号となるタイミング（スイッチング素子のデューティ比を設定するタイミング）Ｘが存在する。本実施形態では、三角波Ｗ２の周波数を高低させるように変更するタイミングを、上記タイミングＸの後であって、三角波Ｗ２のローレベルのタイミングに設定しているため、三角波Ｗ２の周波数を高低させるように変更する場合であっても、上記タイミングＸで設定したデューティ比が長短する変動が抑えられている。
【００６５】
そして、Ｓ３５及びＳ３７の処理後、周波数調整部５７は、周波数調整処理（Ｓ３０）を終了し、同期制御処理、すなわちＳ１０の処理へと戻る。
以上に説明した本実施形態によれば、以下に示す作用及び効果を奏する。
【００６６】
（１）本実施形態によれば、各演算処理部３１，３２の間で同期ずれ、すなわちＰＷＭ信号の同期ずれを抑制するために、各演算処理部３１，３２のそれぞれに対して、各同期用信号出力部４６，５６を有するように構成するとともに、第２演算処理部３２に対して、自身の三角波Ｗ２の周波数を調整する周波数調整部５７を有するように構成すれば済む。
【００６７】
例えば、図９に示すように、同期用信号Ｓｐ１に対して、同期用信号Ｓｐ２が時間的に遅れている場合、同期用信号Ｓｐ１の立下がりエッジＳｐ１（ｄ１）と、同期用信号Ｓｐ２の立下がりエッジＳｐ２（ｄ１）との間に時間差Δｔを生じる。この場合、第２演算処理部３２内で実行される周波数調整処理のＳ３７の処理を通じて、時間差Δｔが検出された次の同期用信号Ｓｐ２の立下がりエッジＳｐ２（ｄ２）のタイミングにて、タイマカウント部５３の上限カウント値Ｃｔ０として基準値Ｃｔｈに対してカウント差ΔＣｔ分減少させた値が指示される。
【００６８】
その結果、図９に破線で示すように、三角波Ｗ２について、時間差Δｔが検出された三角波の山と比較して、その次の山でハイレベルがカウント差ΔＣｔに応じたΔｆだけ低くなり、各三角波Ｗ１，Ｗ２のローレベルのタイミングが一致するようになる修正される。この場合、同図に示すように、同期用信号Ｓｐ２について、立下がりエッジＳｐ２（ｄ２）の次の立上がりエッジＳｐ２（ｕ２）で時間差Δｔが小さくなり、さらに次の立下がりエッジＳｐ２（ｄ３）で時間差Δｔが解消され、各同期用信号Ｓｐ１，Ｓｐ２が一致するようになる。
【００６９】
なお、時間差Δｔが解消された後は、第２演算処理部３２内の周波数調整処理のＳ３７の処理を通じて、タイマカウント部５３の上限カウント値Ｃｔ０として基準値Ｃｔｈが指示され、各三角波Ｗ１，Ｗ２のハイレベル及びローレベルの変化とともに、各同期用信号Ｓｐ１，Ｓｐ２の立上がりエッジ及び立下がりエッジのタイミングが一致するようになる。
【００７０】
このように、三角波Ｗ２の周波数の調整を第２演算処理部３２内の処理で済ませることができ、構成を複雑化させることなく各演算処理部３１，３２の間で同期ずれを抑制することができる。特に本実施形態では、各演算処理部３１，３２のうち第２演算処理部３２にのみ周波数調整部５７を有するようにしているので、各演算処理部３１，３２の間で同期ずれを抑制するための構成を簡素化することができる。
【００７１】
（２）本実施形態によれば、三角波Ｗ２の周波数を調整する場合、第２演算処理部３２のタイマカウント部５３の上限カウント値Ｃｔ０を増減させるのみで済む。
具体的には、第２演算処理部３２内の周波数調整処理のＳ３４，Ｓ３６を通じて、時間差Δｔに換算係数Ｋを乗算してカウント差ΔＣｔを算出することができる。
【００７２】
そのため、三角波Ｗ２波の周波数を調整する場合、複雑な演算を介在させることなく、各同期用信号Ｓｐ１，Ｓｐ２の間の時間差Δｔに応じたタイマカウント部５３の上限カウント値Ｃｔ０の増減量であるカウント差ΔＣｔを算出することができる。したがって、三角波Ｗ２の周波数の調整に必要な演算が複雑化することを抑制することができる。
【００７３】
（３）本実施形態のように、各演算処理部３１，３２と、信号切替部３９とを備えている場合には、各演算処理部３１，３２のうち正常な演算処理部が一つになったとしても、モータ２０の動作に関わる制御系統を、一つとなった正常な演算処理部によって、冗長化することができるようになる。そして、正常でない制御系統が行っていた制御を、一つとなった正常な制御系統によって、冗長化する場合、最も重要になるのが各演算処理部３１，３２の同期ずれであり、当該同期ずれが著しいと、モータ２０の動作が不安的になる可能性がある。
【００７４】
その点、本実施形態によれば、第２演算処理部３２の三角波Ｗ２の周波数が周期的に調整されているため、各演算処理部３１，３２のうち正常な演算処理部が一つになったとしても、その直前までは基本的に各演算処理部３１，３２の間で同期ずれが抑制されている。この場合、正常でない演算処理部が行っていた制御を、一つとなった正常な演算処理部によって、冗長化するように、信号切替部３９によって、信号の流れが切り替えられたとしても、その切り替え時及び切り替え後において、ＰＷＭ信号の変化に時間差を生じさせ難くすることができる。したがって、モータ２０の動作が不安定になる可能性を低減することができる。
【００７５】
（４）本実施形態によれば、構成を複雑化させることなく各演算処理部３１，３２の間で同期ずれを抑制することによって、モータ２０の故障の発生の低減を図ることのできるモータ制御装置３０を実現することができる。そして、このモータ制御装置３０を用いて実現されるＥＰＳ１では、転舵力の付与について信頼性の向上を図ることができる。
【００７６】
なお、上記実施形態は、以下の形態にて実施することもできる。
・周波数調整処理のＳ３１では、「０（零）」以外の閾値を設定して、当該閾値を超えているか否かを判定するようにしてもよい。例えば、この閾値は、各演算処理部３１，３２の間で同期ずれを生じていたとしても、モータ２０の動作に関わる制御への影響を無視できるとして経験的に求められる範囲の値に設定される。
【００７７】
・周波数調整処理のＳ３５及びＳ３７では、時間差Δｔを複数回に分けて徐々に小さくするように、フィードバック制御を実行するものであってもよい。
・各同期用信号Ｓｐ１，Ｓｐ２の立下がりエッジに替えて、立上がりエッジに基づいて時間差Δｔを検出するようにしてもよい。
【００７８】
・三角波Ｗ２のローレベルのタイミングで、周波数調整処理（Ｓ３０）のＳ３５及びＳ３７の処理を通じて、三角波Ｗ２の周波数が高低するように変更されていれば、同期制御処理のＳ２０等、他の処理が実行されるタイミングは変更されていてもよい。
【００７９】
・例えば、各発振器３７，３８の発振子のばらつきを予め把握できている場合、各演算処理部３１，３２の間で同期ずれとして許容できない範囲の同期ずれを生じる周期を算出することができる。この場合、イグニッション信号ＩＧが入力された後、各演算処理部３１，３２の間で同期ずれとして許容できない範囲の同期ずれを生じる周期毎に、同期制御処理（図７）及び周波数調整処理（図８）を実行するように構成してもよい。
【００８０】
・各演算処理部３１，３２（各制御系統Ａ，Ｂ）の何れかに異常があった場合、モータ２０の動作に関わる制御が冗長化されずとも、モータ２０の動作を少なくとも継続できるようにバックアップされていればよい。例えば、モータ制御装置３０は、信号切替部３９を備えていなくてもよい。この場合、正常な演算処理部が一つになったとしても、この一つとなった正常な演算処理部によるモータ２０への給電等の制御が少なくとも継続されるので、モータ２０の駆動に関わる制御系統のバックアップは可能である。
【００８１】
・各演算処理部３１，３２の何れも周波数調整部を有するように構成してもよい。この場合、各演算処理部３１，３２のうち、発振子の固体差に応じて、三角波の周波数を調整した方が良いと判断できる演算処理部の周波数調整部が実際に動作するように構成されていればよい。例えば、発振器の発振子の個体差の特性を予め把握させたＡＳＩＣ（application specific integrated circuit）を、別途設けるようにし、このＡＳＩＣに何れの演算処理部の周波数調整部を動作させればよいか選択させるようにすればよい。この場合であっても、三角波の周波数の調整については演算処理部内で済むため、上記実施形態に準じた作用及び効果を奏しうる。
【００８２】
・各タイマカウント部４３，５３を有していなくてもよく、各三角波生成部４４，５４自身が各クロックＣＬＫａ，ＣＬＫｂのクロック数をカウントし、上限カウント値Ｃｔ０に基づいて各三角波Ｗ１，Ｗ２を生成するようにしてもよい。この場合、第２演算処理部３２において、周波数調整部５７は、三角波生成部５４に対してカウント指示値Ｃｔｒを出力すればよい。
【００８３】
・モータ制御装置３０では、複数の制御系統が構成されていなくてもよく、各演算処理部３１，３２が１チップ化されていてもよい。この場合、一のモータ駆動部及び一のコイル群（モータ）に対して、発振器が個別に接続される各演算処理部３１，３２がそれぞれ接続されていればよい。
【００８４】
・各同期用信号Ｓｐ１，Ｓｐ２としては、各三角波Ｗ１，Ｗ２のハイレベル及びローレベルの状態を把握可能に変化する信号であればよく、例えば、各三角波Ｗ１，Ｗ２のハイレベル及びローレベルに対して、ハイレベル及びローレベルが逆に変化する信号であってもよい。
【００８５】
・搬送波としては、三角波に替えて、鋸波を用いる場合であっても、上記実施形態に準じた作用及び効果を奏しうる。
・モータ制御装置３０では、複数の制御系統が構成されていればよく、３系統や４系統以上の制御系統が構成されていてもよい。この場合、制御系統の数に合わせて演算処理部を増やせばよく、複数の演算処理部の少なくとも一つの演算処理部が周波数調整部を有していればよい。
【００８６】
・モータ２０は、独立した２つのモータであってもよいし、一のコイル群のみからなるモータであってもよい。
・上記実施形態は、ＥＰＳ１のモータ２０を制御対象としたがこれに限られない。例えば、ステアバイワイヤ（ＳＢＷ）方式のステアリング装置のモータや、後輪操舵装置や４輪操舵装置（４ＷＳ）のモータを制御対象としてもよい。また、上記実施形態は、自動運転等の高度運転支援として、車両の走行状態に応じて車両の進行方向を自動的に変化させる自動操舵のモータを制御対象としてもよく、この場合には冗長化の観点で特に有効である。
【００８７】
・上記実施形態は、モータ２０を制御対象とするモータ制御装置３０の替わりに、発電機等、制御信号によって動作するものを制御対象とする電子制御装置として実現することもできる。
【００８８】
・各変形例は、互いに組み合わせて適用してもよく、例えば、上記ＡＳＩＣを設ける構成と、その他の変形例の構成とは、互いに組み合わせて適用してもよい。
【符号の説明】
【００８９】
１…ＥＰＳ、１５…転舵輪、２０…モータ、３０…モータ制御装置、３１…第１演算処理部、３２…第２演算処理部、３７，３８…発振器、３９…信号切替部、４１，５１…演算部、４２，５２…クロック発生部、４３，５３…タイマカウント部、４４，５４…三角波生成部、４５，５５…モータ駆動指令生成部、４６，５６…同期用信号出力部、５７…周波数調整部、ＣＬＫａ，ＣＬＫｂ…クロック、Ｃｔ０…上限カウント値、Ｃｔ１，Ｃｔ２…カウント値、Ｃｔｒ…カウント指示値、Ｐ１，Ｐ２…ＰＷＭ信号、Ｓｐ１，Ｓｐ２…同期用信号、Ｗ１，Ｗ２…三角波、ΔＣｔ…カウント差、Δｔ…時間差。
【図１】
0006662721.tif 000002
【図２】
0006662721.tif 000003
【図３】
0006662721.tif 000004
【図４】
0006662721.tif 000005
【図５】
0006662721.tif 000006
【図６】
0006662721.tif 000007
【図７】
0006662721.tif 000008
【図８】
0006662721.tif 000009
【図９】
0006662721.tif 000010