(57)【特許請求の範囲】
【請求項１】
第１回路装置と、第２回路装置と、を含み、前記第１回路装置と前記第２回路装置間におけるデータ通信を、異なる通信特性を有する少なくとも２つの通信経路を経由して行う、工作機械またはロボットにおけるモータを制御するモータ制御装置であって、
前記第１回路装置と前記第２回路装置間におけるデータ通信は、低レイテンシが求められる第１データ通信、および、高スループットが求められる第２データ通信を含み、
前記第１回路装置と前記第２回路装置間における前記第１データ通信は、低レイテンシの特性を有する第１通信経路を経由して行い、
前記第１回路装置と前記第２回路装置間における前記第２データ通信は、高スループットの特性を有する第２通信経路を経由して行い、
前記第１回路装置は、第１半導体集積回路であり、
前記第２回路装置は、複数の回路マクロが設けられた前記モータ制御装置の特定用途向け集積回路であり、
前記特定用途向け集積回路は、
高スループットが求められるデータを扱う、サーボモータまたはスピンドルモータを制御するサーボ制御部，画像を処理するグラフィックエンジンおよびＩ/Ｏ通信を制御するＩ/Ｏ通信マスタのいずれかと、
低レイテンシが求められるデータを扱うペリフェラルと、を含む、
ことを特徴とするモータ制御装置。
【請求項２】
前記第１通信経路は、第１バッファサイズ，第１ペイロードサイズおよび第１レーン数を調整して低レイテンシの特性を持たせた第１シリアルバスであり、
前記第２通信経路は、第２バッファサイズ，第２ペイロードサイズおよび第２レーン数を調整して高スループットの特性を持たせた第２シリアルバスである、
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記第１バッファサイズは、前記第２バッファサイズよりも小さい、
ことを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
前記第２ペイロードサイズは、前記第１ペイロードサイズよりも大きい、または、
前記第２レーン数は、前記第１レーン数よりも多い、
ことを特徴とする請求項２または請求項３に記載のモータ制御装置。
【請求項５】
前記第１シリアルバスおよび前記第２シリアルバスは、ＰＣＩ Express（登録商標）である、
ことを特徴とする請求項２乃至請求項４のいずれか１項に記載のモータ制御装置。
【請求項６】
前記第１通信経路は、パラレルバスであり、
前記第２通信経路は、高速シリアルバスである、
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項７】
前記パラレルバスは、ＰＣＩ，ＩＦＣ，ＡＴＡ，６０ｘバスおよびブートインターフェースのいずれかであり、
前記高速シリアルバスは、ＰＣＩ Express（登録商標），HyperTransport（商標）およびRapidIO（商標）のいずれかである、
ことを特徴とする請求項６に記載のモータ制御装置。
【請求項８】
第１回路装置と、第２回路装置と、を含み、前記第１回路装置と前記第２回路装置間におけるデータ通信を、通信経路を経由して行う、工作機械またはロボットにおけるモータを制御するモータ制御装置であって、
前記通信経路は、高速シリアルバスにおける少なくとも２つのバーチャルモードのチャネルを含み、
前記少なくとも２つのバーチャルモードのチャネルにおいて、第１データの第１優先度を、前記第１データよりもサイズが大きい第２データの第２優先度よりも高くしてデータ通信を行い、
前記第１回路装置は、第１半導体集積回路であり、
前記第２回路装置は、複数の回路マクロが設けられた前記モータ制御装置の特定用途向け集積回路であり、
前記特定用途向け集積回路は、
高スループットが求められるデータを扱う、サーボモータまたはスピンドルモータを制御するサーボ制御部，画像を処理するグラフィックエンジンおよびＩ/Ｏ通信を制御するＩ/Ｏ通信マスタのいずれかと、
低レイテンシが求められるデータを扱うペリフェラルと、を含む、
ことを特徴とするモータ制御装置。
【請求項９】
前記高速シリアルバスは、ＰＣＩ Express（登録商標）であり、
前記第１データは、低レイテンシが求められるデータであり、
前記第２データは、高スループットが求められるデータである、
ことを特徴とする請求項８に記載のモータ制御装置。
【請求項１０】
前記第１半導体集積回路は、前記モータ制御装置のメインＣＰＵである、
ことを特徴とする請求項８または請求項９に記載のモータ制御装置。
【請求項１１】
前記第１データ通信により伝送される第１データは、レジスタおよびペリフェラルのいずれかに関連するデータを含み、
前記第２データ通信により伝送される第２データは、サーボ，スピンドル，Ｉ/Ｏおよびグラフィックのいずれかに関連するデータを含む、
ことを特徴とする請求項１乃至請求項１０のいずれか１項に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、低レイテンシが求められるデータ通信と高スループットが求められるデータ通信を両立するモータ制御装置に関する。
【背景技術】
【０００２】
近年、モータ制御装置等の電子装置には、部品点数の削減および占有面積の低減を図るために、様々な回路ブロック(機能マクロ)を集積化したＡＳＩＣ(Application Specific Integrated Circuit：特定用途向け集積回路)が利用されるようになっている。
【０００３】
例えば、工作機械やロボット等におけるモータを制御するモータ制御装置は、例えば、メインＣＰＵ(Central Processing Unit)と、それぞれ異なる機能を発揮する複数の回路ブロックが集積化されたＡＳＩＣをバスで接続し、メインＣＰＵとＡＳＩＣ間で様々な信号(命令信号，データ信号等)の送受信を行っている。
【０００４】
ここで、メインＣＰＵとＡＳＩＣ間の通信(信号の送受信)は、ＡＳＩＣに含まれる各回路ブロックの特性等により、例えば、低レイテンシ(短い遅延時間)が求められるデータ通信と、高スループット(大きい単位時間当たりの転送量)が求められるデータ通信が混在する。
【０００５】
そのため、例えば、工作機械やロボット等におけるモータを制御するモータ制御装置のパフォーマンスを向上させるためには、上述した異なるデータの通信を両立させて処理する必要がある。
【０００６】
ところで、従来、例えば、メインＣＰＵ(第１回路装置)とＡＳＩＣ(第２回路装置)間の通信を改善するものとして、様々な提案がなされている。例えば、ＰＣＩ Express（登録商標）(ピーシーアイエクスプレス（登録商標）：以下、ＰＣＩ-EXとも称する)におけるデバイスの接続方式として、コントローラとＰＣＩ-EXデバイス間を、複数のレーンで接続して伝送速度を向上させるものが提案されている(特許文献１)。
【０００７】
また、マルチコアプロセッサを有する数値制御システムとして、例えば、ＰＣＩ Express（登録商標），HyperTransport（商標）およびRapidIO（商標）といった高速シリアル通信のインタフェースを適用し、パラレル通信のインタフェースを適用するときよりも信号ピン数を削減して、コストおよび実装面積を低減するものも提案されている(特許文献２)。
【０００８】
さらに、短い周期で一定量のデータを必ず伝送し終わらなければならない、というような同期転送の制約が強い用途に対しても、低コスト、かつ、少ない再送オーバーヘッドでエラー発生時の処理を効率良く処理するために、ＰＣＩ-EX(ＰＣＩ Express（登録商標）)のバーチャルモードを適用するものも提案されている(特許文献３)。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第４５５８５１９号公報
【特許文献２】特開２０１３−０５４７３０号公報
【特許文献３】特開２００８−２０４２４５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述したように、例えば、メインＣＰＵとＡＳＩＣ間の通信は、それぞれ異なる機能を発揮する複数の回路ブロックがＡＳＩＣに集積されるため、低レイテンシが求められるデータ通信と、高スループットが求められるデータ通信が混在するようになってきている。
【００１１】
しかしながら、従来のモータ制御装置において、回路装置間におけるデータ通信は、例えば、１つの通信経路(バス)を経由して行われているため、低レイテンシが求められるデータ通信が待たされ、或いは、高スループットが求められるデータ通信の伝送速度が低下するといった解決すべき課題が存在する。
【００１２】
また、例えば、特許文献１に開示されている手法は、回路装置間のデータ通信を複数のレーンで行って伝送速度を向上させるものであり、さらに、特許文献２に開示されている手法は、シリアル通信のインタフェースを適用することで、コストおよび実装面積を低減させるものであって、異なるデータ通信を異なる特性の通信経路を経由して行うものではない。
【００１３】
そして、特許文献３に開示されている手法は、同期転送の制約が強い用途に対しても、ＰＣＩ-EXのバーチャルモードを適用して、低コスト、かつ、少ない再送オーバーヘッドでエラー発生時の処理を効率良く行うというものであって、やはり、異なるデータ通信を異なる特性の通信経路を経由して行うものではない。
【００１４】
本発明の目的は、上述した従来技術の課題に鑑み、異なる回路装置間において、低レイテンシが求められるデータ通信と高スループットが求められるデータ通信を、それぞれの特性に対応させて両立することのできるモータ制御装置の提供にある。
【課題を解決するための手段】
【００１５】
本発明に係る第１実施形態によれば、第１回路装置と、第２回路装置と、を含み、前記第１回路装置と前記第２回路装置間におけるデータ通信を、異なる通信特性を有する少なくとも２つの通信経路を経由して行う、工作機械またはロボットにおけるモータを制御するモータ制御装置であって、前記第１回路装置と前記第２回路装置間におけるデータ通信は、低レイテンシが求められる第１データ通信、および、高スループットが求められる第２データ通信を含み、前記第１回路装置と前記第２回路装置間における前記第１データ通信は、低レイテンシの特性を有する第１通信経路を経由して行い、前記第１回路装置と前記第２回路装置間における前記第２データ通信は、高スループットの特性を有する第２通信経路を経由して行い、前記第１回路装置は、第１半導体集積回路であり、前記第２回路装置は、複数の回路マクロが設けられた前記モータ制御装置の特定用途向け集積回路であり、前記特定用途向け集積回路は、高スループットが求められるデータを扱う、サーボモータまたはスピンドルモータを制御するサーボ制御部，画像を処理するグラフィックエンジンおよびＩ/Ｏ通信を制御するＩ/Ｏ通信マスタのいずれかと、低レイテンシが求められるデータを扱うペリフェラルと、を含むモータ制御装置が提供される。
【００１６】
第１実施形態のモータ制御装置によれば、異なる回路装置間において、低レイテンシが求められるデータ通信と高スループットが求められるデータ通信を、それぞれの特性に対応させて両立することができる。また、第１実施形態のモータ制御装置によれば、低レイテンシが求められるデータ通信および高スループットが求められるデータ通信を、それぞれの特性に対応した異なる特性の通信経路を経由して行うことができる。
【００１７】
すなわち、低レイテンシが求められるデータ通信は、低レイテンシの特性を有する第１通信経路を経由して行い、また、高スループットが求められるデータ通信は、高スループットの特性を有する第２通信経路を経由して行うことができる。これにより、工作機械やロボット等におけるモータを制御するモータ制御装置のパフォーマンスを向上させることが可能になる。
【００１８】
前記第１通信経路は、第１バッファサイズ，第１ペイロードサイズおよび第１レーン数を調整して低レイテンシの特性を持たせた第１シリアルバスであり、前記第２通信経路は、第２バッファサイズ，第２ペイロードサイズおよび第２レーン数を調整して高スループットの特性を持たせた第２シリアルバスであり、前記第１バッファサイズは、前記第２バッファサイズよりも小さく、或いは、前記第２ペイロードサイズは、前記第１ペイロードサイズよりも大きく、または、前記第２レーン数は、前記第１レーン数よりも多く設定することにより実現可能である。前記第１シリアルバスおよび前記第２シリアルバスは、ＰＣＩ Express（登録商標）であるのが好ましい。
【００１９】
また、前記第１通信経路は、パラレルバスであり、前記第２通信経路は、高速シリアルバスであってもよく、前記パラレルバスは、ＰＣＩバス，ＩＦＣバス，ＡＴＡバス，６０ｘバスおよびブートインターフェースのいずれかとし、前記高速シリアルバスは、ＰＣＩ Express（登録商標），HyperTransport（商標）およびRapidIO（商標）のいずれかとすることができる。
【００２０】
本発明に係る第２実施形態によれば、第１回路装置と、第２回路装置と、を含み、前記第１回路装置と前記第２回路装置間におけるデータ通信を、通信経路を経由して行う、工作機械またはロボットにおけるモータを制御するモータ制御装置であって、前記通信経路は、高速シリアルバスにおける少なくとも２つのバーチャルモードのチャネルを含み、前記少なくとも２つのバーチャルモードのチャネルにおいて、第１データの第１優先度を、前記第１データよりもサイズが大きい第２データの第２優先度よりも高くしてデータ通信を行い、前記第１回路装置は、第１半導体集積回路であり、前記第２回路装置は、複数の回路マクロが設けられた前記モータ制御装置の特定用途向け集積回路であり、前記特定用途向け集積回路は、高スループットが求められるデータを扱う、サーボモータまたはスピンドルモータを制御するサーボ制御部，画像を処理するグラフィックエンジンおよびＩ/Ｏ通信を制御するＩ/Ｏ通信マスタのいずれかと、低レイテンシが求められるデータを扱うペリフェラルと、を含むモータ制御装置が提供される。
【００２１】
第２実施形態のモータ制御装置において、前記高速シリアルバスは、ＰＣＩ Express（登録商標）であり、前記第１データは、低レイテンシが求められるデータであり、前記第２データは、高スループットが求められるデータであるのが好ましい。
【００２２】
第２実施形態のモータ制御装置によれば、第１実施形態のモータ制御装置と同様に、異なる回路装置間において、低レイテンシが求められるデータ通信と高スループットが求められるデータ通信を、それぞれの特性に対応させて両立することができる。さらに、第２実施形態のモータ制御装置によれば、小さなデータが大きなデータに待たされないようにすることで効率よくデータを転送できる。これは、低レイテンシが求められるサイズが小さいデータは、短い遅延でデータ通信が行われることにもなる。
【００２３】
前記第１データ通信により伝送される第１データは、レジスタおよびペリフェラルのいずれかに関連するデータを含み、前記第２データ通信により伝送される第２データは、サーボ，スピンドル，Ｉ/Ｏおよびグラフィックのいずれかに関連するデータを含んでもよい。前記第１回路装置は、第１半導体集積回路であり、前記第２回路装置は、複数の半導体集積回路が設けられたプリント基板であってもよい。
【００２４】
或いは、前記第１回路装置は、第１半導体集積回路であり、前記第２回路装置は、複数の回路マクロが設けられた第２半導体集積回路であってもよい。ここで、前記第２半導体集積回路は、前記モータ制御装置の特定用途向け集積回路であり、前記特定用途向け集積回路は、高スループットが求められるデータを扱う、サーボモータまたはスピンドルモータを制御するサーボ制御部，画像を処理するグラフィックエンジンおよびＩ/Ｏ通信を制御するＩ/Ｏ通信マスタのいずれかと、低レイテンシが求められるデータを扱うペリフェラルと、を含んでもよい。また、前記第１半導体集積回路は、前記モータ制御装置のメインＣＰＵであってもよい。
【発明の効果】
【００２５】
本発明に係るモータ制御装置によれば、異なる回路装置間において、低レイテンシが求められるデータ通信と高スループットが求められるデータ通信を、それぞれの特性に対応させて両立することのできるという効果を奏する。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明に係るモータ制御装置の各実施例を概略的に示すブロック図である。
【図２】図２は、図１に示すモータ制御装置の変形例を示すブロック図である。
【図３】図３は、本発明に係るモータ制御装置の第１実施例の要部を示すブロック図である。
【図４】図４は、図３に示す第１実施例のモータ制御装置における構成および設定例を説明するための図(その１)である。
【図５】図５は、図３に示す第１実施例のモータ制御装置における構成および設定例を説明するための図(その２)である。
【図６】図６は、本発明に係るモータ制御装置の第２実施例の要部を示すブロック図である。
【図７】図７は、本発明に係るモータ制御装置の第３実施例の要部を示すブロック図である。
【図８】図８は、モータ制御装置の一例を説明するための図である。
【発明を実施するための形態】
【００２７】
まず、本発明に係るモータ制御装置の実施例を詳述する前に、図８を参照して、モータ制御装置の一例、並びに、その問題点を説明する。図８は、モータ制御装置の一例を説明するための図であり、図８(a)は、モータ制御装置の一例の構成を示すブロック図であり、図８(b)は、図８(a)に示すモータ制御装置におけるデータの種類を示す図である。
【００２８】
図８(a)に示されるように、モータ制御装置は、ＣＰＵ(メインＣＰＵ，第１回路装置)１、対向デバイス(ＡＳＩＣ，第２回路装置)２、および、ＤＳＰ(Digital Signal Processor)３１を含む。さらに、モータ制御装置は、ストレージデバイス３２およびＳＲＡＭ(Static Random Access Memory)３３を含んでもよい。なお、ＳＲＡＭ３３は、バッテリによりバックアップされているが、フラッシュメモリなどの他の不揮発性メモリを適用してもよい。
【００２９】
ＡＳＩＣ２は、ＣＰＵ１が接続されるインタフェース(Ｉ/Ｆ)２０，オプションボード(図示しない)が接続されるＩ/Ｆ２１，ＤＭＡ(Direct Memory Access)２２，および，サーボ制御部２３を含む。さらに、ＡＳＩＣ２は、ＤＳＰ３１が接続されるＩ/Ｆ２４，様々な周辺機器が接続されるペリフェラル２５，グラフィックエンジン２６およびＩ/Ｏ通信マスタ２７を含む。
【００３０】
Ｉ/Ｏ通信マスタ２７は、Ｉ/Ｏ通信を制御するための回路であり、例えば、Ｉ/Ｏのイメージを格納するためのＲＡＭ(Random Access Memory：RAM for I/O)２８に格納された出力データ(ＤＯ)を、Ｉ/Ｏ通信を通じてスレーブユニット(図示しない)に送って出力させる。なお、図８(a)では、Ｉ/Ｏ通信マスタ２７がＩ/Ｏ通信を制御するようになっているが、様々な変形が可能なのはいうまでもない。
【００３１】
また、例えば、スレーブユニットに入力されたデータは、Ｉ/Ｏ通信を通じてＲＡＭ２８に入力データ(ＤＩ)として格納される。ここで、ＲＡＭ２８上のＤＩ/ＤＯは、例えば、ＣＰＵ１上で実行されるシーケンスプログラムにより、リード/ライトされる。なお、ＣＰＵ１は、マルチコアＣＰＵとして構成することができる。
【００３２】
グラフィックエンジン２６は、高度なグラフィック機能の一部を補助するプロセッサであり、例えば、画面のイメージデータを格納するＶＲＡＭ(Video RAM：ビデオメモリ)、および、ＶＲＡＭに格納されたデータをディスプレイ(例えば、ＬＣＤ(Liquid Crystal Display：液晶ディスプレイ)などに出力するＭＰＵ(Micro Processing Unit：マイクロプロセッサ)を含む。
【００３３】
ペリフェラル２５には、例えば、モータ制御装置のソフトウェアが格納されたｅＭＭＣ（登録商標）(embedded Multi Media Card)，ＳＤカード，ｅＳＳＤ(embedded Solid State Device)などを含むストレージデバイス３２，ＳＲＡＭ３３，キーボード，Ａ.ＳＰ/ＨＤＩ，ＲＴＣといった様々な周辺機器が接続される。
【００３４】
ここで、Ａ.ＳＰは、アナログ出力(アナログスピンドル出力)を示し、ＨＤＩは、実行中の加工プログラムをスキップさせるための信号を入力するスキップ信号入力Ｉ/Ｆを示す。なお、ＨＤＩは、タッチセンサの信号の入力Ｉ/Ｆとしても使用でき、センサ用の入力データ(ＤＩ)インタフェースとして機能する。また、ＲＴＣは、水晶発振器およびそのカウント回路で構成されるリアルタイムデジタルクロックを示し、バッテリやキャパシタにより動作する。
【００３５】
Ｉ/Ｆ２４は、ＤＳＰ３１が接続されるインタフェースであり、サーボ制御部(スピンドル/サーボ制御部)２３との間で信号の送受信を行う。サーボ制御部２３には、例えば、内蔵されたＲＡＭ領域にＣＰＵ１からの移動指令値が書き込まれ、ＤＳＰ３１は、その移動指令値を読み取って、モータを指令値の位置に移動させるための制御を行う。ここで、ＤＳＰ３１は、例えば、マルチコアＤＳＰとして構成される。また、モータの制御は、サーボ制御部２３に接続されたサーボＩ/Ｆを通じて行う。
【００３６】
サーボＩ/Ｆは、サーボアンプやスピンドルアンプを接続するためのインタフェースであり、これらのアンプには、例えば、工作機械の各軸を動作させるサーボモータやスピンドルモータへの動力線と、各モータの位置および速度を検出するフィードバック信号の入力線が接続される。
【００３７】
すなわち、サーボ制御部２３からは、サーボＩ/Ｆを通じて、アンプに対して電流の指令値が送られる。アンプは、その受け取った電流指令値に基づいてＰＷＭ(Pulse Width Modulation：パルス幅変調)信号による電流制御を行い、アンプに内蔵された電流センサの値をサーボＩ/Ｆに通じてサーボ制御部２３に送る。さらに、モータからのフィードバック信号も、サーボＩ/Ｆを通じてサーボ制御部２３に送られる。
【００３８】
ＤＳＰ３１は、受け取った電流センサの値やフィードバック信号の値に基づいて、次の電流制御指令値をサーボＩ/Ｆを通じてアンプに送る。また、ＤＳＰ３１は、この電流制御を繰り返し行うことでモータを制御し、ＣＰＵ１から指示された移動指令値に従って各軸を到達させる。そして、ＤＳＰ３１は、フィードバック信号の値をサーボ制御部２３に書き込み、ＣＰＵ１は、この書き込まれた値を読み出して、移動指令値に軸が到達したことを確認する。
【００３９】
ここで、ＤＳＰ３１は、例えば、マルチコアとして構成したＣＰＵ１に内蔵することも可能であり、この場合、移動指令値はサーボ制御部ではなく、ＣＰＵ１に接続されたＤＲＡＭやＣＰＵ内部のキャッシュメモリを介して、マルチコアにおけるＤＳＰ３１(ＤＳＰ３１用のコア)とＣＰＵ１(ＣＰＵ１用のコア)の間でデータ交換が行われることになる。
【００４０】
ＤＭＡ２２は、例えば、ＲＡＭ２８およびグラフィックエンジン２６のＶＲＡＭなどに格納されたデータ、または、格納するデータを、ＣＰＵ１の転送制御に基づくことなく、内部バス２９を介して直接転送制御する。また、ＤＭＡ２２は、例えば、Ｉ/Ｆ２１を介して接続されるオプションボードとの間における高スループットが求められるデータを直接転送制御することもある。Ｉ/Ｆ２０は、アービタ(バスアービタ)２０１を含み、ＡＳＩＣ２とＣＰＵ１間のデータ通信(信号の送受信)の調停を行って制御する。
【００４１】
図８(a)において、ＣＰＵ１とＡＳＩＣ２は、通信経路ＣＰ0により接続され、様々なデータの送受信を行うようになっている。すなわち、Ｉ/Ｆ２０を介して行われるＣＰＵ１とＡＳＩＣ２間のデータ通信には、例えば、実行中の加工プログラムをスキップさせるスキップ信号やセンサ用の入力データ、或いは、リアルタイムデジタルクロックの信号やストレージデバイス３２から入力されるペリフェラル２５からの低レイテンシが求められるデータＤ１と、例えば、ＤＭＡ２２により制御されるようなＲＡＭ２８やグラフィックエンジン２６のＶＲＡＭなどの高スループットが求められるデータＤ２が含まれている。なお、低レイテンシが求められるデータＤ１には、例えば、ＡＳＩＣ２に含まれる様々な回路ブロックにおいて、様々な設定を行うレジスタのデータも含まれる。
【００４２】
すなわち、通信経路ＣＰ0として、例えば、ＰＣＩ-EXなどの高速シリアルバスを適用しても、その通信経路ＣＰ0を経由してＣＰＵ１とＡＳＩＣ２間で送受信されるデータには、低レイテンシが求められるデータＤ１、および、高スループットが求められるデータＤ２が混在している。
【００４３】
図８(b)に示されるように、低レイテンシ(例えば、〜バイトパーマイクロセコンド：Ｂ/ｕ(μ)ｓｅｃ)が求められるデータ(第１データ)Ｄ１は、レジスタやペリフェラル２５に関連する小容量のデータであり、また、高スループット(例えば、〜キロバイトパーミリセコンド：ｋＢ/ｍｓｅｃ)が求められるデータ(第２データ)Ｄ２は、サーボ，スピンドル，Ｉ/Ｏまたはグラフィックに関連する大容量のデータである。
【００４４】
上述したように、通信経路ＣＰ0は、例えば、高速シリアルバスを適用することができるが、この場合、低レイテンシが求められるデータＤ１と高スループットが求められるデータＤ２を、同じ通信経路を経由して、ＣＰＵ１とＡＳＩＣ２間で通信することになる。すなわち、図８(a)に示すモータ制御装置において、ＣＰＵ１とＡＳＩＣ２間におけるデータ通信は、同じ通信経路(バス)を経由して行われるため、低レイテンシが求められるデータ通信が待たされ、或いは、高スループットが求められるデータ通信の伝送速度が低下するといった不都合が生じる虞がある。
【００４５】
以下、本発明に係るモータ制御装置の実施例を、添付図面を参照して詳述する。図１は、本発明に係るモータ制御装置の各実施例を概略的に示すブロック図であり、図１(a)は各実施例の基本構成、図１(b)は第１実施例、図１(c)は第２実施例、図１(d)は第３実施例のそれぞれを概略的に示すものである。
【００４６】
図１(a)に示されるように、本実施例のモータ制御装置は、ＣＰＵ(メインＣＰＵ，第１回路装置)１およびＡＳＩＣ(対向デバイス，第２回路装置)２を含み、ＣＰＵ１とＡＳＩＣ２間におけるデータ通信(信号の送受信)は、異なる通信特性を有する第１通信経路ＣＰ1および第２通信経路ＣＰ2を経由して行うようになっている。
【００４７】
すなわち、ＣＰＵ１とＡＳＩＣ２間において、低レイテンシが求められる第１データＤ１を送受信する第１通信は、低レイテンシの特性を有する第１通信経路ＣＰ1を経由して行い、高スループットが求められる第２データＤ２を送受信する第２通信は、高スループットの特性を有する第２通信経路ＣＰ2を経由して行うようになっている。
【００４８】
図１(b)に示されるように、第１実施例のモータ制御装置は、ＣＰＵ１とＡＳＩＣ２間において、第１データＤ１を送受信する第１通信経路ＣＰ11および第２データＤ２を送受信する第２通信経路ＣＰ12を、高速シリアルバス(例えば、ＰＣＩ-EX)で構成し、それぞれの各種パラメータを調整して、第１通信経路ＣＰ11を低レイテンシのデータ通信に適した特性に設定し、第２通信経路ＣＰ12を高スループットのデータ通信に適した特性に設定したものである。なお、第１実施例のモータ制御装置の詳細は、図３〜図５を参照して、後に詳述する。
【００４９】
図１(c)に示されるように、第２実施例のモータ制御装置は、ＣＰＵ１とＡＳＩＣ２間において、第１データＤ１を送受信する第１通信経路ＣＰ21をパラレルバスで構成し、第２データＤ２を送受信する第２通信経路ＣＰ12を高速シリアルバスで構成したものである。なお、第２実施例のモータ制御装置の詳細は、図６を参照して、後に詳述する。
【００５０】
図１(d)に示されるように、第３実施例のモータ制御装置は、ＣＰＵ１とＡＳＩＣ２間におけるデータ通信を、通信経路ＣＰ3を経由して行い、通信経路ＣＰ3は、高速シリアルバス(例えば、ＰＣＩ-EX)における少なくとも２つのバーチャルモードのチャネルＣＰ31,ＣＰ32を含む。そして、少なくとも２つのバーチャルモードのチャネルＣＰ31,ＣＰ32において、第１データＤ１の第１優先度を、第１データＤ１よりもサイズが大きい第２データＤ２の第２優先度よりも高くしてデータ通信を行う。なお、第３実施例のモータ制御装置の詳細は、図７を参照して、後に詳述する。
【００５１】
このように、本実施例のモータ制御装置によれば、異なる回路装置間において、低レイテンシが求められるデータ通信と高スループットが求められるデータ通信を、それぞれの特性に対応させて両立することができる。
【００５２】
以上において、ＡＳＩＣ２は、例えば、Ｉ/Ｆ２０を除き、図８を参照して説明したのと同様のものを適用することができる。ここで、第１回路装置１は、モータ制御装置のメインＣＰＵに限定されず、また、第２回路装置２は、モータ制御装置のＡＳＩＣ(特定用途向け集積回路)に限定されず、他の様々な半導体集積回路であってもよい。さらに、第１回路装置１と第２回路装置２間の信号の送受信は、低レイテンシと高スループットに限定されず、また、第１回路装置１と第２回路装置２間の通信経路は、３つ以上であってもよい。
【００５３】
図２は、図１に示すモータ制御装置の変形例を示すブロック図である。図２と前述した図１(a)の比較から明らかなように、上述した各実施例における第２回路装置は、複数の回路ブロックが設けられたＡＳＩＣ(半導体集積回路)２に限定されるものではなく、例えば、図８(a)を参照して説明した各回路ブロックに相当する複数の半導体集積回路が設けられたプリント基板２’であってもよい。
【００５４】
さらに、上述したように、各実施例における第１回路装置は、モータ制御装置のメインＣＰＵ１に限定されず、他の様々な半導体集積回路１であってもよい。なお、本変形例において、半導体集積回路１とプリント基板２’間の第１通信経路ＣＰ1および第２通信経路ＣＰ2は、図１(b)〜図１(d)を参照して概略を説明した第１実施例〜第３実施例の第１通信経路ＣＰ11，ＣＰ21，ＣＰ31および第２通信経路ＣＰ12，ＣＰ22，ＣＰ32をそのまま適用することが可能である。
【００５５】
図３は、本発明に係るモータ制御装置の第１実施例の要部を示すブロック図であり、ＣＰＵ１が接続されるＡＳＩＣ２におけるインタフェース(Ｉ/Ｆ)２０a、並びに、第１通信経路ＣＰ11および第２通信経路ＣＰ12を示すものである。なお、ＡＳＩＣ２の構成は、図８を参照して説明したものに相当し、図８におけるＩ/Ｆ２０が、図３に示すＩ/Ｆ２０aに対応する。
【００５６】
前に、図１(b)を参照して概略を説明したように、第１実施例のモータ制御装置は、ＣＰＵ１とＡＳＩＣ２間において、低レイテンシが求められる第１データＤ１を送受信する第１通信経路ＣＰ11、および、高スループットが求められる第２データＤ２を送受信する第２通信経路ＣＰ12を、両方とも高速シリアルバス(ＰＣＩ-EX)で構成している。
【００５７】
図３に示されるように、ＡＳＩＣ２のＩ/Ｆ２０aは、第１通信経路(第１ＰＣＩ-EX)ＣＰ11用の送信バッファ(TX Buffer)および受信バッファ(RX Buffer)を含む第１通信経路バッファ部２１１、第２通信経路(第２ＰＣＩ-EX)ＣＰ12用の送信バッファおよび受信バッファを含む第２通信経路バッファ部２１２、並びに、バスブリッジ２１３を含む。ここで、バスブリッジ２１３は、バッファ部２１１および２１２を介した第１および第２通信経路ＣＰ11およびＣＰ12と、ＡＳＩＣ２の内部バス２９をつなぐための回路である。
【００５８】
図４および図５は、図３に示す第１実施例のモータ制御装置における構成および設定例を説明するための図である。ここで、図４はパケットの種類別のバッファサイズの構成例を示し、図５(a)は送信/受信別のバッファサイズの構成例を示し、図５(b)はレーン数の構成例を示し、そして、図５(c)はペイロードサイズの設定例を示す。
【００５９】
図４および図５(a)〜図５(c)において、"High Throughput"は、高スループットが求められるデータＤ２を示し、"Low Latency"は、低レイテンシが求められるデータＤ１を示す。また、"High Throughput"の"TX Buffer"および"RX Buffer"は、図３に示す第２通信経路バッファ部２１２における送信バッファおよび受信バッファに対応し、"Low Latency"の"TX Buffer"および"RX Buffer"は、図３に示す第１通信経路バッファ部２１１における送信バッファおよび受信バッファに対応する。
【００６０】
まず、図５(a)に示されるように、バッファのサイズに関して、例えば、高スループットが求められるデータＤ２(High Throughput)に対しては、送信バッファ(TX Buffer)のサイズを２５６[Byte]とし、受信バッファ(RX Buffer)のサイズを４０９６[Byte]とする。また、低レイテンシが求められるデータＤ１(Low Latency)に対しては、送信バッファ(TX Buffer)のサイズを６４[Byte]とし、受信バッファ(RX Buffer)のサイズを２５６[Byte]とする。
【００６１】
そして、図４に示されるように、高スループットが求められるデータＤ２(High Throughput)に対して、送信バッファ(TX Buffer)および受信バッファ(RX Buffer)のパケットを、ポスティド要求(Posted Request)，ノンポスティド要求(NON Posted Request)および補間要求(Completion Request)の各ヘッダ(Headers)を２５６[Byte]とし、各データ(data)を４０９６[Byte]とする。
【００６２】
一方、低レイテンシが求められるデータＤ１(Low Latency)に対して、送信バッファ(TX Buffer)および受信バッファ(RX Buffer)のパケットを、ポスティド要求(Posted Request)，ノンポスティド要求(Non Posted Request)および補間要求(Completion Request)の各ヘッダ(Headers)を６４[Byte]とし、各データ(data)を２５６[Byte]とする。
【００６３】
ところで、ＰＣＩ-EXでは、例えば、受信バッファの容量を相互に連絡して通信するフロー制御(Flow Contorol)が行われる。このフロー制御は、通常、ハードウェアによって自動的に行われるため、ソフトウェアによって制御することは難しい。
【００６４】
そのため、例えば、バッファサイズが大きいと待たされることなく、次々と信号の送受信(データ通信)が行われるため、スループットは大きく(高く)なるが、バッファに溜まっているデータが多い場合には、例えば、ＣＰＵ１が個々のデータを送信してからＡＳＩＣ(対向デバイス)２が受信するまでの待ち時間は長く、すなわち、レイテンシが大きく(高く)なる。
【００６５】
そこで、高スループットが求められるデータＤ２の送受信を行う第２通信経路ＣＰ12側のバッファサイズを大きくし、低レイテンシが求められるデータＤ１の送受信を行う第１通信経路ＣＰ11側のバッファサイズを小さくするのが好ましいことが分かる。
【００６６】
すなわち、第１通信経路(第１ＰＣＩ-EX)ＣＰ11用のバッファサイズを小さくして第２通信経路(第２ＰＣＩ-EX)ＣＰ12用のバッファサイズを大きくすることにより、例えば、両方とも同じＰＣＩ-EXであっても、第１通信経路ＣＰ11を、低レイテンシが求められるデータＤ１に適したものとし、第２通信経路ＣＰ12を、高スループットが求められるデータＤ２に適したものとすることができる。
【００６７】
また、図５(b)に示されるように、レーン数の構成に関して、例えば、高スループットが求められるデータＤ２(High Throughput)に対しては、レーン数を大きく(例えば、４)し、低レイテンシが求められるデータＤ１(Low Latency)に対しては、レーン数を小さく(例えば、１)する。
【００６８】
すなわち、レーン数による速度差は、例えば、パケットサイズが大きいほど影響が大きいため、合計のレーン数に制限がある場合、高スループットが求められるデータＤ２を送受信する第２通信経路ＣＰ12のレーン数を大きくして、低レイテンシが求められるデータＤ１を送受信する第1通信経路ＣＰ11のレーン数を小さくする。これにより、第１通信経路ＣＰ11を、低レイテンシが求められるデータＤ１に適したものとし、第２通信経路ＣＰ12を、高スループットが求められるデータＤ２に適したものとすることができる。
【００６９】
さらに、図５(c)に示されるように、ペイロードサイズ(最大ペイロードサイズ)に関して、例えば、高スループットが求められるデータＤ２(High Throughput)に対しては、ペイロードサイズを大きく(例えば、４０９６[Byte])設定し、低レイテンシが求められるデータＤ１(Low Latency)に対しては、ペイロードサイズを小さく(例えば、１２８[Byte])設定する。
【００７０】
すなわち、例えば、ＰＣＩ-EXの規格では、コンフィグレーションレジスタでパケットの最大サイズ(ペイロードサイズ)を指定することができ、第１通信経路ＣＰ11側のペイロードサイズを小さくして、第２通信経路ＣＰ12側のペイロードサイズを大きくする。これにより、第１通信経路ＣＰ11を、低レイテンシが求められるデータＤ１に適したものとし、第２通信経路ＣＰ12を、高スループットが求められるデータＤ２に適したものとすることができる。
【００７１】
第１実施例のモータ制御装置によれば、ＣＰＵ１とＡＳＩＣ２間において、低レイテンシが求められる第１データＤ１を送受信する第１通信経路ＣＰ11、および、高スループットが求められる第２データＤ２を送受信する第２通信経路ＣＰ12を、両方とも高速シリアルバス(ＰＣＩ-EX)で構成しても、それぞれの通信経路に関するバッファサイズ，ペイロードサイズおよびレーン数といったパラメータを調整することにより、第１データＤ１を低レイテンシで送受信すると共に、第２データＤ２を高スループットで送受信することができる。
【００７２】
これにより、第１実施例のモータ制御装置によれば、異なる回路装置間において、低レイテンシが求められるデータ通信と高スループットが求められるデータ通信を、それぞれの特性に対応させて両立することができ、工作機械やロボット等におけるモータを制御するモータ制御装置のパフォーマンスを向上させることが可能になる。これは、他の実施例および変形例においても同様である。
【００７３】
なお、高速シリアルバスは、ＰＣＩ-EXに限定されるものではなく、また、調整するパラメータもバッファサイズ，ペイロードサイズおよびレーン数に限定されないのはもちろんである。さらに、第１実施例のモータ制御装置によれば、低レイテンシが求められるデータ通信および高スループットが求められるデータ通信を、それぞれの特性に対応した異なる特性の通信経路を経由して行うことができる。これは、以下に説明する第２実施例においても同様である。
【００７４】
図６は、本発明に係るモータ制御装置の第２実施例の要部を示すブロック図であり、ＣＰＵ１が接続されるＡＳＩＣ２におけるＩ/Ｆ２０b、並びに、第１通信経路ＣＰ21および第２通信経路ＣＰ22を示すものである。なお、ＡＳＩＣ２の構成は、図８を参照して説明したものに相当し、図８におけるＩ/Ｆ２０が、図６に示すＩ/Ｆ２０bに対応する。
【００７５】
前に、図１(c)を参照して概略を説明したように、第２実施例のモータ制御装置は、ＣＰＵ１とＡＳＩＣ２間において、低レイテンシが求められる第１データＤ１を送受信する第１通信経路ＣＰ21をパラレルバスで構成し、高スループットが求められる第２データＤ２を送受信する第２通信経路ＣＰ22を高速シリアルバス(ＰＣＩ-EX)で構成している。
【００７６】
図６に示されるように、ＡＳＩＣ２のＩ/Ｆ２０bは、第１通信経路(パラレルバス)ＣＰ21用の第１通信経路Ｉ/Ｆ２２１、第２通信経路(ＰＣＩ-EX)ＣＰ22用の第２通信経路Ｉ/Ｆ２２２、並びに、バスブリッジ２２３を含む。ここで、バスブリッジ２２３は、第１および第２通信経路Ｉ/Ｆ２２１および２２２を介した第１および第２通信経路ＣＰ21およびＣＰ22と、ＡＳＩＣ２の内部バス２９をつなぐための回路である。
【００７７】
第１通信経路ＣＰ21としては、例えば、ＰＣＩ(Peripheral Component Interconnect)，ＩＦＣ(International Field-bus Consortium)，ＡＴＡ(Advanced Technology Attachment)，６０ｘバスおよびブートインターフェース(Boot I/F)といった様々な規格のパラレルバスを適用することができる。
【００７８】
ところで、ＰＣＩ-EXなどの高速シリアルバスは、例えば、一対または複数の差動対のみによって構成されるインタフェースであり、シリアル/パラレル変換に所定の時間を要するため、信号を送受信する際に一定のタイムロスがある。ただし、信号の周波数(転送速度)は、例えば、８ＧＨｚ程度にすることができる。これに対して、ＰＣＩなどのパラレルバスは、例えば、複数のアドレス線，複数のデータ線および複数の制御線によって構成され、データ(信号)を変換する必要がないため、タイムロスは小さい。ただし、信号の周波数は、例えば、１００ＭＨｚ程度と遅い。
【００７９】
そこで、本第２実施例のモータ制御装置は、ＣＰＵ１とＡＳＩＣ２間において、第１通信経路ＣＰ21をパラレルバスで構成することで、第１通信経路ＣＰ21を、低レイテンシが求められるデータＤ１に適したものとし、第２通信経路ＣＰ22を高速シリアルバスで構成することで、第２通信経路ＣＰ22を、高スループットが求められるデータＤ２に適したものとすることができる。
【００８０】
図７は、本発明に係るモータ制御装置の第３実施例の要部を示すブロック図であり、ＣＰＵ１が接続されるＡＳＩＣ２におけるＩ/Ｆ２０c、並びに、第１通信経路ＣＰ31および第２通信経路ＣＰ32を示すものである。なお、ＡＳＩＣ２の構成は、図８を参照して説明したものに相当し、図８におけるＩ/Ｆ２０が、図７に示すＩ/Ｆ２０cに対応する。
【００８１】
前に、図１(d)を参照して概略を説明したように、第３実施例のモータ制御装置は、ＣＰＵ１とＡＳＩＣ２間におけるデータ通信を、通信経路ＣＰ3を経由して行い、通信経路ＣＰ3は、高速シリアルバス(例えば、ＰＣＩ-EX)における少なくとも２つのバーチャルモードのチャネルＣＰ31,ＣＰ32を含む。ここで、少なくとも２つのバーチャルモードのチャネルＣＰ31,ＣＰ32において、第１データＤ１の第１優先度を、第１データＤ１よりもサイズが大きい第２データＤ２の第２優先度よりも高くしてデータ通信を行うようになっている。
【００８２】
図７に示されるように、ＡＳＩＣ２のＩ/Ｆ２０cは、例えば、ＰＣＩ-EXにおける２つのバーチャルモードのチャネルＣＰ31およびＣＰ32を適用することにより、図３を参照して説明した第１実施例における第１および第２通信経路バッファ部２１１および２１２に相当する第１および第２バーチャルチャネルバッファ部２３１および２３２を含む。さらに、Ｉ/Ｆ２０cは、バスブリッジ２３３、および、バーチャルチャネル制御部２３４を含む。
【００８３】
バーチャルチャネル制御部２３４は、例えば、ＣＰＵ１とＡＳＩＣ２をつなぐ高速シリアルバスＣＰ3を２つのバーチャルモードのチャネルＣＰ31およびＣＰ32として使用するための制御を行うものであり、例えば、サイズが小さい第１データＤ１の優先度を、第１データＤ１よりもサイズが大きい第２データＤ２の優先度よりも高くするための処理も行う。また、バスブリッジ２３３は、バッファ部２３１および２３２およびバーチャルチャネル制御部２３４を介した高速シリアルバスＣＰ3と、ＡＳＩＣ２の内部バス２９をつなぐための回路である。
【００８４】
ところで、例えば、ＰＣＩ-EXの規格では、１つのチャネルを複数のチャネルのように使うバーチャルチャネル(バーチャルモード)という機能があり、それぞれのチャネル毎にアクセスの優先度を設定することができる。本第３実施例のモータ制御装置では、高速シリアルバス(ＰＣＩ-EX)における２つのバーチャルモードのチャネルＣＰ31およびＣＰ32に対応させて、例えば、サイズが小さいデータＤ１用の第１バーチャルチャネルバッファ部２３１、並びに、サイズが大きいデータＤ２用の第２バーチャルチャネルバッファ部２３２が設けられている。
【００８５】
ここで、サイズが小さいデータＤ１は、低レイテンシが求められるデータに相当し、また、サイズが大きいデータＤ２は、高スループットが求められるデータに相当する。これらのデータＤ１およびＤ２は、例えば、バーチャルチャネル制御部２３４により優先度が指定され、例えば、低レイテンシが求められるサイズが小さいデータＤ１の優先度は高く、高スループットが求められるサイズが大きいデータＤ２の優先度は低く設定される。
【００８６】
これにより、低レイテンシが求められるサイズが小さいデータＤ１は、例えば、サイズが大きいデータＤ２のデータ通信により待たされるといったことなく、短い遅延でデータ通信が行われることになる。すなわち、第３実施例のモータ制御装置によれば、低レイテンシが求められるデータ通信と高スループットが求められるデータ通信を、それぞれの特性に対応させて両立することができる。
【００８７】
すなわち、第３実施例のモータ制御装置によれば、小さなデータが大きなデータに待たされないようにすることで効率よくデータを転送でき、これは、低レイテンシが求められるサイズが小さいデータは、短い遅延でデータ通信が行われることにもなる。なお、高速シリアルバスＣＰ3によるバーチャルチャネルとして、ＰＣＩ-EXによる２つのバーチャルモードのチャネルＣＰ31，ＣＰ32を例として説明したが、これに限定されないのはもちろんである。
【００８８】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００８９】
１    ＣＰＵ(メインＣＰＵ，第１回路装置，半導体集積回路)
２    ＡＳＩＣ(対向デバイス，第２回路装置，半導体集積回路)
２’    プリント基板
２０，２０a，２０b，２０c    ＣＰＵが接続されるインタフェース(ＡＳＩＣのＩ/Ｆ)
２１    オプションボードが接続されるＩ/Ｆ
２２    ＤＭＡ
２３    サーボ制御部
２４    ＤＳＰが接続されるＩ/Ｆ
２５    ペリフェラル
２６    グラフィックエンジン
２７    Ｉ/Ｏ通信マスタ
２８    ＲＡＭ(RAM for I/O)
２９    内部バス
３１    ＤＳＰ
３２    ストレージデバイス
３３    ＳＲＡＭ
２１１    第１通信経路バッファ部
２１２    第２通信経路バッファ部
２１３，２２３，２３３    バスブリッジ
２２１    第１通信経路Ｉ/Ｆ
２２２    第２通信経路Ｉ/Ｆ
２３１    第１バーチャルチャネルバッファ部
２３２    第２バーチャルチャネルバッファ部
２３４    バーチャルチャネル制御部
【図１】
0006298030.tif 000002
【図２】
0006298030.tif 000003
【図３】
0006298030.tif 000004
【図４】
0006298030.tif 000005
【図５】
0006298030.tif 000006
【図６】
0006298030.tif 000007
【図７】
0006298030.tif 000008
【図８】
0006298030.tif 000009