(57)【要約】【課題】複数のカウンタの計数の開始タイミングのずれにより複数のカウンタに基づいて生成される複数の制御信号がずれる。【解決手段】半導体装置は、クロック信号のクロック数を第一所定値まで周期的に計数する第一カウンタを有し、第一カウンタの計数値と第二所定値と第三所定値とを用いて制御信号を生成および出力し、第一カウンタの計数値が第四所定値になると第一トリガ信号を出力するよう構成される第一装置と、クロック信号のクロック数を第一所定値まで周期的に計数する第二カウンタを有し、第二カウンタの計数値と第二所定値と第三所定値を用いて制御信号を生成および出力する第二装置と、を備える。第二装置は、第一トリガ信号を入力した時の第二カウンタの計数値を用いて、第一カウンタの計数値との差分を求め、差分に基づいて第二カウンタの計数周期を調整するよう構成される。【選択図】図１２
2020077276.tif 000002
【特許請求の範囲】
【請求項１】
供給されるクロック信号のクロック数を第一所定値まで周期的に計数する第一カウンタを有し、前記第一カウンタの計数値と第二所定値と第三所定値とを用いて制御信号を生成および出力し、前記第一カウンタの計数値が第四所定値になると第一トリガ信号を出力するよう構成される第一装置と、
供給されるクロック信号のクロック数を前記第一所定値まで周期的に計数する第二カウンタを有し、前記第二カウンタの計数値と前記第二所定値と前記第三所定値を用いて制御信号を生成および出力する第二装置と、
を備え、
前記第二装置は、前記第一トリガ信号を入力した時の前記第二カウンタの計数値を用いて、前記第一カウンタの計数値との差分を求め、前記差分に基づいて前記第二カウンタの計数周期を調整するよう構成され、または前記第二所定値および前記第三所定値を調整するよう構成される半導体装置。
【請求項２】
請求項１の半導体装置において、
前記第二装置は、前記差分に基づいて前記第一カウンタと前記第二カウンタとの計数の開始タイミングの時間差を求め、前記第二カウンタの計数値が前記第一所定値になるまでの時間を前記第一カウンタの計数値が前記第一所定値になるまでの時間に合わせるよう構成される半導体装置。
【請求項３】
請求項２の半導体装置において、
前記第二装置は、前記差分に基づいて供給されるクロックの周期を調整するよう構成される半導体装置。
【請求項４】
請求項１の半導体装置において、
前記第二装置は、さらに、前記第二所定値を格納する第二レジスタと、前記第三所定値を格納する第三レジスタと、を備え、
前記第二装置は、前記差分に基づいて、前記第二レジスタの内容および前記第三レジスタの内容を書き換えることにより、前記第一装置が出力する前記制御信号と前記第二装置が出力する前記制御信号との出力タイミングを合わせるよう構成される半導体装置。
【請求項５】
請求項１の半導体装置において、
前記第二装置は、前記差分が所定値を超えたとき、前記差分に基づいて前記第二カウンタの計数周期を調整するよう構成され、または前記第二所定値および前記第三所定値を調整するよう構成される半導体装置。
【請求項６】
請求項１の半導体装置において、
前記第二装置は、さらに、前記第一所定値を格納する第一レジスタと、前記第二所定値を格納する第二レジスタと、前記第三所定値を格納する第三レジスタと、前記第二カウンタの計数値と前記第一レジスタの内容を比較する第一比較器と、前記第二カウンタの計数値と前記第二レジスタの内容を比較する第二比較器と、前記第二カウンタの計数値と前記第三レジスタの内容を比較する第三比較器と、前記第二比較器および前記第三比較器の内容に基づいて制御信号を生成する回路と、前記第一装置から出力される前記第一トリガ信号に基づいて前記第二カウンタの計数値を取り込む第四レジスタと、を備える半導体装置。
【請求項７】
供給されるクロック信号のクロック数を所定値まで周期的に計数する第一カウンタを有し、前記第一カウンタの計数値に基づいて第一ＰＷＭ信号を生成し、前記第一ＰＷＭ信号を第一駆動回路へ供給することで電動機を駆動制御する第一制御ユニットと、
供給されるクロック信号のクロック数を前記所定値まで周期的に計数する第二カウンタを有し、前記第二カウンタの計数値に基づいて第二ＰＷＭ信号を生成し、前記第二ＰＷＭ信号を第二駆動回路へ供給することで前記電動機を駆動制御する第二制御ユニットと、
を備え、
前記第一制御ユニットは、前記第一カウンタの計数値が予め設定された値になると、前記第二制御ユニットへ第一トリガ信号を送信し、
前記第二制御ユニットは、前記第一トリガ信号を受信した時の前記第二カウンタの計数値を用いて、前記第一カウンタの計数値との差分を求め、前記差分に基づいて前記第二カウンタの計数周期を調整して前記第二ＰＷＭ信号を前記第一ＰＷＭ信号と同期制御するよう構成され、または前記第二ＰＷＭ信号を生成する前記第二カウンタの計数値を調整して前記第二ＰＷＭ信号を前記第一ＰＷＭ信号と同期制御するよう構成される制御装置。
【請求項８】
請求項７の制御装置において、
前記第一制御ユニットに供給されるクロック信号と前記第二制御ユニットに供給されるクロック信号とは、同じクロック発生器からの信号である制御装置。
【請求項９】
請求項７の制御装置において、
前記第二制御ユニットは、前記差分が予め設定された閾値よりも大きい場合、前記第二ＰＷＭ信号を前記第一ＰＷＭ信号に同期する制御を行うよう構成される制御装置。
【請求項１０】
請求項７の制御装置において、
前記第一制御ユニットを有する第一制御装置と、
前記第二制御ユニットを有する第二制御装置と、
を備え、
前記第一制御ユニットは前記第一トリガ信号を前記第二制御ユニットに送信し、
前記第二制御ユニットは前記第一トリガ信号を受信できない場合、レジスタに前記第一制御装置を故障と設定するよう構成される制御装置。
【請求項１１】
請求項１０の制御装置において、
前記第二制御ユニットは、前記第一トリガ信号を受信できない場合、前記第一制御ユニットとの同期制御を行わないよう構成される制御装置。
【請求項１２】
請求項１０の制御装置において、
前記第二制御ユニットは、前記第二カウンタの計数値が予め設定された値になると、前記第一制御ユニットへ第二トリガ信号を送信し、
前記第一制御ユニットは、前記レジスタに故障が設定されていた場合に、前記第二トリガ信号を受信した時の前記第一カウンタの計数値を用いて、前記第二カウンタの計数値との差分を求め、前記差分に基づいて前記第一カウンタの計数周期を調整して前記第一ＰＷＭ信号を前記第二ＰＷＭ信号と同期制御するよう構成され、または前記第一ＰＷＭ信号を生成する前記第一カウンタの計数値を調整して前記第一ＰＷＭ信号を前記第二ＰＷＭ信号と同期制御するよう構成される制御装置。
【請求項１３】
供給されるクロック信号のクロック数を所定値まで周期的に計数する第一カウンタを有し、前記第一カウンタの計数値に基づいて第一ＰＷＭ信号を生成し、前記第一ＰＷＭ信号を第一駆動回路へ供給することで電動機を駆動制御する第一制御ユニットと、供給されるクロック信号のクロック数を前記所定値まで周期的に計数する第二カウンタを有し、前記第二カウンタの計数値に基づいて第二ＰＷＭ信号を生成し、前記第二ＰＷＭ信号を第二駆動回路へ供給することで前記電動機を駆動制御する第二制御ユニットと、を備える装置の制御方法であって、
前記第一制御ユニットは、前記第一カウンタの計数値が予め設定された値になると、前記第二制御ユニットへ第一トリガ信号を送信し、
前記第二制御ユニットは、前記第一トリガ信号を受信した時の前記第二カウンタの計数値を用いて、前記第一カウンタの計数値との差分を求め、前記差分に基づいて前記第二カウンタの計数周期を調整して前記第二ＰＷＭ信号を前記第一ＰＷＭ信号と同期させ、または前記第二ＰＷＭ信号を生成する前記第二カウンタの計数値を調整して前記第二ＰＷＭ信号を前記第一ＰＷＭ信号と同期させる制御方法。
【請求項１４】
請求項１３の制御方法において、
前記第二制御ユニットは、前記差分が予め設定された閾値よりも大きい場合、前記第二ＰＷＭ信号を前記第一ＰＷＭ信号に同期させる制御を行う制御方法。
【請求項１５】
請求項１３の制御方法において、
前記第一制御ユニットは前記第一トリガ信号を前記第二制御ユニットに送信し、
前記第二制御ユニットは前記第一トリガ信号を受信できない場合、レジスタに前記第一制御ユニットを含む第一制御装置を故障と設定する制御方法。
【請求項１６】
請求項１５の制御方法において、
前記第二制御ユニットは、前記第一トリガ信号を受信できない場合、前記第一制御ユニットとの同期制御を行わず、その後、前記第一トリガ信号を受信した場合、前記第一制御装置との同期制御を再開する制御方法。
【請求項１７】
請求項１５の制御方法において、
前記第二制御ユニットは、前記第一カウンタの計数値が予め設定された値になると、前記第一制御ユニットへ第二トリガ信号を送信し、
前記第一制御ユニットは、前記レジスタに故障が設定されていた場合に、前記第二トリガ信号を受信した時の前記第一カウンタの計数値を用いて、前記第二カウンタの計数値との差分を求め、前記差分に基づいて前記第一カウンタの計数周期を調整して前記第一ＰＷＭ信号を前記第二ＰＷＭ信号と同期制御させ、または前記第一ＰＷＭ信号を生成する前記第一カウンタの計数値を調整して前記第一ＰＷＭ信号を前記第二ＰＷＭ信号と同期制御させる制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は半導体装置に関し、例えば電動機を制御する半導体装置に適用可能である。
【背景技術】
【０００２】
一般的に、マイクロコントローラ（microcontroller：以下、ＭＣＵという。）にはタイマカウンタユニットが内蔵されている。タイマカウンタユニットは、任意の間隔で入力された信号（イベント）の数を計数し、個数を示したり、一定間隔で入力される信号を計数することで、時間の経過を示したりするカウンタと、カウンタの計数値と比較するための値を設定するコンペアレジスタと、外部から入力された信号により、そのときのカウンタの計数値を取り込むキャプチャレジスタと、を備える。コンペアレジスタを使用することで、設定した値と計数値が一致したら出力を変化させるといった動作を行う。この動作を利用すると、信号を変化させることが可能であり、例えば、パルス信号やＰＷＭ（Pulse Width Modulation）信号を生成し出力することが可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１６／１３５８４０号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数のＭＣＵのタイマカウンタユニットで生成される制御信号はスイッチングノイズにより干渉する。スイッチングノイズによる制御信号の干渉とは、例えば、第一のＭＣＵの制御信号の出力端子電圧がハイレベルのとき、第二のＭＣＵの制御信号の出力端子電圧がハイレベルからローレベルになると、第一のＭＣＵの出力端子電圧がローレベルに一瞬なるという信号の干渉が生じるということである。制御信号の干渉は、例えば、第一のＭＣＵのタイマカウンタユニットのカウンタと第二のＭＣＵのタイマカウンタユニットのカウンタとの計数の開始タイミングがずれたことにより生じる。これは二つの中央処理装置（Central Processing Unit：以下、ＣＰＵという。）が実行するソフトウェアプログラムが異なったり、二つのＣＰＵのクロックが異なったりした場合に生じる。
その他の課題と新規な特徴は、本開示の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００５】
本開示のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
すなわち、半導体装置は、クロック信号のクロック数を第一所定値まで周期的に計数する第一カウンタを有し、第一カウンタの計数値と第二所定値と第三所定値とを用いて制御信号を生成および出力し、第一カウンタの計数値が第四所定値になると第一トリガ信号を出力するよう構成される第一装置と、クロック信号のクロック数を第一所定値まで周期的に計数する第二カウンタを有し、第二カウンタの計数値と第二所定値と第三所定値を用いて制御信号を生成および出力する第二装置と、を備える。第二装置は、第一トリガ信号を入力した時の第二カウンタの計数値を用いて、第一カウンタの計数値との差分を求め、差分に基づいて第二カウンタの計数周期を調整するよう構成される。
【発明の効果】
【０００６】
上記半導体装置によれば、カウンタの計数の開始タイミングのずれによる制御信号のずれを低減することが可能になる。
【図面の簡単な説明】
【０００７】
【図１】ＭＣＵの構成を示すブロック図である。
【図２】図１のタイマカウンタユニットの構成を示すブロック図である。
【図３】カウンタおよび制御信号の波形を説明する図である。
【図４】複数の制御信号の波形を説明する図である。
【図５】冗長化された制御ユニットを説明する図である。
【図６】図５の制御ユニットの親子判定のシーケンス図である。
【図７】比較例の親子のＭＣＵの構成を示すブロック図である。
【図８】図７のタイマカウンタユニットのブロック図である。
【図９】図７の親子のカウンタおよび制御信号の波形図である。
【図１０】実施形態の親子のＭＣＵの構成を示すブロック図である。
【図１１】図１０のタイマカウンタユニットを示すブロック図である。
【図１２】第一方法による同期を説明するための図であり、親子のカウンタおよび子の制御信号の波形図である。
【図１３】第二方法による同期を説明するための図であり、親子のカウンタおよび親子の制御信号の波形図である。
【図１４】同期を行わない場合を説明する図であり、親子のカウンタの波形図である。
【図１５】実施例の電動機および電動機制御装置の構成を示すブロック図である。
【図１６】図１５の親子のＭＣＵの構成を示すブロック図である。
【図１７】図１６のタイマカウンタユニットを示すブロック図である。
【図１８】図１５の親子のカウンタおよび親子の制御信号の波形図である。
【図１９】第一変形例の親子のＭＣＵの構成を示すブロック図である。
【図２０】同期を行わない親子のカウンタの波形図である。
【図２１】同期をとった親子のカウンタの波形図である。
【図２２】第二変形例の二つのＭＣＵの構成を示すブロック図である。
【図２３】図２２のタイマカウンタユニットを示すブロック図である。
【図２４】二つの電力変換装置の相互監視において正常な場合を示すシーケンス図である。
【図２５】二つの電力変換装置の相互監視において子の電力変換装置が故障した場合を示すシーケンス図である。
【図２６】二つの電力変換装置４ａの相互監視において親の電力変換装置が故障した場合を示すシーケンス図である。
【図２７】親のＭＣＵの故障監視のフローチャートである。
【図２８】子のＭＣＵの故障監視のフローチャートである。
【図２９】第三変形例の二つの電力変換装置４ａの相互監視において親の電力変換装置４ａが故障した場合を示すシーケンス図である。
【図３０】子のＭＣＵの故障監視のフローチャートである。
【発明を実施するための形態】
【０００８】
以下、実施形態、実施例および変形例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
【０００９】
まず、タイマカウンタによる制御信号の生成について図１〜３を用いて説明する。図１はＭＣＵの構成を示すブロック図である。図２は図１のタイマカウンタユニットの構成を示すブロック図である。図３は制御信号の波形を説明する図である。図４は複数の制御信号の波形を説明する図である。
【００１０】
図１に示すように、制御ユニットであるＭＣＵ１はＣＰＵ１１とソウトウェアプログラム等を格納するメモリ（ＭＭＲＹ）１２とタイマカウンタユニット（ＴＣＵ）１３Ｒとを備える。
【００１１】
図２に示すように、タイマカウンタユニット１３Ｒは、与えられたクロック信号（ＣＬＫ）によりカウントアップするカウンタ（ＣＮＴＲ）１３１と、レジスタ１３２，１３３，１３４と、比較器（ＣＭＰ）１３５，１３６，１３８と、エッジ検出回路１３７と、備える。レジスタ１３３，１３４はいわゆるコンペアレジスタである。
【００１２】
計数周期を与える値をＡとし、デューティ比に関与する値をＢ、Ｃとする。これらＡ、Ｂ、Ｃの値はレジスタ１３２，１３３，１３４に設定される。図３に示すように、カウンタ（ＣＮＴＲ）１３１は計数値（ＣＮＴ）が０からカウントアップし、計数値（ＣＮＴ）がＡに達すると０に戻り、再びカウントアップするようになっている。すなわち、カウンタ１３１は周期Ａでの自走カウンタである。また、図３に示すように、タイマカウンタユニット１３はカウンタ１３１の計数値（ＣＮＴ）と指示された値（Ｂ）を比較器１３５で比較し、カウンタ１３１の計数値（ＣＮＴ）の方が小さい場合に制御信号（ＣＳ）はＬを、大きい場合に制御信号（ＣＳ）はＨを出すようになっている。また、カウンタ１３１の計数値（ＣＮＴ）と指示された値（Ｃ）を比較器１３６で比較し、カウンタ１３１の計数値（ＣＮＴ）の方が小さい場合に制御信号（ＣＳ）はＨを、大きい場合に制御信号（ＣＳ）はＬを出すようになっている。その結果、制御信号（ＣＳ）は、０＜ＣＮＴ＜ＢではＬが、Ｂ＜ＣＮＴ＜ＣではＨが、Ｃ＜ＣＮＴ＜ＡではＬが出力され、この出力が繰り返し継続されることになる。ここでＡは計数周期を与え、Ｃ−Ｂはデューティ比を決めることになる。正確には元になるクロックの周期×Ａで計数周期が決まり、（Ｃ−Ｂ）÷Ａがデューティ比を表すことになる。
【００１３】
ＣＰＵ１１はＡ、Ｂ、Ｃの値をタイマカウンタユニット１３Ｒのレジスタ１３２，１３３，１３４に与えることによりカウンタ１３１の計数が開始され、制御信号（ＣＳ）が出力される。
【００１４】
なお、レジスタ１３３，１３４および比較器１３５，１３６を複数組、例えば３組備え、Ａ，Ｂ１，Ｃ１，Ｂ２，Ｃ２, Ｂ３, Ｃ３を設定することにより、図４に示すように、一つのカウンタ１３１の計数値（ＣＮＴ）に基づいて、複数の制御信号（ＣＳ１，ＣＳ２，ＣＳ３）を出力することができる。
【００１５】
次に、冗長化された制御装置について図５、６を用いて説明する。図５は冗長化された制御装置を説明する図である。図６は図５の制御ユニットの親子判定のフローチャートである。
【００１６】
制御装置は故障時の対策のため冗長化されることがある。例えば、図５に示すように、一つの制御対象５ＲはＭＣＵ１ＲａおよびＭＣＵ１Ｒｂの二つの制御ユニットで制御されることがある。これにより、例えば、ＭＣＵ１Ｒａが故障しても、ＭＣＵ１Ｒｂで制御対象５Ｒを制御することができる。なお、ＭＣＵ１ＲａおよびＭＣＵ１Ｒｂは、ＭＣＵ１Ｒと同じ構成であり、ＭＣＵ１Ｒａの構成要素には符号に「ａ」を付し、ＭＣＵ１Ｒｂの構成要素には符号に「ｂ」を付している。
【００１７】
ＭＣＵ１ＲａおよびＭＣＵ１Ｒｂは、それぞれ独立して動作するソフトウェアプログラムにより親子を判定後、一方を親、他方を子と設定する。例えば、図６に示すように、ＭＣＵ１ＲａおよびＭＣＵ１ＲｂはＭＣＵ１ＲａとＭＣＵ１Ｒｂとの間の結線が正常であることを確認する（ステップＳ１）。
【００１８】
次に、ＭＣＵ１ＲａはＭＣＵ１Ｒａで生成した乱数（ＲＡ）をＭＣＵ１Ｒｂに送信する（ステップＳ２ａ）。また、ＭＣＵ１ＲｂはＭＣＵ１Ｒｂで生成した乱数（ＲＢ）をＭＣＵ１Ｒａに送信する（ステップＳ２ｂ）。
【００１９】
次に、ＭＣＵ１Ｒａは、ＲＡ＞ＲＢならば自身のＭＣＵであるＭＣＵ１Ｒａを親、相手方ＭＣＵであるＭＣＵ１Ｒｂを子と判定し、ＲＡ＜ＲＢならばＭＣＵ１Ｒａを子、ＭＣＵ１Ｒｂを親と判定する（ステップＳ３ａ）。ＭＣＵ１Ｒｂは、ＲＡ＞ＲＢならば相手方ＭＣＵであるＭＣＵ１Ｒａを親、自身のＭＣＵであるＭＣＵ１Ｒｂを子と判定し、ＲＡ＜ＲＢならばＭＣＵ１Ｒａを子、ＭＣＵ１Ｒｂを親と判定する（ステップＳ３ｂ）。よって、ＭＣＵ１ＲａおよびＭＣＵ１Ｒｂは異なるソフトウェアプログラムの処理が実行される。
【００２０】
その後、ＭＣＵ１ＲａおよびＭＣＵ１Ｒｂはそれぞれのソフトウェアプログラムによる動作により、制御対象５Ｒの制御を開始する。しかし、親と子は、それぞれ独立したソフトウェアプログラムにより制御対象５Ｒの制御を開始するため、タイマカウンタユニットへのＡ、Ｂ、Ｃの値を設定するタイミングが異なり、カウンタの計数の開始タイミングが互いにずれる。カウンタの計数の開始タイミングがずれると、制御信号の出力がずれる。なお、第一ＭＣＵ１Ｒａを親、第二ＭＣＵ１Ｒｂを子とするように親子関係が固定されている場合は同じソフトウェアプログラムが同時に実行されるので親子間でカウンタの計数の開始タイミングはずれないが、親子関係が固定されている場合であっても親子別々のクロックでカウンタが動作する場合は、親子間でカウンタの計数の開始タイミングがずれることがある。
【００２１】
次に、比較例の二つのＭＣＵに内蔵されたカウンタの計数の開始タイミングの同期について図７〜９を用いて説明する。図７は比較例の親子のＭＣＵの構成を示すブロック図である。図８は図７のタイマカウンタユニットのブロック図である。図９は親子のカウンタおよび制御信号の波形図である。
【００２２】
図７に示すように、比較例のＭＣＵ１ＳａはＣＰＵ１１ａとソウトウェアプログラム等を格納するメモリ（ＭＭＲＹ）１２ａとタイマカウンタユニット（ＴＣＵ）１３Ｓａとを備える。ＭＣＵ１ＳｂはＣＰＵ１１ｂとソウトウェアプログラム等を格納するメモリ（ＭＭＲＹ）１２ｂとタイマカウンタユニット（ＴＣＵ）１３Ｓｂとを備える。なお、ＣＰＵ１１ａとＣＰＵ１１ｂと、メモリ１２ａとメモリ１２ｂと、タイマカウンタユニット１３Ｓａとタイマカウンタユニット１３Ｓｂと、はそれぞれ同じ構成である。
【００２３】
図８に示すように、タイマカウンタユニット１３Ｓａ，１３Ｓｂは、与えられたクロック信号（ＣＬＫ）によりカウントアップするカウンタ（ＣＮＴＲ）１３１Ｓと、レジスタ１３２，１３３，１３４と、比較器（ＣＭＰ）１３５，１３６，１３８と、エッジ検出回路１３７と、備える。カウンタ（ＣＮＴＲ）１３１は、計数値がＡになった場合にトリガ信号（ＴＲＧＲ）を出力する機能（比較器１３８）と、入力されたトリガ信号（ＴＲＧＲ）によって計数値を０にリセットする機能（論理積ゲート１３９および論理和ゲート１４５）と、を備える。ただし、タイマカウンタユニットが子であることを示す信号（ＳＬＶ）がＨの場合に、トリガ信号（ＴＲＧＲ）は論理積ゲート１３９によりにカウンタ１３１に入力される。
【００２４】
ここで、図６の親子判定によってＭＣＵ１Ｓａが親、ＭＣＵ１Ｓｂが子と判定されたとして以下説明する。なお、子のＭＣＵ１Ｓｂは親のＭＣＵ１Ｓａに従属する。
【００２５】
図９に示すように、親のＭＣＵ１Ｓａのカウンタ１３１の計数値（ＣＮＴＰ）がＡになった時に、親のＭＣＵ１Ｓａはトリガ信号（ＴＲＧＲ）を子のＭＣＵ１Ｓｂに送出する。子のＭＣＵ１Ｓｂのカウンタ１３１はトリガ信号（ＴＲＧＲ）によりリセットされ、子のカウンタ１３１の計数値（ＣＮＴＣ）を親のカウンタ１３１の計数値（ＣＮＴＰ）に合わせ、子のカウンタ１３１の計数の開始タイミングを親のカウンタ１３１の計数の開始タイミングと同期させる。
【００２６】
図９に示すように、比較例では、上記の同期により子のカウンタ１３１の計数値（ＣＮＴＣ）が最大値に到達せずに０となるため、パルスが消失し、親の制御信号（ＣＳＰ）と子の制御信号（ＣＳＣ）が異なることがある。つまり、子の計数値（ＣＮＴＣ）が制御信号（ＣＳＣ）をＨからＬにする計数値（Ｃ）に到達しないまま０になるため、子の制御信号（ＣＳＣ）が通常の周期を超えて出力し続ける。このため、親の制御信号（ＣＳＰ）と子の制御信号（ＣＳＣ）が異なる。
【００２７】
次に、比較例の課題を解決する実施形態の二つのＭＣＵに内蔵されたカウンタの計数の開始タイミングの同期について図１０〜１４を用いて説明する。図１０は実施形態の親子のＭＣＵの構成を示すブロック図である。図１１は図１０のタイマカウンタユニットを示すブロック図である。図１２は第一方法による同期を説明するための図であり、親子のカウンタおよび子の制御信号の波形図である。図１３は第二方法による同期を説明するための図であり、親子のカウンタおよび親子の制御信号の波形図である。図１４は同期を行わない場合を説明する図であり、親子のカウンタの波形図である。
【００２８】
図１０に示すように、ＭＣＵ１ａはＣＰＵ１１ａとソウトウェアプログラム等を格納するメモリ（ＭＭＲＹ）１２ａとタイマカウンタユニット（ＴＣＵ）１３ａとを備える。ＭＣＵ１ｂはＣＰＵ１１ｂとソウトウェアプログラム等を格納するメモリ（ＭＭＲＹ）１２ｂとタイマカウンタユニット（ＴＣＵ）１３ｂとを備える。なお、ＣＰＵ１１ａとＣＰＵ１１ｂと、メモリ１２ａとメモリ１２ｂと、タイマカウンタユニット１３ａとタイマカウンタユニット１３ｂと、はそれぞれ同じ構成である。
【００２９】
図１１に示すように、タイマカウンタユニット１３ａ，１３ｂは、与えられたクロック信号（ＣＬＫ）によりカウントアップするカウンタ（ＣＮＴＲ）１３１と、レジスタ１３２，１３３，１３４，１４０，１４３と、比較器（ＣＭＰ）１３５，１３６，１３８，１４１と、エッジ検出回路１３７と、備える。レジスタ１３３，１３４，１４０はいわゆるコンペアレジスタであり、レジスタ１４３はいわゆるキャプチャレジスタである。カウンタ（ＣＮＴＲ）１３１は、計数値がレジスタ１４０の内容（例えばＤ）になった場合にトリガ信号（ＴＲＧＲ）を出力する機能（比較器１４１）と、入力されたトリガ信号（ＴＲＧＲ）によって計数値をレジスタ１４３に格納する機能（論理積ゲート１４２）と、を備える。ただし、タイマカウンタユニットが子（第二モードで動作する）であることを示す信号（ＳＬＶ）がＨの場合に出力され、親（外部装置）から入力されたトリガ信号（ＴＲＧＲ）は論理積ゲート１４２によりレジスタ１４３に入力される。エッジ検出回路１３７は比較器１３５の一致信号の立上がりに基づいて制御信号（ＣＳ）を立ち上げ、比較器１３６の一致信号の立上がりに基づいて制御信号（ＣＳ）を立ち下げる。制御信号（ＣＳ）は出力回路を介してＭＣＵ１ａ，１ｂの外に出力される。比較器１４１の一致信号はトリガ信号（ＴＲＧＲ）として出力回路を介してＭＣＵ１ａ，１ｂの外に出力される。なお、タイマカウンタユニットが第二モードで動作する場合、レジスタ１４０にカウンタ１３１の計数値と一致することがない値を設定し、比較器１４１から一致信号が出力されない、すなわちトリガ信号（ＴＲＧＲ）が出力されないようにしてもよい。
【００３０】
ここで、図６の親子判定によりＭＣＵ１ａが親、ＭＣＵ１ｂが子と判定されたとして以下説明する。この場合、親のタイマカウンタユニット１３ａは第一モードで動作し、子のタイマカウンタユニット１３ｂは第二モードで動作する。
【００３１】
図１２に示すように、親のＭＣＵ４ａのカウンタ１３１の計数値（ＣＮＴＰ）があらかじめ決められた値（Ｄ）になった時に、親のＭＣＵ４ａはトリガ信号（ＴＲＧＲ）を子のＭＣＵ４ｂに送出する。子のＭＣＵ４ｂのカウンタ１３１の計数値（ＣＮＴＣ）はトリガ信号（ＴＲＧＲ）によりレジスタ１４３に格納される。子のＭＣＵ１ｂはそのときの計数値（ＣＮＴＣ）のＤとＥの差分により親のカウンタ１３１の計数の開始タイミングと子のカウンタ１３１の計数の開始タイミングとの時間差（ＴＦ）を求める。第一方法の同期では、計数値（ＣＮＴＣ）の最大値（Ａ）の到達までの計数周期（ＴＧ＝ＴＡ−ＴＦ）を調整する（ＴＡ：親の計数周期）。計数周期の調整は、例えばＰＬＬ（Phase Locked Loop）で構成されるクロック発生器の電圧制御発振器（ＶＣＯ）の電圧をＣＰＵ１１ｂがＴＧ＝ＴＡ−ＴＦに基づいて制御することにより行う。これにより、親のカウンタ１３１と子のカウンタ１３１の計数の開始タイミングを同期することができる。
【００３２】
図１３に示すように、第二方法の同期では、親のＭＣＵ４ａのカウンタ１３１の計数値（ＣＮＴＰ）があらかじめ決められた値（Ｄ）になった時に、親のＭＣＵ４ａはトリガ信号（ＴＲＧＲ）を子のＭＣＵ４ｂに送出する。子のＭＣＵ４ｂのカウンタ１３１の計数値（ＣＮＴＣ）はトリガ信号（ＴＲＧＲ）によりレジスタ１４３に格納される。子のＭＣＵ１ｂはそのときの計数値（ＣＮＴＣ）のＤとＥの差分により制御信号（ＣＳＣ）をＬからＨにする計数値（Ｂ）とＨからＬにする計数値（Ｃ）を調整する。すなわち、ＣＰＵ１１ｂはＢ’＝Ｂ−（Ｄ−Ｅ）、Ｃ’＝Ｃ−（Ｄ−Ｅ）を求めてレジスタ１３３，１３４に設定する。これにより、親の制御信号（ＣＳＰ）と子の制御信号（ＣＳＣ）の立上がりおよび立下がりを同期することができる。
【００３３】
実施形態の第一方法では、各ＭＣＵ１ａ，１ｂのカウンタ１３１の計数値（ＣＮＴＰ、ＣＮＴＣ）を比較し、計数値（ＣＮＴＰ、ＣＮＴＣ）の差分を補正するよう一方の計数周期を補正する。実施形態の第一方法は計数周期を調整し、カウンタ１３１の最大値は補正前と変えない。第二方法では、各ＭＣＵ１ａ，１ｂのカウンタ１３１の計数値（ＣＮＴＰ、ＣＮＴＣ）を比較し、計数値（ＣＮＴＰ、ＣＮＴＣ）の差分を補正するよう一方の計数値（Ｂ）および計数値（Ｃ）を補正する。第二方法は計数値（Ｂ）および計数値（Ｃ）を調整し、カウンタ１３１の最大値は補正前と変えない。このため、いずれの方法でも制御信号（ＣＳＰ、ＣＳＣ）をＨからＬにする計数値（Ｃ）に達する前に、同期のために計数値を０に戻すことは無くなる。
【００３４】
本実施形態は、図１４に示すように、同期を固定周期毎に行うのでなく、計数値の差分が所定のしきい値（Ｔｈ）を超えた場合に行うのが好ましい。すなわち、｜Ｄ−Ｅ１｜≦Ｔｈｃ、｜Ｄ−Ｅ２｜≦Ｔｈｃ、｜Ｄ−Ｅ３｜≦Ｔｈｃの場合には同期動作を行わない。これにより、同期をとる回数を削減し、ＣＰＵ負荷を削減することができる。
【実施例】
【００３５】
三相モータ等の電動機を駆動源として被駆動対象を駆動する電動駆動装置の例として、車両に搭載される電動パワーステアリング装置について説明する。この電動パワーステアリング装置は、車両の運転者がステアリングに加えた操舵トルクに対応した出力トルクを電動機に発生させるように電動機制御装置により電動機を駆動し、この電動機の出力トルクをアシストトルクとしてステアリングシャフトに加えて運転者の操舵をアシストする。
【００３６】
電動機制御装置について図１５を用いて説明する。図１５は実施例の電動機および電動機制御装置の構成を示すブロック図である。図１６は図１５の親子のＭＣＵの構成を示すブロック図である。図１７は図１６のタイマカウンタユニットを示すブロック図である。図１８は親子のカウンタおよび親子の制御信号の波形図である。
【００３７】
電動パワーステアリング装置は、図１５に示すように、例えば、一つの電動機５に二組のステータ巻線（不図示）を有し、この二組のステータ巻線を独立に制御できる二組の電力変換装置（インバータ）４ａ，４ｂを有した電動機制御装置１０を備える。電力変換装置４ａ，４ｂは直流電源６ａ，６ｂから供給される直流電力を交流電力に変換し、電動機５を制御する。電力変換装置４ａ，４ｂは、夫々ＣＰＵを備えたＭＣＵ１ａおよびＭＣＵ１ｂを有する。これ等のＭＣＵ１ａおよびＭＣＵ１ｂは、二組の電力変換装置４ａ，４ｂが互いに協同して動作するように、電力変換装置４ａ，４ｂを制御し、一方の電力変換装置に異常が発生したときには、正常に動作している他方の電力変換装置のみで電動機５の駆動を継続させるように構成され、故障に備えて２重系の冗長な制御システムを備えている。
【００３８】
電力変換装置４ａ，４ｂは、スイッチング素子群（ＳＷ）３ａ，３ｂ、スイッチング素子群３ａ，３ｂを駆動する駆動回路（ＤＲＶＲ）２ａ，２ｂおよび駆動回路２ａ，２ｂをＰＷＭ制御するＭＣＵ１ａ，１ｂ等で構成される。スイッチング素子群３ａ，３ｂは、図示しない上アームのＵ相用スイッチング素子、Ｖ相用スイッチング素子、Ｗ相用スイッチング素子および下アームのＵ相用スイッチング素子、Ｖ相用スイッチング素子、Ｗ相用スイッチング素子の６個のスイッチング素子を備え、各スイッチング素子は、例えばＩＧＢＴやパワーＭＯＳＦＥＴ等の電力用半導体装置で構成される。駆動回路２ａ，２ｂは、例えばそれぞれ６個の電力用半導体装置に対応して６個の駆動用半導体装置で構成される。ＭＣＵ１ａおよびＭＣＵ１ｂはそれぞれ、例えばそれぞれ６個の駆動回路用半導体装置に対応して６個のＰＷＭ信号を出力する制御用半導体装置である。
【００３９】
図１６に示すように、ＭＣＵ１ａはＣＰＵ１１ａとソウトウェアプログラム等を格納するメモリ（ＭＭＲＹ）１２ａとタイマカウンタユニット（ＴＣＵ）１３ａとを一つの半導体チップに備える。ＭＣＵ１ｂはＣＰＵ１１ｂとソウトウェアプログラム等を格納するメモリ（ＭＭＲＹ）１２ｂとタイマカウンタユニット（ＴＣＵ）１３ｂとを一つの半導体チップに備える。メモリ１２ａ，１２ｂはフラッシュメモリ等の不揮発性記憶装置とＳＲＡＭ等の揮発性記憶装置とを有する。なお、ＣＰＵ１１ａとＣＰＵ１１ｂと、メモリ１２ａとメモリ１２ｂと、タイマカウンタユニット１３ａとタイマカウンタユニット１３ｂと、はそれぞれ同じ構成である。ＭＣＵ１ａとＭＣＵ１ｂとは同期トリガ線１６ａ，１６ｂで接続されている。ＭＣＵ１ａとＭＣＵ１ｂとは、一つのクロック発生器（ＣＧ）１５で生成される同じクロック信号（ＣＬＯＣＫ）で動作する。
【００４０】
二つの電力変換装置４ａ，４ｂの動作を各々制御する二つのＭＣＵ１ａおよびＭＣＵ１ｂは、図６と同様にそれぞれ独立して動作するソフトウェアプログラムにより親子を判定後、一方を親、他方を子と設定する。なお、電力変換装置４ａを親、電力変換装置４ｂを子に設定されたとして以下説明する。その後、それぞれのソフトウェアプログラムによる動作により、電動機制御を開始する。しかし、親の電力変換装置４ａのＭＣＵ１ａと子の電力変換装置４ａのＭＣＵ１ｂは、それぞれ独立したソフトウェアプログラムにより電動機制御を開始するため、ＰＷＭ制御信号を生成するためのカウンタ１３１の計数の開始タイミングが互いにずれる。
【００４１】
図１７に示すように、実施例のタイマカウンタユニット１３ａ，１３ｂは実施形態（図１１）のタイマカウンタユニット１３ａ，１３ｂと同様な構成である。カウンタ１３１に与えられるクロック信号（ＣＬＫ）はクロック発生器１５で生成されるクロック信号（ＣＬＯＣＫ）を分周したものである。図１７では図示していないが、実施例のタイマカウンタユニット１３ａ，１３ｂはレジスタ１３２，１３３，１３４と比較器（ＣＭＰ）１３５，１３６とエッジ検出回路１３７とを６組備え、上アームのＵ相用ＰＷＭ信号、Ｖ相用ＰＷＭ信号およびＷ相用ＰＷＭ信号と、下アーム用のＵ相用ＰＷＭ信号、Ｖ相用ＰＷＭ信号およびＷ相用ＰＷＭ信号を生成する。
【００４２】
実施例では、電動機制御の開始時のずれを解決するため、親のカウンタ１３１の計数値（ＣＮＴＰ）が、あらかじめ決められた値（例えば、Ａ／２）に達したとき、親のＭＣＵ１ａが子のＭＣＵ１ｂにトリガ信号（ＴＲＧＲ）を送信する。子のＭＣＵ１ｂはそのときの計数値（Ｅ）と親の計数値（Ａ／２）の差分により、ＰＷＭ信号（ＰＷＭＣ）をＬからＨにする計数値（Ｂ）およびＰＷＭ信号（ＰＷＭＣ）をＨからＬにする計数値（Ｃ）を調整する。
【００４３】
以下、図１８を用いて詳細に説明する。
（ａ）親のカウンタ１３１の計数値（ＣＮＴＰ）がＡ／２に到達したら、親のタイマカウンタユニット１３ａは、子のタイマカウンタユニット１３ｂにトリガ信号（ＴＲＧＲ）を送信する。
（ｂ）子のＭＣＵ１ｂのＣＰＵ１ｂは、トリガ信号（ＴＲＧＲ）を受信したタイミングにおける子のカウンタ１３１の計数値（Ｅ）と親のカウンタ１３１の計数値（Ａ／２）を用いて親子のカウンタ１３１の計数の開始タイミングのずれに対応する計数値の差分（Ａ／２−Ｅ）を算出する。
（ｃ）（Ａ／２−Ｅ）＞Ｔｈｃの場合、子のＣＰＵ１ｂは、次のＰＷＭ信号（ＰＷＭＣ）をＬからＨにする計数値（Ｂ’）およびＰＷＭ信号（ＰＷＭＣ）をＨからＬにする計数値（Ｃ’）を（ｂ）の結果を考慮して求める。調整結果は、Ｂ’＝Ｂ−（Ａ／２−Ｅ）、Ｃ’＝Ｃ−（Ａ／２−Ｅ）となる。ＣＰＵ１ｂはＢ’およびＣ’をレジスタ１３３，１３４に設定する。
（ｄ）上記（ｃ）の調整に基づき、子のＰＷＭ信号（ＰＷＭＣ）のタイミングは、親のＰＷＭ信号（ＰＷＭＰ）のタイミングと一致する。
【００４４】
なお、カウンタ１３１の計数周期（ＰＷＭ周期）は、例えば１００μｓ程度であり、ＣＰＵの動作クロック信号の周波数は、例えば８０ＭＨｚ（１２．５ｎｓ）程度である。
【００４５】
本実施例ではカウンタ１３１は補正前と同様に最大値（Ａ）まで計数する。このため、比較例のように制御信号であるＰＷＭ信号のパルスが意図せずに次のパルスまで連続したり、意図せずに消失したりすることはない。
【００４６】
二つのＣＰＵが実行するソフトウェアプログラムが異なっても、一方のＭＣＵのタイマカウンタユニットのカウンタと他方のＭＣＵのタイマカウンタユニットのカウンタとの開始タイミングのずれを補正することができる。
【００４７】
二つのＭＣＵの同期タイミングは固定周期でなく、二つのＭＣＵの計数値の差分がしきい値を超えたときにのみ行うのでＣＰＵの負担を軽減することができる。
【００４８】
以上により、複数のＭＣＵのタイマカウンタユニットで生成されるＰＷＭ信号への、スイッチングノイズによる干渉を低減することができる。
【００４９】
二つの電力変換装置の制御タイミングの同期が可能になるので、電動機の出力トルクのトルクリップルを低減することができる。電動パワーステアリング装置は、電動機の出力トルクのトルクリップルに敏感に反応するが、トルクリップルを低減することができるので、電動機の出力トルクは脈動することなく円滑になり運転の快適性が確保できる。
【００５０】
電動機制御装置を冗長化することができるので、車両に搭載される電動パワーステアリング装置の故障に対する十分な対応策を講じることで、車両の安全を確保することができる。
【００５１】
＜変形例＞
以下、実施例の代表的な変形例について、幾つか例示する。以下の変形例の説明において、上述の実施例にて説明されているものと同様の構成および機能を有する部分に対しては、上述の実施例と同様の符号が用いられ得るものとする。そして、かかる部分の説明については、技術的に矛盾しない範囲内において、上述の実施例における説明が適宜援用され得るものとする。また、上述の実施例の一部、および、複数の変形例の全部または一部が、技術的に矛盾しない範囲内において、適宜、複合的に適用され得る。
【００５２】
（第一変形例）
第一変形例のＭＣＵについて図１９〜２１を用いて説明する。図１９は第一変形例の親子のＭＣＵの構成を示すブロック図である。図２０は同期を行わない場合の親子のカウンタの波形図である。図２１は同期をとった場合の親子のカウンタの波形図である。
【００５３】
実施例では、二つのＭＣＵ１ａおよびＭＣＵ１ｂは、同じクロック発生器１５のクロック信号（ＣＬＯＣＫ）で動作する。一方、第一変形例では、図１９に示すように、ＭＣＵ１Ａａはクロック発生器１５ａのクロック信号（ＣＬＯＣＫ１）で動作し、ＭＣＵ１Ａｂはクロック発生器１５ｂのクロック信号（ＣＬＯＣＫ２）で動作する。
【００５４】
実施例と同様に親のカウンタ１３１が、あらかじめ決められた値（Ａ／２）に達したとき、親のＭＣＵ１Ａａが子のＭＣＵ１Ａｂにトリガ信号を送信（ＴＲＧＲ）し、子のＭＣＵ１ｂは、そのときの計数値の差分（Ａ／２−Ｅ）がしきい値（Ｔｈｃ）超える場合は、子のカウンタ１３１の計数の開始から計数値（ＣＮＴＣ）の最大値（Ａ）に到達までの計数周期（ＰＷＭ周期）を調整する。一方、Ａ／２−Ｅがしきい値（Ｔｈｃ）以下ならば、子のＭＣＵ１Ａｂは何もしない。以降も親のＭＣＵ１Ａａは、カウンタ１３１が決められた値（Ａ／２）に達すると、トリガ信号（ＴＲＧＲ）を送信する。つまり、定期的にトリガ信号（ＴＲＧＲ）を送信する。
【００５５】
第一変形例の構成では、親のＭＣＵ１Ａａのクロック発生器（ＣＧ）１５ａと子のＭＣＵ１Ａｂのクロック発生器（ＣＧ）１５ｂが異なる。このため、ＣＰＵ１１ａがタイマカウンタユニット１３ａのレジスタ１３２に計数値（Ａ）を設定し、ＣＰＵ１１ｂがタイマカウンタユニット１３ｂのレジスタ１３２に同じ計数値（Ａ）を設定しても、親のカウンタ１３１の計数値（ＣＮＴＰ）がＡに達するまでの時間（ＴＡ）と、子のカウンタ１３１の計数値（ＣＮＴＣ）がＡに達するまでの時間（ＴA'）は異なる。したがって、親のカウンタ１３１の計数の開始タイミングと子のカウンタ１３１の計数の開始タイミングとが同じであっても、親のカウンタ１３１の計数値（ＣＮＴＰ）がＡに達するまでの時間（ＴＡ）と子のカウンタ１３１の計数値（ＣＮＴＣ）がＡに達するまでの時間（ＴA'）がずれ、カウンタ１３１の計数の開始タイミングがずれる可能性がある。
【００５６】
上述したように、（Ａ／２−Ｅ）がしきい値（Ｔｈｃ）以下ならば、子のＭＣＵ１Ａｂは何もしないので、図２０に示すように、カウンタ１３１の計数の開始タイミングのずれは蓄積する（ＴＤＦ１＜ＴＤＦ２＜ＴＤＦ３＜ＴＤＦ４）。一方、（Ａ／２−Ｅ）がしきい値（Ｔｈｃ）超える場合は子のＭＣＵ１Ａｂは計数値の最大値（Ａ）の到達までの計数周期を調整する。
【００５７】
以下、図２１を用いて詳細に説明する。
（ａ１）親のカウンタ１３１の計数値（ＣＮＴＰ）がＡ／２に到達したら、親のタイマカウンタユニット１３ａは、子のタイマカウンタ１３ｂにトリガ信号（ＴＲＧＲ）を送信する。ここで、親のカウンタ１３１の計数期間（計数値が０〜Ａになるまでの時間）をＴＡとする。
（ｂ１）子のＭＣＵ１ＡｂのＣＰＵ１ｂは、トリガ信号（ＴＲＧＲ）を受信したタイミング、つまり、子のカウンタ１３１の計数値（ＣＮＴＣ）のＥ１における子のタイミング値（ＴＥ１）と親のタイミング値（ＴＡ／２）を用いて親子の開始タイミングのずれ（ＴＡ／２−ＴＥ１）を算出する。ここで、子のカウンタ１３１の計数期間（計数値が０〜Ａになるまでの時間）をＴＡ’とする。
（ｃ１）（ＴＡ／２−ＴＥ１）＞Ｔｈの場合、子のＣＰＵ１ｂは、次の計数期間を（ｂ）の結果を考慮して求める。調整結果は、ＴＡ’−（ＴＡ／２−ＴＥ１）となる。この期間内に子のカウンタ１３１の計数値（ＣＮＴＣ）が最大値のＡに到達するように計数期間（計数周期）を調整する。
（ｄ１）上記（ｃ１）の調整に基づき、子のカウンタ１３１の計数値（ＣＮＴＣ）は、親のカウンタ１３１の計数値（ＣＮＴＰ）と一致する。
（ｅ１）上記（ａ１）〜（ｄ１）を繰り返す。
計数周期の調整は、例えばクロック発生器１５ａ，１５ｂを構成するＰＬＬのＶＣＯの制御電圧を変更して行う。ＶＣＯは制御電圧が上がると出力周波数が高くなる特性を有するので、計数周期を短くする場合は、ＣＰＵ１１ａ，１１ｂはＶＣＯの制御電圧を高くするようクロック発生器１５ａ、１５ｂを制御する。例えば、ＶＣＯの制御電圧と出力周波数との関係を予め測定してテーブル化し、メモリ１２ａ，１２ｂの不揮発性記憶装置に格納しておく。ＣＰＵ１１ａ，１１ｂはこのテーブルを参照して所望の制御電圧を得る。
【００５８】
第一変形例では、親子のカウンタの計数値の差分を検出し、計数値の差分が一定しきい値を超えた場合にのみ、同期トリガを出力して同期を取るようにしている。このため、二つの制御ユニットが互いに異なるクロック発生器のクロック信号で動作することで、常に、同期がずれる可能性が有っても、常時同期を取る必要が無い。これにより、同期を取る回数を削減し、同期を取るためのＣＰＵ負荷を削減できる。二つのＭＣＵのクロック発生器のクロック信号が異なっても、同期をとることができる。
【００５９】
実施例では一つしかないクロック発生器が故障すると、電動機５の制御を継続できない。しかし、第一変形例では、ＭＣＵ毎にクロック発生器を有するので、一方のクロック発生器が故障しても、他方のクロック発生器を有するＭＣＵにより電動機５の制御を継続することができる。これにより、冗長性を高め、安全性を高めることが可能になる。
【００６０】
（第二変形例）
二つの制御装置である電力変換装置の相互監視について図２２〜２８を用いて説明する。
【００６１】
図２２は第二変形例の二つのＭＣＵの構成を示すブロック図である。図２３は図２２のタイマカウンタユニットを示すブロック図である。図２４は二つの電力変換装置の相互監視において正常な場合を示すシーケンス図である。図２５は二つの電力変換装置の相互監視において子の電力変換装置が故障し、故障から復帰した場合を示すシーケンス図である。図２６は二つの電力変換装置の相互監視において親の電力変換装置が故障し、故障から復帰した場合を示すシーケンス図である。図２７は親のＭＣＵの故障監視のフローチャートである。図２８は子のＭＣＵの故障監視のフローチャートである。
【００６２】
図２２に示すように、ＭＣＵ１ＢａとＭＣＵ１Ｂｂとはタイマカウンタユニット（ＴＣＵ）を除いて実施例のＭＣＵ１ａとＭＣＵ１ｂ同様な構成である。
【００６３】
図２３に示すように、タイマカウンタユニット（ＴＣＵ）１３Ｂａ，１３Ｂｂは、実施例のタイマカウンタユニット（ＴＣＵ）１３ａ，１３ｂにおいて、さらに入力されるトリガ信号（ＴＲＧＲ）でセットされるレジスタ１４４を備える。ＣＰＵがレジスタ１４４の内容を読み出した後、レジスタ１４４はリセットされる。追加されたレジスタ１４４を除いた部分は、実施例または第一変形例と同様な動作を行う。
【００６４】
実施例では、親の電力変換装置のＭＣＵと子の電力変換装置のＭＣＵは定期的にトリガ信号（ＴＲＧＲ）を送信するが、親のＭＣＵは子のＭＣＵからのトリガ信号を無視している。第二変形例では、親の電力変換装置のＭＣＵと子の電力変換装置のＭＣＵは定期的に自身からトリガ信号（ＴＲＧＲ）を送信し、他方のトリガ信号（ＴＲＧＲ）を受信する。一方は他方からトリガ信号（ＴＲＧＲ）を受信できる場合、他方を正常と判断し、電動機制御（同期制御）を継続する。
【００６５】
図２４に示すように、図６の親子判定で電力変換装置（ＣＮＶＴＲ）４ａが親、電力変換装置（ＣＮＶＴＲ）４ｂが子、と判定されたとして以下説明する。
【００６６】
親の電力変換装置４ａのＭＣＵ１Ｂａと子の電力変換装置４ｂのＭＣＵ１Ｂｂは定期的に自身からトリガ信号（ＴＲＧＲ）を送信し、他方のトリガ信号（ＴＲＧＲ）を受信する（ステップＳ１１ａ，Ｓ１１ｂ）。
【００６７】
図２７に示すように、親のＭＣＵ１Ｂａは子のＭＣＵ１Ｂｂからのトリガ信号（ＴＲＧＲ）があるかどうかをＣＰＵ１１ａがレジスタ１４４の内容を読み出してトリガ信号（ＴＲＧＲ）が入力されているかどうかを確認する（ステップＳ１２ａ）。子のＭＣＵ１Ｂｂからのトリガ信号がある場合、ＣＰＵ１１ａは子の電力変換装置４ｂが正常であると判断する。ＣＰＵ１１ａは子のＭＣＵ１Ｂｂの状態が設定されるレジスタ（不図示）に故障が設定されているかどうかを判断する（ステップＳ１３ａ）。故障が設定されていない場合、ＣＰＵ１１ａは子の電力変換装置４ｂの状態が設定されるレジスタ（不図示）に正常を設定する（ステップＳ１４ａ）。
【００６８】
図２８に示すように、子のＭＣＵ１Ｂｂは親のＭＣＵ１Ｂａからのトリガ信号（ＴＲＧＲ）があるかどうかをＣＰＵ１１ｂがレジスタ１４４の内容を読み出してトリガ信号が入力されているかどうかを確認する（ステップＳ１２ｂ）。親のＭＣＵ１Ｂａからのトリガ信号（ＴＲＧＲ）がある場合、ＣＰＵ１１ｂは親の電力変換装置４ａが正常であると判断する。ＣＰＵ１１ｂは親のＭＣＵ１Ｂａの状態が設定されるレジスタ（不図示）に故障が設定されているかどうかを判断する（ステップＳ１３ｂ）。故障が設定されていない場合、ＣＰＵ１１ｂは親の電力変換装置４ａの状態が設定されるレジスタ（不図示）に正常を設定する（ステップＳ１４ｂ）。
【００６９】
一方は他方からトリガ信号（ＴＲＧＲ）を受信できない場合、他方を故障と判断する。たとえば、図２５に示すように、親（電力変換装置ＣＮＶＴＲ４ａ）のＭＣＵ１Ｂａが子（電力変換装置ＣＮＶＴＲ４ｂ）からのトリガ信号（ＴＲＧＲ）を受信できない場合、親のＭＣＵ１Ｂａは子のＭＣＵ１Ｂｂの故障と判断する。図２７に示すように、子のＭＣＵ１Ｂｂからのトリガ信号がない場合、ＣＰＵ１１ａは子の電力変換装置４ｂが故障と判断し、子の電力変換装置４ｂの状態が設定されるレジスタ（不図示）に故障を設定する（ステップＳ１５ａ）。親のＭＣＵ１Ｂａは電動機制御と、子のＭＣＵ１Ｂｂへのトリガ信号（ＴＲＧＲ）の送信と、子のＭＣＵ１Ｂｂから送られてくるトリガ信号（ＴＲＧＲ）の受信有無判断を継続するが、カウンタ１３１の計数の開始タイミングのずれを調整する同期制御を行わない（ステップＳ１８ａ）。
【００７０】
その後、もし、子の電力変換装置４ｂが復帰したら、子のＭＣＵ１Ｂｂからのトリガ信号（ＴＲＧＲ）が入力されるので、図２７のステップＳ１２ａでＣＰＵ１１ａは子の電力変換装置４ｂは正常と判断する。故障から復帰した場合は、子の電力変換装置４ｂの状態が設定されるレジスタに故障が設定されているので、ステップＳ１３ａでＣＰＵ１１ａは子の電力変換装置４ｂが復帰した判断する。子のＭＣＵ１Ｂｂはカウンタ１３１の計数の開始タイミングのずれを調整した（ステップＳ１６）後、電動機制御（同期制御）を再開する（ステップＳ１７）。
【００７１】
また、図２６に示すように、子のＭＣＵ１Ｂｂが親のＭＣＵ１Ｂａからのトリガ信号（ＴＲＧＲ）を受信できない場合、子のＭＣＵ１Ｂｂは親の電力変換装置４ａの故障と判断する。図２８に示すように、親のＭＣＵ１Ｂａからのトリガ信号（ＴＲＧＲ）がない場合、ＣＰＵ１１ｂは親の電力変換装置４ａが故障と判断し、親の電力変換装置４ａの状態が設定されるレジスタ（不図示）に故障を設定する（ステップＳ１５ｂ）。子のＭＣＵ１Ｂｂは電動機制御と、親のＭＣＵ１Ｂａから送られてくるトリガ信号（ＴＲＧＲ）の受信有無判断を継続するが、カウンタ１３１の計数の開始タイミングのずれを調整する同期制御を行わない（ステップＳ１８ｂ）。
【００７２】
その後、もし、親の電力変換装置４ａが復帰したら、親のＭＣＵ１Ｂａからのトリガ信号（ＴＲＧＲ）が入力されるので、図２８のステップＳ１２ｂでＣＰＵ１１ｂは親の電力変換装置４ａは正常と判断し、故障から復帰した場合は、親の電力変換装置４ａの状態が設定されるレジスタに故障が設定されているので、ステップＳ１３ｂでＣＰＵ１１ｂは親の電力変換装置４ａが復帰した判断する。子のＭＣＵ１Ｂｂはカウンタ１３１の計数の開始タイミングのずれを調整した（ステップＳ１６）後、電動機制御（同期制御）を再開する（ステップＳ１７）。
【００７３】
第二変形例では、相互監視により相手方の電力変換装置故障と復帰を監視することができるので、二つの電力変換装置のどちらか一方が故障から復帰後、二つの電力変換装置による電動機の制御に戻すことができる。
【００７４】
（第三変形例）
第三変形例では、子の電力変換装置は親の電力変換装置を故障と判断した場合、子の電力変換装置が新たに親の電力変換装置になる例であり、図２９、３０を用いて説明する。図２９は二つの電力変換装置の相互監視において親の電力変換装置が故障し、故障から復帰した場合を示すシーケンス図である。図３０は子のＭＣＵの故障監視のフローチャートである。
【００７５】
第三変形例の二つのＭＣＵ１ＢａおよびＭＣＵ１Ｂｂの構成は第二変形例と同様であり、正常時の相互監視の動作は第二変形例と同様である。
【００７６】
図２９に示すように、子のＭＣＵ１Ｂｂが親のＭＣＵ１Ｂａからのトリガ信号（ＴＲＧＲ）を受信できない場合、子のＭＣＵ１Ｂｂは親の電力変換装置４ａの故障と判断する。図３０に示すように、親のＭＣＵ１Ｂａからのトリガ信号（ＴＲＧＲ）がない場合、ＣＰＵ１１ｂは親の電力変換装置４ａが故障と判断し、親の電力変換装置４ａの状態が設定されるレジスタ（不図示）に故障を設定する（ステップＳ１５ｂ）。電力変換装置４ｂは親になり、電力変換装置４ａは子になる（ステップＳ１９ｂ）。以降、ＭＣＵ１Ｂｂは、図２７の親が実行する故障判断フローチャートに従って監視する。ＭＣＵ１Ｂｂは親として電動機制御と、子（旧親）のＭＣＵ１Ｂａから送られてくるトリガ信号（ＴＲＧＲ）の受信有無判断を継続するが、カウンタ１３１の計数の開始タイミングのずれを調整する同期制御を行わない（ステップＳ１８ａ）。
【００７７】
その後、もし、子（旧親）の電力変換装置４ａが復帰したら、子（旧親）のＭＣＵ１Ｂａからのトリガ信号（ＴＲＧＲ）が入力されるので、図２７のステップＳ１２ａでＣＰＵ１１ｂは子（旧親）の電力変換装置４ａは正常と判断する。（旧親）の電力変換装置４ａが故障から復帰した場合は、子（旧親）の電力変換装置４ａの状態が設定されるレジスタに故障が設定されているので、ステップＳ１３ａでＣＰＵ１１ｂは子（旧親）の電力変換装置４ａが復帰した判断する。子（旧親）のＭＣＵ１Ｂａはレジスタに故障が設定されていた場合に、カウンタ１３１の計数の開始タイミングのずれを調整した（ステップＳ１６）後、電動機制御（同期制御）を再開する（ステップＳ１７）。このとき、子（旧親）のＭＣＵ１Ｂａはカウンタ１３１の計数の開始タイミングのずれを調整するので、親（旧子）のＭＣＵ１Ｂｂのカウンタ１３１の計数の開始タイミングが変わることはない。
【００７８】
図３０に示すように、親のＭＣＵ１Ｂａからのトリガ信号（ＴＲＧＲ）がある場合、ＣＰＵ１１ｂは親の電力変換装置４ａが正常であると判断する。なお、第二変形例と異なり、ＣＰＵ１１ｂは親の電力変換装置４ａの状態が設定されるレジスタ（不図示）に故障が設定されているかどうかを判断することなく、親の電力変換装置４ａの状態が設定されるレジスタ（不図示）に正常を設定する（ステップＳ１４ｂ）。電力変換装置４ａが復帰してＭＣＵ１Ｂａがトリガ信号（ＴＲＧＲ）の送信を開始した場合、電力変換装置４ａは親ではなく子になっているからである。
【００７９】
二つの電力変換装置の親子関係を可変にすることができる。
【００８０】
以上、本発明者によってなされた発明を実施形態、実施例、変形例および応用例に基づき具体的に説明したが、本発明は、上記実施形態、実施例、変形例および応用例に限定されるものではなく、種々変更可能であることはいうまでもない。
【００８１】
例えば、実施形態等では、カウントアップするカウンタを例に説明したが、カウントダウンするカウンタであってもよい。
【００８２】
また、第一変形例では実施形態の第一方法で同期をとる例を説明したが、第二方法で同期をとってもよい。
【００８３】
また、第二変形例では二つの制御ユニットは同じクロック発生器からクロック信号が供給される例を説明したが、二つの制御ユニットには異なるクロック発生器からクロック信号を供給してもよい。
【符号の説明】
【００８４】
１ａ、１ｂ・・・ＭＣＵ
１１ａ、１１ｂ・・・ＣＰＵ
１２ａ、１２ｂ・・・メモリ
１３ａ、１３ｂ・・・タイマカウンタユニット
１３１・・・カウンタ
１３２、１３３、１３４、１４０、１４３・・・レジスタ
１３５、１３６、１３８、１４１・・・比較器
１３７・・・エッジ検出回路
【図１】
2020077276.tif 000003
【図２】
2020077276.tif 000004
【図３】
2020077276.tif 000005
【図４】
2020077276.tif 000006
【図５】
2020077276.tif 000007
【図６】
2020077276.tif 000008
【図７】
2020077276.tif 000009
【図８】
2020077276.tif 000010
【図９】
2020077276.tif 000011
【図１０】
2020077276.tif 000012
【図１１】
2020077276.tif 000013
【図１２】
2020077276.tif 000014
【図１３】
2020077276.tif 000015
【図１４】
2020077276.tif 000016
【図１５】
2020077276.tif 000017
【図１６】
2020077276.tif 000018
【図１７】
2020077276.tif 000019
【図１８】
2020077276.tif 000020
【図１９】
2020077276.tif 000021
【図２０】
2020077276.tif 000022
【図２１】
2020077276.tif 000023
【図２２】
2020077276.tif 000024
【図２３】
2020077276.tif 000025
【図２４】
2020077276.tif 000026
【図２５】
2020077276.tif 000027
【図２６】
2020077276.tif 000028
【図２７】
2020077276.tif 000029
【図２８】
2020077276.tif 000030
【図２９】
2020077276.tif 000031
【図３０】
2020077276.tif 000032