(57)【要約】      （修正有）【課題】複数の信号処理部の処理動作を監視する監視回路、監視システム、及びモータ制御システムを提供する。【解決手段】監視回路１は、トリガ判定回路１１、トリガテーブル１２を含む。トリガ判定回路は、複数の信号処理部２ａ〜２ｎから出力される信号処理信号をトリガ信号として入力し、複数の信号処理部の処理動作が所定の順番で実行されているかを判定し、設定外のトリガを検知すると割り込み信号Ｓｓｃｒを出力する。トリガテーブルは、複数の信号処理部にそれぞれ対応するトリガ指定テーブル１３ａ〜１３ｎが設けられ、トリガ判定回路で正しいと判定されたトリガに基づいて次に発生すべきトリガ設定を読み出してテーブル読み出し信号をトリガ判定回路に出力する。【選択図】図１
2019152985.tif 000002
【特許請求の範囲】
【請求項１】
複数の信号処理部から出力される信号処理信号をトリガ信号として入力し、前記複数の信号処理部の処理動作が所定の順番で実行されているかを判定し、設定外のトリガを検知すると割り込み信号を出力するトリガ判定回路と、
前記複数の信号処理部にそれぞれ対応するトリガ指定テーブルが設けられ、前記トリガ判定回路で正しいと判定されたトリガに基づいて次に発生すべきトリガ設定を読み出してテーブル読み出し信号を前記トリガ判定回路に出力するトリガテーブルと、
を具備することを特徴とする監視回路。
【請求項２】
前記複数の信号処理部はアナログ・デジタル信号処理或いはデジタル信号処理を実行し、
アナログ・デジタル信号処理はアナログ・デジタル変換処理、デジタル・アナログ変換処理を含む
ことを特徴とする請求項１に記載の監視回路。
【請求項３】
複数のプログラム処理を順次実行し、前記複数のプログラム処理に複数の信号処理部から出力される信号処理信号がそれぞれ割り込まれ、割り込まれた複数のプログラム処理をレジスタ書き込み信号として出力するプログラム処理部と、
前記レジスタ書き込み信号を入力し、前記割り込まれた複数のプログラム処理の内から一つを特定のクリアコードとして選択するクリアコード検出回路と、前記複数の信号処理部から出力される信号処理信号をトリガ信号として入力し、前記特定のクリアコードを入力し、前記複数の信号処理部の処理動作と前記特定のクリアコードが所定の順番で実行されているかを判定し、設定外のトリガを検知すると割り込み信号を出力するトリガ判定回路と、前記複数の信号処理部にそれぞれ対応するトリガ指定テーブルと特定のクリアコードに対応するレジスタ指定テーブルが設けられ、前記トリガ判定回路で正しいと判定されたトリガに基づいて次に発生すべきトリガ設定を読み出してテーブル読み出し信号を前記トリガ判定回路に出力するトリガテーブルとを有する監視回路と、
を具備することを特徴とする監視システム。
【請求項４】
カウンタ、カウンタ上限設定レジスタ、及び比較器を更に具備し、
前記トリガテーブルには、前記複数のトリガ指定テーブルと前記レジスタ指定テーブルにそれぞれ対応する初期値有効テーブルが更に設けられ、
前記カウンタは前記複数の初期値有効テーブルの情報をカウントし、
前記比較器は前記カウンタのカウント値と前記カウンタ上限設定レジスタ８に格納される前記カウンタの上限値を比較し、前記特定のクリアコードが実行されない場合、割り込み信号を発生する
ことを特徴とする請求項３に記載の監視システム。
【請求項５】
カウンタ、ＮＯＲ回路、及び比較器を更に具備し、
前記トリガテーブルには、前記複数のトリガ指定テーブルと前記レジスタ指定テーブルにそれぞれ対応するカウンタ上限値テーブルが更に設けられ、
前記カウンタは前記複数のカウンタ上限値テーブルの情報をカウントし、
前記ＮＯＲ回路は前記トリガ判定回路から出力される信号を入力し、論理演算処理を実行し、
前記カウンタは、前記ＮＯＲ回路から出力される情報を初期化情報として入力し、カウント動作を開始し、
前記比較器は、前記カウンタ上限値テーブルの情報と前記カウンタのカウント値を比較し、各トリガ間で設定されている時間内に次のトリガが入力されない場合、割り込み信号Ｓｓｃｒを発生する
ことを特徴とする請求項３に記載の監視システム。
【請求項６】
前記プログラム処理部はＣＰＵに設けられる
ことを特徴とする請求項３乃至５のいずれか１項に記載の監視システム。
【請求項７】
モータに流れる電流を検出するＡＤコンバータと、
前記ＡＤコンバータで検出された電流検出信号を入力し、相変換、座標変換、逆位相変換、ＰＷＭ信号の生成を実行するコプロセッサと、
前記コプロセッサから出力される前記座標情報を入力し、前記モータの速度制御、電流制御を実行し、前記コプロセッサへモータ電圧情報を出力するＣＰＵと、
前記ＡＤコンバータから出力される前記電流検出信号を第１トリガ信号として入力し、前記コプロセッサから出力される前記座標情報と前記ＰＷＭ信号を第２トリガ信号として入力し、前記ＣＰＵから出力される前記モータ電圧情報を第３トリガ信号として入力し、前記第１トリガ信号、前記第２トリガ信号、前記第３トリガ信号が所定の順番で実行されているかを判定し、設定外のトリガを検知すると割り込み信号を出力する監視システムと
を具備することを特徴とするモータ制御システム。
【請求項８】
前記監視システムは、プログラム処理部と監視回路を含み、
前記プログラム処理部は、複数のプログラム処理を順次実行し、前記複数のプログラム処理に複数の信号処理部から出力される信号処理信号がそれぞれ割り込まれ、割り込まれた複数のプログラム処理をレジスタ書き込み信号として出力し、
前記監視回路は、前記レジスタ書き込み信号を入力し、前記割り込まれた複数のプログラム処理の内から一つを特定のクリアコードとして選択するクリアコード検出回路と、前記複数の信号処理部から出力される信号処理信号をトリガ信号として入力し、前記特定のクリアコードを入力し、前記複数の信号処理部の処理動作と前記特定のクリアコードが所定の順番で実行されているかを判定し、設定外のトリガを検知すると割り込み信号を出力するトリガ判定回路と、前記複数の信号処理部にそれぞれ対応するトリガ指定テーブルと特定のクリアコードに対応するレジスタ指定テーブルが設けられ、前記トリガ判定回路で正しいと判定されたトリガに基づいて次に発生すべきトリガ設定を読み出してテーブル読み出し信号を前記トリガ判定回路に出力するトリガテーブルとを有する
ことを特徴とする請求項７に記載のモータ制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、監視回路、監視システム、モータ制御システムに関する。
【背景技術】
【０００２】
ＳｏＣ（System On a Chip）などの高集積半導体集積回路では、複数のプログラムと複数の回路での信号処理が実行される。複数のプログラムと複数の回路での信号処理を監視することは大変重要である。
【０００３】
複数のプログラムの進捗確認は、プログラム処理内で行われる。ところが、プログラム処理全体が所定の順番で実行されているか、複数の回路での信号処理が所定の順番で実行されているか、複数のプログラム及び複数の回路での信号処理が所定の順番で実行されているのかを監視することが困難であるという問題点がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１８２４７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、複数の信号処理部の処理動作を監視することができる監視回路、監視システム、モータ制御システムを提供することにある。
【課題を解決するための手段】
【０００６】
一つの実施形態によれば、監視回路は、トリガ判定回路、トリガテーブルを含む。トリガ判定回路は、複数の信号処理部から出力される信号処理信号をトリガ信号として入力し、複数の信号処理部の処理動作が所定の順番で実行されているかを判定し、設定外のトリガを検知すると割り込み信号を出力する。トリガテーブルは、複数の信号処理部にそれぞれ対応するトリガ指定テーブルが設けられ、トリガ判定回路で正しいと判定されたトリガに基づいて次に発生すべきトリガ設定を読み出してテーブル読み出し信号をトリガ判定回路に出力する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る監視回路を示す図である。
【図２】第２の実施形態に係る監視システムを示す図である。
【図３】第２の実施形態に係るプログラム処理部の処理ステップを示す図である。
【図４】第３の実施形態に係る監視システムを示す図である。
【図５】第４の実施形態に係る監視システムを示す図である。
【図６】第５の実施形態に係るモータ制御システムを示す図である。
【図７】第５の実施形態に係るモータ制御システムの動作を示すフローチャート。
【図８】第６の実施形態に係るモータ制御システムを示す図である。
【図９】第６の実施形態に係るモータ制御システムの動作を示すフローチャート。
【図１０】第６の実施形態に係るモータ制御システムの同期がとれた状態での動作を示すタイミングチャート。
【発明を実施するための形態】
【０００８】
以下本発明の実施形態について図面を参照しながら説明する。
【０００９】
（第１の実施形態）
まず、第１の実施形態に係る監視回路について、図面を参照して説明する。図１は監視回路を示す図である。
【００１０】
本実施形態では、複数の信号処理部の処理動作が所定の順番で実行されているかを、監視回路を用いて監視している。
【００１１】
図１に示すように、監視回路１は、メモリ３、トリガ判定回路１１、トリガテーブル１２を含む。監視回路１は、ｎ個（ただし、ｎは２以上の整数）の信号処理部、例えば信号処理部２ａ、信号処理部２ｂ、信号処理部２ｎの処理動作を監視する。
【００１２】
信号処理部２ａ、信号処理部２ｂ、信号処理部２ｎは、デジタル信号処理或いはアナログ・デジタル信号処理を、例えば１回或いは複数回実行して、信号処理した信号をトリガ信号として監視回路１へ出力する。具体的には、信号処理部２ａからトリガ信号Ｓｔｒｉｇ１が監視回路１に出力される。信号処理部２ｂからトリガ信号Ｓｔｒｉｇ２が監視回路１に出力される。信号処理部２ｎからトリガ信号Ｓｔｒｉｇｎが監視回路１に出力される。
【００１３】
ここで、ｎ種類のトリガ信号（トリガ信号Ｓｔｒｉｇ１、トリガ信号Ｓｔｒｉｇ２、トリガ信号Ｓｔｒｉｇｎ）は単一或いは複数のｊｏｂ信号であり、複数のｊｏｂ信号の場合順番に出力される、或いは所定のインターバルを介して順次出力される場合等を含む。
【００１４】
デジタル信号処理は、順序回路、プロセッサ、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）などで実行されるハードウェア処理或いはプログラム処理（ソフトウェア処理）を含む。順序回路は、フリップフロップ、カウンタ、レジスタを含む。
【００１５】
アナログ・デジタル信号処理は、ＡＤＣ（Analog to Digital Converter）などで実行されるアナログ・デジタル変換処理、ＤＡＣ（Digital to Analog Converter）などで実行されるデジタル・アナログ変換処理を含む。
【００１６】
トリガ判定回路１１は、トリガ信号Ｓｔｒｉｇ１、トリガ信号Ｓｔｒｉｇ２、トリガ信号Ｓｔｒｉｇｎを入力し、メモリ３に格納されているシーケンス判定情報に基づいて、トリガ信号Ｓｔｒｉｇ１、トリガ信号Ｓｔｒｉｇ２、トリガ信号Ｓｔｒｉｇｎが所定の順番に設定されているかを判定する。所定の順番とは、トリガ信号Ｓｔｒｉｇ１、トリガ信号Ｓｔｒｉｇ２、トリガ信号Ｓｔｒｉｇｎが時系列に順番に出力される場合、順序が入れ替わった場合、交互に出力される場合、トリガ信号間での同期有無等が含まれる。
【００１７】
トリガ判定回路１１は、設定外のトリガ信号を検知すると割り込み信号Ｓｓｃｒを出力する。割り込み信号Ｓｓｃｒは、例えばシステムを初期化する役割を担う。割り込みの目的は、システムの初期化に限定されるものではない。割り込みは、例えばＣＰＵへの通知情報として用いられる。
【００１８】
ここで、シーケンス判定情報は、例えば、ＣＰＵ、ＭＰＵ、或いはシステムの外部から随時メモリ３に書き込まれ、格納される。ここでは、メモリ３を監視回路１内に設けているが、メモリ３をトリガ判定回路１１内、或いは監視回路１の外部に設けてもよい。
【００１９】
トリガ判定回路１１は、トリガ信号Ｓｔｒｉｇ１、トリガ信号Ｓｔｒｉｇ２、トリガ信号Ｓｔｒｉｇｎをトリガテーブル１２へそれぞれ出力する。
【００２０】
トリガテーブル１２は、ｎ種類のトリガテーブル（トリガ指定テーブル１３ａ、トリガ指定テーブル１３ｂ、トリガ指定テーブル１３ｎ）を含む。トリガテーブル１２は、入力されるトリガ信号に対して、例えば次に発生すべきトリガ設定を行う。トリガテーブル１２は、トリガ判定回路１１によって正しいと判断されたトリガをもとにして、次に発生すべきトリガ設定を読み出して、テーブル読み出し信号Ｓｔｒｅａｄとしてトリガ判定回路１１に出力する。
【００２１】
上述したように、本実施形態の監視回路では、監視回路１は、メモリ３、トリガ判定回路１１、トリガテーブル１２が設けられる。トリガ判定回路１１は、複数のトリガ信号を入力して、メモリ３の格納されているシーケンス判定情報に基づいて、複数のトリガ信号が所定の順番に設定されているかを判定する。トリガテーブル１２は、複数のトリガ指定テーブルを含み、発生すべきトリガ設定を読み出して、テーブル読み出し信号Ｓｔｒｅａｄをトリガ判定回路１１に出力する。
【００２２】
このため、複数の信号処理部の処理動作を監視することができる。
【００２３】
（第２の実施形態）
次に、第２の実施形態に係る監視回路ついて、図面を参照して説明する。図２は監視システムを示す図である。
【００２４】
本実施形態では、複数の信号処理部の処理動作とプログラム処理部でのプログラム処理が所定の順番で実行されているのかを監視回路を用いて監視している。
【００２５】
以下、第１の実施形態と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
【００２６】
図２に示すように、監視システム３００は、監視回路１ａ、プログラム処理部６を含む。プログラム処理部６は、例えばマイクロコントローラ、プロセッサ、ＣＰＵ、ＭＰＵなどに設けられる。
【００２７】
プログラム処理部６は、図３に示すように、プログラム処理（ソフトウェア処理）であるｎ種類の処理（第１処理、第２処理、第ｎ処理）を順番に実行し（１サイクル）、第ｎ処理後新たに第１処理を実行し、サイクル処理を複数回繰り返し実行する。
【００２８】
ここで、第１処理は、信号処理部２ａから出力されるトリガ信号Ｓｔｒｉｇ１によりプログラム処理が進行する。第２処理は、信号処理部２ｂから出力されるトリガ信号Ｓｔｒｉｇ２によりプログラム処理が進行する。第ｎ処理は、信号処理部２ｎから出力されるトリガ信号Ｓｔｒｉｇｎによりプログラム処理が進行する。プログラム処理部６は、例えば第１処理を選択して監視回路１ａへプログラム処理をレジスタ書き込み信号Ｓｒｗｉｔｅとして出力する。
【００２９】
監視回路１ａは、メモリ３、トリガ判定回路１１ａ、トリガテーブル１２ａ、クリアコード検出回路１４を含む。
【００３０】
クリアコード検出回路１４は、プログラム処理部６から出力されるレジスタ書き込み信号Ｓｒｗｉｔｅを入力し、プログラム処理、例えば割り込まれた第１処理を特定のクリアコードとして選択し、レジスタ指定信号Ｓｒｓ１としてトリガ判定回路１１ａへ出力する。
【００３１】
トリガ判定回路１１ａは、トリガ信号Ｓｔｒｉｇ１、特定のクリアコード（第１処理）であるレジスタ指定信号Ｓｒｓ１、トリガ信号Ｓｔｒｉｇ２、トリガ信号Ｓｔｒｉｇｎ、を入力し、メモリ３に格納されているシーケンス判定情報に基づいて、トリガ信号Ｓｔｒｉｇ１、特定のクリアコード（第１処理）であるレジスタ指定信号Ｓｒｓ１、トリガ信号Ｓｔｒｉｇ２、トリガ信号Ｓｔｒｉｇｎ、が所定の順番に設定されているかを判定する。
【００３２】
トリガ判定回路１１ａは、トリガ信号Ｓｔｒｉｇ１、特定のクリアコード（第１処理）であるレジスタ指定信号Ｓｒｓ１、トリガ信号Ｓｔｒｉｇ２、トリガ信号Ｓｔｒｉｇｎ、が所定の順番に設定されていないと判断した場合、即ち、設定外のトリガ信号を検知すると割り込み信号Ｓｓｃｒを出力する。
【００３３】
トリガ判定回路１１ａは、トリガ信号Ｓｔｒｉｇ１、レジスタ指定信号Ｓｒｓ１、トリガ信号Ｓｔｒｉｇ２、トリガ信号Ｓｔｒｉｇｎをトリガテーブル１２ａへそれぞれ出力する。
【００３４】
トリガテーブル１２ａは、ｎ種類のトリガテーブル（トリガ指定テーブル１３ａ、トリガ指定テーブル１３ｂ、トリガ指定テーブル１３ｎ）とレジスタ指定テーブル１５を含む。トリガテーブル１２ａは、入力されるトリガに対して、例えば次に発生すべきトリガ設定を行う。トリガテーブル１２ａは、トリガ判定回路１１ａによって正しいと判断されたトリガをもとに参照し、次に発生すべきトリガ設定を読み出して、テーブル読み出し信号Ｓｔｒｅａｄとしてトリガ判定回路１１ａに出力する。
【００３５】
上述したように、本実施形態の監視システム３００では、監視回路１ａ、プログラム処理部６が設けられる。プログラム処理部６は、トリガ信号を入力し、ｎ種類のプログラム処理を順番に実行し、第ｎ処理後新たに第１処理を実行し、サイクル処理を複数回繰り返し実行する。監視回路１ａは、メモリ３、トリガ判定回路１１ａ、トリガテーブル１２ａ、クリアコード検出回路１４を含む。  クリアコード検出回路１４は、特定のクリアコードを選択する。トリガ判定回路１１ａは、メモリ３に格納されているシーケンス判定情報に基づいて、トリガ信号Ｓｔｒｉｇ１、特定のクリアコード、トリガ信号Ｓｔｒｉｇ２、トリガ信号Ｓｔｒｉｇｎが所定の順番に設定されているかを判定する。トリガテーブル１２ａは、ｎ種類のトリガテーブルとレジスタ指定テーブル１５を含む。トリガテーブル１２ａは、入力されるトリガ信号に対して、例えば次に発生すべきトリガ設定を行う。
【００３６】
このため、複数の信号処理部の処理動作と特定のクリアコード（例えば、第ｎ処理）を監視することができる。
【００３７】
本実施形態では、第１処理をレジスタ書き込み信号Ｓｒｗｉｔｅとしているが複数の処理から任意に１つを選択してもよい。
【００３８】
（第３の実施形態）
次に、第３の実施形態に係る監視システムついて、図面を参照して説明する。図４は監視システムを示す図である。
【００３９】
本実施形態では、複数の信号処理部の処理動作とプログラム処理部でのプログラム処理が所定の順番で、且つ一定な時間内で実行されているのかを監視回路を用いて監視している。
【００４０】
以下、第２の実施形態と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
【００４１】
図４に示すように、監視システム３０１は、監視回路１ｂ、プログラム処理部６を含む。監視回路１ｂは、メモリ３、カウンタ７、カウンタ上限設定レジスタ８、比較器９、トリガ判定回路１１ａ、トリガテーブル１２ｂ、クリアコード検出回路１４を含む。なお、図４では、クリアコード検出回路１４から出力されるレジスタ書き込み信号は第ｎ処理を用いている。このため、図２とは信号配置が異なる。
【００４２】
トリガテーブル１２ｂは、ｎ種類のトリガテーブル、レジスタ指定テーブル１５、（ｎ＋１）種類の初期値有効テーブル（初期値有効テーブル１６ａ、初期値有効テーブル１６ｂ、初期値有効テーブル１６ｎ、初期値有効テーブル１６ｎ＋１）を含む。
【００４３】
（ｎ＋１）種類の初期値有効テーブルは、トリガテーブルに初期化有効属性を付与する。例えば、トリガ指定テーブル１３ａに対応する初期値有効テーブル１６ａに初期化有効属性が付与されると、初期値有効テーブル１６ａが“１”となり、初期値有効テーブル１６ｂ、初期値有効テーブル１６ｎ、初期値有効テーブル１６ｎ＋１は“０（ゼロ）”に設定される。
【００４４】
カウンタ７は、初期値有効テーブル１６ａでの“１”情報を入力し、カウントを開始する。カウンタ７は、レジスタ指定テーブル１５に対応する初期値有効テーブル１６ｎ＋１が“１”になるまでカウントを続ける。
【００４５】
カウンタ上限設定レジスタ８は、カウンタ７の上限値を設定する。比較器９は、カウンタ７のカウント値とカウンタ上限設定レジスタ８に格納されるカウンタ７の上限値を比較する。比較器９は、例えば、特定のクリアコード（第ｎ処理によるレジスタ書き込み）が実行されない場合、カウンタ7がカウンタ上限値を越えるため割り込み信号Ｓｓｃｒを発生する。
【００４６】
上述したように、本実施形態の監視システム３０１では、監視回路１ｂ、プログラム処理部６が設けられる。監視回路１ｂは、メモリ３、カウンタ７、カウンタ上限設定レジスタ８、比較器９、トリガ判定回路１１ａ、トリガテーブル１２ｂ、クリアコード検出回路１４を有する。比較器９は、カウンタ７のカウント値とカウンタ上限設定レジスタ８に格納されるカウンタ７の上限値を比較する。比較器９は、例えば、特定のクリアコードが実行されない場合、割り込み信号Ｓｓｃｒを発生する。
【００４７】
このため、複数の信号処理部の処理動作と特定のクリアコード（例えば、第ｎ処理）が所定の順番で、且つ一定な時間内で実行されているのか監視することができる。
【００４８】
（第４の実施形態）
次に、第４の実施形態に係る監視システムついて、図面を参照して説明する。図５は監視システムを示す図である。
【００４９】
本実施形態では、監視回路を用いて、複数の信号処理部の処理動作とプログラム処理部でのプログラム処理が所定の順番で実行されているかを監視し、各トリガ間で設定されている時間内に次のトリガが入力されるかを監視している。
【００５０】
以下、第２の実施形態と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
【００５１】
図５に示すように、監視システム３０２は、監視回路１ｃ、プログラム処理部６を含む。監視回路１ｃは、メモリ３、カウンタ７ａ、比較器９ａ、トリガ判定回路１１ａ、トリガテーブル１２ｃ、クリアコード検出回路１４、ＮＯＲ回路ＮＯＲ１を含む。
【００５２】
トリガテーブル１２ｃは、ｎ種類のトリガテーブル、レジスタ指定テーブル１５、（ｎ＋１）種類のカウンタ上限値テーブル（カウンタ上限値テーブル１７ａ、カウンタ上限値テーブル１７ｂ、カウンタ上限値テーブル１７ｎ、カウンタ上限値テーブル１７ｎ＋１）を含む。（ｎ＋１）種類のカウンタ上限値テーブルは、トリガテーブルにカウンタ上限値を付与する。
【００５３】
ＮＯＲ回路ＮＯＲ１は、トリガ信号Ｓｔｒｉｇ１、トリガ信号Ｓｔｒｉｇ２、トリガ信号Ｓｔｒｉｇｎ、レジスタ指定信号Ｓｒｓ１を入力し、論理演算処理（ＮＯＲ処理）を実行する。カウンタ７ａは、ＮＯＲ回路ＮＯＲ１から出力される情報を初期化情報として入力し、カウント動作を開始する。
【００５４】
比較器９ａは、カウンタ上限値テーブルの情報とカウンタ７ａのカウント値を比較する。比較器９ａは、各トリガ間で設定されている時間内に次のトリガが入力されない場合、割り込み信号Ｓｓｃｒを発生する。
【００５５】
上述したように、本実施形態の監視システム３０２では、監視回路１ｃ、プログラム処理部６が設けられる。監視回路１ｃは、メモリ３、カウンタ７ａ、比較器９ａ、トリガ判定回路１１ａ、トリガテーブル１２ｃ、クリアコード検出回路１４、ＮＯＲ回路ＮＯＲ１を有する。比較器９ａは、カウンタ７ａのカウント値とカウンタ上限設定レジスタの上限値を比較する。比較器９ａは、各トリガ間で設定されている時間内に次のトリガが入力されない場合、割り込み信号Ｓｓｃｒを発生する。
【００５６】
このため、複数の信号処理部の処理動作とプログラム処理部でのプログラム処理が所定の順番で実行されているかを監視し、各トリガ間で設定されている時間内に次のトリガが入力されるかを監視することができる。
【００５７】
（第５の実施形態）
次に、第５実施形態に係るモータ制御システムについて、図面を参照して説明する。図６はモータ制御システムを示す図である。
【００５８】
本実施形態では、マイクロコントローラにプログラム処理部と監視回路から構成される監視システムを設けて、ＡＤコンバータ、コプロセッサ、及びＣＰＵの処理動作を監視している。
【００５９】
以下、第３の実施形態と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
【００６０】
図６に示すように、モータ制御システム１００は、マイクロコントローラ３１、コプロセッサ３２、モータ３３、センサ３４、インバータ３５、ＡＤコンバータ３６を含む。マイクロコントローラ３１は、監視システム３０１、ＣＰＵ４、割り込み処理回路５を含む。
【００６１】
ここで、監視システム３０１は第３の実施形態の監視システム３００と同様な構成及び機能を有し、ＡＤコンバータ、コプロセッサ、及びＣＰＵの処理動作を監視している。
【００６２】
割り込み処理回路５は、監視回路１ｂのトリガ判定回路１１ａ（図示せず）で設定外のトリガ信号が検知されたときに、トリガ判定回路１１ａから出力される割り込み信号Ｓｓｃｒを入力してリセットを発動する。割り込み処理回路５は、割り込み信号Ｓｓｃｒに基づいてモータ制御システム１００を初期化する。
【００６３】
モータ３３は、例えば３相モータである。センサ３４は、モータ３３の周囲に配置され、モータの動作状況、周囲環境等を検出して検出情報をＣＰＵ４へ出力する。インバータ３５は、コプロセッサ３２から出力される３相ＰＷＭ出力信号を入力し、３相ＰＷＭ出力信号に基づいてモータ３３を回転制御する信号をモータ３３へ出力する。
【００６４】
ＡＤコンバータ３６は、ＡＤＣ（Analog to Digital Converter）とも呼称される。ＡＤコンバータ３６は、信号処理部としてアナログ・デジタル信号処理を実行する。具体的には、ＡＤコンバータ３６は、インバータ３５がモータ３３に供給する電流（アナログ値）を検出し、アナログ・デジタル変換処理した電流検出信号（デジタル値）をコプロセッサ３２に出力し、監視システム３０１にも電流検出信号（デジタル値）をトリガ信号Ｓｔｒｉｇ１として出力する。
【００６５】
コプロセッサ３２は、信号処理部としてデジタル信号処理を実行する。具体的には、ＡＤコンバータ３６から出力される信号を入力し、例えば３相から２相への変換処理、αβからｄｑの座標変換処理を行う。コプロセッサ３２は、座標変換結果をＣＰＵ４に出力し、監視システム３０１にも座標変換結果をトリガ信号Ｓｔｒｉｇ２として出力する。コプロセッサ３２は、ＣＰＵ４から出力されるｄｑ軸系のモータ電圧情報を入力し、ｄｑからαβの逆座標変換処理、２相から３相への変換処理、３相ＰＷＭ信号の生成を行ってインバー３５へ３相ＰＷＭ出力信号を出力し、監視システム３０１にも３相ＰＷＭ出力信号をトリガ信号Ｓｔｒｉｇ２として出力する。
【００６６】
ＣＰＵ４は、信号処理部としてデジタル信号処理を実行する。具体的には、ＣＰＵ４は、コプロセッサ３２から出力されるｄｑ軸系のモータ電流を入力し、センサ３４で検知されたロータ位置情報を入力する。ＣＰＵ４は、モータ３３の位置検出、速度制御、電流制御を行い、ｄｑ軸系のモータ電圧情報をコプロセッサ３２へ出力し、監視システム３０１にもｄｑ軸系のモータ電圧情報をトリガ信号Ｓｔｒｉｇ３として出力する。
【００６７】
次に、モータ制御システムの動作について、図７を参照して説明する。図７は、モータ制御システムの動作を示すフローチャートである。
【００６８】
図７に示すように、モータ制御システム１００では、モータ駆動制御（ステップＳ１）、ＡＤコンバータ３６による電流検出（ステップＳ２）、コプロセッサ３２による相変換／座標変換（ステップＳ３）、ＣＰＵ３によるロータ位置検出／速度制御／電流制御（ステップＳ４）、コプロセッサ３２による逆位相変換／相変換／ＰＷＭ出力（ステップＳ５）、インバータ制御（ステップＳ６）が順番に実行される。
【００６９】
インバータ制御（ステップＳ６）終了後、モータ駆動制御（ステップＳ１）が再び開始され、ステップＳ１からステップＳ６までのステップが複数回実行される。
【００７０】
ステップＳ１からステップＳ６までの１サイクル中に、監視システム３０１は、ＡＤコンバータ３６から電流検出信号であるトリガ信号Ｓｔｒｉｇ１を入力し、次にコプロセッサ３２から座標変換結果であるトリガ信号Ｓｔｒｉｇ２を入力し、続いてＣＰＵ４からモータ電圧情報であるトリガ信号Ｓｔｒｉｇ３を入力し、そしてコプロセッサ３２から３相ＰＷＭ出力信号であるトリガ信号Ｓｔｒｉｇ２を入力する。
【００７１】
監視システム３０１は、トリガ信号Ｓｔｒｉｇ１、トリガ信号Ｓｔｒｉｇ２、トリガ信号Ｓｔｒｉｇ３が所定の順番に設定されているかを監視し、判定する。所定の順番（設定されたシーケンス）でない場合、監視回路１ｂから割り込み信号Ｓｓｃｒが割り込み処理回路５に出力され、モータ制御システム１００が初期化される。
【００７２】
上述したように、本実施形態のモータ制御システム１００では、マイクロコントローラ３１、コプロセッサ３２、モータ３３、センサ３４、インバータ３５、ＡＤコンバータ３６が設けられる。マイクロコントローラ３１は、監視システム３０１、ＣＰＵ４、割り込み処理回路５を含む。監視システム３０１は、モータ制御システム１００でのモータ３３の１サイクル動作中に、ＡＤコンバータ３６から出力されるトリガ信号Ｓｔｒｉｇ１、コプロセッサ３２から出力されるトリガ信号Ｓｔｒｉｇ２、ＣＰＵ４から出力されトリガ信号Ｓｔｒｉｇ３を入力する。
【００７３】
このため、ＡＤコンバータ３６、コプロセッサ３２、及びＣＰＵ４の処理動作が所定の順番に実行されているかを判定及び監視することができる。
【００７４】
なお、本実施形態では、監視システム３０１をモータ制御システム１００に用いているが必ずしもこれに限定されるものではない。監視システム３０１を種々の制御システムに用いることができる。例えば、監視システム３０１を車両自動運転制御システム、ドローン飛行制御システムなど各種制御システムにも用いることができる。
【００７５】
また、本実施形態では、マイクロコントローラ３１内にＣＰＵ４を設け、コプロセッサ３２で相変換／座標変換／逆位相変換／ＰＷＭ出力を実行しているが、必ずしもこれに限定されるものではない。コプロセッサ３２で実行している処理をＣＰＵ４に取り込んでもよい。
【００７６】
また、本実施形態では、マイクロコントローラ３１に第３の実施形態の監視システム３０１を設けているが、代わりに第４の実施形態の監視システム３０２を設けてもよい。
【００７７】
（第６の実施形態）
次に、第６の実施形態に係るモータ制御システムについて、図面を参照して説明する。図８はモータ制御システムを示す図である。
【００７８】
本実施形態では、２つのモータを制御するモータ制御システムにおいて、マイクロコントローラに各モータを監視する監視システムを設けて、ＡＤコンバータ、コプロセッサ、及びＣＰＵの処理動作を監視している。
【００７９】
以下、第５の実施形態と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
【００８０】
図８に示すように、モータ制御システム２００は、マイクロコントローラ３１ａ、コプロセッサ３２、モータ３３ａ、モータ３３ｂ、センサ３４ａ、センサ３４ｂ、インバータ３５ａ、インバータ３５ｂ、ＡＤコンバータ３６ａ、ＡＤコンバータ３６ｂを含む。
【００８１】
モータ制御システム２００は、モータ３３ａ側にセンサ３４ａ、インバータ３５ａ、ＡＤコンバータ３６ａを設け、モータ３３ｂ側にセンサ３４ｂ、インバータ３５ｂ、ＡＤコンバータ３６ｂを設けている。モータ制御システム２００は、２つのモータ（モータ３３ａ、モータ３３ｂ）をマイクロコントローラ３１ａ、コプロセッサ３２を用いてモータ制御を実行している。
【００８２】
マイクロコントローラ３１ａは、ＣＰＵ４、割り込み回路５ａ、割り込み回路５ｂ、監視システム３０１ａ、監視システム３０１ｂを含む。監視システム３０１ａは、プログラム処理部６ａ、監視回路１ｂａを含む。監視システム３０１ｂは、プログラム処理部６ｂ、監視回路１ｂｂを含む。
【００８３】
ここで、プログラム処理部６ａとプログラム処理部６ｂは、図２のプログラム処理部６と同様な構成である。監視回路１ｂａと監視回路１ｂｂは、図６の監視回路１ｂと同様な構成である。
【００８４】
ＡＤコンバータ３６ａは、信号処理部としてアナログ・デジタル信号処理を実行する。具体的には、ＡＤコンバータ３６ａは、インバータ３５ａがモータ３３ａに供給する電流（アナログ値）を検出し、アナログ・デジタル変換処理した電流検出信号（デジタル値）をコプロセッサ３２に出力し、監視システム３０１ａにも電流検出信号（デジタル値）をトリガ信号Ｓｔｒｉｇ１として出力する。
【００８５】
ＡＤコンバータ３６ｂは、信号処理部としてアナログ・デジタル信号処理を実行する。具体的には、ＡＤコンバータ３６ｂは、インバータ３５ｂがモータ３３ｂに供給する電流（アナログ値）を検出し、アナログ・デジタル変換処理した電流検出信号（デジタル値）をコプロセッサ３２に出力し、監視システム３０１ｂにも電流検出信号（デジタル値）をトリガ信号Ｓｔｒｉｇ２として出力する。
【００８６】
コプロセッサ３２は、ＡＤコンバータ３６ａ及びＡＤコンバータ３６ｂからそれぞれ出力される信号を入力し、例えば３相から２相への変換処理、αβからｄｑの座標変換処理を行う。コプロセッサ３２は、モータ３３ａとモータ３３ｂにおける座標変換結果をＣＰＵ４に出力し、監視システム３０１ａ、監視システム３０１ｂにもモータ３３ａとモータ３３ｂにおける座標変換結果をトリガ信号Ｓｔｒｉｇ３として出力する。コプロセッサ３２は、ＣＰＵ４から出力されるｄｑ軸系のモータ電圧情報を入力し、ｄｑからαβの逆座標変換処理、２相から３相への変換処理、３相ＰＷＭ信号の生成を行ってインバー３５ａ及びインバー３５ｂへ３相ＰＷＭ出力信号を出力し、監視システム３０１ａと監視システム３０１ｂにも３相ＰＷＭ出力信号をトリガ信号Ｓｔｒｉｇ３として出力する。
【００８７】
ＣＰＵ４は、コプロセッサ３２から出力されるｄｑ軸系のモータ電流を入力し、センサ３４ａ及びセンサ３４ｂで検知されたロータ位置情報を入力する。ＣＰＵ４は、モータ３３ａ及びモータ３３ｂの位置検出、速度制御、電流制御を行い、ｄｑ軸系のモータ３３ａ及びモータ３３ｂにおけるモータ電圧情報をコプロセッサ３２へ出力し、監視システム３０１ａと監視システム３０１ｂにもｄｑ軸系のモータ３３ａ及びモータ３３ｂにおけるモータ電圧情報をトリガ信号Ｓｔｒｉｇ４として出力する。
【００８８】
次に、モータ制御システムの動作について、図９、図１０を参照して説明する。図９は、モータ制御システムの動作を示すフローチャートである。図１０は、モータ制御システムの同期がとれた状態での動作を示すタイミングチャートである。
【００８９】
図９に示すように、モータ制御システム２００では、モータ３３ａ及びモータ３３ｂのモータ駆動制御（ステップＳ１１）、ＡＤコンバータ３６ａ及びＡＤコンバータ３６ｂによる電流検出（ステップＳ１２）、コプロセッサ３２による相変換／座標変換（ステップＳ１３）、ＣＰＵ４によるロータ位置検出／速度制御／電流制御（ステップＳ１４）、コプロセッサ３２による逆位相変換／相変換／ＰＷＭ出力（ステップＳ１５）、インバータ３５ａ及びインバータ３５ｂのインバータ制御（ステップＳ１６）が順次実行される。
【００９０】
インバータ制御（ステップＳ１６）終了後、モータ駆動制御（ステップＳ１１）が再び開始され、これらのステップ（ステップＳ１１からステップＳ１６までのステップ）が複数回実行される。
【００９１】
ステップＳ１１からステップＳ１６までの１サイクル中に、監視システム３０１ａは、ＡＤコンバータ３６ａから電流検出信号であるトリガ信号Ｓｔｒｉｇ１を入力する。監視システム３０１ｂは、ＡＤコンバータ３６ｂから電流検出信号であるトリガ信号Ｓｔｒｉｇ２を入力する。続いて、監視システム３０１ａと監視システム３０１ｂは、コプロセッサ３２からモータ３３ａ及びモータ３３ｂの座標変換結果であるトリガ信号Ｓｔｒｉｇ３を入力し、そしてＣＰＵ４からモータ３３ａ及びモータ３３ｂのモータ電圧情報であるトリガ信号Ｓｔｒｉｇ４を入力し、次にコプロセッサ３２からモータ３３ａ及びモータ３３ｂの３相ＰＷＭ出力信号であるトリガ信号Ｓｔｒｉｇ２を入力する。
【００９２】
監視システム３０１ａは、トリガ信号Ｓｔｒｉｇ１、トリガ信号Ｓｔｒｉｇ３、トリガ信号Ｓｔｒｉｇ４が所定の順番に実行されているかを監視し、判定する。所定の順番でない場合、監視回路１ｂａから割り込み信号ＳＳｃｒが割り込み処理回路５ａに出力され、モータ制御システム２００が初期化される。
【００９３】
監視システム３０１ｂは、トリガ信号Ｓｔｒｉｇ２、トリガ信号Ｓｔｒｉｇ３、トリガ信号Ｓｔｒｉｇ４が所定の順番に実行されているかを監視し、判定する。所定の順番でない場合、監視回路１ｂｂから割り込み信号ＳＳｃｒが割り込み処理回路５ｂに出力され、モータ制御システム２００が初期化される。
【００９４】
図１０に示すように、インバータ３５ａとインバータ３５ｂへのトリガが同期されている場合（正常動作）、ＡＤコンバータ３６ａでのアナログ・デジタル変換処理直後にＡＤコンバータ３６ｂでのアナログ・デジタル変換処理が実行される。時刻ｔ１でモータ３３ａのトリガ信号Ｓｔｒｉｇ１（ＡＤＣ１の出力）が監視システム３０１ａに入力され、時刻ｔ２でモータ３３ａのトリガ信号Ｓｔｒｉｇ３（コプロセッサ３２の出力）が監視システム３０１ａに入力される。時刻ｔ３でモータ３３ｂのトリガ信号Ｓｔｒｉｇ２（ＡＤＣ２の出力）が監視システム３０１ｂに入力され、時刻ｔ４でモータ３３ｂのトリガ信号Ｓｔｒｉｇ３（コプロセッサ３２の出力）が監視システム３０１ｂに入力される。
【００９５】
ここで、モータ３３ａの周期はモータ周期Ｔｍｓ１とし、モータ３３ｂの周期はモータ周期Ｔｍｓ２としている。モータ周期Ｔｍｓ１とモータ周期Ｔｍｓ２は、例えば同一な値を有し、５０μｓに設定される。コプロセッサ３２によるモータ３３ａのＰＷＭ制御周期とモータ３３ｂのＰＷＭ制御周期を同一に設定しているが、異なる場合もある。
【００９６】
ＣＰＵ４は、モータ３３ａのベクトル制御１と特殊制御１をＣＰＵ処理時間Ｔｃｐｕ１で実行する。ベクトル制御１と特殊制御１の終了直後の時刻ｔ５でモータ３３ａのトリガ信号Ｓｔｒｉｇ４（ＣＰＵ出力）が監視システム３０１ａに入力され、ＣＰＵ４はモータ３３ｂのベクトル制御２と特殊制御２をＣＰＵ処理時間Ｔｃｐｕ２で実行する。特殊制御１とは、ベクトル制御１以外の処理である。
【００９７】
インバータ３５ａは、コプロセッサ３２からの３相ＰＷＭ信号を入力してインバータ制御を行う。時刻ｔ６で、モータ３３ａのトリガ信号Ｓｔｒｉｇ３（コプロセッサ３２の出力）が監視システム３０１ａに入力される。
【００９８】
モータ３３ｂのベクトル制御２と特殊制御２終了後の時刻ｔ７で、モータ３３ｂのトリガ信号Ｓｔｒｉｇ４（ＣＰＵ出力）が監視システム３０１ｂに入力される。インバータ３５ｂは、コプロセッサ３２からの３相ＰＷＭ信号を入力してインバータ制御を行う。時刻ｔ８で、モータ３３ｂのトリガ信号Ｓｔｒｉｇ３（コプロセッサ３２の出力）が監視システム３０１ｂに入力される。
【００９９】
監視システム３０１ａは、トリガ信号Ｓｔｒｉｇ１（ＡＤＣ１の出力）、トリガ信号Ｓｔｒｉｇ３（コプロセッサ３２からＣＰＵ４へのモータ３３ａの座標変換情報、コプロセッサ３２からインバータ３５ａへのモータ３３ａの３相ＰＷＭ出力）、トリガ信号Ｓｔｒｉｇ４（ＣＰＵ４からコプロセッサ３２へのモータ３３ａのモータ電圧情報）が所定の順番（具体的には時刻ｔ１、時刻ｔ２、時刻ｔ５、時刻ｔ６）で処理が実行されているかを判定及び監視する。
【０１００】
監視システム３０１ｂは、トリガ信号Ｓｔｒｉｇ２（ＡＤＣ２の出力）、トリガ信号Ｓｔｒｉｇ３（コプロセッサ３２からＣＰＵ４へのモータ３３ｂの座標変換情報、コプロセッサ３２からインバータ３５ｂへのモータ３３ｂの３相ＰＷＭ出力）、トリガ信号Ｓｔｒｉｇ４（ＣＰＵ４からコプロセッサ３２へのモータ３３ｂのモータ電圧情報）が所定の順番（具体的には時刻ｔ３、時刻ｔ４、時刻ｔ７、時刻ｔ８で順番）で処理が実行されているかを判定及び監視する。
【０１０１】
図１０に示すように、インバータ３５ａ（インバータ１）の駆動開始時刻ｔ６とＡＤコンバータ３５ａのＡＤ変換開始時刻の間をモータ３３ａの余裕時間Ｔ１１とすると、図１０ではＴ１１＞０（ゼロ）であることがわかる。同様に、インバータ３５ｂ（インバータ２）の駆動開始時刻ｔ８とＡＤコンバータ３５ｂのＡＤ変換開始時刻の間をモータ３３ｂの余裕時間Ｔ１２とすると、図１０ではＴ１２＞０（ゼロ）であることがわかる。つまり、正常動作が実行されているのを確認することができる。
【０１０２】
上述したように、本実施形態のモータ制御システム２００では、マイクロコントローラ３１ａ、コプロセッサ３２、モータ３３ａ、モータ３３ｂ、センサ３４ａ、センサ３４ｂ、インバータ３５ａ、インバータ３５ｂ、ＡＤコンバータ３６ａ、ＡＤコンバータ３６ｂが設けられる。マイクロコントローラ３１ａは、監視システム３０１ａ、監視システム３０１ｂ、ＣＰＵ４、割り込み処理回路５ａ、割り込み処理回路５ｂを含む。監視システム３０１ａは、モータ制御システム２００でのモータ３３ａの動作中に、ＡＤコンバータ３６ａから出力されるトリガ信号Ｓｔｒｉｇ１、コプロセッサ３２から出力されるトリガ信号Ｓｔｒｉｇ３、ＣＰＵ４から出力されるトリガ信号Ｓｔｒｉｇ４を入力する。監視システム３０１ｂは、モータ制御システム２００でのモータ３３ｂの動作中に、ＡＤコンバータ３６ｂから出力されるトリガ信号Ｓｔｒｉｇ２、コプロセッサ３２から出力されるトリガ信号Ｓｔｒｉｇ３、ＣＰＵ４から出力されるトリガ信号Ｓｔｒｉｇ４を入力する。
【０１０３】
このため、ＡＤコンバータ３６ａ、ＡＤコンバータ３６ｂ、コプロセッサ３２、及びＣＰＵ４の処理動作が所定の順番に実行されているかを判定及び監視することができる。
【０１０４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０５】
１、１ａ、１ｂ、１ｃ、１ｂａ、１ｂｂ  監視回路
２ａ〜２ｎ  信号処理部
３  メモリ
４  ＣＰＵ
５、５ａ、５ｂ  割り込み処理回路
６  プログラム処理部
７、７ａ  カウンタ
８  カウンタ上限設定レジスタ
９、９ａ  比較器
１１、１１ａ  トリガ判定回路
１２、１２ａ、１２ｂ、１２ｃ  トリガテーブル
１３ａ〜１３ｎ  トリガ指定テーブル
１４  クリアコード検出回路
１５  レジスタ指定テーブル
１６ａ〜１６ｎ＋１  初期値有効テーブル
１７ａ〜１７ｎ＋１  カウンタ上限値テーブル
３１、３１ａ  マイクロコントローラ
３２  コプロセッサ
３３、３３ａ、３３ｂ  モータ
３４、３４ａ、３４ｂ センサ
３５、３５ａ、３５ｂ  インバータ
３６、３６ａ、３６ｂ  ＡＤコンバータ
１００、２００  モータ制御システム
３００、３０１、３０２、３０１ａ、３０１ｂ  監視システム
ＮＯＲ１  ＮＯＲ回路
Ｓｓｃｒ  割り込み信号
Ｓｒｓ１  レジスタ指定信号
Ｓｗｒｉｔｅ  レジスタ書き込み信号
Ｓｔｒｅａｄ  テーブル読み出し信号
Ｓｒｉｇ１〜Ｓｒｉｇｎ  トリガ信号
Ｓｔｒｓ１〜Ｓｔｒｓｎ  トリガ指定信号  
Ｔ１１、Ｔ１２  時間
ｔ１〜ｔ８、ｔ１１〜ｔ１８  時刻
Ｔｃｐｕ１、Ｔｃｐｕ２  ＣＰＵ処理時間
Ｔｄｅｌａｙ  遅延時間
Ｔｍｓ１、Ｔｍｓ２  モータ周期
Ｔｖｅ  コプロセッサ処理時間
【図１】
2019152985.tif 000003
【図２】
2019152985.tif 000004
【図３】
2019152985.tif 000005
【図４】
2019152985.tif 000006
【図５】
2019152985.tif 000007
【図６】
2019152985.tif 000008
【図７】
2019152985.tif 000009
【図８】
2019152985.tif 000010
【図９】
2019152985.tif 000011
【図１０】
2019152985.tif 000012