(57)【要約】【課題】  ２つのコアを用いて２つの電動機を制御する構成において、リアルタイムに精度の良いコアの異常監視を行うこと。【解決手段】  第１キャリア周波数に基づいて動作し、第１電動機を制御する第１コアと、第２キャリア周波数に基づいて動作し、第２電動機を制御する第２コアとを備え、前記第１コア及び前記第２コアにより同一の演算処理を行った際に得られるそれぞれの演算結果を比較処理するコア異常監視装置であって、前記同一の演算処理を行う際に、前記第１キャリア周波数及び前記第２キャリア周波数は互いに対して同期されることを特徴とする。【選択図】図４
2014096943.tif 000002
【特許請求の範囲】
【請求項１】
第１キャリア周波数に基づいて動作し、第１電動機を制御する第１コアと、第２キャリア周波数に基づいて動作し、第２電動機を制御する第２コアとを備え、前記第１コア及び前記第２コアにより同一の演算処理を行った際に得られるそれぞれの演算結果を比較処理するコア異常監視装置であって、
前記同一の演算処理を行う際に、前記第１キャリア周波数及び前記第２キャリア周波数は互いに対して同期されることを特徴とする、コア異常監視装置。
【請求項２】
前記第１キャリア周波数及び前記第２キャリア周波数は、前記第１コア及び前記第２コアが同一の入力情報に基づいて前記演算処理を行うように同期される、請求項１に記載のコア異常監視装置。
【請求項３】
前記第１コアは、前記第１キャリア周波数で規定される周期毎に、第１入力情報に基づいて演算処理を行い、
前記第２コアは、前記第２キャリア周波数に基づく所定タイミングで前記第１コアから前記第１入力情報を取得し、前記第１コアから取得した前記第１入力情報に基づいて前記演算処理を行う、請求項１又は２に記載のコア異常監視装置。
【請求項４】
前記第１コアは、前記第１キャリア周波数に基づく所定タイミングで前記第１入力情報の取得処理を行い、
前記第１キャリア周波数及び前記第２キャリア周波数は、前記第２キャリア周波数に基づく所定タイミングが前記第１キャリア周波数に基づく所定タイミングに対して所定の遅延時間だけ遅れるように、互いに対して同期される、請求項３に記載のコア異常監視装置。
【請求項５】
前記第１コアは、前記第１電動機を制御する際、前記第１入力情報に基づいて前記演算処理を行い、
前記第１入力情報は、前記第１電動機で発生させるべきトルク指令値と、前記第１電動機の回転角を検出する角度センサの出力信号に基づく角度情報のデジタル値と、前記第１電動機の通電電流を検出する電流センサの出力信号に基づく電流情報のデジタル値とを含み、
前記第２コアは、前記第２電動機を制御する際、第２入力情報に基づいて前記演算処理と同一の演算処理を行い、
前記第２入力情報は、前記第２電動機で発生させるべきトルク指令値と、前記第２電動機の回転角を検出する角度センサの出力信号に基づく角度情報のデジタル値と、前記第２電動機の通電電流を検出する電流センサの出力信号に基づく電流情報のデジタル値とを含む、請求項３又は４に記載のコア異常監視装置。
【請求項６】
前記第２コアは、前記比較処理に用いる演算結果を得るために、前記第２入力情報に代えて、前記第１コアから取得した前記第１入力情報に基づいて前記演算処理を行う、請求項５に記載のコア異常監視装置。
【請求項７】
前記演算結果の比較処理の結果、それぞれの前記演算結果が一致しない場合に、前記第１コア及び前記第２コアのいずれかに異常があると判定する、請求項１〜６のうちのいずれか1項に記載のコア異常監視装置。
【請求項８】
前記キャリア周波数の同期は、前記第２コアに係るキャリア周波数のみを変更して実現される、請求項１〜７のうちのいずれか1項に記載のコア異常監視装置。
【請求項９】
前記演算結果の比較処理は、前記第１コアから前記第１コアの演算結果を取得する前記第２コアにより実行され、
前記演算結果の比較処理は、前記第２コアの負荷が所定基準より小さくなった場合に実行される、請求項１〜８のうちのいずれか1項に記載のコア異常監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コア異常監視装置に関する。
【背景技術】
【０００２】
従来から、第１電動機と、第２電動機とを搭載したハイブリッド車両において、第１電動機及び第２電動機をそれぞれ制御する第１ＣＰＵ及び第２ＣＰＵが相互に異常監視を行い、第２ＣＰＵに異常が検出された場合に、第１ＣＰＵにより第２電動機の制御を実現する構成が知られている（例えば、特許文献１参照）。この特許文献１には、第１ＣＰＵによる第２ＣＰＵの異常監視方法の一例として、第２電動機の回転軸の回転角に応じてレゾルバにより生成される電気信号（電圧波形）をデジタル信号に変換するＲ／Ｄコンバータ（第２ＣＰＵに含まれる）の変換異常を監視する方法が開示される。この方法は、レゾルバからの生成された電気信号（電圧波形）を第１ＣＰＵに入力して、この電気信号をＡ／Ｄコンバータによりサンプリングして得られた値から回転角を求めて、第２ＣＰＵのＲ／Ｄコンバータにより変換された回転角とを比較して正常範囲内にあるか否かを判定することにより実現される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2003-032805号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、この種の２つのＣＰＵ（コア）を用いて２つの電動機を制御する構成においては、一般的に、第１ＣＰＵと第２ＣＰＵのそれぞれのキャリア周波数は、それぞれ独立に変化されるため、それぞれのキャリア周波数が異なるのが通常である（但し、当然ながら、ある特定の期間において、互いに一致する場合もありうる）。
【０００５】
従って、上記の特許文献１に記載の異常監視方法のように、２つのＣＰＵによる同一の演算結果（Ｒ／Ｄコンバータにより変換された回転角）を比較する場合、第１ＣＰＵと第２ＣＰＵにおいて、それぞれのキャリア周波数の相違に起因してレゾルバの電気信号のサンプリング周期が同期しないために、リアルタイムで精度の良い異常監視を行うことができないという問題がある。
【０００６】
そこで、本発明は、２つのコアを用いて２つの電動機を制御する構成において、リアルタイムに精度の良いコアの異常監視を行うことが可能なコア異常監視装置の提供を目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一局面によれば、第１キャリア周波数に基づいて動作し、第１電動機を制御する第１コアと、第２キャリア周波数に基づいて動作し、第２電動機を制御する第２コアとを備え、前記第１コア及び前記第２コアにより同一の演算処理を行った際に得られるそれぞれの演算結果を比較処理するコア異常監視装置であって、
前記同一の演算処理を行う際に、前記第１キャリア周波数及び前記第２キャリア周波数は互いに対して同期されることを特徴とする、コア異常監視装置が提供される。
【発明の効果】
【０００８】
本発明によれば、２つのコアを用いて２つの電動機を制御する構成において、リアルタイムに精度の良いコアの異常監視を行うことが可能なコア異常監視装置が得られる。
【図面の簡単な説明】
【０００９】
【図１】ハイブリッド車両の制御系の概略構成を示す図である。
【図２】第１電動機２１の制御に関連した第１コア１１の概略的な処理ブロックの一例を示す図である。
【図３】第２コア１２の制御状態の遷移の一例を示すフローチャートである。
【図４】異常監視制御における演算タイミング調整処理の一例を示すフローチャート（その１）である。
【図５】第１コア１１の第１キャリア周波数と第２コア１２の第２キャリア周波数との関係を示す時系列である。
【図６】異常監視制御における演算タイミング調整処理の一例を示すフローチャート（その２）である。
【図７】第１コア１１の第１キャリア周波数と調整後の第２コア１２の第２キャリア周波数との関係を示す時系列である。
【図８】第１コア１１の第１キャリア周波数と調整後の第２コア１２の第２キャリア周波数との関係を示す時系列である。
【図９】異常監視制御における異常判定処理の一例を示すフローチャートである。
【図１０】異常監視制御における異常判定処理の他の一例を示すフローチャートである。
【図１１】比較例による異常判定処理方法を示す図であり、第１コア１１の第１キャリア周波数と第２コア１２の第２キャリア周波数との関係を示す時系列である。
【図１２】対比のために本実施例による異常判定処理方法を示す図であり、第１コア１１の第１キャリア周波数と第２コア１２の第２キャリア周波数との関係を示す時系列である。
【図１３】割り込み処理が入った場合の各処理の実行態様を示す時系列である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明を実施するための最良の形態の説明を行う。
【００１１】
図１は、ハイブリッド車両の制御系の概略構成を示す図である。ハイブリッド車両は、第１電動機２１と、第２電動機２２とを含む。
【００１２】
第１電動機２１は、車両の車輪に伝達する駆動力を発生する。即ち、第１電動機２１は、車両の駆動源である。尚、ハイブリッド車両は、エンジン（図示せず）を他の駆動源として備える。第１電動機２１は、任意のタイプの電動機であってよく、例えばロータと三相コイルが巻回されたステータとからなる発電可能なＰＭ型の同期発電電動機であってよい。この場合、第１電動機２１は、ロータの内部に永久磁石が埋め込まれたＩＰＭ（Interior Permanent Magnet）タイプであってもよいし、ロータの表面に永久磁石が設けられるＳＰＭ（Surface Permanent Magnet）タイプであってもよい。
【００１３】
第２電動機２２は、その機械的構成自体は、第１電動機２１と同様であってよい。但し、第２電動機２２は、専ら発電のみを行う発電機として機能してもよいし、発電機としてのみならず、車両の車輪に伝達する駆動力を発生するモータとしても機能してもよい。以下では、一例として、第２電動機２２は、発電機としてのみ機能するものとする。第２電動機２２は、エンジンの回転出力に基づいて発電を行う。第２電動機２２により発電された電力は、第１電動機２１の電力源となる高圧バッテリ（図示せず）の充電のために用いられてよいし、第１電動機２１の電力源として用いられてもよい。
【００１４】
尚、ハイブリッド車両のパワートレインの詳細は任意である。例えば、シリーズ式や、パラレル式、遊星歯車機構を用いたスプリット型等のハイブリッドシステムが使用されてもよい。尚、第２電動機２２が発電機としてのみ機能する場合、ハイブリッド車両は、エンジンと第１電動機２１とが協動して駆動力を発生するアシスト走行モードと、第１電動機２１のみが駆動力を発生する電気走行モードとを備えてよい。
【００１５】
第１電動機２１及び第２電動機２２は、それぞれに対応する第１インバータ２３及び第２インバータ２４を介して制御される。第１インバータ２３及び第２インバータ２４は、それぞれ、例えば図１に示すように、６個のパワートランジスタで構成される３相ブリッジ回路により構成されてもよい。尚、図１中において、「Ｕ上」は、Ｕ相の上アームを意味し、「Ｖ上」は、Ｖ相の上アームを意味し、「Ｗ上」は、Ｗ相の上アームを意味し、「Ｕ下」は、Ｕ相の下アームを意味し、「Ｖ下」は、Ｖ相の下アームを意味し、「Ｗ下」は、Ｗ相の下アームを意味する。尚、第１電動機２１は、高圧バッテリを電力源として動作する。第１インバータ２３及び第２インバータ２４と高圧バッテリの間には、ＤＣ−ＤＣコンバータ等が設けられてもよい。
【００１６】
第１インバータ２３及び第２インバータ２４は、それぞれ、マルチコアマイコン（デュアルコアプロセッサ）の第１コア１１及び第２コア１２により制御される。第１コア１１及び第２コア１２は、それぞれ、ハードウェア構成自体は略同一であってよい。
【００１７】
第１コア１１は、第１キャリア周波数で動作する。第１キャリア周波数は、第１電動機２１や第１インバータ２３等の状態に応じて動的に変化されてよい。例えば、第１キャリア周波数は、第１電動機２１の回転数が増加するにつれて増加する態様で可変されてもよい。また、第１キャリア周波数は、第１インバータ２３の温度が所定温度以上になった場合に低減する態様で可変されてもよい。
【００１８】
第１コア１１には、第１電動機２１のロータの回転角度を検出する角度センサ（例えばレゾルバ）からの角度情報や、第１インバータ２３を介して第１電動機２１に通電される各相の電流を検出する電流センサからの電流情報等のセンサ情報（以下、第１センサ情報という）が入力される。第１センサ情報は、第１キャリア周波数に対応する周期毎に第１コア１１に入力されてもよいし、第１キャリア周波数とは無関係の定周期毎に第１コア１１に入力されてもよい。
【００１９】
第１コア１１には、第１電動機２１で発生させるべき第１トルク指令値が入力される。第１トルク指令値は、第１キャリア周波数に対応する周期毎に第１コア１１に入力されてもよいし、第１キャリア周波数とは無関係の定周期毎に第１コア１１に入力されてもよい。尚、第１トルク指令値は、外部のＥＣＵ（例えばハイブリッドシステムの要部を制御するハイブリッドＥＣＵ）から入力されてよい。第１トルク指令値は、例えばアクセルペダルの操作量や車速等に応じて決定されてよい。
【００２０】
第１コア１１は、入力された第１センサ情報と第１トルク指令値とに基づいて、第１インバータ２３の制御目標値（例えば、各相に係る電流デューティ）を算出し、算出した制御目標値に基づいて、第１インバータ２３を制御する。この制御周期は、第１キャリア周波数に対応する周期であってよい。
【００２１】
第２コア１２は、第２キャリア周波数で動作する。第２キャリア周波数は、第２電動機２２や第２インバータ２４の状態に応じて動的に変化されてよい。例えば、第２キャリア周波数は、第２電動機２２の回転数が増加するにつれて増加する態様で可変されてもよい。また、第２キャリア周波数は、第２インバータ２４の温度が所定温度以上になった場合に低減する態様で可変されてもよい。尚、第１キャリア周波数及び第２キャリア周波数は、後述する異常監視制御時を除いて、それぞれ、独立に決定されるので、通常は異なる周波数となる。
【００２２】
第２コア１２には、第２電動機２２のロータの回転角度を検出する角度センサ（例えばレゾルバ）からの角度情報や、第２インバータ２４を介して第２電動機２２に通電される各相の電流を検出する電流センサからの電流情報等のセンサ情報（以下、第２センサ情報という）が入力される。第２センサ情報は、第２キャリア周波数に対応する周期毎に第２コア１２に入力されてもよいし、第２キャリア周波数とは無関係の定周期毎に第２コア１２に入力されてもよい。
【００２３】
第２コア１２には、第２電動機２２で発生させるべき第２トルク指令値（発電指令値）が入力される。尚、発電時は、第２トルク指令値は、負方向のトルクとなる。第２トルク指令値は、第２キャリア周波数に対応する周期毎に第２コア１２に入力されてもよいし、第２キャリア周波数とは無関係の定周期毎に第２コア１２に入力されてもよい。尚、第２トルク指令値は、外部のＥＣＵ（例えばバッテリＥＣＵ）から入力されてよい。第２トルク指令値は、車両の走行状態や高圧バッテリのＳＯＣ（State Of Charge）に基づいて決定されてもよい。
【００２４】
第２コア１２は、入力された第２センサ情報と第２トルク指令値とに基づいて、第２インバータ２４の制御目標値（例えば、各相に係る電流デューティ）を算出し、算出した制御目標値に基づいて、第２インバータ２４を制御する。この制御周期は、第２キャリア周波数に対応する周期であってよい。
【００２５】
図２は、第１電動機２１の制御に関連した第１コア１１の概略的な処理ブロックの一例を示す図である。尚、ここでは、第１コア１１について説明するが、第２電動機２２の制御に関連した第２コア１２の概略的な処理ブロックについても同様であってよい。
【００２６】
電流制御部１１０には、ｄ軸電流Ｉｄの指令値（Ｉｄ指令）及びｑ軸電流Ｉｑの指令値（Ｉｑ指令）と、３相→２相変換部１１４にて算出されたｑ軸電流Ｉｑ及びｄ軸電流Ｉｄ（実電流）が入力される。電流制御部１１０は、これらの入力に基づいて、ｄ軸電圧Ｖｄの指令値（Ｖｄ指令）及びｑ軸電圧Ｖｑの指令値（Ｖｑ指令）を算出する。尚、Ｉｄ指令及びＩｑ指令は、第１トルク指令値に基づいて生成されてよい。例えば、Ｉｄ指令及びＩｑ指令は、第１トルク指令値、第１電動機２１の回転数（角度情報）、ｑ軸電流Ｉｑ，ｄ軸電流Ｉｄ（実電流）等に基づいて生成されてもよい。
【００２７】
Ｓｉｎ／Ｃｏｓ変換部１１２には、第１センサ情報として入力される角度情報（第１電動機２１のロータの回転角度）が入力される。Ｓｉｎ／Ｃｏｓ変換部１１２は、レゾルバからの角度情報をｓｉｎ成分（ｓｉｎ）及びｃｏｓ成分（ｃｏｓ）とに変換する。尚、角度情報は、レゾルバのＲ／Ｄコンバータにより変換されたデジタル情報であってもよい。Ｒ／Ｄコンバータは、第１コア１１の構成要素であってもよい。
【００２８】
入力処理部１１３は、第１センサ情報として入力される３相電流（実電流）Ｉｕ，Ｉｖ，Ｉｗ及び直流電圧Ｖｄｃ（実電圧）の各種信号をＡ／Ｄ変換処理する。
【００２９】
３相→２相変換部１１４には、Ｓｉｎ／Ｃｏｓ変換部１１２からの出力と、入力処理部１１３からの３相電流（実電流）Ｉｕ，Ｉｖ，Ｉｗとが入力される。３相→２相変換部１１４は、３相電流Ｉｕ，Ｉｖ，Ｉｗを２相（ｑ軸、ｄ軸）に変換することで、ｑ軸電流Ｉｑ，ｄ軸電流Ｉｄ（実電流）を算出する。
【００３０】
２相→３相変換部１１６には、電流制御部１１０からの出力と、Ｓｉｎ／Ｃｏｓ変換部１１２からの出力と、入力処理部１１３からの直流電圧Ｖｄｃ（実電圧）とが入力される。２相→３相変換部１１６は、電流制御部１１０からのＶｄ指令及びＶｑ指令（２相）を３相に変換して、第１インバータ２３の制御目標値として、各相に係る電流デューティの指令値（dutyｕ、dutyｖ、dutyｗ）を算出する。
【００３１】
出力制御部１１８は、電流デューティの指令値（dutyｕ、dutyｖ、dutyｗ）に基づいて第１インバータ２３をＰＷＭ制御する。
【００３２】
このように第１コア１１は、第１入力情報に基づいて、各種演算処理（各部１１０，１１２，１１４，１１６参照）を行い、第１インバータ２３の制御目標値（ひいては第１電動機２１の制御目標値）を導出している。ここでは、第１入力情報は、デジタル情報である。従って、図２に示す例では、第１入力情報は、Ａ／Ｄ変換されたＩｕ，Ｉｖ，Ｉｗ及びＶｄｃ、Ｒ／Ｄ変換された角度情報、及び、第１トルク指令値を含む。
【００３３】
第２コア１２についても同様であり、第２コア１２は、第２入力情報に基づいて、各種演算処理（各部１１０，１１２，１１４，１１６参照）を行い、第２インバータ２４の制御目標値（ひいては第２電動機２２の制御目標値）を導出している。ここでは、第２入力情報は、デジタル情報である。従って、図２に示す例では、第２入力情報は、Ａ／Ｄ変換されたＩｕ，Ｉｖ，Ｉｗ及びＶｄｃ、Ｒ／Ｄ変換された角度情報、及び、第２トルク指令値を含む。尚、このように第１入力情報と第２入力情報とは、同じ情報を含むものであるが、各値は互いに異なるのが通常である。これは、制御対象及び計測対象（第１電動機２１及び第２電動機２２）が異なるためである。
【００３４】
図３は、第２コア１２の制御状態の遷移の一例を示すフローチャートである。尚、ここでは、前提として、第１コア１１は、常時（イグニッションスイッチがオンの間）、第１電動機２１の制御を行っているものとする。
【００３５】
ステップ３００では、第２コア１２におけるＣＰＵ負荷が所定基準よりも小さいか否かが判定される。ＣＰＵ負荷が所定基準よりも小さいか否かは、任意の態様で判定されてよい。例えば、ＣＰＵ負荷が所定基準よりも小さいか否かは、車両の走行状態、第２電動機２２の回転数、第２コア１２における第２キャリア周波数に基づいて判断されてもよい。例えば、第２電動機２２の回転数が所定閾値よりも小さい場合に、ＣＰＵ負荷が所定基準よりも小さいと判定してもよい。また、第２キャリア周波数が所定閾値よりも小さい場合に、ＣＰＵ負荷が所定基準よりも小さいと判定してもよい。また、第２電動機２２又はエンジンが停止されるような車両の走行状態が検出又は予測された場合に、ＣＰＵ負荷が所定基準よりも小さいと判定してもよい。ハイブリッド車両の制御態様に依存するが、例えば、高圧バッテリのＳＯＣが基準値以上である状況下で車両停止状態から低速で車両が走行し始めたときに、電気走行モードとなり、第２電動機２２が停止状態になる構成においては、かかる状況が検出・予測された場合に、ＣＰＵ負荷が所定基準よりも小さいと判定してもよい。第２コア１２におけるＣＰＵ負荷が所定基準よりも小さい場合は、ステップ３０２に進み、それ以外の場合（即ち第２コア１２におけるＣＰＵ負荷が所定基準以上で高い場合）、ステップ３０４に進む。
【００３６】
ステップ３０２では、異常監視制御を実行する。異常監視制御の詳細は後述する。尚、異常監視制御を行いつつ、第２電動機２２の発電制御を行うこととしてもよい。この場合、異常監視制御と第２電動機２２の発電制御とは時分割で実行されればよい。
【００３７】
ステップ３０４では、第２電動機２２の発電制御のみを行う。即ち、図２に示した第１電動機２１の制御と同様、第２コア１２は、入力された第２センサ情報と、第２電動機２２で発生させるべき第２トルク指令値とに基づいて、第２インバータ２４の制御目標値（例えば、各相に係る電流デューティ）を算出し、算出した制御目標値に基づいて第２インバータ２４を制御（例えばＰＷＭ制御）する。
【００３８】
図３に示す処理によれば、第２コア１２におけるＣＰＵ負荷が所定基準よりも小さい場合に、異常監視制御を実行するので、第２コア１２の低負荷時を利用して効率良く異常監視制御を行うことができる。尚、第２コア１２の能力等に依存するが、ＣＰＵ負荷とは無関係に、異常監視制御と第２電動機２２の発電制御とを、常時、時分割で行うこととしてもよい。
【００３９】
図４は、異常監視制御における演算タイミング調整処理の一例を示すフローチャート（その１）である。図５は、図４の演算タイミング調整処理の説明図であり、第１コア１１の第１キャリア周波数と第２コア１２の第２キャリア周波数との関係を示す時系列である。尚、以下では、第１コア１１及び第２コア１２は、共通の時計を有するものとする。図５において、上側の三角波の波形は、第１キャリア周波数に基づいて生成されており、その周期は、第１キャリア周波数の周期に対応する。第１コア１１の各制御周期の開始タイミング（制御開始タイミング）は、三角波の立下りエッジに対応するものとする。同様に、下側の三角波の波形は、第２キャリア周波数に基づいて生成されており、その周期は、第２キャリア周波数の周期に対応する。第２コア１２の各制御周期の開始タイミング（制御開始タイミング）は、三角波の立下りエッジに対応するものとする。
【００４０】
図４に示す演算タイミング調整処理は、図４に示す時刻Ｔ（現在）にて開始されるものとする。時刻Ｔは、異常監視制御を開始するタイミングに相当し、例えば図３を参照して説明したように、ＣＰＵ負荷が所定基準よりも小さくなるタイミングに対応してよい。
【００４１】
ステップ４００では、第１コア１１の前回の制御時間を取得する。図５に示す例では、時刻Ｔ３が第１コア１１の前回の制御時間となる。
【００４２】
ステップ４０２では、第１コア１１の制御周期を示す情報を取得する。現在の第１コア１１の制御周期は、現在の第１キャリア周波数で規定される周期に対応し、図５に示す例では、現在の第１コア１１の制御周期は、Ｃ１である。
【００４３】
ステップ４０４では、第２コア１２における現在の時刻を取得する。図５に示す例では、現在の時刻は、Ｔである。
【００４４】
ステップ４０６では、制御周期補正時間Ｃ３を算出する。制御周期補正時間Ｃ３は、上記のステップ４００乃至ステップ４０４で得られるＴ３，Ｃ１，Ｔを用いて、以下のように算出される。
Ｃ３＝Ｃ１−（Ｔ−Ｔ３）
ステップ４０８では、上記ステップ４０６で算出した制御周期補正時間Ｃ３が所定時間よりも短いか否かを判定する。上記ステップ４０６で算出した制御周期補正時間Ｃ３が所定時間よりも短い場合は、以下で説明する次の第１コア１１の制御時間Ｔ４に対する同期処理が間に合わない可能性があるため、ステップ４００に戻り、更に次の第１コア１１の制御時間Ｔ６に対して同期処理を行う。他方、上記ステップ４０６で算出した制御周期補正時間Ｃ３が所定時間よりも長い場合は、ステップ４１０に進む。
【００４５】
ステップ４１０では、次の第２コア１２の制御時間Ｔ４'を算出する。例えば、次の第２コア１２の制御時間Ｔ４'は、遅延時間αを用いて、以下のように算出されてよい。
Ｔ４'＝Ｔ＋Ｃ３＋α
但し、遅延時間αは、以下の通りであってよい。
α＝α１＋α２
尚、遅延時間αは、当然ながら、第２コア１２の制御周期よりも短い時間である。ここで、α１は、第１コア１１が上述の第１入力情報を取得するのに要する時間の取りうる範囲の最大値に対応してよい。例えば、第１センサ情報及び第１トルク指令値が第１キャリア周波数の周期毎に入力される構成の場合、第１入力情報を取得するのに要する時間とは、第１センサ情報及び第１トルク指令値が入力された時点（本例では、第１コア１１の制御開始タイミング）から、第１入力情報を取得（生成）完了するまでの時間である。尚、第１センサ情報及び第１トルク指令値が定周期毎に入力される構成の場合、α１は０であってよい。尚、以下では、第１センサ情報及び第１トルク指令値が第１キャリア周波数の周期毎に入力される構成を前提として説明を続ける。
α２は、第１コア１１の演算処理（以下の比較処理の対象となる演算処理）の開始の遅延要素を考慮して決定される。遅延要素としては、第１コア１１における割り込み禁止処理による遅延や、より高いレベル（高優先度）の割り込み処理による遅延等がある。尚、これらの遅延要素が存在しない構成では、α２は０であってよい。
【００４６】
ステップ４１２では、上記ステップ４１０で算出した制御時間Ｔ４'に基づいて、第２コア１２の制御開始タイミングを制御時間Ｔ４'に設定する。即ち、第２コア１２の制御開始タイミングを制御時間Ｔ５から制御時間Ｔ４'に修正する。尚、制御時間Ｔ５は、前の第２コア１２の制御時間Ｔ２に対して第２キャリア周波数の１周期分を足した時間である。尚、第２電動機２２の発電制御のみを行う状態（図３のステップ３０４参照）では、制御時間Ｔ５は、制御時間Ｔ４'に修正されることなく、採用されることになる。
【００４７】
図４及び図５に示す演算タイミング調整処理によれば、異常監視制御に移行した際に、第１コア１１の次の制御時間に合わせて、適切な第２コア１２の制御開始タイミングを設定することができる。即ち、第２キャリア周波数が第１キャリア周波数に同期される。これにより、後述の異常判定処理における異常判定精度を高めることができる（この理由の詳細は図１２を参照して後述する）。また、図４及び図５に示す演算タイミング調整処理によれば、現時点で最も直近の次の第１コア１１の制御時間に同期するように第２コア１２の制御開始タイミングを設定することが可能であるので、可及的に速やかに後述の異常判定処理を開始することが可能である。
【００４８】
図６は、異常監視制御における演算タイミング調整処理の一例を示すフローチャート（その２）である。図６に示す処理は、図４に示す処理により制御開始タイミング（時刻Ｔ４'）が決定された後の処理に関する。例えば、図６に示す処理は、時刻Ｔ４'に起動されてよい。図７及び図８は、図６の演算タイミング調整処理の説明図であり、それぞれ、第１コア１１の第１キャリア周波数と調整後の第２コア１２の第２キャリア周波数との関係を示す時系列である。図７は、時刻Ｔ４'において第１コア１１の第１キャリア周波数に変化がない場合を示し、図８は、時刻Ｔ４'において第１コア１１の第１キャリア周波数に変化がある場合を示す。
【００４９】
ステップ６００では、第１コア１１の制御周期に変化があったか否かを判定する。即ち、第１コア１１の第１キャリア周波数に変化があったか否かを判定する。第１コア１１の制御周期に変化があった場合には、ステップ６０４に進み、第１コア１１の制御周期に変化がない場合は、ステップ６０２に進む。
【００５０】
ステップ６０２では、次の制御開始タイミングＴ５'を以下のように設定する（図７参照）。
Ｔ５'＝Ｔ４'＋Ｃ１
尚、Ｃ１は、現在の第１コア１１の制御周期である。
【００５１】
ステップ６０４では、変化後の第１コア１１の制御周期を示す情報を取得する。現在（変化後）の第１コア１１の制御周期は、現在の第１キャリア周波数で規定される周期に対応し、図８に示す例では、現在の第１コア１１の制御周期はＣ４である。
【００５２】
ステップ６０６では、変化後の第１コア１１の制御周期Ｃ４を用いて、次の制御開始タイミングＴ５'を以下のように設定する（図８参照）。
Ｔ５'＝Ｔ４'＋Ｃ４
このように第１キャリア周波数が途中で切り替わる場合は、それに応じて第２キャリア周波数が変更される。尚、この場合、第２キャリア周波数の変更（再設定）のために第２コア１２のカウンタの補正を行う必要がある。
【００５３】
ステップ６０８では、Ｔ４≦Ｔ４'−αが成立するか否かを判定する。Ｔ４≦Ｔ４'−αが成立する場合は、ステップ６１０に進み、それ以外の場合は、終了する。尚、上述の如くＴ４'は、Ｔ４'＝Ｔ４＋αと設定されているので、本判定処理は基本的には肯定判定となる。従って、ステップ６０８の処理は省略されてもよい。
【００５４】
ステップ６１０では、異常判定処理を実行する。異常判定処理の詳細は、以下で後述する。
【００５５】
尚、図６に示す処理は、時刻Ｔ４'に関して実行される場合を説明したが、図６に示す処理は、第２コア１２におけるＣＰＵ負荷が依然として小さい限り、上述の如く決定された次の制御開始タイミングＴ５'においても同様に実行される。即ち、図６に示す処理は、時刻Ｔ５'に再度起動され、次の制御開始タイミングＴ６'が決定されると共に、時刻Ｔ５'に係る制御周期に対する異常判定処理が実行される。同様に、図６に示す処理は、第２コア１２におけるＣＰＵ負荷が依然として小さい限り、時刻Ｔ６'に再度起動され、次の制御開始タイミングＴ７'が決定されると共に、時刻Ｔ６'に係る制御周期に対する異常判定処理が実行される。以下同様に、第２コア１２におけるＣＰＵ負荷が依然として小さい限り、同様の処理が繰り返される。
【００５６】
図６に示す処理によれば、第１コア１１の制御周期に応じて第２コア１２の次の制御開始タイミングが決定されるので、第１コア１１の制御周期毎に、後述の異常判定処理を行うことが可能となり、異常監視能力を高めること（即ち高い異常判定精度を維持すること）が可能となる。また、第１コア１１の制御周期が変化した場合にも、当該変化に対応して、第２コア１２の次の制御開始タイミングが適切に設定される。即ち、第２キャリア周波数が第１キャリア周波数の変化に追従して同期される。これにより、第１コア１１の制御周期が変化した場合にも、第１コア１１の制御周期毎に、後述の異常判定処理を行うことが可能となり、異常監視能力を高めることが可能となる。
【００５７】
図９は、異常監視制御における異常判定処理の一例を示すフローチャートである。図９は、第１コア１１側の処理と、第２コア１２側の処理とを並列的に示す。図９は、第１コア１１及び第２コア１２のいずれにおいても割り込みが入らない構成（即ち、異常判定処理が最も優先度が高い割り込み処理である構成）を前提とする。第１コア１１側の処理は、時刻Ｔ４で開始され、第２コア１２側の処理は、上述の図６のステップ６１０の処理として時刻Ｔ４'に開始される。
【００５８】
ステップ９００では、第１コア１１において、第１入力情報の取得処理を行う。尚、第１入力情報は、上述の如く、デジタル情報であり、図２に示した例では、第１入力情報は、Ａ／Ｄ変換されたＩｕ，Ｉｖ，Ｉｗ及びＶｄｃ、Ｒ／Ｄ変換された角度情報（ｓｉｎ、ｃｏｓ）、及び、第１トルク指令値を含む。第１入力情報は、第１センサ情報等をＡ／Ｄ変換処理等して取得してよい。
【００５９】
ステップ９０２では、第１コア１１から第２コア１２に、上記ステップ９００で取得した第１入力情報を転送する。この転送は、第２コア１２からの要求に応じて実現されてもよいし、或いは、異常監視制御中は第２コア１２からの要求なしで実現されてもよい。
【００６０】
ステップ９０４では、第１コア１１において、上記ステップ９００で取得した第１入力情報に基づいて、各種演算処理（図２に示す例では、各部１１０，１１２，１１４，１１６の演算処理）を行う。尚、この演算処理は、第１電動機２１の制御のために実行される処理の一部である。
【００６１】
ステップ９０６では、第２コア１２において、上記ステップ９０２で取得した第１入力情報に基づいて、各種演算処理（図２に示す例では、各部１１０，１１２，１１４，１１６の演算処理）を行う。尚、この演算処理は、第２電動機２２の制御のために実行される処理と同一であるが、使用する入力情報が異なる。即ち、第２電動機２２の制御のために実行される演算処理では、第２入力情報が使用されるのに対して、異常監視制御における同演算処理では、第１入力情報が使用される。
【００６２】
ステップ９０８では、規定時間が経過したか否かを判定する。規定時間は、第１コア１１における各種演算処理の要する時間に対応してよい。規定時間が経過した場合には、ステップ９１０に進み、規定時間が経過していない場合は待ち状態となる。
【００６３】
ステップ９１０では、第２コア１２において、第１コア１１における各種演算処理の演算結果を第１コア１１から取得する。演算結果の転送は、第２コア１２からの要求に応じて実現されてもよいし、或いは、異常監視制御中は第２コア１２からの要求なしで実現されてもよい。
【００６４】
ステップ９１２では、第２コア１２において、上記ステップ９０６で得られた第２コア１２の演算結果と、上記ステップ９１０で得られた第１コア１１の演算結果とを比較する。尚、比較の結果、不一致があった場合には、第１コア１１及び第２コア１２の少なくともいずれかに異常があると判断し、その旨を表す情報を出力してもよい。或いは、所定回数以上の制御周期で連続して比較の結果が不一致であった場合に、第１コア１１及び第２コア１２の少なくともいずれかに異常があると判断し、その旨を表す情報を出力してもよい。他方、比較の結果、不一致がなかった場合には、第１コア１１及び第２コア１２のいずれも正常であると判断してよい。
【００６５】
ここで、例えば図２に示す例では、図中にＡ１乃至Ａ４で示すように、主に４種類の演算値（演算結果）が第１コア１１の演算処理により得られる。第２コア１２についても、同様である。即ち、同様の４種類の演算値が第２コア１２の演算処理により得られる。ここで、仮に第１コア１１及び第２コア１２の双方に異常がなく、かつ、第１コア１１と第２コア１２とが同一の第１入力情報（値が同一であるという意味）に基づいて、これらの４種類の演算値を算出した場合、４種類の演算値の全ては、第１コア１１と第２コア１２とでそれぞれ同じ値になるはずである。他方、第１コア１１及び第２コア１２の少なくともいずれか一方に異常があり、かつ、第１コア１１と第２コア１２とが同一の第１入力情報に基づいて、これらの４種類の演算値を算出した場合、４種類の演算値の少なくともいずれかは、第１コア１１と第２コア１２とでそれぞれ同じ値にならなくなる。従って、第１コア１１と第２コア１２とが同一の第１入力情報に基づく演算処理を行うことで、異常の有無を精度良く判定することができる。尚、第１コア１１及び第２コア１２の異常（故障）には、ＣＰＵ演算の異常、ＲＯＭ，ＲＡＭ化け／固着、ペリフェラル故障等がある。
【００６６】
具体的には、図２に示す例において、第１コア１１と第２コア１２とが同一の第１入力情報に基づく演算処理を行うとき、第１コア１１と第２コア１２のそれぞれで算出される電流デューティの指令値（dutyｕ、dutyｖ、dutyｗ）（図２のＡ４部参照）を比較することで、全体の異常の有無を判断することができる。また、第１コア１１と第２コア１２のそれぞれで算出される角度情報の変換成分（ｓｉｎ、ｃｏｓ）（図２のＡ１部参照）を比較することで、Ｓｉｎ／Ｃｏｓ変換部１１２の異常の有無を判断することができる。同様に、第１コア１１と第２コア１２のそれぞれで算出されるｑ軸電流Ｉｑ，ｄ軸電流Ｉｄ（図２のＡ２部参照）を比較することで、３相→２相変換部１１４の異常の有無を判断することができる。同様に、第１コア１１と第２コア１２のそれぞれで算出されるＶｄ指令及びＶｑ指令（図２のＡ２部参照）を比較することで、電流制御部１１０の異常の有無を判断することができる。従って、例えば全体の異常を検出した場合には、Ａ１部、Ａ２部及びＡ３部で示す各演算値について、それぞれ比較処理を行うことで、異常部位を特定することができる。例えば、全体の異常を検出した場合に、Ａ１部、Ａ２部及びＡ３部で示す各演算値について、それぞれ比較処理で一致した場合は、２相→３相変換部１１６に異常があると判断してもよい。
【００６７】
尚、図９に示す異常判定処理において、ステップ９１２の比較処理は、第２コア１２で実行されているが、同比較処理は、第１コア１１で実行されてもよい。この場合、ステップ９１０では、第２コア１２から第１コア１１に第２コア１２の演算結果が送信されればよい。
【００６８】
また、第１キャリア周波数とは無関係の定周期毎に第１コア１１において第１入力情報が取得される場合、図９に示す異常判定処理におけるステップ９００の処理は省略されてもよい。この場合、ステップ９０２において、現在の最新の第１入力情報が第２コア１２に転送されればよい。
【００６９】
また、図９に示す異常判定処理において、ステップ９０６で行った演算処理により得られる演算結果のうちの、電流デューティの指令値（dutyｕ、dutyｖ、dutyｗ）は、出力制御部１１８において使用されない。即ち、このような第１入力情報に基づく電流デューティの指令値（dutyｕ、dutyｖ、dutyｗ）は、あくまで異常判定用であり、第２電動機２２の発電制御には使用されない。第２電動機２２の発電制御には、第２入力情報に基づく電流デューティの指令値（dutyｕ、dutyｖ、dutyｗ）が使用される。
【００７０】
図１０は、異常監視制御における異常判定処理の他の一例を示すフローチャートである。図１０は、第１コア１１側の処理と、第２コア１２側の処理とを並列的に示す。図１０は、第１コア１１及び第２コア１２のいずれにおいても割り込み処理が入る可能性がある構成（即ち、異常判定処理がもっとも優先度が高い割り込み処理でない構成）を前提とする。第１コア１１側の処理は、時刻Ｔ４で開始され、第２コア１２側の処理は、上述の図６のステップ６１０の処理として時刻Ｔ４'に開始される。
【００７１】
ステップ１０００，１００２，１００４，１００６，１０１０，１０１２の各処理は、図９に示したステップ９００，９０２，９０４，９０６，９１０，９１２の各処理とそれぞれ同一であってよいので、説明を省略する。
【００７２】
ステップ１００７では、第１コア１１において、ステップ１００４の演算処理が終了すると、その旨を表す終了フラグをオンにする。終了フラグは、初期はオフとされている。例えば、終了フラグは、第１コア１１の制御時間（制御開始タイミング）毎に初期化（オフ）されてよい。
【００７３】
ステップ１００８では、第２コア１２において、終了フラグがオンであるか否かを判定する。即ち、第２コア１２は、ステップ１００６の演算処理の終了後、終了フラグがオンになるタイミングを待機する。終了フラグがオンである場合は、ステップ１０１０に進む。他方、終了フラグがオフである場合は、ステップ１００９に進む。
【００７４】
ステップ１００９では、第２コア１２において、規定の最大時間が経過したか否かを判定する。規定の最大時間は、現在の時刻から第１コア１１の次の制御開始タイミングＴ５までの時間に対応してもよいし、当該時間よりも僅かに小さい時間であってもよい。規定の最大時間が経過した場合には、そのまま終了する。この場合、今回の制御周期では、割り込み処理に起因して比較処理ができなかったことになる。他方、規定の最大時間が経過していない場合は、ステップ１００８に戻る。この場合、規定の最大時間が経過するまでに終了フラグがオンになると、ステップ１０１２に進むことになる。
【００７５】
尚、図１０に示す処理において、ステップ１０１２の比較処理は、第２コア１２で実行されているが、同比較処理は、第１コア１１で実行されてもよい。この場合、ステップ１０１０では、第２コア１２から第１コア１１に第２コア１２の演算結果が送信されればよい。
【００７６】
また、第１キャリア周波数とは無関係の定周期毎に第１コア１１において第１入力情報が取得される場合、図１０に示す処理におけるステップ１０００の処理は省略されてもよい。この場合、ステップ１００２において、現在の最新の第１入力情報が第２コア１２に転送されればよい。
【００７７】
また、図１０に示す処理において、ステップ１００６で行った演算処理により得られる演算結果のうちの、電流デューティの指令値（dutyｕ、dutyｖ、dutyｗ）は、出力制御部１１８において使用されない。即ち、このような第１入力情報に基づく電流デューティの指令値（dutyｕ、dutyｖ、dutyｗ）は、あくまで異常判定用であり、第２電動機２２の発電制御には使用されない。第２電動機２２の発電制御には、第２入力情報に基づく電流デューティの指令値（dutyｕ、dutyｖ、dutyｗ）が使用される。
【００７８】
以上の図９及び図１０に示す処理によれば、第１コア１１及び第２コア１２において同一の第１入力情報を用いて同一の演算処理を行うことができ、これらの演算結果を比較することで、高い精度で異常の有無の判定を行うことができる。また、ロックステップ（Lockstep）等の機構を用いることなく高い精度で異常の有無の判定を行うことができる。
【００７９】
ここで、図１１を参照して比較例と対比して、本実施例の効果についてより詳細に説明する。図１１は、比較例による異常監視制御を示す図であり、第１コア１１の第１キャリア周波数と第２コア１２の第２キャリア周波数との関係を示す時系列である。図１２は、対比のために本実施例による異常監視制御を示す図であり、第１コア１１の第１キャリア周波数と第２コア１２の第２キャリア周波数との関係を示す時系列である。
【００８０】
比較例は、図４等に示した演算タイミングの調整を行わない構成である。即ち、次の制御時間Ｔ５は、前の第２コア１２の制御時間Ｔ２に対して第２キャリア周波数の１周期分を足した時間となり、更に次の制御時間Ｔ８は、第２コア１２の制御時間Ｔ５に対して第２キャリア周波数の１周期分を足した時間となる。
【００８１】
比較例においても、時刻Ｔに第２コア１２の負荷が低下し、時刻Ｔから異常監視制御が開始される。第２コア１２は、次の制御開始タイミングＴ５にて、例えば図９に示す異常判定処理を開始する。図１１に示す例では、第２コア１２の制御開始タイミングＴ５は、第１コア１１の時刻Ｔ４からの制御周期中であるので、第１コア１１において時刻Ｔ４からの制御周期中に取得した第１入力情報が第２コア１２に転送されることになる（ステップ９０２参照）。第２コア１２は、転送された第１入力情報に基づいて各種演算処理を行い、演算終了後（時刻Ｔａ参照）に、第１コア１１から演算結果を取得する（ステップ９１０参照）。しかしながら、図１１に示すように、この第１コア１１から演算結果を取得するタイミングＴａが、第１コア１１の時刻Ｔ６に対応する制御周期中であると、第１コア１１において時刻Ｔ６からの制御周期中に取得した第１入力情報に基づく第１コア１１の演算結果が取得されることになる。この場合、第１コア１１において時刻Ｔ４からの制御周期中に取得した第１入力情報と、第１コア１１において時刻Ｔ６からの制御周期中に取得した第１入力情報とは、同じ値でないため（即ち同じ第１入力情報ではないので）、実際には第１コア１１及び第２コア１２が共に異常でない場合でも、第１コア１１の演算結果と第２コア１２の演算結果とが異なることになる。このため、このような比較例によれば、精度の良い異常判定を行うことができない。
【００８２】
また、この比較例において、第２コア１２の演算処理が時刻Ｔ６までに終了しないときには、時刻Ｔ６以降に、第２コア１２において、第１コア１１において時刻Ｔ６からの制御周期中に取得した第１入力情報を第１コア１１から取得し、この第１入力情報を、第１コア１１において時刻Ｔ４からの制御周期中に取得した第１入力情報に代えて使用して、再度、演算処理を行う方法も考えられる。しかしながら、この場合、時刻Ｔ４からの制御周期中における第１コア１１の演算処理について異常判定を行うことができない。即ち、異常判定結果が得られるタイミングが遅れてしまい、リアルタイム性の高い比較処理を行うことができない。この結果、第１コア１１又は第２コア１２が異常な状態で処理を継続してしまう虞もある。
【００８３】
これに対して、本実施例によれば、上述の如く、異常監視制御が開始されると、第２コア１２の制御開始タイミングが、第１コア１１の制御開始タイミングに同期するように調整されるので、上述の比較例で生じるような問題点が生じることがない。具体的には、図１２に示すように、時刻Ｔに第２コア１２の負荷が低下し、時刻Ｔから異常監視制御が開始される。第２コア１２は、次の制御開始タイミングＴ４'にて、例えば図９に示す異常判定処理を開始する。図示の例では、第２コア１２の制御開始タイミングＴ４'は、第１コア１１の時刻Ｔ４からの制御周期中であるので、第１コア１１において時刻Ｔ４からの制御周期中に取得した第１入力情報が第２コア１２に転送されることになる（ステップ９０２参照）。第２コア１２は、転送された第１入力情報に基づいて各種演算処理を行い、演算終了後（時刻Ｔｃ参照）に、第１コア１１から演算結果を取得する（ステップ９１０参照）。このとき、図１２に示すように、この第１コア１１から演算結果を取得するタイミングＴｃは、第１コア１１の時刻Ｔ４からの制御周期中であるので、第１コア１１において時刻Ｔ４からの制御周期中に取得した第１入力情報に基づく第１コア１１の演算結果が取得されることになる。この場合、ステップ９１２で比較される第１コア１１及び第２コア１２の演算結果は、同じ第１入力情報に基づくものであるため、第１コア１１及び第２コア１２が共に異常でない場合には、第１コア１１の演算結果と第２コア１２の演算結果とが同じ値となるはずである。このように、本実施例によれば、第２コア１２の制御開始タイミングが、第１コア１１の制御開始タイミングに同期するように調整されるので、同じ第１入力情報に基づく第１コア１１の演算結果と第２コア１２の演算結果とを比較することができ、精度の良い異常判定を行うことができる。また、割り込み処理等が入らない限り、第１コア１１の制御周期毎に、リアルタイムで異常判定処理を行うことが可能である。
【００８４】
図１３は、割り込み処理が入った場合の各処理の実行態様を示す時系列である。図１３は、上述の図１０に示した処理と同様、第１コア１１及び第２コア１２のいずれにおいても割り込みが入る可能性がある構成（即ち、異常判定処理がもっとも優先度が高い割り込み処理でない構成）を前提とする。
【００８５】
図１３に示す例では、時刻Ｔに第２コア１２の負荷が低下し、時刻Ｔから異常監視制御が開始される。第２コア１２は、次の制御開始タイミングＴ４'にて、例えば図１０に示す異常判定処理を開始するはずであったが、割り込み処理が実施されているため、当該割り込み処理が終了するまで待機する。そのため、第２コア１２は、制御開始タイミングＴ４'よりもβだけ遅れて、図１０に示す異常判定処理を開始する。次いで、第２コア１２は、図１０に示す異常判定処理中、割り込み処理が入り、異常判定処理が時間γだけ中断する。その後、第２コア１２は、異常判定処理を再開するが、異常判定処理は、第１コア１１の次の制御開始タイミングＴ５までに終了しない。尚、この場合は、異常判定処理は、途中で（第１コア１１の次の制御開始タイミングＴ５にて）中断し、次の制御開始タイミングＴ５'から新たな異常判定処理を開始してもよい。或いは、この場合、第２コア１２の負荷の上昇を検出して、異常監視制御を終了し、第２電動機２２の発電制御のみを行うこととしてよい（図３のステップ３０４参照）。前者の場合、例えば割り込み処理による処理時間（β＋γ）に起因して異常判定処理が次の制御開始タイミングまでに終了しない制御周期が所定周期連続した場合に、スピンロック処理の継続不能と判断して、第２電動機２２の発電制御のみに移行することとしてよい。
【００８６】
以上説明した本実施例によれば、とりわけ、以下のような優れた効果が奏される。
【００８７】
本実施例によれば、上述の如く、第１コア１１及び第２コア１２において同一の第１入力情報に基づいて演算処理が行われるように第２キャリア周波数を調整し、第１コア１１及び第２コア１２で同一の演算処理を行い、演算結果を比較することで、第１コア１１及び第２コア１２における異常の有無を精度良く判定することができる。
【００８８】
また、本実施例によれば、第１コア１１による第１インバータ２３の制御ロジックと第２コア１２による第２インバータ２４の制御ロジックとが同一であることを利用するので、第１コア１１及び第２コア１２は、追加の演算処理ソフトウェア等を必要とすることなく、同一の演算処理を行うことが可能である。即ち、第２インバータ２４側に、第１コア１１による第１インバータ２３の制御ロジックと同一の制御ロジックを新たに組み込む必要がないので、現状のソフトウェア資源ないしハードウェア資源を有効に利用して、異常判定を実現することができる。
【００８９】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなく、上述した実施例に種々の変形及び置換を加えることができる。
【００９０】
例えば、上述した実施例では、第２キャリア周波数を補正することで第１キャリア周波数と第２キャリア周波数とを同期させているが、第１キャリア周波数を補正することで第１キャリア周波数と第２キャリア周波数とを同期させてもよいし、第１キャリア周波数及び第２キャリア周波数を補正することで第１キャリア周波数と第２キャリア周波数とを同期させてもよい。
【００９１】
また、上述した実施例では、第１コア１１の方が第２コア１２よりも基本的に負荷が高いことから、第２コア１２において異常判定処理を行っているが、第１コア１１において同様の異常判定処理の全て又は一部を実行することも可能である。
【００９２】
また、上述した実施例では、好ましい実施例として、異常監視制御中は、第１コア１１の制御周期毎に、第１キャリア周波数と第２キャリア周波数とを同期させているが、第１コア１１の所定数の制御周期毎に、第１キャリア周波数と第２キャリア周波数とを同期させてもよいし、第１コア１１の不定期的な制御周期毎に、第１キャリア周波数と第２キャリア周波数とを同期させてもよい。但し、これらの場合は、第１コア１１の制御周期毎に、異常判定処理を行えないので、異常監視能力が低下する欠点はある。
【００９３】
また、上述した実施例では、好ましい実施例として、第１コア１１による第１インバータ２３の制御ロジックと第２コア１２による第２インバータ２４の制御ロジックとが同一であったが、これらは互いに異なる部分を有してもよい。この場合、共通の部分だけを利用して、上述の異常監視制御を実現してもよいし、異なる部分に対応した異常監視制御用の構成を新たに追加して、上述の異常監視制御を実現してもよい。また、第１コア１１による第１インバータ２３の制御ロジックと第２コア１２による第２インバータ２４の制御ロジックとが全く異なる構成であってもよい。この場合、一方のコアの制御ロジックの一部又は全部を他方のコアに異常監視制御用の構成として新たに追加して、上述の異常監視制御を実現してもよい。
【００９４】
また、上述した実施例では、第１コア１１は、第１キャリア周波数で規定される制御開始タイミングで第１入力情報の取得処理を行っているが、第１キャリア周波数で規定される制御開始タイミングに対して所定時間ΔT後に第１入力情報の取得処理を行ってもよい。この場合、遅延時間αは、当該所定時間ΔT分を付加して設定されればよい。また、この場合、所定時間ΔTは動的に可変とされてもよい。
【００９５】
また、上述した実施例では、第１入力情報は、デジタル情報であり、図２に示す例では、第１入力情報は、Ａ／Ｄ変換されたＩｕ，Ｉｖ，Ｉｗ及びＶｄｃ、Ｒ／Ｄ変換された角度情報、及び、第１トルク指令値であるが、第１入力情報は、アナログ情報（アナログ信号）を含んでもよい。例えば、Ｒ／Ｄ変換された角度情報に代えて、第１電動機２１の回転角を検出するレゾルバの電気信号（電圧波形）が第１コア１１に入力されてもよい。この場合、第１電動機２１に係るレゾルバの電気信号は、第２コア１２側のＲ／Ｄコンバータによりデジタル化されてよく、その際のタイミング（サンプリングタイミング）が第２キャリア周波数に基づいて同期されればよい。
【００９６】
また、上述した実施例では、ハイブリッド車両を対象としているが、電気自動車においても適用可能である。
【符号の説明】
【００９７】
１１    第１コア
１２    第２コア
２１    第１電動機
２２    第２電動機
２３    第１インバータ
２４    第２インバータ
【図１】
2014096943.tif 000003
【図２】
2014096943.tif 000004
【図３】
2014096943.tif 000005
【図４】
2014096943.tif 000006
【図５】
2014096943.tif 000007
【図６】
2014096943.tif 000008
【図７】
2014096943.tif 000009
【図８】
2014096943.tif 000010
【図９】
2014096943.tif 000011
【図１０】
2014096943.tif 000012
【図１１】
2014096943.tif 000013
【図１２】
2014096943.tif 000014
【図１３】
2014096943.tif 000015