(57)【特許請求の範囲】
【請求項１】
複数の制御対象を制御するための演算を行なう複数の演算手段を備える制御装置であって、
前記複数の演算手段における演算タイミングを同期させる演算タイミング同期手段と、
前記複数の演算手段の演算結果が整合しているか否かを判定する判定手段と、
を備え、
前記演算タイミング同期手段により決定される所定の演算タイミングにおいて、
前記複数の演算手段のうち第１の演算手段が、前記複数の制御対象のうち第１の制御対象を制御するための演算を行なって演算結果を前記判定手段に出力し、
前記複数の演算手段のうち第２の演算手段が、前記第１の演算手段が行なった演算と同一の演算を行なって前記判定手段に出力すると共に、前記複数の制御対象のうち第２の制御対象を制御するための演算を行ない、
前記所定の演算タイミングの次回の演算タイミングでは、
前記第２の演算手段は、前記第１の演算手段が行なった演算と同一の演算を行わず、前記第２の制御対象を制御するための演算のみを行うことを特徴とする、
制御装置。
【請求項２】
前記所定の演算タイミングの次回の演算タイミングでは、
前記第１の演算手段が、前記第２の演算手段が行なった演算と同一の演算を行なって前記判定手段に出力すると共に、前記第１の制御対象を制御するための演算を行ない、
前記第２の演算手段が、前記第２の制御対象を制御するための演算を行なうことを特徴とする、
請求項１に記載の制御装置。
【請求項３】
前記複数の制御対象はモータであり、
前記演算タイミング決定手段は、前記複数のモータの回転数比が所定比以上となった場合に、予め決定されている各演算手段と各モータの対応付けに従って、回転数が小さい側のモータを制御するための演算を行なう演算手段の演算周波数が小さくなるように前記複数の演算手段に指示する手段である、
請求項１又は２に記載の制御装置。
【請求項４】
前記演算タイミング決定手段により、前記複数のモータの回転数比が所定比以上となった場合に、予め決定されている各演算手段と各モータの対応付けに従って、回転数が小さい側のモータを制御するための演算を行なう演算手段の演算周波数が小さくなるように前記複数の演算手段に指示された場合に、
該演算周波数が小さくなるように指示された演算手段が、他の演算手段が行なった演算と同一の演算を行なって前記判定手段に出力すると共に、自己に対応付けられたモータを制御するための演算を行なうことを特徴とする、
請求項３に記載の制御装置。
【請求項５】
前記判定手段により前記第１及び第２の演算手段による演算結果が整合していないと判定された場合に、正しい演算結果が予め判明している同一の演算を前記第１及び第２の演算手段が行なっていずれの演算手段が異常状態にあるかを特定することを特徴とする、
請求項１ないし４のいずれか１項に記載の制御装置。
【請求項６】
前記判定手段により前記複数の演算手段による演算結果が整合していないと判定された場合に、異常状態にあると特定された演算手段を停止させ、停止していない方の演算手段の演算結果を用いて前記複数の制御対象を制御することを特徴とする、
請求項５項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の演算装置によって複数の制御対象を制御する制御装置に関する。
【背景技術】
【０００２】
近年広く実用化されているハイブリッド車両では、複数の走行用モータが搭載され、それぞれに対する制御信号をＣＰＵ（Central  Processing  Unit）等の演算装置が生成する構成となっている。走行用モータは、空調機器等におけるサーボモータ等と異なり、車両の走行に直接関与するため、制御ミスを生じることなく駆動されることが安全運転の観点から必要とされる。
【０００３】
この点について、２つの走行用モータをそれぞれ制御する２つのＣＰＵ（第１ＣＰＵ、第２ＣＰＵ）を備え、当該２つのＣＰＵが互いに相手の異常を監視する動力出力装置についての発明が開示されている（例えば、特許文献１参照）。この文献には、第２ＣＰＵの異常を検知するための手法として、（１）レゾルバ（回転角センサ）により生成された電気信号（電圧波形）を第１ＣＰＵに入力し、この電気信号をＡ／Ｄコンバータ（図示せず）によりサンプリングして得られた値から回転角を求めて、第２ＣＰＵのＲ／Ｄコンバータにより変換された回転角とを比較して正常範囲内にあるか否かを判定する手法、（２）電流フィードバック制御を行なう際に、他の制御装置から入力されたトルク指令値とモータの回転角に基づき設定されるモータの三相コイルの指令電流と、電流センサにより検出された各相電流を比較して正常範囲内にあるか否かを判定する手法、（３）インバータ回路のスイッチング素子へのスイッチング信号をフィルタを介して正弦波状の電圧波形とし、これとモータの指令電圧とで振幅や位相を比較する手法、（４）第２ＣＰＵから一定周期のクロック信号を第１ＣＰＵに出力してこの信号が所定周期以上発生しないときに第２ＣＰＵの異常を判断する手法、（５）メモリの内容をパリティやチェックサムなどの誤り検出符号により検出することにより第２ＣＰＵの異常を判定したり、予め定めたデータを通信線を介して第１ＣＰＵに出力して正しく通信されているかを判断することにより第２ＣＰＵの異常を判定する手法を挙げている。
【特許文献１】特開２００３−３２８０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の特許文献に記載された手法は、いずれもＣＰＵによる制御が行なわれた結果として生じる種々の状態が正常な範囲にあるか否かによって、ＣＰＵが異常状態にあることを検知するものであり、ＣＰＵの演算機能が正常であるか否かを、直接的且つ正確に判定できる性質のものではない。
【０００５】
本発明はこのような課題を解決するためのものであり、複数の演算装置によって複数の制御対象を制御する制御装置において、演算機能の異常をより正確に検知することを、主たる目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための本発明の一態様は、
複数の制御対象を制御するための演算を行なう複数の演算手段を備える制御装置であって、
前記複数の演算手段における演算タイミングを同期させる演算タイミング同期手段と、前記複数の演算手段の演算結果が整合しているか否かを判定する判定手段と、
を備え、
前記演算タイミング同期手段により決定される所定の演算タイミングにおいて、
前記複数の演算手段のうち一の演算手段が、前記複数の制御対象のうち一の制御対象を制御するための演算を行なって演算結果を前記判定手段に出力し、
前記複数の演算手段のうち他の演算手段が、前記一の演算手段が行なった演算と同一の演算を行なって前記判定手段に出力すると共に、前記複数の制御対象のうち他の制御対象を制御するための演算を行なうことを特徴とする、
制御装置である。
【０００７】
この本発明の一態様によれば、複数の演算装置によって複数の制御対象を制御する制御装置において、演算機能の異常をより正確に検知することができる。
【０００８】
本発明の一態様において、
前記一の演算手段が行なった演算と同一の演算を行なって前記判定手段に出力すると共に、前記複数の制御対象のうち他の制御対象を制御するための演算を行なった演算手段は、前記複数の制御対象のうち一の制御対象を制御するための演算のみを行なった演算手段が次回の演算を行なう演算タイミングにおいて、前記一の演算手段が行なった演算と同一の演算を行なわないことを特徴とするものとしてもよい。
【０００９】
また、本発明の一態様において、
前記複数の制御対象のうち一の制御対象を制御するための演算のみを行なう役割と、前記一の演算手段が行なった演算と同一の演算を行なって前記判定手段に出力すると共に前記複数の制御対象のうち他の制御対象を制御するための演算を行なう役割と、を交互に入れ替えることを特徴とするものとしてもよい。
【００１０】
また、本発明の一態様において、
前記複数の制御対象はモータであり、
前記演算タイミング決定手段は、前記複数のモータの回転数比が所定比以上となった場合に、予め決定されている各演算手段と各モータの対応付けに従って、回転数が小さい側のモータを制御するための演算を行なう演算手段の演算周波数が小さくなるように前記複数の演算手段に指示する手段であるものとしてもよい。
【００１１】
この場合、
前記演算タイミング決定手段により、前記複数のモータの回転数比が所定比以上となった場合に、予め決定されている各演算手段と各モータの対応付けに従って、回転数が小さい側のモータを制御するための演算を行なう演算手段の演算周波数が小さくなるように前記複数の演算手段に指示された場合に、
該演算周波数が小さくなるように指示された演算手段が、他の演算手段が行なった演算と同一の演算を行なって前記判定手段に出力すると共に、自己に対応付けられたモータを制御するための演算を行なうことを特徴とする、
また、本発明の一態様において、
前記判定手段により前記第１及び第２の演算手段による演算結果が整合していないと判定された場合に、正しい演算結果が予め判明している同一の演算を前記第１及び第２の演算手段が行なっていずれの演算手段が異常状態にあるかを特定することを特徴とするものとしてもよい。
【００１２】
また、本発明の一態様において、
前記判定手段により前記複数の演算手段による演算結果が整合していないと判定された場合に、異常状態にあると特定された演算手段を停止させ、停止していない方の演算手段の演算結果を用いて前記複数の制御対象を制御することを特徴とするものとしてもよい。
【発明の効果】
【００１３】
本発明によれば、複数の演算装置によって複数の制御対象を制御する制御装置において、演算機能の異常をより正確に検知することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施するための最良の形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００１５】
以下、本発明の一実施例に係る制御装置１について説明する。以下の実施例において、制御装置１は、ハイブリッド車両に搭載され、走行用のモータＭＧ１、ＭＧ２をそれぞれ制御するコア４、コア５を備えるものとして説明する。
【００１６】
［１．構成］
図１は、制御装置１の全体構成の一例を示す図である。制御装置１は、主要な構成として、メモリ２と、アービター３と、コア４及び５と、結果比較回路８と、キャリア同期回路１０と、を備える。
【００１７】
メモリ２には、モータＭＧ１の諸元値、ロジック、ベース演算用の諸元値、及びモータＭＧ２の諸元値等が記憶されている。
【００１８】
アービター３は、コア４及びコア５からメモリ２へのアクセスを調整するために設けられた電子回路である。
【００１９】
コア４及び５は、従来のＣＰＵ（Central  Processing  Unit）に相当する機能を有する機能単位である。すなわち、ＡＬＵ（論理演算ユニット）や制御装置、レジスタ、クロックジェネレータ等から構成される。コア４及び５は、単チップとして構成されてもよいし、別体として構成されてもよい。コア４及び５は、それぞれの機能としてキャリア発生部６及び７を有する。
【００２０】
キャリア発生部６及び７は、モータＭＧ１及びＭＧ２の駆動に用いられる電流の印可タイミング、電圧値、電流値、及びデューティー比等を表す信号波（キャリア）を生成し、インバータ２２及び２３に出力する。
【００２１】
結果比較回路８は、ベース結果９を内蔵する。ベース結果９は、コア４及び５がベース演算を行なうことによって出力されるべき結果（正解）である。
【００２２】
キャリア同期回路１０は、キャリア発生部６及び７が発生させるキャリアのタイミングを同期させる。具体的には、例えばキャリア発生部６及び７が共通して用いるクロック信号を出力する。このクロック信号の周波数は、例えば、モータＭＧ１及びＭＧ２の回転数やコア４及び５の演算機能に基づいて、可能な限り高い周波数となるように生成及び出力される。キャリア同期回路１０は、キャリア切替え機構１１を内蔵し、モータＭＧ１及びＭＧ２の回転数比が２倍以上である場合には、これに応じてキャリア発生部６及び７が発生させるキャリアの周波数（キャリア周波数）を変化させるための信号をコア４及び５に出力する。
【００２３】
差分保持回路１２及び１３は、直近に演算されたモータＭＧ１及びＭＧ２に対する駆動信号の差分を一時的に保持しており、次回の演算においてコア４及び５がこれを利用して演算することができるようにしている。
【００２４】
ＩＯレジスタ１４及び１５は、制御装置１と、制御対象及びセンサ等との入出力インターフェイスである。ＩＯレジスタ１４及び１５には、モータＭＧ１及びＭＧ２にそれぞれ取り付けられた電流センサ１６及び１７、レゾルバ（回転角センサ）１８及び１９の出力値が入力される。また、ＩＯレジスタ１４及び１５に入力された信号は、モータＭＧ１及びＭＧ２をスイッチング制御するインバータ２２及び２３に出力される。
【００２５】
［２．処理内容］
以下、係る構成により実現される本実施例の制御装置１の特徴的な処理内容について説明する。
【００２６】
［２_１．基本制御］
まず、基本的な制御について説明する。この制御は、コア４及び５の演算機能が正常な状態であり、且つモータＭＧ１とＭＧ２の回転数比が２倍未満である場合に実行される。このような場面においては、コア４及び５の演算タイミングを同期させ、キャリア発生部６及び７が発生させるキャリアのタイミングを同期させる。そして、片側のモータ用の演算を両コアで行い、結果比較回路８において演算結果を比較する。これが一致すると、一方のコアはそのまま演算結果をＩＯレジスタに出力し、他方のコアは差分保持回路の値を元に差分（各モータに与えられる駆動信号の差分をいい、具体的には、目標トルクの差分であってもよいし、デューティー比の差分であってもよい）を演算し、差分と上記演算した片側のモータ用の演算結果との合計をＩＯレジスタに出力する。この際、差分を用いて演算した側のコアは、両コアで行なった演算を行なわない。こうすることにより、両コアで行なう同一の演算及び差分を用いた演算の双方を行なう側における演算負荷が過大になることを防止することができる。
【００２７】
そして、係る処理をコア４及び５が交互に実行する。図２は、基本制御が行なわれている場面における処理の様子を模式的に示す図である。図中、コア４に対するモータＭＧ１及びコア５に対するモータＭＧ２を自モータと、コア４に対するモータＭＧ２及びコア５に対するモータＭＧ１を他モータと、それぞれ表現した（以下同じ）。
【００２８】
係る制御によって、各コアにおける演算タイミングを１回おきに一致させることができ、同一の演算を行なわせることができるため、コアの演算機能が正常な状態であるか否かを監視することができる。
【００２９】
［２_２．回転数比が大きい場合の制御］
キャリア切替え機構１１は、モータＭＧ１及びＭＧ２の回転数比が２倍以上となった際に、低回転側のモータを制御するコアのキャリア周波数が１／２になるようにコア４又は５に指示信号を出力する。このような場面において、キャリア周波数を１／２にした側のコアにおいて、基本制御と同様に、差分を用いた演算を行う。図３は、回転数比が大きい場合の制御が行なわれている場面における処理の様子を模式的に示す図である。
【００３０】
係る制御によって、モータの回転数に応じて各コアの演算周波数、ひいてはキャリア周波数を変化させることができるため、結果的に高回転側の演算周波数を高くすることが可能となり、演算タイミングを同期させることによる弊害（制御の応答性の劣化）を抑制することができる。
【００３１】
［２_３．演算結果が一致しなかった場合］
［基本制御］又は［回転数比が大きい場合の制御］において、各コアが結果比較回路８に出力した演算結果が一致しなかった場合には、結果比較回路８から各コアに対し、ベース演算用諸元値・マップ値を用いて同一の演算（ベース演算）を行なって出力するように指示信号が出力される。そして、結果比較回路８では、各コアから出力されたベース演算の結果とベース結果９とを比較して、いずれのコアの演算機能が異常状態となったかを特定する。
【００３２】
係る処理によって、いずれのコアの演算機能が異常状態となったかを正確に特定することができる。一般的に、一方の演算機能が異常状態となった場合に、コア間でいずれが異常であるかを特定するのは困難である。
【００３３】
［２_４．演算機能異常時の制御］
結果比較回路８は、上記ベース演算の結果特定された異常状態にあるコアを停止させ、正常な状態であるコアに対してモータＭＧ１及びＭＧ２の制御を行なうように、各コアに指示する。例えば、コア２が正常な状態である場合、コア２が、モータＭＧ２を制御するための演算を行なって結果をＩＯレジスタ１５に出力し、その後、差分保持回路１２からの値を用いてモータＭＧ１を制御するための演算を行なって結果をＩＯレジスタ１４に出力する。図４は、演算機能異常時の制御が行なわれている場面における処理の様子を模式的に示す図である。
【００３４】
係る制御によって、一方のコアの演算機能が異常状態となった場合でも、双方のモータに対して最低限の制御を行なうことができる。例えば、安全な場所まで車両を徐行運転させるための制御等が可能となる。
【００３５】
［３．処理の流れ］
以下、制御装置１が上記説明した処理を行なう際の処理の流れについて説明する。図５及び６は、制御装置１が実行する特徴的な処理の流れを示すフローチャートである。なお、紙面の都合上、一連のフローチャートを分割して両図に表した。
【００３６】
まず、モータＭＧ２の回転数がモータＭＧ１の回転数の２倍以上、或いはモータＭＧ１の回転数がモータＭＧ２の回転数の２倍以上であるか否かを判定する（Ｓ１００）。
【００３７】
Ｓ１００において否定的な判定を得た場合は、まず、キャリアが「谷」となるタイミングにおいて、コア４及びコア５がモータＭＧ１を制御するための演算を実行する（Ｓ１０２）。そして、各コアの演算結果が一致するか否かを判定する（Ｓ１０４）。
【００３８】
各コアの演算結果が一致した場合は、コア４がＩＯレジスタ１４に演算結果を出力する（Ｓ１０６）。
【００３９】
次に、キャリアが「山」となるタイミングにおいて、コア４がモータＭＧ１を制御するための演算を実行してＩＯレジスタ１４に演算結果を出力し、コア５が差分値を用いてモータＭＧ２を制御するための演算を実行してＩＯレジスタ１５に演算結果を出力する（Ｓ１０８）。
【００４０】
ここで、差分値とは、例えば、前回Ｓ１０２において演算されたモータＭＧ１を制御するための演算結果と、後述するＳ１１６において演算されたモータＭＧ２を制御するための演算結果と、の差分である。すなわち、直近に演算された演算結果の差分をいう。差分を用いた演算を行なうことにより、若干の誤差は生じるものの、演算負荷を軽減することができる。
【００４１】
続いて、キャリアが「谷」となるタイミングにおいて、コア４及びコア５がモータＭＧ２を制御するための演算を実行する（Ｓ１１０）。そして、各コアの演算結果が一致するか否かを判定する（Ｓ１１２）。
【００４２】
各コアの演算結果が一致した場合は、コア５がＩＯレジスタ１５に演算結果を出力する（Ｓ１１４）。
【００４３】
次に、キャリアが「山」となるタイミングにおいて、コア４が差分値を用いてモータＭＧ１を制御するための演算を実行してＩＯレジスタ１４に出力し、コア５がモータＭＧ２を制御するための演算を実行してＩＯレジスタ１５に出力する（Ｓ１１６）。Ｓ１１６の処理を終了すると、Ｓ１００に戻り、前述の処理を繰り返し実行する。
【００４４】
Ｓ１００において工程的な判定を得た場合は、図６に示す回転数比が大きい場合の制御を実行する。
【００４５】
まず、低回転側のコアの演算周波数、及びキャリア周波数を１／２に切替える（Ｓ２００）。なお、モータの回転数比が３倍、４倍…となった場合には、キャリア周波数を１／３、１／４…と低下させるようにしてもよい。以下、モータＭＧ１が低回転となったものとして説明する。
【００４６】
キャリアが「谷」となるタイミングにおいて、コア４及びコア５がモータＭＧ２を制御するための演算を実行する（Ｓ２０２）。そして、各コアの演算結果が一致するか否かを判定する（Ｓ２０４）。
【００４７】
各コアの演算結果が一致した場合は、コア５がＩＯレジスタ１５に演算結果を出力する（Ｓ２０６）。
【００４８】
次に、キャリアが「山」となるタイミングにおいて、コア４が差分値を用いてモータＭＧ１を制御するための演算を実行してＩＯレジスタ１４に演算結果を出力し、コア５がモータＭＧ２を制御するための演算を実行してＩＯレジスタ１５に演算結果を出力する（Ｓ２０８）。
【００４９】
そして、モータＭＧ２の回転数がモータＭＧ１の回転数の２倍以上、或いはモータＭＧ１の回転数がモータＭＧ２の回転数の２倍以上であるかを判定する（Ｓ２１０）。Ｓ２１０において肯定的な判定を得た場合、すなわち回転数比が２倍以上である状態が継続している場合は、Ｓ２０２に戻る。
【００５０】
一方、Ｓ２１０において否定的な判定を得た場合は、低回転数側のコアのキャリア周波数を元に戻し（Ｓ２１２）、Ｓ１０２に戻る。
【００５１】
ところで、Ｓ１０４、又はＳ１１２において演算結果が一致しなかった場合は、Ｓ３００以下の演算機能異常時の制御を行なう。また、Ｓ２０４において演算結果が一致しなかった場合にも、低回転数側のコアのキャリア周波数を元に戻した上で（Ｓ２１４）、Ｓ３００以下の演算機能異常時の制御を行なう。
【００５２】
まず、コア４及び５が、ベース演算用諸元値・マップ値を元に、同一の演算を実行する（Ｓ３００）。
【００５３】
そして、演算結果をベース結果９と比較して、故障した（演算機能が異常状態となった）コアを特定し（Ｓ３０２）、故障したコアにおける演算（動作）を停止させる（Ｓ３０４）。
【００５４】
その後、キャリアが「谷」となるタイミングにおいて、故障していない方のコアが自モータ（前述の如く、コア４が故障していない場合はＭＧ１、コア５が故障していない場合はＭＧ５）を制御するための演算を行なって、演算結果をＩＯレジスタに出力する（Ｓ３０６）。
【００５５】
キャリアが「山」となるタイミングにおいては、上記故障していない方のコアが、差分を用いて他モータ（前述の如く、コア４が故障していない場合はＭＧ２、コア５が故障していない場合はＭＧ１）を制御するための演算を行なって、演算結果をＩＯレジスタに出力する（Ｓ３０８）。
【００５６】
以上説明した本実施例の制御装置１によれば、複数の演算装置によって複数の制御対象を制御する制御装置において、演算機能の異常をより正確に検知することができる。
【００５７】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【００５８】
例えば、他のコアと同一の演算、及び自モータ分の演算を行なうコアにおいて、差分を用いずに演算を行なうものとしてもよい。
【００５９】
また、演算手段であるコア、及び制御対象であるモータをそれぞれ２つ備えるものとしたが、３以上の演算手段や制御対象を有するものとしてもよい。
【００６０】
また、本発明は車両制御を行なうものに限られず、複数の演算装置によって複数の制御対象を制御する如何なる装置についても適用可能である。
【産業上の利用可能性】
【００６１】
本発明は、自動車製造業や自動車部品製造業等に利用可能である。
【図面の簡単な説明】
【００６２】
【図１】制御装置１の全体構成の一例を示す図である。
【図２】基本制御が行なわれている場面における処理の様子を模式的に示す図である。
【図３】回転数比が大きい場合の制御が行なわれている場面における処理の様子を模式的に示す図である。
【図４】演算機能異常時の制御が行なわれている場面における処理の様子を模式的に示す図である。
【図５】制御装置１が実行する特徴的な処理の流れを示すフローチャートである。
【図６】制御装置１が実行する特徴的な処理の流れを示すフローチャートである。
【符号の説明】
【００６３】
１  制御装置
２  メモリ
３  アービター
４、５  コア
６、７  キャリア発生部
８  結果比較回路
９  ベース結果
１０  キャリア同期回路
１１  キャリア切替え機構
１２、１３  差分保持回路
１４、１５  ＩＯレジスタ
１６、１７  電流センサ
１８、１９  レゾルバ（回転角センサ）
２２、２３  インバータ
ＭＧ１、ＭＧ２  モータ
【図１】
0004840339.tif 000002
【図２】
0004840339.tif 000003
【図３】
0004840339.tif 000004
【図４】
0004840339.tif 000005
【図５】
0004840339.tif 000006
【図６】
0004840339.tif 000007