説明

通信システム、通信システムの制御方法、およびプログラム

【課題】ケーブルの総数を低減しつつ、ネットワークに多数の子局を接続可能にする。
【解決手段】親局と複数の子局とを備える通信システムであって、親局と複数の子局とは、複数段ライン接続またはループ接続されており、親局は、複数の子局のそれぞれが、前段の局から受信したデータから再生された再生クロックに従って後段の局へのデータ送信を行う第一のデータ中継方式と、自局において生成されたローカルクロックに従って後段の局へのデータ送信を行う第二のデータ中継方式と、の何れの中継方式を採用すべきかを、複数の子局の状態を示す情報に基づいて決定する決定部を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システム、通信システムの制御方法、およびプログラムに関する。
【背景技術】
【0002】
産業用機器などの制御システムは一般的に、演算処理部(CPU等)と複数のセンサ及びアクチュエータにより構成される。センサは現在値に関する外部情報を取得し、演算処理部へ出力する。演算処理部はその外部情報から目標値とのずれを算出し、その補正値をアクチュエータへ出力する。アクチュエータはその補正値に基づき駆動される。制御システムは、以上のようなフィードバック制御を周期的に繰り返すことで所望の動作を達成する。制御システムの1つに、産業用ロボットに代表されるロボットシステムがある。
【0003】
特許文献1では、機械的・電気的に独立した関節モジュールを組み合わせて接続し、関節モジュール内部に具備される通信部を用いて動作制御に関わる情報を送受信することで全体の動作制御を行うロボットシステムが開示されている。なお、特許文献1の図2に示されるように、各関節モジュールは通信部を有しており、他の関節モジュールとネットワークを構築する構造となっている。この構造により、多数の関節モジュールを組み合わせた場合においても、作業内容の変化に応じて組替えができる柔軟なロボットシステムを構築している。
【0004】
特許文献2では、作業内容を認識し、作業内容に応じて適切なエンドエフェクタを選択し、自律的に交換を行うロボットシステムが開示されている。
【0005】
フィードバック制御を行う周期はサンプリング周期と呼ばれる。一般的にサンプリング周期を高速にすれば、高速且つ精密な動作を可能とする制御システムを構築できる。しかしながら、サンプリング周期の高速化はいくつかの要因により制限される。その要因の1つに無駄時間がある。無駄時間とは制御システムの内部に生じる時間遅れである。具体的にはセンサが外部情報を取得し、その外部情報から算出された補正値に基づいてアクチュエータが駆動するまでに要する時間遅れである。この無駄時間は、サンプリング周期と比較して十分に小さくする必要がある。もし無駄時間がサンプリング周期に対して無視できないほど大きいと、フィードバック制御は不安定になる。つまり高速且つ精密な動作を実現する制御システムを構築する為には、無駄時間を可能な限り小さくする必要がある。無駄時間は情報の伝送に要する伝送時間と、演算処理部が外部情報から補正値を算出するまでに要する演算時間の和として表される。
【0006】
信号伝送の観点から無駄時間を小さくする最も単純な構成は、演算処理部と全てのセンサ、アクチュエータ間を1対1の配線で接続する構成である。このようにすれば、伝送時間を最も短縮でき、つまりは無駄時間を小さくできる。しかしながら、この構成では、センサ、アクチュエータの個数分だけケーブルが必要となる。したがって多数のセンサ、アクチュエータを具備する制御システムにおいて、ケーブルの数は膨大なものとなる。その為、ケーブルコストが増大する、ケーブル引き回しが複雑になる、ケーブルの重量や振動が制御へ影響を与える、といった問題が生じる。そのため、演算制御部と各センサ、アクチュエータ間の配線をネットワーク化することで省配線化する取り組みが広く行われている。
【0007】
特許文献3では、演算制御部を内蔵する親局とセンサやアクチュエータが接続された子局間とをライン接続する制御システムが開示されている。ネットワーク化し、且つ無駄時間を小さくする為には、各端局においてデータの中継に要する時間(以降、「データ中継時間」と称する)をできる限り短くする必要がある。
【0008】
ところでネットワーク接続される端局の同期方式として、従属同期方式と独立同期方式がある。独立同期方式では、特許文献4の図10に記載されるように、ローカルに持つクロック発振部が発振するクロックを用いて下位局へデータ送信を行う。そのため、独立同期方式では、クロックリカバリ部により再生された再生クロックとローカルクロックとの間の周波数偏差による伝送レートの差異を吸収する為、レートマッチFIFOを設ける必要がある。一方、従属同期方式では、特許文献5の図6に記載されるように、クロックリカバリ部により再生した再生クロックを用いて下位局へデータ送信を行う。そのため、従属同期方式では、独立同期方式のように、レートマッチFIFOを設ける必要はない。
【0009】
無駄時間の短縮という観点で両方式を比較した場合、独立同期方式より従属同期方式を採用した方が良い。なぜなら従属同期方式はレートマッチFIFOを設ける必要がない為、独立同期方式と比較してレートマッチFIFOを通過する分だけデータ中継遅延を短くすることができる。
【0010】
しかしながら、従属同期方式は独立同期方式とは違い、ネットワークに接続できる子局の総数が制限される。なぜなら送信クロックに再生クロックを用いる従属同期方式は、子局を経由するごとにジッタ量が加算される為、その結果、所定段数以上の端局ではデータ誤りが生じてしまう為である。従属同期方式を用いたネットワークにおいて、特許文献6、特許文献7では、接続可能な子局の総数を増やす従来技術が開示されている。特許文献6では、隣接しない子局間でクロックを伝送する為のバイパスを設け、データの伝送方向からみて親局に近い側の子局で再生したクロックを、親局から遠い側の子局の送信クロックとして使用する通信システムが開示されている。また特許文献7では、親局に最も近い子局で再生されたクロックを伝送するクロック伝送経路を設け、各子局は通信信号から再生したクロックとクロック伝送経路からのクロックとのどちらか一方を送信クロックとして使用する通信システムが開示されている。これらの技術を用いれば、単純な従属同期方式と比較して、子局を経由するごとに加算されるジッタ量を抑制することができ、つまりはネットワークに接続できる子局の総数を増やすことができる。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開平09−029671号公報
【特許文献2】特開2009−148845号公報
【特許文献3】特開2006−94302号公報
【特許文献4】特開平11−252144号公報
【特許文献5】特開2003−209556号公報
【特許文献6】特開昭62−72250号公報
【特許文献7】特開2008−145902号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、特許文献6および特許文献7では、ネットワークに接続できる子局の総数を増す為には、子局の総数の増加に応じた相当数のケーブルをデータ伝送用以外に設ける必要がある。その為、ケーブルコストが増大する、ケーブル引き回しが複雑になる、ケーブルの重量や振動が制御へ影響を与える、といった問題が生じる。逆に言えば、データ伝送用以外のケーブルを少なくすればするほど、ネットワークに接続できる子局の総数は制限される。つまり、ネットワークに接続できる子局の総数とケーブルの省配線化はトレードオフの関係にある。
【0013】
上記の課題に鑑み、本発明は、ケーブルの総数を低減しつつ、ネットワークに多数の子局を接続できるデータ伝送技術を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記の目的を達成する本発明に係る通信システムは、
親局と複数の子局とを備える通信システムであって、
前記親局と前記複数の子局とは、複数段ライン接続またはループ接続されており、
前記親局は、
前記複数の子局のそれぞれが、前段の局から受信したデータから再生された再生クロックに従って後段の局へのデータ送信を行う第一のデータ中継方式と、自局において生成されたローカルクロックに従って後段の局へのデータ送信を行う第二のデータ中継方式と、の何れの中継方式を採用すべきかを、前記複数の子局の状態を示す情報に基づいて決定する決定手段を備えることを特徴とする。
【発明の効果】
【0015】
本発明によれば、ケーブルの総数を低減しつつ、ネットワークに多数の子局を接続することができる。
【図面の簡単な説明】
【0016】
【図1】本発明を適用可能なロボットシステムの概要図。
【図2】第1実施形態に係るネットワーク構成図。
【図3】第1実施形態に係る親局及び子局の内部構成図。
【図4】第1実施形態に係る親局データ処理部の内部構成図。
【図5】第1実施形態に係る子局データ処理部の内部構成図。
【図6】第1乃至第3実施形態の各種信号生成部が生成する信号を説明する図。
【図7】第1実施形態に係る初期シーケンスの動作フロー図。
【図8】第1実施形態に係る動作を説明する図。
【図9】第1実施形態に係る同期方式割当信号として出力されるテーブル情報。
【図10】第2実施形態に係る動作を説明する図。
【図11】第2実施形態に係る親局及び子局の内部構成図。
【図12】第2実施形態に係る親局データ処理部の内部構成図。
【図13】第2実施形態に係る子局データ処理部の内部構成図。
【図14】第2実施形態に係る初期シーケンスの動作フロー図。
【図15】第2実施形態に係る同期方式割当信号として出力されるテーブル情報。
【図16】第3実施形態に係る動作を説明する図。
【図17】第3実施形態に係る親局及び子局の内部構成図。
【図18】第3実施形態に係る子局データ処理部の内部構成図。
【図19】第3実施形態に係る同期方式割当信号として出力されるテーブル情報。
【図20】第3実施形態に係るデータ伝送フェーズ中に独立同期方式から従属同期方式へ切り替える子局の動作について説明する図。
【図21】第3実施形態に係るデータ伝送フェーズ中に従属同期方式から独立同期方式へ切り替える子局の動作について説明する図。
【図22】ライン型にした場合のネットワーク構成図。
【発明を実施するための形態】
【0017】
(第1実施形態)
図1は、本発明を適用可能なロボットシステムの概要図である。制御部1は、ロボットシステム全体の動作を制御する。また制御部1は、不図示の管理システムへ作業進捗状況やエラーログ等の情報を随時出力する。ロボットアーム2は、後述するエンドエフェクタ3またはエンドエフェクタ4と接続可能であり、所定の作業を実施する。エンドエフェクタ3は、図示のようにロボットアーム2の先端に取り付けられ、加工対象物5に対して所定の作業を行う。エンドエフェクタ4もまたエンドエフェクタ3と同様、ロボットアーム2の先端に取り付けられ、エンドエフェクタ3とは異なる所定の作業を行う。すなわち、エンドエフェクタは、所定の作業に対応した所定の構造を有している。本ロボットシステムは、作業内容に応じてエンドエフェクタ3及びエンドエフェクタ4の交換を、人手を介さず自立的に行うものとする。
【0018】
図2は、本実施形態のネットワーク構成図である。親局と、複数の子局とは、複数段ライン接続またはループ接続される。ライン接続の例は、図22を参照して後述する。親局10は、図1で図示した制御部1に内蔵される。複数の子局20は、図1で図示したロボットアーム2またはエンドエフェクタ3、エンドエフェクタ4に内蔵される。
【0019】
親局10は、子局接続コネクタ11、子局接続コネクタ12を有し、子局接続コネクタ11を介して後述する子局20Aの上位局接続コネクタ21Aと接続され、子局接続コネクタ12を介して後述する子局20Nの下位局接続コネクタ22Nと接続される。また子局20は、上位局接続コネクタ21と下位局接続コネクタ22とを有し、これらを介して上位局及び下位局へ相互に接続される。以上のように親局10と各子局20は接続され、図示するようなループ型のネットワークとなる。図2の例では、親局10が1つと、子局20A、子局20B、子局20C、子局20D、…、子局20Nが存在する。そして、子局20Aは上位局接続コネクタ21Aおよび下位局接続コネクタ22Aを備える。同様に、子局20B、20C、20D、…20Nは、上位局接続コネクタ21B、21C、21D、…、21Nおよび下位局接続コネクタ22B、22C、22D、…、22Nを備える。
【0020】
子局20にはアクチュエータ23、センサ24がデバイスコネクタ25を介して接続される。ここでアクチュエータ23は例えばサーボ制御されるモータであり、センサ24は例えば角度/位置検出を行うエンコーダである。各子局は、親局10から出力される駆動信号に基づき、アクチュエータ23を駆動する。また各子局は、センサ24が取得した外部情報を、センサ信号として親局10へ出力する。親局10には後述する演算処理部が内蔵されており、当該演算処理部にて各子局から出力されるセンサ信号から、目標値とのずれを算出する。そしてその補正値を駆動信号として各子局へ出力する。本ロボットシステムは、以上に示したフィードバック制御を行うことで所望の動作を得ることができる。
【0021】
図2の例では、子局20Aは、アクチュエータ23A、センサ24A、デバイスコネクタ25Aを備える。同様に、子局20B、20C、20D、…、20Nは、それぞれ、アクチュエータ23B、23C、23D、…、23N、センサ24B、24C、24D、…、24N、デバイスコネクタ25B、25C、25D、…、25Nを備える。
【0022】
本実施形態では、センサ信号や駆動信号といった有効なデータの伝送を行う前に、初期シーケンスを実施し、親局10が各子局の中継局数を把握し、各子局の同期方式を決定する構成について説明する。すなわち、親局は、複数の子局のそれぞれが、前段の端局から受信したデータから再生された再生クロックに従って後段の端局へのデータ送信を行う従属同期方式(第一のデータ中継方式)と、自局において生成されたローカルクロックに従って後段の端局へのデータ送信を行う独立同期方式(第二のデータ中継方式)と、の何れの中継方式を採用すべきかを、複数の子局の状態を示す情報に基づいて決定する。本実施形態において、複数の子局の状態を示す情報は、親局から送信されたデータを中継する子局の中継局数である。
【0023】
図3(a)および(b)は、本実施形態における親局10及び子局20の内部構成を示す。
【0024】
<親局の構成>
図3(a)は、本実施形態における親局10の内部構成を示す図である。親局10は、子局接続コネクタ11と、子局接続コネクタ12と、親局通信部13と、演算制御部14とを備える。
【0025】
親局通信部13は、クロックリカバリ部100と、ローカルクロック発振部101と、受信部102と、レートマッチFIFO103と、親局データ処理部104と、送信部105とを備える。
【0026】
クロックリカバリ部100は、前段の端局(親局10の場合は子局20N)から出力される通信信号からクロックを再生し、再生クロックC1を出力する。ローカルクロック発振部101は、再生クロックC1と略同等の周波数をもつローカルクロックC2を発振する。
【0027】
受信部102は、再生クロックC1に同期して通信信号を取り込み、所定の復号化処理を施し、データD1を出力する。ここで所定の復号化処理とは、クロックリカバリを容易にするための復号化処理(例えばマンチェスター符号、5B4B変換/10B8B変換等)を指す。なお当該復号化処理は行うことが望ましいが、必須ではない。
【0028】
レートマッチFIFO103は、再生クロックC1に同期して、データD1を一時的に記憶し、ローカルクロックC2に同期して先入れ先出しの順序で、データD2を出力する。レートマッチFIFO103は、再生クロックC1とローカルクロックC2との間の周波数偏差による伝送レートの差異を吸収する為に設けられる。親局データ処理部104は、親局10における各種データを処理する。親局データ処理部104の処理の詳細については、図4(a)を参照して後述する。
【0029】
送信部105は、入力される各種信号に対し、所定の符号化処理を施して出力する。ここで所定の符号化処理とは、クロックリカバリを容易にするための復号化処理(マンチェスター符号、5B4B変換/10B8B変換等)を指す。送信部105で施される符号化処理は、受信部102で施される復号化処理に対応している。
【0030】
演算制御部14は、各子局から出力されるセンサ信号に基づき、目標値とのずれを算出し、その補正値を駆動信号として出力する。なお図3(a)において、点線T1より右に図示する各ブロックはローカルクロックC2に同期して動作する。
【0031】
次に、図4(a)を参照して親局データ処理部104の内部構成を説明する。親局データ処理部104は、同期方式決定部120と、センサ信号検出部121と、駆動信号記憶部122と、親局送信制御部123、各種信号生成部124とを備える。
【0032】
同期方式決定部120は、子局中継局数記憶部130と、許容中継局数記憶部131と、同期方式判定部132とを備える。子局中継局数記憶部130は、ネットワークに接続された子局の総数を把握し、記憶する。その方法については後述する。許容中継局数記憶部131は、従属同期方式(第一のデータ中継方式)で接続可能な中継局数(以降、「許容中継局数」と称する)を記憶する。本実施形態では、許容中継局数は3であり、事前に分かっているものとする。ゆえに、許容中継局数記憶部131には数値3が記憶される。同期方式判定部132は、子局中継局数記憶部130と許容中継局数記憶部131とが記憶する各情報に基づいて、各子局の同期方式を決定する。
【0033】
センサ信号検出部121は、各子局から出力されるセンサ信号を検出し、演算制御部14へ出力する。駆動信号記憶部122は、演算制御部14から出力される駆動信号を一時的に記憶する。親局送信制御部123は、データD2に基づいて、後述するフローに従い、駆動信号記憶部122と、後述する各種信号生成部124と、の出力を制御する。各種信号生成部124は、図6(a)−(d)に記載する各種信号を生成し、出力する。各種信号の詳細については後述する。
【0034】
<子局の構成>
図3(b)は、本実施形態における子局20の内部構成を示す図である。子局20は、上位局接続コネクタ21と、下位局接続コネクタ22と、アクチュエータ23と、センサ24と、デバイスコネクタ25と、子局通信部26と、デバイス制御部27とを備える。子局通信部26は、クロックリカバリ部100と、ローカルクロック発振部101と、受信部102と、レートマッチFIFO103と、送信部105と、クロックセレクタ106(第一のセレクタ)と、受信データセレクタ107(第二のセレクタ)と、子局データ処理部108と、セレクタ制御部109とを備える。ここでクロックリカバリ部100、ローカルクロック発振部101、受信部102、送信部105は親局10と同様の動作を行う為、説明を省略する。
【0035】
クロックセレクタ106は、セレクタ制御部109による制御に応じて、再生クロックC1とローカルクロックC2とのどちらか一方を選択し、送信クロックC3として出力する。
【0036】
レートマッチFIFO103は、親局10のレートマッチFIFO103と同じ構成であるが、ローカルクロックC2ではなく送信クロックC3に同期してデータD2を出力する。当該レートマッチFIFO103は、親局10と同様、再生クロックC1とローカルクロックC2との間の周波数偏差による伝送レートの差異を吸収する為に設けられる。
【0037】
受信データセレクタ107もまた、セレクタ制御部109による制御に応じて、データD1とデータD2とのどちらか一方を選択し、データD4を出力する。子局データ処理部108は、子局20における各種データを処理する。子局データ処理部108の処理の詳細については、図5を参照して後述する。
【0038】
セレクタ制御部109は、詳細については後述するが、子局データ処理部108からのデータD5、データD6に基づいて、採用すべき同期方式を判断し、クロックセレクタ106、受信データセレクタ107を制御する。具体的には、独立同期方式(第二のデータ中継方式)を採用すべきと判断した場合には、送信クロックC3としてローカルクロックC2を選択するようにクロックセレクタ106を制御する。またデータD4としてデータD2を選択するよう受信データセレクタ107を制御する。逆に従属同期方式を採用すべきと判断した場合には、送信クロックC3として再生クロックC1を選択するようにクロックセレクタ106を制御する。またデータD4としてデータD1を選択するように受信データセレクタ107を制御する。
【0039】
デバイス制御部27は、子局データ処理部108より駆動信号が入力されると、それに従ってアクチュエータ23の駆動制御を行う。またセンサ24が取得したセンサ信号が入力されると、そのセンサ信号を子局データ処理部108へ出力する。なお、図3(b)において点線T10より右に図示する各ブロックはローカルクロックC2に同期して動作する。
【0040】
次に、図5を参照して子局データ処理部108の内部構成を説明する。子局データ処理部108は、段数信号検出部140と、同期方式割当信号検出部141と、段数信号インクリメント部142と、駆動信号検出部143と、センサ信号記憶部144と、データ合成部145と、子局送信制御部146と、送信データセレクタ147とを備える。
【0041】
段数信号検出部140は、親局10から出力される後述する段数信号を検出し、データD6を出力する。同期方式割当信号検出部141は、親局10から出力される後述する同期方式割当信号を検出し、データD7を出力する。段数信号インクリメント部142は、親局10から出力される後述する段数信号を検出し、その数値を1インクリメントして、データD8として出力する。駆動信号検出部143は、親局10から出力される駆動信号を検出し、デバイス制御部27へ出力する。センサ信号記憶部144は、デバイス制御部27から出力されるセンサ信号を一時的に記憶する。
【0042】
データ合成部145は、親局10から出力される後述するデータ伝送フレームに、センサ信号記憶部144が出力したセンサ信号を合成し、データD9を出力する。センサ信号記憶部144がセンサ信号の出力をしていない間は、データD4をデータD9としてそのまま出力する。子局送信制御部146は、段数信号を検出すると、段数信号インクリメント部142が出力するデータD8を、データD5として出力するように送信データセレクタ147を制御する。それ以外の期間は、データ合成部145が出力するデータD9をデータD5として出力するよう送信データセレクタ147を制御する。またセンサ信号記憶部144の出力制御を行う。送信データセレクタ147は、子局送信制御部146による制御により、データD8またはデータD9のどちらか一方を選択し、データD5として出力する。
【0043】
<伝送制御手順>
続いて本実施形態における伝送制御手順について説明する。本実施形態では上述したように有効なデータの伝送を行う前に、初期シーケンスを実施する。図7は、本実施形態の初期シーケンスをフローチャートとして図示したものである。なお、初期シーケンスの開始トリガーは、例えば電源投入時やリセット時、エンドエフェクタの交換時であるとする。
【0044】
最初に図7のステップS10の動作について説明する。ステップS10において、親局10の親局送信制御部123は、図6(a)に示す段数信号フレームを出力するように各種信号生成部124を制御する。段数信号フレームは、同期信号と段数信号とを含む。ここで同期信号は、プリアンブルとフレーム同期信号とを含む。プリアンブルはクロック同期用のデータ列であり、子局20が独立同期方式を採用していた場合に、任意の子局の送信クロックC3と、その後段の子局の再生クロックC1とが同期するのに十分な時間長を有する。フレーム同期信号は、フレーム同期及び後述するタイムスロット同期を行う為の特定のデータ列であり、プリアンブルの後に出力される。段数信号は、各子局が親局10からの中継局数を把握する為と、親局10がネットワークに接続された子局20の総数を把握する為に用いられる。親局10は当該段数信号に数値1を入力して出力する。
【0045】
ステップS10において、子局20のセレクタ制御部109は、独立同期方式を採用するようにクロックセレクタ106、受信データセレクタ107を制御する。具体的には上述したように、送信クロックC3としてローカルクロックC2を選択するようにクロックセレクタ106を制御し、またデータD4としてデータD2を選択するように受信データセレクタ107を制御する。独立同期方式を採用する理由は、全子局が段数信号フレームの同期信号によってクロック同期、フレーム同期、タイムスロット同期を行い、段数信号を受信することができる為である。
【0046】
子局データ処理部108の子局送信制御部146は、段数信号を検出すると、段数信号インクリメント部142が出力するデータD8を、データD5として出力するように送信データセレクタ147を制御する。また段数信号インクリメント部142は、親局10から出力される段数信号を検出し、その数値に1をインクリメントしてデータD8として出力する。例えば子局20Aでは、段数信号に数値1が既に入力されている為、数値2にインクリメントして出力する。同様に子局20Bでは、段数信号に数値2が既に入力されている為、数値3にインクリメントして出力する。段数信号フレームが中継される様子を図8(a)に示す。段数信号は、隣接する子局へ移るにつれて1ずつインクリメントされていく。
【0047】
子局データ処理部108の段数信号検出部140は、親局10から出力される段数信号を検出すると、その段数信号の数値をデータD6として出力する。例えば子局20Aは数値1を、子局20Bは数値2を、データD6として出力する。セレクタ制御部109は、データD6が入力されるとその数値を中継局数値として記憶する。以上の動作により、各子局のセレクタ制御部109には、親局10からの中継局数が記憶されることになる。
【0048】
親局10の親局データ処理部104の子局中継局数記憶部130は、全子局を一巡して戻ってきた段数信号を検知すると、その段数信号の数値を1デクリメントして記憶する。このとき段数信号には上記した一連の中継動作により、ネットワークに接続された子局20の総数+1が入力されている。本実施形態においてネットワークに接続された子局20の総数はNである為、段数信号にはN+1が入力されている。ゆえに、子局中継局数記憶部130は数値Nを記憶する。
【0049】
同期方式判定部132は、子局中継局数記憶部130と許容中継局数記憶部131とが記憶する数値情報から、子局20の総数を把握し、各子局の同期方式を決定する。本実施形態では、許容中継局数は3である。その為、同期方式判定部132は、3の整数倍の中継局数にある子局20C、20F・・は独立同期方式を、それ以外の子局(子局20A、20B、20D、20E、20G・・)は従属同期方式を採用するように決定する。親局送信制御部123が、全子局を一巡して戻ってきた段数信号を検知すると、ステップS11へ移行する。
【0050】
続いてステップS11の動作について説明する。ステップS11において、親局10の親局送信制御部123は、図6(b)に示す同期方式割当フレームを出力するように各種信号生成部124を制御する。同期方式割当フレームは同期信号と同期方式割当信号とを含む。同期方式割当信号は、ステップS10での同期方式決定部120の決定に基づいて生成される。本実施形態では図9に示すテーブル情報が同期方式割当信号として出力される。ステップS11において、子局20の子局データ処理部108の子局送信制御部146は、データ合成部145が出力するデータD9をデータD5として出力するように送信データセレクタ147を制御する。またデータ合成部145は、親局10から出力される同期方式割当フレームを中継する。以上の動作により、同期方式割当フレームは各子局へ中継伝送される。
【0051】
子局データ処理部108の同期方式割当信号検出部141は、親局10から出力される同期方式割当信号を検出すると、その同期方式割当信号をデータD7として出力する。セレクタ制御部109は、データD7が入力されるとその同期方式割当信号に入力されたテーブル情報を記憶する。本実施形態では図9のテーブル情報が記憶される。セレクタ制御部109は、当該テーブル情報と、ステップS10で記憶した中継局数値とに基づいて、自局が採用すべき同期方式を判断する。例えば子局20Aは中継局数値が1である為、従属同期方式を採用すべきと判断する。また子局20Cは中継局数値が3である為、独立同期方式を採用すべきと判断する。
【0052】
セレクタ制御部109は、上記判断結果に基づいて、クロックセレクタ106及び受信データセレクタ107を制御する。つまり、独立同期方式を採用すべきと判断した子局20C、20F、・・、のセレクタ制御部109は、現在の独立同期方式を維持するようにクロックセレクタ106及び受信データセレクタ107を制御する。一方、従属同期方式を採用すべきと判断した子局20A、20B、20D、20E、20G、・・は、独立同期方式から従属同期方式へ切り替えるようにクロックセレクタ106及び受信データセレクタ107を制御する。具体的には、上述したように送信クロックC3としてローカルクロックC2ではなく再生クロックC1を選択するようクロックセレクタ106を制御する。またデータD4としてデータD2からデータD1へ切り替えて選択するように受信データセレクタ107を制御する。なお同期方式の切り替えは、データ誤り防止の為、後段の子局へ同期方式割当フレームを伝送し終えた後に行うものとする。以上の動作より、ステップS11において、図8(b)に示すように各子局の同期方式が変更される。親局送信制御部123が、全子局を一巡して戻ってきた同期方式割当信号を検知すると、ステップS12へ移行する。
【0053】
続いてステップS12の動作について説明する。ステップS12において、親局10の親局送信制御部123は、図6(c)に示す同期用フレームを出力するように各種信号生成部124を制御する。同期用フレームはクロック同期用のデータ列であり、ステップS11にて独立同期方式を採用した子局の送信クロックC3と、その子局の後段に位置する最初の独立同期方式を採用した子局の再生クロックC1とを同期させるのに十分な時間長を有する。つまり同期用フレーム伝送完了後には、独立同期方式を採用した子局の送信クロックC3と、その子局の後段に位置する最初の独立同期方式を採用した子局の再生クロックC1及び、その間にある従属同期方式を採用した子局の送信クロックC3は同期する。親局送信制御部123が、同期用フレームの出力を完了すると、初期シーケンスは終了し、データ伝送フェーズへ移行する。
【0054】
続いてデータ伝送フェーズの動作について説明する。データ伝送フェーズにおいて、親局10の親局送信制御部123は、図6(d)に示すデータ伝送フレームを連続して出力するように各種信号生成部124を制御する。また親局送信制御部123は、駆動信号記憶部122に、出力すべき駆動信号が記憶されている場合には、当該駆動信号を出力するように駆動信号記憶部122を制御する。
【0055】
データ伝送フレームは、同期信号、有効データ伝送期間、アイドル期間を含んでいる。有効データ伝送期間は、任意の数のタイムスロットにより構成されており、当該タイムスロットによって駆動信号、センサ信号、その他エラー通知などの制御信号が伝送される。本実施形態では、有効データ伝送期間は、16個のタイムスロットにより構成されるものとして説明を行う。ここでタイムスロットはフラグ部とデータ部とを含むフラグ部は、当該タイムスロットのデータ部に有効データが入っているか否かを示すフラグが入力される。以降、有効なデータが入っているタイムスロットのフラグを有効フラグ、有効なデータが入っていないタイムスロット(以降、「空タイムスロット」と称する)のフラグを空フラグと呼ぶこととする。各種信号生成部124は、駆動信号記憶部122が出力した駆動信号を任意のタイムスロットに挿入して、出力する。
【0056】
アイドル期間は、親局及び子局間の同期を補正し、維持する為の期間として設けられている。本アイドル期間において、親局10のレートマッチFIFO103及び、独立同期方式を採用した子局20のレートマッチFIFO103は、オーバーフロー、アンダーフローを起さないように補正を行う。本アイドル期間は有効なデータが伝送されない期間であり、本来ならば無信号期間で良いが、本実施形態ではクロック同期を維持するため、特定のビットパターン(例えば101010・・・)を挿入する。データ伝送フェーズにおいて、子局20の子局データ処理部108の駆動信号検出部143は、親局10から出力される自局の駆動信号を検出し、デバイス制御部27へ出力する。子局送信制御部146は、データ合成部145が出力するデータD9をデータD5として出力するように送信データセレクタ147を制御する。またセンサ信号記憶部144に、出力すべきセンサ信号が記憶されている場合には、空フラグを検出し、当該センサ信号を出力するようにセンサ信号記憶部144を制御する。
【0057】
データ合成部145は、センサ信号記憶部144からセンサ信号が入力されると、当該空タイムスロットのデータ部にセンサ信号を入力し、データD9として出力する。またフラグ部を空フラグから有効フラグに書き換え、後段の子局に上書されるのを防ぐ。それ以外の期間(センサ信号記憶部144からセンサ信号が入力されない期間)は、データD4をそのままデータD9として出力する。以上の動作により親局10及び各子局は、駆動信号及びセンサ信号等の制御信号を伝送する。
【0058】
以上説明した構成を用いれば、図8(b)に示すように、従属同期方式で接続可能な許容中継局数を越える前に、独立同期方式を採用する子局が挿入されることとなる。これにより、従属同期方式を採用した子局を経由することで加算されるジッタ量を、許容値を超過する前にリセットすることができる。よって、データ伝送用以外のケーブルを必要とせず、ネットワークに多数の子局を接続することができる。また全ての子局が独立同期方式を採用した場合と比べてデータ中継時間を短くすることができる。
【0059】
本実施形態は、上述したようにネットワークに接続される子局の中継局数を把握し、それに応じて同期方式を適応的に切り替えることが可能である。その為、例えばエンドエフェクタを交換するロボットシステムのようにネットワーク構成が動的に切り替わる制御システムに適している。
【0060】
本実施形態では、親局からの中継局数のみで各子局の同期方式を決定する構成について説明した。しかしこれに限らず、図4(b)に示すように、同期方式決定部120に新たに各子局間の伝送路長を記憶する子局間伝送路長記憶部133を設け、例えば所定の長さ以上の伝送路がある区間は許容中継局数を減らすなど、その情報を同期方式の決定に反映しても良い。ここで子局間の伝送路長の把握は、例えば子局間の伝送遅延を計測し、その計測結果から伝送路長を推定する方法を採用しても良いし、また伝送路長があらかじめ規定されている場合は、その情報をROMに記憶し、必要に応じて読み出す方法を採用しても良い。また本実施形態では、親局が各子局の同期方式を決定する構成について説明した。しかしこれに限らず、各子局が自律的に自局の採用すべき同期方式を決定する構成であっても良い。例えば、各子局が許容中継局数記憶部を具備し、本実施形態に示した方法等を用いて親局からの中継局数を把握することで、自局の同期方式を決定する構成であっても良い。
【0061】
また本実施形態では、タイムスロットにフラグ部を設け、子局においてセンサ信号を出力する為の空タイムスロットを検出する構成について説明したが、これに限らず、各子局に送受信を行うタイムスロットをあらかじめ割り当てておく構成であっても良い。
【0062】
また本実施形態では、許容中継局数記憶部に記憶される許容中継局数は一意であるとして説明を行った。しかしこれに限らず、例えば接続されるエンドエフェクタの種別や、制御内容に応じて許容中継局数の数値を変えても良い。またデータ伝送フェーズにおいて許容値を超過するデータ誤りが発生した場合には、許容中継局数を1減らして、再度初期シーケンスから再開する構成であっても良い。例えば本実施形態を用いて説明すると、データ伝送フェーズにおいて許容値を超過するデータ誤りの発生を親局送信制御部123が検知した場合、許容中継局数記憶部131が記憶する許容中継局数を3から2に変更して、初期シーケンスから再度行う制御を行ってもよい。
【0063】
本実施形態によれば、データ伝送用以外のケーブルを必要とせず、ネットワークに多数の子局を接続することができ、また全ての端局が独立同期方式を採用する場合と比較してデータ中継時間を短くできる。ゆえに本発明における通信システム及び通信方法は、多数のデバイスを具備し、高速なフィードバック制御を要求する制御システムに適している。
【0064】
(第2実施形態)
第1実施形態では、初期シーケンス時に、親局10が各子局の中継局数を把握し、各子局の同期方式を決定する構成について説明した。またデータ伝送フェーズにおいて、データ誤りが許容値を超過する場合には、許容中継局数を1減らして、再度初期シーケンスから再開する方法についても説明した。しかしこの方法では、データ誤りの起因となる子局とは直接関係ない箇所の許容中継局数も減らしてしまう可能性がある。
【0065】
本実施形態では、データ誤りの起因となる子局を推測し、その子局のみを従属同期方式から独立同期方式へ切り替える。
【0066】
図10は、本実施形態のネットワーク構成図である。本実施形態では、図10(a)に示すように、子局E-F間の伝送路が他よりも長く、信号の減衰や外来ノイズ等の影響により、子局Fの再生クロックC1に許容値を超過するジッタが発生しており、誤り発生率が許容値を超過しているとする。本実施形態ではデータを中継伝送する為、子局Fで発生したデータ誤りはそれ以降の子局へ伝搬される。ゆえに子局F以降の子局も誤り発生率が許容値を超過することとなる。図11は、本実施形態における親局10及び子局20の内部構成を示す。
【0067】
<親局の構成>
図11(a)は、本実施形態における親局10の内部構成を示す図である。なお、第1実施形態と同じ動作をするブロックには、同一の符号が付加されており、説明を省略する。親局データ処理部200の処理が第1実施形態とは異なる。
【0068】
図12(a)は、親局データ処理部200の内部構成を示す図である。親局データ処理部200は、センサ信号検出部121と、駆動信号記憶部122と、同期方式決定部220と、親局送信制御部221と、各種信号生成部222とを備える。ここでセンサ信号検出部121、駆動信号記憶部122は、第1実施形態と同様の動作を行う為、説明を省略する。
【0069】
同期方式決定部220は、子局中継局数記憶部130、許容中継局数記憶部131、子局誤り発生率記憶部230、同期方式判定部231より構成される。子局中継局数記憶部130、許容中継局数記憶部131は第1実施形態と同様の動作を行う為、説明を省略する。子局誤り発生率記憶部230は、後述する子局20から出力される誤り発生率計測信号を検出して記憶する。同期方式判定部231は、子局中継局数記憶部130、子局誤り発生率記憶部230、許容中継局数記憶部131が記憶する情報に基づいて、各子局の同期方式を判定して、決定する。また詳細については後述するが、子局の誤り発生率に応じて、親局送信制御部221へ動作指示を出力する。
【0070】
親局送信制御部221は、データD2と、同期方式判定部231からの動作指示とに基づいて、後述するフローに従い、駆動信号記憶部122の出力制御と、後述する各種信号生成部222の出力制御とを行う。
【0071】
各種信号生成部222は、図6(a)−(e)に記載する各種信号を生成して、出力する。図6(a)−(d)の信号については第1実施形態と同様である。図6(e)の信号の内容については後述する。
【0072】
<子局の構成>
図11(b)は、本実施形態における子局20の内部構成を示す図である。なお、第1実施形態と同じ動作をするブロックには、同一の符号が付加されており、説明を省略する。子局データ処理部201の処理が第1実施形態とは異なる。
【0073】
図13は、子局データ処理部201を示す図である。子局データ処理部201は、段数信号検出部140と、同期方式割当信号検出部141と、段数信号インクリメント部142と、駆動信号検出部143と、センサ信号記憶部144と、データ合成部145と、子局送信制御部241と、送信データセレクタ242と、自局誤り発生率計測部240とを備える。ここで段数信号検出部140、同期方式割当信号検出部141、段数信号インクリメント部142、駆動信号検出部143、センサ信号記憶部144、データ合成部145は第1実施形態と同様の動作を行う為、説明を省略する。
【0074】
自局誤り発生率計測部240は、後述する親局10から出力されるテスト信号を用いて、自局の誤り発生率を計測する。計測が終了すると、子局送信制御部241へ出力指示を出し、誤り発生率計測信号をデータD10として出力する。
【0075】
子局送信制御部241は、第1実施形態の動作に加えて、自局誤り発生率計測部240からの出力指示を検出すると、自局誤り発生率計測部240が出力するデータD10を、データD5として出力するように送信データセレクタ242を制御する。送信データセレクタ242は、子局送信制御部241からの制御により、データD8、データD9、データD10のいずれかを選択し、データD5として出力する。
【0076】
<伝送制御手順>
続いて本実施形態におけるデータの伝送制御手順について説明する。本実施形態では、第1実施形態と同様、有効なデータの伝送を行う前に、初期シーケンスを実施する。図14は、本実施形態の初期シーケンスをフローチャートとして図示したものである。ステップS10乃至ステップS12までの各処理は、第1実施形態と同様の動作を行う為、説明を省略する。
【0077】
ステップS20の動作について説明する。ステップS20において、親局10の親局送信制御部221は、図6(e)に示すテストフレームを出力するように各種信号生成部222を制御する。テストフレームは、同期信号とテスト信号とを含む。テスト信号には例えば疑似ランダムパターンが入力されている。
【0078】
ステップS20において、子局20の子局データ処理部201の子局送信制御部241は、データ合成部145が出力するデータD9をデータD5として出力するように送信データセレクタ147を制御する。またデータ合成部145は、親局10から出力されるテストフレームを中継する。以上の動作により、テストフレームは各子局20へ中継伝送される。
【0079】
子局データ処理部201の自局誤り発生率計測部240は、親局10から出力されるテスト信号を検出すると、そのテスト信号を用いて自局における誤り発生率を計測する。計測方法としては例えば、受信したテスト信号と本来受信されるべきテスト信号とを比較することでエラー発生率を算出する方法を用いても良いし、データに誤り検出符号化を施し、データ誤りをカウントする方法を用いても良い。テスト信号を全て受信し、誤り発生率の計測が完了すると、子局送信制御部241へ出力指示を出して、誤り率計測信号をデータD10として出力する。子局送信制御部241は、自局誤り発生率計測部240からの出力指示を検出すると、自局誤り発生率計測部240が出力するデータD10を、データD5として出力するように送信データセレクタ242を制御する。以上の動作より、各子局において計測された誤り率計測信号が親局10へ伝送される。親局10の親局データ処理部200の子局誤り発生率記憶部230は、各子局からの誤り率計測信号を検出して記憶する。その後、ステップS21へ移行する。
【0080】
続いてステップS21の動作について説明する。ステップS21において、親局10の同期方式判定部231は、子局誤り発生率記憶部230から各子局の誤り発生率を読み取る。そして、同期方式判定部231は、全子局のエラー発生率が許容値以下であるか否かを判定する。全子局のエラー発生率が許容値以下であると判定された場合(S21;YES)、初期シーケンスを完了し、データ伝送フェーズに移行するよう親局送信制御部221へ動作指示を出力する。
【0081】
しかし、もし1つでも誤り発生率が許容値を超過する子局が存在した場合には、データ誤りの起因となる子局を推測する。推測方法としてはどのような方法を用いても構わないが、本実施形態では、どの子局からエラー発生率が高くなっているか検出することで推測を行う。本実施形態では、上述したように図10(a)に示すよう子局Fから子局Nまでの誤り発生率が許容値を超過している。その為、同期方式判定部231は、子局Fの再生クロックC1に許容値を超過するジッタが発生していると判断し、子局Fの前段にある子局Eの同期方式を従属同期方式から独立同期方式へ変更するよう決定する。そして、再度ステップS11から開始するように親局送信制御部221へ動作指示を出力する。すなわち、1つでも誤り発生率が許容値を超過する子局が存在すると判定された場合(S21;NO)、上述した処理を行った後に、S11へ戻る。
【0082】
その指示を受けた親局送信制御部221は、再度ステップS11から処理を開始する。つまり、親局送信制御部221は、図6(b)に示す同期方式割当フレームを出力するように各種信号生成部222を制御する。この時、図15に示すテーブル情報が同期方式割当信号として出力される。以上の動作より、図10(b)に図示するように各子局の同期方式が変更される。
【0083】
その後、ステップS21において、全子局のエラー発生率が許容値以下になった場合は、初期シーケンスを終了して、データ伝送フェーズに移行する。もし、誤り発生率が許容値を超過する子局が存在する場合は、再びデータ誤りの起因となる子局を推測し、当該子局の同期方式を変更するように、ステップS11へ戻って処理を行う。
【0084】
なお本実施形態では、親局が各子局のデータ誤りに関する情報を収集し、データ誤りの起因となる子局を推測する構成について説明を行った。しかしこれに限らず、各子局が、自身のジッタ量に関する情報を収集し、データ誤りの起因となる子局を推測する構成をとっても良い。例えば各子局に自局の再生クロックのジッタ量を計測する構成を新たに設け、そこで計測したジッタ計測量を親局へ出力する。親局には図12(b)に示すように、同期方式決定部220は、子局誤り発生率記憶部230に代えて子局ジッタ量を記憶する子局ジッタ量記憶部232を備える、子局ジッタ量記憶部232は、子局から出力されるジッタ計測量を記憶する。同期方式判定部233は、子局ジッタ量記憶部232に記憶される情報に基づいて、許容値を超過するジッタ量となる子局が存在しないか否か探索する。もし許容値を超過するジッタ量となる子局が存在した場合には、当該子局の前段になる子局の同期方式を従属同期方式から独立同期方式へ変更するよう決定する。以上のように、各子局におけるジッタ量に応じて同期方式を切り替える構成をとっても良い。
【0085】
以上説明したように、本実施形態によれば、データ誤りの起因となる子局のみを従属同期方式から独立同期方式へ変更することができる。ゆえに、システム全体におけるデータ中継時間を最小限に抑えることができる。
【0086】
(第3実施形態)
第1および第2実施形態では、初期シーケンス時に、親局10が各子局の中継局数を把握し、各子局の同期方式を決定する構成について説明した。しかし、初期シーケンスのみではなく、データ伝送フェーズ中にも同期方式の切り替えを行うことができる方がより使い勝手の良い制御システムが存在する。例えば、作業内容や周辺環境に応じて適応的に、制御に用いるセンサやアクチュエータを切り替える制御システムがそれにあたる。
【0087】
図16(a)−(c)は、本実施形態のネットワーク構成を示す。
【0088】
本ネットワークには、図示するようなトポロジーセレクタ400、401が具備されている。トポロジーセレクタ400、401は、本ネットワークを具備する制御システムが、所定の動作を行う場合には図16(a)のトポロジーを選択し、それとは別の動作を行う場合には図16(b)のトポロジーを選択するように動作する。本実施形態において、親局10とトポロジーセレクタ400、401とは図示しない制御線により接続されており、親局10がトポロジーセレクタ400、401の制御を行うものとする。
【0089】
以上のように作業内容や周辺環境に応じて適応的にネットワークトポロジーを切り替える制御システムにおいて、トポロジーの切り替えを行う都度、初期シーケンスを行っていたのでは作業効率が落ちてしまう。
【0090】
本実施形態ではこの問題を解決する構成について説明する。具体的にはデータ伝送フェーズ中に同期方式の切り替えが可能な構成について説明する。図17(a)−(b)は、本実施形態における親局10及び子局20の内部構成を示す図である。
【0091】
<親局の構成>
図17(a)は、本実施形態における親局10の内部構成を示す図である。図17(a)は第1実施形態の図3(a)と同様の構成である為、説明を省略する。
【0092】
<子局の構成>
図17(b)は、本実施形態における子局20の内部構成を示す図である。なお、第1実施形態と同じ動作をするブロックには、同一の符号が付加されており、説明を省略する。子局20の子局通信部26は、クロックリカバリ部100と、ローカルクロック発振部101と、受信部102と、レートマッチFIFO103と、送信部105と、クロックセレクタ106と、位相比較部300と、空タイムスロット生成部301と、子局データ処理部302と、受信データセレクタ303と、セレクタ制御部304とを備える。
【0093】
位相比較部300は、再生クロックC1とローカルクロックC2との位相差が許容値以内であるか否かを検知し、データD12を出力する。
【0094】
空タイムスロット生成部301は、空タイムスロットを生成し、所定長のデータD13(任意のデータ)を出力する。子局データ処理部302は、各種データの処理を行う。詳細については、図18を参照して後述する。
【0095】
受信データセレクタ303は、セレクタ制御部304からの制御に応じて、データD1、データD2、データD13のいずれか1つを選択し、データD4(第三のデータ)として出力する。
【0096】
セレクタ制御部304は、第1実施形態の動作に加えて、データ伝送フェーズにて同期方式の切り替えを判断した場合には、データD11、データD12に基づいて、後述するフローでクロックセレクタ106、送信データセレクタ147を制御する。
【0097】
図18は、子局データ処理部302を示す図である。子局データ処理部302は、段数信号検出部140と、同期方式割当信号検出部141と、段数信号インクリメント部142と、駆動信号検出部143と、センサ信号記憶部144と、データ合成部145と、子局送信制御部146と、送信データセレクタ147と、アイドル期間判定部340とを備える。ここで段数信号検出部140と、同期方式割当信号検出部141と、段数信号インクリメント部142と、駆動信号検出部143と、センサ信号記憶部144と、データ合成部145と、送信データセレクタ147とは第1実施形態と同様の動作を行う為、説明を省略する。アイドル期間判定部340は、親局10から出力されるデータ伝送フレーム中のアイドル期間を判定し、データD11を出力する。
【0098】
<伝送制御手順>
続いて本実施形態における伝送制御手順について説明する。初期シーケンス及びデータ伝送フェーズの動作は第1実施形態と同様である為、説明を省略する。ここでは本実施形態の特徴であるデータ伝送フェーズ中に同期方式を切り替える動作について説明する。なお本実施形態でも、許容中継局数は3とする。
【0099】
データ伝送フェーズ中に図16(a)から図16(b)へネットワークトポロジーが切り替わった場合の動作について説明する。なお、ネットワークトポロジーの切り替えは、有効なデータの破壊を防ぐためアイドル期間中に行われるものとする。また図16(a)から図16(b)へ切り替わった直後の子局20H、20I、20J、20K、20Lは、独立同期方式を採用する。独立同期方式を採用する理由は、同期信号によりクロック同期、フレーム同期、タイムスロット同期を行うことができ、即座に通信へ参加できる為である。また子局20H、20I、20J、20K、20Lが従属同期方式を採用していた場合、許容接続段数を超えてしまう。ゆえに子局20H、20I、20J、20K、20Lのように、ネットワークトポロジーを切り替えた直後にネットワークに接続される子局は、独立同期方式を採用しておく。
【0100】
親局10の親局送信制御部123は、図16(a)から図16(b)へ切り替わった直後に、データ伝送フレームの任意の空タイムスロットを用いて段数信号を挿入して出力するように各種信号生成部124を制御する。
【0101】
子局20の子局データ処理部302の子局送信制御部146は、第1実施形態と同様、段数信号を検出すると、段数信号インクリメント部142が出力するデータD8をデータD5として出力するように送信データセレクタ147を制御する。また段数信号インクリメント部142は、段数信号を1インクリメントして出力する。
【0102】
また子局データ処理部302の段数信号検出部140は、第1実施形態と同様、親局10から出力される段数信号を検出すると、その段数信号の数値をデータD6として出力する。セレクタ制御部304は、データD6が入力されるとその数値を中継局数値として記憶する。以上の動作により、データ伝送フェーズ中に、各子局のセレクタ制御部109には、図16(b)における親局10からの中継局数が新たに記憶される。
【0103】
親局10の親局データ処理部104の子局中継局数記憶部130は、第1実施形態と同様、全子局を一巡して戻ってきた段数信号を検知すると、その段数信号の数値を1デクリメントして記憶する。本実施形態においてネットワークに接続された子局20の総数は、図16(a)よりも2つ多いN+2であったとする。ゆえに、子局中継局数記憶部130には数値N+2が記憶される。
【0104】
同期方式判定部132は、第1実施形態と同様、子局中継局数記憶部130と許容中継局数記憶部131とが記憶する数値情報から、子局20の総数を把握し、各子局の同期方式を決定する。本実施形態では、許容中継局数は3である。その為、同期方式判定部132は、3の整数倍の番号に対応する中継局にあたる子局20C、20J・・は独立同期方式を、それ以外の子局(子局20A、20B、20H、20I、20K、20L・・)は従属同期方式を採用するように決定する。なお、必ずしも許容中継局数の整数倍に限らず、その他の法則に従った位置に対応する子局が独立同期方式を採用するように決定してもよい。
【0105】
親局送信制御部123は、全子局を一巡して戻ってきた段数信号を検知すると、データ伝送フレーム中の任意の空タイムスロットを用いて同期方式割当信号を出力するように各種信号生成部124を制御する。本実施形態では、図19に示すテーブル情報が同期方式割当信号として出力される。なお図19のテーブル情報を1つのデータ伝送フレームで伝送せず、例えば1つのデータ伝送フレームで1つの子局の同期方式に関する情報を伝送するなど、分割して伝送しても良い。
【0106】
子局20の子局データ処理部302の同期方式割当信号検出部141は、第1実施形態と同様、親局10から出力される同期方式割当信号を検出すると、その同期方式割当信号をデータD7として出力する。セレクタ制御部304は、データD7が入力されるとその同期方式割当信号に入力されたテーブル情報を記憶する。本実施形態では図19のテーブル情報が記憶される。セレクタ制御部304は、当該テーブル情報と、ステップS10で記憶した中継局数値とに基づいて、自局が採用すべき同期方式を判断する。例えば子局20Aは中継局数値が1である為、従属同期方式を採用すべきと判断する。また子局Iは中継局数値が6である為、独立同期方式を採用すべきと判断する。
【0107】
<独立同期方式から従属同期方式への切り替え>
図20(a)−(b)を参照して、子局20H、20I、20K、20Lのように、データ伝送フェーズ中に独立同期方式から従属同期方式へ切り替える子局の動作について説明する。図20(a)は、データ伝送フェーズ中に独立同期方式から従属同期方式へ切り替える子局における再生クロックC1、ローカルクロックC2、送信クロックC3及びデータD1、D2、D3、D11、D12について図示している。本図ではデータ伝送フレームAの1番目のタイムスロットにおいて、自局に関する同期方式割当信号が伝送されたとして説明を行う。なお図中の期間t1はレートマッチFIFOを通過する際に生じる遅延時間である。ゆえにレートマッチFIFOを通過しないデータD1と、通過するデータD2とでは、図示のように期間t1だけの遅延差が生じる。また、レートマッチFIFOにはデータ伝送フレーム開始時点においてPビット、バッファされるとする。
【0108】
なおデータD11は、アイドル期間判定部340が出力する信号であり、アイドル期間中はHIGHを、それ以外の期間はLOWを出力する。またデータD12は、位相比較部300が出力する信号であり、再生クロックC1とローカルクロックC2との位相差が許容値以内の期間はHIGHを、それ以外の期間はLOWを出力する。ここでの許容値とは、送信クロックC3を、再生クロックC1からローカルクロックC2へ、またはローカルクロックC2から再生クロックC1へ切り替えても、下位の端局へデータ誤りなくデータ送信できる位相差範囲であるものとする。
【0109】
時刻T1において、当該子局は独立同期方式を採用している。その為、図示のように送信クロックC3としてローカルクロックC2が、データD3としてデータD2が選択される。
【0110】
時刻T2において、1番目のタイムスロットで伝送される同期方式割当信号により、セレクタ制御部304が独立同期方式から従属同期方式への切り替えを判断したとする。しかし、この時点ではまだ同期方式の切り替え制御は行われない。
【0111】
時刻T3において、データD12がHIGHであることをセレクタ制御部304が検知する。セレクタ制御部304は、その検知結果より現時刻における再生クロックC1とローカルクロックC2との位相差が許容値以内であると判断する。そして、セレクタ制御部304は、当該時刻T3において送信クロックC3をローカルクロックC2から再生クロックC1へ切り替えるようにクロックセレクタ106を制御する。図20(b)は、図20(a)の点線範囲Aを拡大した図である。このように再生クロックC1とローカルクロックC2とを切り替えることにより、送信クロックC3の位相の連続性を確保し、下位局でデータ誤りが発生することを防ぐ。しかし、セレクタ制御部304はこの時点では受信データセレクタ303の制御は行わない。なぜなら、もしこの時点でデータD3をデータD2からデータD1へ切り替えた場合、図からもわかるように7番目のタイムスロットと8番目のタイムスロットが壊れてしまう。よって、セレクタ制御部304は、本時刻T3から後述する時刻T4までの間、データD3としてデータD2を選択することを維持するように受信データセレクタ303を制御する。
【0112】
時刻T4において、データD11がHIGHであることをセレクタ制御部304が検知する。セレクタ制御部304は、その検知結果より現時刻はアイドル期間であると判断し、当該時刻T4においてデータD3をデータD2からデータD1へ切り替えるように受信データセレクタ303を制御する。このようにアイドル期間でデータを切り替えることにより、有効なデータが含まれるタイムスロットを壊してしまうことを防ぐ。
【0113】
以上の手順でセレクタ制御部304が、クロックセレクタ106及び受信データセレクタ303を制御することで、データ伝送フェーズ中にも、データ誤りを起こすことなく、図16(c)に示されるように独立同期方式から従属同期方式へ切り替えることができる。
【0114】
なお本実施形態では、データ伝送フレームのアイドル期間においてデータを切り替える構成について説明したが、これに限らず、有効なデータが伝送されていない期間であればどの期間で切り替えても良い。
【0115】
<従属同期方式から独立同期方式への切り替え>
続いて図21を参照して、図16(c)に示される子局20Gのようにデータ伝送フェーズ中に従属同期方式から独立同期方式へ切り替える子局の動作について説明する。図21(a)は、データ伝送フェーズ中に従属同期方式から独立同期方式へ切り替える子局における再生クロックC1、ローカルクロックC2、送信クロックC3及びデータD1、D2、D3、D11、D12について図示している。本図では、図20(a)−(b)と同様、データ伝送フレームAの1番目のタイムスロットにおいて、自局に関する同期方式割当信号が伝送されたとして説明を行う。
【0116】
時刻T5において、当該子局は従属同期方式を採用している。その為、図示のように送信クロックC3として再生クロックC1が、データD3としてデータD1が選択される。
【0117】
時刻T6において、1番目のタイムスロットで伝送される同期方式割当信号により、セレクタ制御部304が従属同期方式から独立同期方式への切り替えを判断したとする。しかし、この時点ではまだ同期方式の切り替え制御は行われない。
【0118】
時刻T7において、データD12がHIGHであることをセレクタ制御部304が検知する。セレクタ制御部304は、その検知結果より時刻T7における再生クロックC1とローカルクロックC2との位相差が許容値以内であると判断する。そして、セレクタ制御部304は、当該時刻T7において、送信クロックC3を、再生クロックC1からローカルクロックC2へ切り替えるようにクロックセレクタ106を制御する。図21(b)は、図21(a)の点線範囲Bを拡大した図である。このように再生クロックC1とローカルクロックC2とを切り替えることで、送信クロックC3の位相の連続性を確保し、下位局でデータ誤りが発生することを防ぐ。しかし、セレクタ制御部304は、この時点では受信データセレクタ303の制御は行わない。なぜなら、もしこの時点でデータD3をデータ1からデータD2へ切り替えた場合、図21(a)からもわかるように8番目のタイムスロットが壊れてしまう。よって、セレクタ制御部304は、8番目のタイムスロットが受信データセレクタ303を通過するまで、データD3としてデータD1の選択を維持するよう受信データセレクタ303を制御する。
【0119】
時刻T8において、8番目のタイムスロットが全て受信データセレクタ303を通過する。セレクタ制御部304は、当該時刻T8においてデータD3をデータD2からデータD13へ切り替えるよう受信データセレクタ303を制御する。ここでデータD13は、上述したように、空タイムスロット生成部301が生成する空タイムスロットである。
【0120】
時刻T9において、空タイムスロット生成部301が出力する空タイムスロットが全て受信データセレクタ303を通過する。セレクタ制御部304は、当該時刻T9においてデータD3をデータD13からデータD2へ切り替えるように受信データセレクタ303を制御する。以上の動作により、データD3は、データD1から空タイムスロットを挿入した後、データD2へ切り替わることとなる。
【0121】
ここで空タイムスロットを挿入する必要がある理由を説明する。レートマッチFIFO103は、上述したように再生クロックC1とローカルクロックC2との間の周波数偏差による伝送レートの差異を吸収する為に設けられる。その為、レートマッチFIFO103には、伝送レートを吸収できる分だけのデータをバッファさせておく必要がある。より具体的に言うと、レートマッチFIFO103には、同期信号から次の同期信号を受信するまでの間、アンダーフローまたはオーバーフローを起さない分だけのデータ量をバッファさせておく必要がある。空タイムスロットは、レートマッチFIFO103にその分だけのデータ量をバッファさせる時間を稼ぐ為に挿入される。ゆえに、空タイムスロットのビット数をQビットとすると、Q≧Pである必要がある。またレートマッチFIFO103のバッファ可能なビット数は、オーバーフローを起さないようにQ+P以上にしておく必要がある。なおQ>Pであった場合でも、次のデータ伝送フレーム開始時点では、レートマッチFIFO103にビット数Pがバッファされるようにアイドル期間で調整するものとする。
【0122】
以上の手順で、セレクタ制御部304が、クロックセレクタ106及び受信データセレクタ303を制御することにより、データ伝送フェーズ中にも、データ誤りを起こすことなく、図16(c)に示される子局20Gのように従属同期方式から独立同期方式へ切り替えることができる。
【0123】
なお本実施形態においてデータD13は空タイムスロットであるとしたが、これに限らず識別可能な任意のデータパターンで良い。例えば特定のビットパターンでも良いし、また直前に伝送されたタイムスロット(図21(a)では8番目のタイムスロット)を再度送るような構成にしても良い。
【0124】
また第1乃至第3実施形態においてネットワークトポロジーはループ接続型であるとして説明を行ったが、これに限らず、例えば図22に示すようにライン接続型のネットワークトポロジーの構成であっても良い。図22では、親局10と、子局20A、20B、…、子局20Nが、隣接する局同士連結されている。
【0125】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
親局と複数の子局とを備える通信システムであって、
前記親局と前記複数の子局とは、複数段ライン接続またはループ接続されており、
前記親局は、
前記複数の子局のそれぞれが、前段の局から受信したデータから再生された再生クロックに従って後段の局へのデータ送信を行う第一のデータ中継方式と、自局において生成されたローカルクロックに従って後段の局へのデータ送信を行う第二のデータ中継方式と、の何れの中継方式を採用すべきかを、前記複数の子局の状態を示す情報に基づいて決定する決定手段を備えることを特徴とする通信システム。
【請求項2】
前記複数の子局の状態を示す情報は、前記親局から送信されたデータを中継する子局の数を示す中継局数であり、
前記決定手段は、前記中継局数と、予め定められた許容中継局数と、に基づいて、前記複数の子局のそれぞれが採用すべき中継方式を決定することを特徴とする請求項1に記載の通信システム。
【請求項3】
前記決定手段は、前記中継局数が前記許容中継局数を超過する場合、前記許容中継局数の整数倍に対応する位置にある子局が前記第二のデータ中継方式を採用し、その他の位置に対応する子局が前記第一のデータ中継方式を採用するように決定することを特徴とする請求項2に記載の通信システム。
【請求項4】
前記複数の子局の状態を示す情報は、前記複数の子局のそれぞれにおけるデータ誤り発生率であり、
前記決定手段は、前記データ誤り発生率のそれぞれと、予め定められた許容値とに基づいて、前記複数の子局のそれぞれが採用すべき中継方式を決定することを特徴とする請求項1に記載の通信システム。
【請求項5】
前記決定手段は、前記データ誤り発生率が前記許容値を超過する子局の前段の局が、前記第二のデータ中継方式を採用するように決定することを特徴とする請求項4に記載の通信システム。
【請求項6】
前記複数の子局のそれぞれは、
前記親局から出力されたテスト信号に基づいて自局のデータ誤り発生率を計測する計測手段を備えることを特徴とする請求項4または5に記載の通信システム。
【請求項7】
前記計測手段は、前記テスト信号と、本来受信されるべきテスト信号との差異に基づいて自局のデータ誤り発生率を計測することを特徴とする請求項6に記載の通信システム。
【請求項8】
前記複数の子局の状態を示す情報は、前記複数の子局のそれぞれにおける前記再生クロックのジッタ量であり、
前記決定手段は、前記ジッタ量のそれぞれと、予め定められた許容値とに基づいて、前記複数の子局のそれぞれが採用すべき中継方式を決定することを特徴とする請求項1に記載の通信システム。
【請求項9】
前記決定手段は、前記ジッタ量が前記許容値を超過する子局の前段の局が、前記第二のデータ中継方式を採用するように決定することを特徴とする請求項8に記載の通信システム。
【請求項10】
前記子局は、
前段の局から受信したデータを前記再生クロックに同期して取り入れ、第一のデータとして出力する受信手段と、
前記ローカルクロックと前記再生クロックのどちらか一方を選択し、送信クロックとして出力する第一のセレクタ手段と、
前記第一のデータを前記再生クロックに同期して取り入れ、前記送信クロックに同期して取り出し、第二のデータとして出力するバッファ手段と、
所定長の任意のデータを生成する生成手段と、
前記第一のデータ、前記第二のデータ、前記任意のデータのどれか1つを選択し、第三のデータとして出力する第二のセレクタ手段と、
前記第一のセレクタ手段及び前記第二のセレクタ手段を制御するセレクタ制御手段と、
前記送信クロックに従って後段の局へデータ送信を行う送信手段と、を備え、
前記セレクタ制御手段は、
自局が前記第二のデータ中継方式を採用しており、且つ前記決定手段が前記第一のデータ中継方式への変更を決定した場合には、
前記再生クロックと前記ローカルクロックとの位相差が許容値以内の期間に前記送信クロックとして前記再生クロックを選択し、その後、有効なデータが伝送されないアイドル期間に前記第三のデータとして前記第一のデータを選択するよう前記第一のセレクタ手段及び前記第二のセレクタ手段を制御し、
自局が前記第一のデータ中継方式を採用しており、且つ前記決定手段が前記第二のデータ中継方式への変更を決定した場合には、
前記再生クロックと前記ローカルクロックとの位相差が許容値以内の期間に前記送信クロックとして前記ローカルクロックを、前記第三のデータとして前記任意のデータをそれぞれ選択し、前記任意のデータの送信の後、前記第三のデータとして前記第二のデータを選択するよう前記第一のセレクタ手段及び前記第二のセレクタ手段を制御することを特徴とする請求項1乃至9の何れか1項に記載の通信システム。
【請求項11】
親局と複数の子局とを備える通信システムの制御方法であって、
前記親局と前記複数の子局とは、複数段ライン接続またはループ接続されており、
前記親局において、
前記複数の子局のそれぞれが、前段の局から受信したデータから再生された再生クロックに従って後段の局へのデータ送信を行う第一のデータ中継方式と、自局において生成されたローカルクロックに従って後段の局へのデータ送信を行う第二のデータ中継方式と、の何れの中継方式を採用すべきかを、前記複数の子局の状態を示す情報に基づいて決定する決定工程を有することを特徴とする通信システムの制御方法。
【請求項12】
コンピュータを、請求項1に記載の通信システムの親局として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate