説明

通信ノード及び通信システム

【課題】従来よりも遅延を小さくさせて効率良くパケットを送受信できる通信ノード及び通信システムを提案する。
【解決手段】スレーブ10aでは、ウェイト領域Wを出力手段26から出力させているときに、アドレス照合手段22によるアドレス照合と、経路選択手段31による接続経路の切り替えとを行うので、伝送路3上に設けられた各スレーブ10a〜10cにおいてパケットPのアドレス領域AD とウェイト領域Wの転送の直後にデータ1を遅延なく出力することができ、従来よりも遅延を小さくさせて効率良くパケットを送受信できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信ノード及び通信システムに関し、例えばケーブルを介してリング状に接続された複数の通信ノード間においてパケットデータの送受信を行う通信システムに適用して好適なものである。
【背景技術】
【0002】
近年、ロボットやFA(Factory Automation)システムは、センサ(例えば角度センサや、触覚センサ、力センサ、近接センサ、振動センサ等)や、モータ等のアクチュエータ、その周辺回路(例えばドライバや、電流センサ、温度センサ、エンコーダ回路等)、各種処理を行うMPU(Micro・Processor・Unit)、メイン計算機等の多種多様なデバイスから構成されている。このようなロボットやFAシステムでは、相互にデータ交換や指令値を送る必要があるため、実時間通信ネットワークで結合することが有用である(例えば、特許文献1参照)。
【0003】
そして、近年では、組み立て製品が小型複雑化していることや、人間の手指で扱う物体が、ロボットやFAシステムの取り扱う操作対象物となる場合も多いことから、ロボットやFAシステムについても小型化が要望されている。さらにこれらロボットやFAシステムは、人間の手指・手首・上腕を模したような装置となり、多種多様なモータやセンサ類が非常に多く搭載されている。そのため、センサ周辺回路や、モータ駆動回路、データ処理用MPUの回路、通信回路等の内蔵される電子回路系も、従来に比して大幅な小型化が要望されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−228677号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、このようなロボットやFAシステム(以下、これらをまとめて単にロボットと呼ぶ)では、ロボットが取り扱う操作対象物や、ロボット自体の重量やサイズが小型化されると、必然的にデータ送受信時における物理的な応答周波数も高くなり、扱うセンサ信号やサーボ系の周波数帯域が、従来のロボット等に比べて一桁以上高く設定する必要があるという問題が生じる。そのため、このようなロボット等に用いられる通信システムでは、従来よりも高速周期でのデータ交換が行われることが望まれている。そして、ロボットやFAシステムでは、例えば小型高速回転型モータの制御や、振動センサ、加速度センサ等からのデータを用いていることが多いことから、この傾向が顕著である。
【0006】
そこで、本発明は以上の点を考慮してなされたもので、従来よりも遅延を小さくさせて効率良くパケットを送受信できる通信ノード及び通信システムを提案することを目的とする。
【課題を解決するための手段】
【0007】
かかる課題を解決するため本発明の請求項1は、パケットのアドレス領域に続いてウェイト領域が外部から入力される入力手段と、前記アドレス領域を前記外部へ出力させているとき、又は前記アドレス領域に続いて前記ウェイト領域を前記外部へ出力させているときに、前記パケットに付加されたアドレスと、予め自己に設定されている自己アドレスとが一致又は不一致であるかを判断するアドレス照合手段と、前記アドレス照合手段により前記パケットのアドレスと前記自己アドレスとが一致すると判断されたとき、前記ウェイト領域に続いて入力される受信データを取得するパケット取得手段と、前記アドレス照合手段により前記パケットのアドレスと前記自己アドレスとが一致すると判断されたときには、前記ウェイト領域を外部に出力し終えた直後に、送出手段に予め記憶されている自己データを前記ウェイト領域の終端に付加して外部へ出力させ、前記アドレス照合手段により前記パケットのアドレスと前記自己アドレスとが不一致であると判断されたときには、前記アドレス領域及び前記ウェイト領域に続いてそのまま前記受信データを外部へ出力させる切替手段とを備えることを特徴とするものである。
【0008】
また、本発明の請求項2は、前記アドレス照合手段と前記パケット取得手段と前記自己データを記憶する前記送出手段とを備えた複数のスレーブと、前記入力手段に入力された前記パケットを各前記スレーブにそれぞれ伝えることが可能な前記切替手段とを備え、前記切替手段は、前記複数のスレーブのうち、前記アドレス照合手段により前記パケットのアドレスと前記自己アドレスとが一致すると判断したスレーブが存在するときには、該スレーブから前記自己データを受け取ることを特徴とするものである。
【0009】
また、本発明の請求項3は、前記外部へ現在出力中の前記パケットのうち、前記外部へ出力中または既に出力し終えた送り先を示す送り先アドレスが、出力手段に接続されている経路を経由して帰還アドレスとして帰還すると、前記送り先アドレスと前記帰還アドレスとが一致又は不一致であるかを判断し、前記送り先アドレスと前記帰還アドレスとが不一致であると判断したときには、前記現在出力中の前記パケットの出力を途中で中断させ、再び先頭から該パケットを前記外部へ出力させる再送手段を備えることを特徴とするものである。
【0010】
また、本発明の請求項4は、前記アドレス照合手段と前記パケット取得手段とを備えた複数のスレーブと、各前記スレーブと外部デバイスとを接続する切替入出力手段とを備え、前記切替入出力手段は、前記自己データとなるデータを前記外部デバイスから受け取り、該データの種類に応じて各前記スレーブのいずれかを選択して該スレーブに該データを伝送することを特徴とするものである。
【0011】
また、本発明の請求項5は、前記アドレス照合手段と前記パケット取得手段とを備えたスレーブと、前記スレーブと外部デバイスとを接続する複数の入出力手段とを備え、前記スレーブは、前記受信データの種類に応じて複数の前記入出力手段のいずれかを選択して該入出力手段に該受信データを伝送することを特徴とするものである。
【0012】
また、本発明の請求項6は、各前記スレーブと外部デバイスとを接続する切替入出力手段を備え、前記切替入出力手段は、前記自己データとなるデータを前記外部デバイスから受け取り、該データの種類に応じて各前記スレーブのいずれかを選択して該スレーブに該データを伝送することを特徴とするものである。
【0013】
また、本発明の請求項7は、前記スレーブのうち少なくとも1つは、外部デバイスと複数の入出力手段を介して接続されており、前記受信データの種類に応じて複数の前記入出力手段のいずれかを選択して該入出力手段に該受信データを伝送することを特徴とするものである。
【0014】
また、本発明の請求項8は、請求項1〜7のうちいずれか1項記載の通信ノードが伝送路に接続されおり、前記パケットが複数の前記通信ノードを巡回することを特徴とするものである。
【発明の効果】
【0015】
本発明の請求項1の通信ノード、請求項8の通信システムによれば、ウェイト領域を出力させているときに、アドレス照合手段によるアドレス照合と、データ交換とを行うことにより、入力してきたパケットとデータ交換する場合にも、単純にパケットを転送する場合と同等の遅延時間で効率良くパケットを送受信できる。
【図面の簡単な説明】
【0016】
【図1】本発明における通信システムの全体構成を示す概略図である。
【図2】スレーブの回路構成を示すブロック図である。
【図3】パケットが他のスレーブ宛のときのスレーブにおける送受信処理の説明に供する概略図である。
【図4】パケットが自己スレーブ宛のときのスレーブにおけるデータの送受信処理の説明に供する概略図である。
【図5】従来のスレーブノード及び外部デバイスの回路構成(1)を示すブロック図である。
【図6】従来のスレーブノード及び外部デバイスの回路構成(2)を示すブロック図である。
【図7】本発明によるスレーブノード及び外部デバイスの回路構成を示すブロック図である。
【図8】従来の通信システムの回路構成を示すブロック図である。
【図9】本発明による低遅延の通信ノードから構成された通信システムの回路構成を示すブロック図である。
【図10】他の実施の形態による通信システムの全体構成を示す概略図である。
【図11】スレーブノードの回路構成を示すブロック図である。
【図12】リピータ方式を用いた切替手段の回路構成を示すブロック図である。
【発明を実施するための形態】
【0017】
以下図面に基づいて本発明の実施の形態を詳述する。
【0018】
(1)通信システムの概要
図1において、1は通信システムを示し、複数の通信ノード2a〜2jが伝送路3によりリング状に接続された構成を有する。通信システム1は、通信ノード2a〜2jのうち1つ或いは複数がマスターノードであり、他の通信ノードがスレーブノードとして機能し得るようになされている。マスターノードは、固定された通信ノードとしてもよく、または、必要に応じて送信権(トークン)の受け渡しが通信ノード2a〜2j間で行われ、複数の通信ノード2a〜2jのうちいずれか1つ或いは複数の通信ノードが送信権をもつことで、マスターノードとして機能させるようにしてもよい。
【0019】
因みに、この実施の形態の場合は、通信ノード2aのみが送信権をもったマスターノードとして機能し(以下、通信ノード2aをマスターノード2aと呼ぶ)、他の残り全ての通信ノード2b〜2jがスレーブノード(以下、通信ノード2b〜2jをスレーブノード2b〜2jと呼ぶ)として機能する場合について以下説明する。また、この実施の形態では、本発明による通信システム1を例えばロボットに適用した場合について説明し、当該ロボットの手や足等のように複数のモータやセンサ等が密集した外部デバイスに対してスレーブノード2b〜2jが設けられているとする。なお、ここでは、複数のモータ6a,6bと複数のセンサ7a,7bとこれらセンサ7a,7bに接続されたAD変換部8を備える外部デバイス4だけを図示し、この外部デバイス4について着目して以下説明する。
【0020】
この場合、通信システム1では、初めにマスターノード2aから伝送信号が送信され、この伝送信号が伝送路3に沿って全てのスレーブノード2b〜2jを順次通過してゆき、環状に接続されたスレーブノード2b〜2jを一定方向に周回して再びマスターノード2aに戻ってくる構成を有する。このように、通信システム1では、マスターノード2aから送信された伝送信号が、複数のスレーブノード2b〜2jが設けられた伝送路3上を高速周期で周回し得るようになされている。なお、スレーブノード2b〜2jは全て同一の構成を有することから、以下、そのうち外部デバイス4が接続され、複数のスレーブ10a〜10cを備えたスレーブノード2dに着目して説明する。
【0021】
この際、マスターノード2aは、例えば所定のモータ6aに接続されたスレーブ10aを示すアドレスと、当該モータ6aに対する指令値を示したデータ0とをパケットPに付加し、当該パケットPを伝送信号として送信する。スレーブノード2dのスレーブ10aは、通常は伝送信号をスレーブ10bに転送しており、パケットPが到達すると、パケットPに付加されたアドレスを取得し、このアドレスを基に自己宛のパケットPであるか否かを判断し得るようになされている。その結果、スレーブ10aは、パケットPが他のスレーブ宛だと判断する場合は、パケットPをそのまま伝送信号として次のスレーブ10bに転送し続ける。
【0022】
一方、スレーブ10aは、パケットPが自己宛だと判断すると、パケットPに付加されたデータ0を取得すると供に、これと同時に当該モータ6aの電流値を示したデータ1をデータ0の換わりにパケットPに付加し、このパケットPを伝送信号として送信し、下流のスレーブ10b,10cやスレーブノード2e〜2jを一巡させてマスターノード2aに受信させ得る。マスターノード2aは、スレーブノード2b〜2jを周回してきた伝送信号を受信すると、パケットPに付加されたデータ1を取得し得るようになされている。
【0023】
実際上、このスレーブノード2dには、複数のスレーブ10a〜10cと、各スレーブ10a,10bに対応するモータ6a,6bを接続させる複数のIO(Input/Output)11a,11bと、何れかのスレーブ10a〜10cに接続切り替え可能に構成され、AD変換部8から取得したデータ1を所定のスレーブ10aへ振り分ける切替機能が付いた入出力手段としてのIO(以下、これを切替IOと呼ぶ)12とが設けられている。
【0024】
スレーブ10aは、パケットPに付加されたデータ0を取得すると、これをIO11aを介してモータ6aに伝達し得るようになされている。これによりモータ6aは、データ0に基づいて制御され得るようになされている。
【0025】
因みに、上述した実施の形態においては、パケットPに付加されたデータ0をスレーブ10aが取得してこれをIO11aに出力しているが、本発明はこれに限らず、スレーブ10aが取得したデータ0を、任意のタイミングでIO11aが取得するようにしてもよい。なお、このモータ6aは、センサ7aが接続されており、当該センサ7aによって例えばモータの電流値が検知されている。センサ7aによって検知された電流値は、AD変換部8によりデジタル化され、これをデータ1として切替IO12に伝達されて当該切替IO12から所定のスレーブ10aに振り分けられるようになされている。
【0026】
ここで、本発明による通信システム1は、各スレーブ10a〜10cにおいてパケットPを取得する際に所定の送受信処理(後述する)を行う点と、マスターノード2aにおいてアドレス照合手段15により照合したアドレス照合結果に基づき再送処理(後述する)を行う点と、切替IO12がAD変換部8から取得したデータ1に応じて受け渡し先のスレーブ10a〜10cを切り替える切替処理を行える点に特徴がある。そして、本発明による通信システム1では、所定の送受信処理によりスレーブ10a〜10cを含むすべてのスレーブにおいて遅延を小さくさせることで各スレーブは自己宛てのパケットPを効率よく取得させ得るようになされており、またマスターノード2aも自身が送信したパケットPを短時間のうちに受信することができるため、マスターノード2aにおいてパケット破損時におけるパケットPの再出力に必要な再送処理のための時間の短縮化が図られている。また、この通信システム1では、スレーブ10a〜10cを含む全てのスレーブで遅延を小さくさせることで各スレーブに効率良く自己宛のパケットPを取得させつつ、切替IO12による切替処理によりモータ6a,6bとセンサ7a,7bの対応をとることで通信周期の高速化および外部デバイス4の小型化を図るようになされている。
【0027】
(2)スレーブにおける送受信処理
本発明においてマスターノード2aで生成されるパケットPは、例えばスレーブ10aを示すアドレスが付加されるアドレス領域ADと、予め定められた所定ビット数のウェイト領域Wと、マスターノード2aからのデータ0又は外部デバイス4から受け取ったデータ1の何れかが付加されるデータ領域DTと、データエラー検出用のチェックコードを示すCRC(Cyclic Redundancy Check)(図示せず)とからなり、アドレス領域ADを先頭にして、続いてウェイト領域W、データ領域DT及びCRCの順に生成され得る。なお、この実施の形態の場合では、本発明による送受信処理と関係のないCRCについての説明は省略し、以下、アドレス領域AD、ウェイト領域W及びデータ領域DTについて着目して説明する。
【0028】
スレーブノード2dは、マスターノード2aで生成されたパケットPを伝送信号として上流のスレーブノード2cからスレーブ10aが受信し得る。スレーブ10aは、切替手段21によって、上流のスレーブノード2cから受け取ったパケットPをそのまま下流のスレーブ10bに転送し得るように構成されており、単なるパケットPの転送を行うことで、パケットPを取得してから下流のスレーブ10bへ出力する際に遅延の発生を小さくすることができる。
【0029】
この際、スレーブ10aは、パケットPのウェイト領域Wを転送しているとき、アドレス領域ADに付加されたアドレスの照合をアドレス照合手段22により行い、アドレスが自分宛だった場合には、パケットPのデータ0を取得すると供に、予めバッファに記憶しておいたデータ1をウェイト領域Wの後に付加し、パケットPのデータ領域DTの内容がデータ0からデータ1に変更されたものを下流のスレーブ10bが受け取り得るようになされている。
【0030】
実際上、図2に示すように、スレーブ10aは、上流のスレーブノード2cからパケットPが入力される入力手段23と、スレーブ10a内においてパケットPの通過経路を切り替える切替手段21と、パケットPを取り込むパケット取得手段24と、パケットPのアドレス領域ADに付されたアドレスと、予め設定されている自己アドレスとを照合するアドレス照合手段22と、マスターノード2aへ送るデータ1を記憶する送出手段25と、切替手段21に入力されたパケットPを下流のスレーブ10bに出力する出力手段26とを備えており、切替手段21には転送手段30と経路選択手段31とが設けられている。
【0031】
切替手段21の経路選択手段31は、転送手段30又は送出手段25のいずれか一方と、出力手段26とを接続可能に構成されており、マスターノード2aからパケット出力前に出力されているアイドル信号を認識すると、出力手段26を転送手段30に接続させた転送状態となり得る。経路選択手段31は、パケット取得手段24によりパケットPを取得すると、当該パケットPのアドレス領域ADに付加されたアドレスの照合結果に応じて出力手段26の接続先を転送手段30から送出手段25に切り替える。
【0032】
実際上、経路選択手段31は、アドレス領域ADに付加されたアドレスが他のスレーブ宛の場合、出力手段26と転送手段30とを接続し続け、データ領域DTにデータ0が付加されたパケットPを出力手段26から伝送信号として出力し得る。これに対して、経路選択手段31は、アドレス領域ADに付加されたアドレスが自己スレーブ宛の場合、出力手段26からパケットPのウェイト領域Wを伝送信号として出力している際に、出力手段26の接続先を送出手段25に切り替えることにより、データ0の替わりに新たにデータ1を付加したデータ領域DTをウェイト領域Wの直後に追加してこれを出力手段26から伝送信号として出力し得るようになされている。
【0033】
(2−1)パケットが他のスレーブ宛の場合
スレーブ10aは、上流のスレーブノード2cからの伝送信号が入力手段23に到達すると、当該伝送信号を転送手段30に送出する。転送手段30は、入力手段23に入力されたパケットPの内容を順次2つに分配し、同じ内容の2つのパケットPを生成してゆき、一方のパケットPをパケット取得手段24に送出すると供に、他方のパケットを経路選択手段31に送出する。
【0034】
ここで、経路選択手段31は、パケットPを受け取る前に出力手段26が予め転送手段30に接続されていることにより、転送手段30から受け取っているアドレス領域AD及びウェイト領域Wをそのまま通過させ、当該アドレス領域AD及びウェイト領域Wを伝送信号として出力手段26から下流のスレーブ10bへ出力させてゆく。
【0035】
このとき同時にパケット取得手段24は、転送手段30からパケットPを取得しており、取得したパケットPを一時的に記憶してゆく。アドレス照合手段22は、パケット取得手段24に記憶したパケットPのうちアドレス領域ADを受け取り終えたか否かを判断しており、当該アドレス領域ADを受け取り終えると、アドレス領域ADに付加されたアドレスと、予め設定されている自己アドレスとを照合し得るようになされている。
【0036】
アドレス照合手段22は、アドレス領域ADに付加されたアドレスが自己アドレスと不一致であると判断した場合、パケットPが他のスレーブ宛であるとして、経路選択手段31において出力手段26を転送手段30に接続させ続ける。これによりスレーブ10aは、図3に示すように、入力手段23に入力されたパケットPのアドレス領域ADと、ウェイト領域Wと、データ0が付加されているデータ領域DTとを、経路選択手段31を経由させて伝送信号としてそのまま出力手段26から出力させてゆき、下流のスレーブ10bに転送し得る。
【0037】
このようにスレーブ10aでは、先頭のアドレス領域ADをそのまま出力手段26から出力した後、ウェイト領域Wを出力手段26から出力させている間に、パケットPのアドレス領域ADに付加されたアドレスと、自己アドレスとを照合することができる。なお、アドレス取得手段22は、転送手段30から受け取ったアドレス領域AD、ウェイト領域W及びデータ領域DTについて破棄し、次のパケットPが転送手段30から送られてくるのを待ち受ける。
【0038】
(2−2)パケットが自己スレーブ宛の場合
次に、アドレス領域ADに付加されたアドレスが自己スレーブ宛の場合について以下説明する。この場合、上述と同様に、スレーブ10aは、上流のスレーブノード2cからの伝送信号が入力手段23に入力されると、当該伝送信号を転送手段30に送出する。転送手段30は、入力手段23に入力されたパケットPの内容を順次2つに分配し、同じ内容の2つのパケットPを生成してゆき、一方のパケットPをパケット取得手段24に送出すると供に、他方のパケットPを経路選択手段31に送出する。
【0039】
ここで、経路選択手段31は、パケットPを受け取る前にアイドル信号を基に出力手段26が予め転送手段30に接続されていることにより、転送手段30から受け取っているアドレス領域AD及びウェイト領域Wをそのまま通過させ、当該アドレス領域AD及びウェイト領域Wを伝送信号として出力手段26から下流のスレーブ10bへ出力させてゆく。
【0040】
このとき同時にパケット取得手段24は、転送手段30からパケットPを受け取っており、受け取ったパケットPを一時的に記憶してゆく。アドレス照合手段22は、パケット取得手段24において取得したアドレス領域ADのアドレスと、自己アドレスとを照合した結果、アドレス領域ADのアドレスが自己アドレスと一致すると判断した場合、パケットPが自己スレーブ宛であるとして、経路選択手段31に切替信号を送出する。これにより経路選択手段31は、図4(A)に示すように、出力手段26の接続先を転送手段30から送出手段25に切り替える。スレーブ10aは、図4(B)に示すように、送出手段25に記憶されているデータ1を読み出してデータ領域DTに付加し、当該データ領域DTをウェイト領域Wの終端に追加して、これを伝送信号として出力手段26から出力してゆき、下流のスレーブ10bに送出し得るようになされている。
【0041】
実際上、この実施の形態の場合、アドレス照合手段22は、アドレス領域ADに付加されたアドレスが自己アドレスと一致したと判断した場合、アドレス領域ADの終端から予め定められた所定ビット数までを、パケット取得手段24で取得したことを認識すると、この箇所をウェイト領域Wの終端と判断し、送出手段25にデータ付加命令を送出する。これにより送出手段25は、データ付加命令に基づいて、自己データとしてのデータ1を経路選択手段31に送出し、ウェイト領域Wの終端となる箇所にデータ1を追加する。経路選択手段31は、ウェイト領域Wの終端の直後に追加したデータ1のデータ領域DTを伝送信号として出力手段26から出力し得るようになされている。
【0042】
因みに、経路選択手段31は、出力手段26の接続経路が送出手段25に切り替えられた際、転送手段30からのウェイト領域Wの転送が中断される。そこで、経路選択手段31は、アドレス領域ADの終端から予め定められた所定ビット数までウェイト領域Wに相当する伝送信号を生成し、これをウェイト領域Wの転送が中断した時点から出力手段26に出力し続ける。なお、ウェイト領域Wのデータが変更され得るように伝送信号を生成する実装もあり得る。
【0043】
なお、上述した実施の形態においては、アドレス領域ADに付加されたアドレスが自己アドレスと一致すると、送出手段25から経路選択手段31へのデータ1の送出タイミングを調整することで、ウェイト領域Wの終端にデータ1を追加するようにした場合について述べたが、本発明はこれに限らず、ウェイト領域Wの終端が経路選択手段31を通過する際に、当該ウェイト領域Wの終端に合わせて経路選択手段31の接続経路が送出手段25に切り替わることで、ウェイト領域Wの終端にデータ1を追加するようにしてもよく、要は、ウェイト領域Wの終端に新たなデータ1を付加できればこの他種々の方法を適用するようにしてもよい。
【0044】
例えば、マスターノード2aも各スレーブ10a〜10cもウェイト領域Wのデータを利用しない場合では、スレーブノード2b〜2jはアドレス領域ADの終端から所定のビット数の位置から自己のデータ1を送出するよう実装されていれば、ウェイト領域Wの内容が変更されてしまう実装であってもよい。また、マスターノード2aはウェイト領域Wにスレーブ10a〜10cに対して有効なデータを書き込んだパケットPを送出し、宛先となるスレーブ10bはウェイト領域Wとデータ領域DTのデータを取得するとともに、アドレス領域ADの終端から所定のビット数の位置から自己のデータ1が送出されるような実装を行うが、この場合もマスターノード2aが受け取るウェイト領域Wは内容が変更されてしまう実装であってもよい。因みに、マスターノード2aはウェイト領域Wにデータを載せる実装もあり得る。
【0045】
また、アドレス照合手段22は、アドレス領域ADに付加されたアドレスが自己アドレスと一致した場合、データ保持命令をパケット取得手段24に送出し得るようになされている。これにより、パケット取得手段24は、データ保持命令に基づいて、図4(C)に示すように、パケットPに付加されていた受信データとしてのデータ0を記憶し、当該データ0をスレーブ10aに対応付けられたIO11a(図1)へ伝達し得るようになされている。
【0046】
このようにスレーブ10aでは、アドレス領域ADに続いて予め付加された所定ビット数のウェイト領域Wを、出力手段26から出力させている間に、アドレス領域ADのアドレスと自己アドレスとを照合するアドレス照合と、アドレス領域ADのアドレスが自己アドレスと一致したときに経路選択手段31において送出手段25へ接続経路を切り替える切替操作とを行うようになされている。これにより、ウェイト領域Wを設けた分だけパケット長が増加するものの、スレーブノード2b〜2jに含まれる多数のスレーブをパケットが通過する際に各スレーブで生じる遅延を、データ交換を行うにも関わらず単純な転送処理と同等の時間に短縮することができる。因みに、このような本発明による送受信処理では、例えば変調速度が100Mbaudならば、スレーブ10aの遅延は1bit以下つまり10nsec以下となる。
【0047】
ここで、ウェイト領域Wを設けずに、アドレス領域ADの直後にデータ領域DTを設けた場合には、仮にアドレス照合手段22によるアドレス照合に時間を要し、経路選択手段31において出力手段26の接続先を送出手段25に切り替えるタイミングが遅くなったとき、アドレス領域ADの終端にあるデータ領域DTにおいてデータ0をデータ1に交換するデータ交換が間に合わなくなり、パケットPが破壊される虞がある。
【0048】
これに対して本願発明では、アドレス領域ADとデータ領域DTとの間にウェイト領域Wを予め設けていることにより、アドレス照合手段22において行われるアドレスの照合と、経路選択手段31における切替操作とをウェイト転送時間内に行うことができ、データ領域DTにおいてデータ0からデータ1へのデータ交換を確実に実行でき、パケットPが破壊されることを防止できる。
【0049】
(3)マスターノードにおける再送処理
次に、マスターノード2aによる再送処理について詳細に説明する。図1に示す通信システム1は、各スレーブノード2b〜2jにおけるパケットの伝送遅延が極めて短いことから、スレーブノード数が比較的多い場合でも、マスターノード2aが下流のスレーブノード2bにパケットPを伝送信号として全て送信し終える前に、当該伝送信号の先頭が全てのスレーブノード2b〜2jを経由して再びマスターノード2aに帰還してくる。
【0050】
そこで、マスターノード2aのアドレス照合手段15は、現在出力しているパケットPのアドレス領域ADに付加したアドレスと、全てのスレーブノード2b〜2jを一巡して戻ってきたパケットのうちアドレス領域ADに付加されたアドレス(以下、これを帰還アドレスと呼ぶ)とを照合するエラー判定処理を行うようになされている。これによりマスターノード2aは、スレーブノード2b〜2jを一巡した後に取得したパケットが伝送中のノイズ等によって破損したか否かを判定し得るようになされている。
【0051】
この場合、マスターノード2aのアドレス照合手段15には、記憶手段(図示せず)が設けられており、下流のスレーブノード2bへ現在送り出しているパケットPのうち、アドレス領域ADに付加したアドレスがエラー判定用のアドレスとして記憶手段に記憶され得る。そして、マスターノード2aのアドレス照合手段15は、下流のスレーブノード2bへパケットPを出力している際に、全てのスレーブノード2b〜2jを一巡した伝送信号が入力され、パケットPのアドレス領域ADを取得すると、当該アドレス領域ADに付加されている帰還アドレスと、記憶手段に記憶されたエラー判定用のアドレスとが一致するか否かを判断し得る。このとき、アドレス照合手段15は、アドレス領域ADが全て帰還してから行うのではなく、帰還する信号を1bit単位でエラー判定用のアドレスと順次照合することで、領域ADがすべて帰還する以前に領域ADの破損を判定することができる。
【0052】
その結果、マスターノード2aの再送手段としてのアドレス照合手段15は、エラー判定処理により、全てのスレーブノード2b〜2jを一巡したパケットPの帰還アドレスと、記憶手段に記憶されたエラー判定用のアドレスとが不一致であると判定すると、伝送中のノイズ等によってパケットPが破損していると判断し、現在出力している伝送信号の出力を直ちに中断させ、当該伝送信号の替わりにアイドル信号を出力させてアイドル状態にさせる。これにより各スレーブノード2b〜2jは、伝送信号の入力が途中で中断され、当該伝送信号の替わりにアイドル信号が入力されると、パケット取得手段24(図2)に記憶したパケットPを破棄し、新たに伝送信号が入力されるまで待ち受ける。
【0053】
そして、マスターノード2aは、アイドル状態にさせた後、パケットPを再び先頭のアドレス領域からウェイト領域及びデータ領域の順に伝送信号として下流のスレーブノード2bへ出力し始める。このようにしてマスターノード2aは、パケットP全てを出力完了する前に、パケットPが破損している虞があるか否かを判定し、パケットPが破損している虞がある場合、パケットPの出力完了を待つことなく、再びパケットPを先頭から出力し直す。これにより、マスターノード2aは、伝送中に破損した虞のあるパケットPをスレーブノード2b〜2jが取得することを未然に防止し、パケット破損時におけるパケットPの再出力に必要な通信時間の短縮化を図り、実時間性を向上させることができる。
【0054】
因みに、従来、ノイズ等によるパケットPの破損は、パケットPの最後に付加されたCRC(図示せず)を用いて判断される。そのため、マスターノード2aは、全てのスレーブノード2b〜2jを一巡した伝送信号全てを受け取り、パケット全体を取得した後に、CRCによりパケットPの破損の有無を判断し、当該パケットPが破損していると判断すると、パケットPの再出力を行うことになる。
【0055】
これに対して本願発明によるマスターノード2aでは、パケット全体を取得しなくても、パケットPの破損の有無を検知でき、パケット全体を下流のスレーブノード2bへ出力している際に、再びパケットPを先頭から出力し直すことができるので、その分だけ、パケット破損時におけるパケットPの再出力時間の短縮化を図ることができる。
【0056】
なお、仮にアドレス判定専用のCRCをアドレス領域ADの直後に付加して、当該CRCにより領域ADの破損を判定する方法を用いた場合には、パケット全体を取得せずとも迅速にパケットPの再送処理を行うことも可能であるが、パケット長の増加や処理回路が複雑になると言う欠点がある。これに対して本願発明のマスターノード2aは、帰還する信号1bit単位で、アドレス照合を順次行っていくことにより、アドレス領域AD全体を取得しなくてもアドレス領域ADの破損を判定することも可能である。これにより本発明では、より迅速にパケットPの再送処理が可能なだけでなく、パケット長が増加することなく、また処理回路の複雑化を防止し、処理内容もシンプルであるため、マスターノード2aを構成するICの内部の回路構成も簡素で小型化を図ることができる。
【0057】
(4)切替IOにおける切替処理
(4−1)切替IOを有するスレーブノードの構成
次に、切替IO12における切替処理について、図1に示したスレーブノード2dに着目して詳細に説明する。この場合、IO11a,11b,切り替えIO12は例えばパラレルバスやシリアルバス(SPI(Serial Peripheral Interface)、SMBus(System Management Bus)、I2O((Intelligent Input/Output))、UART(Universal Asynchronous Receiver Transmitter))等の伝送手段を備え、各バスを経由して、IO11a,11bに外部デバイス4のモータ6a,6bが、切替IO12に外部デバイス4のAD変換器8がそれぞれ接続されている。
【0058】
例えばIO11aは、パラレルバスを経由して、モータ6aへの指令値であるデータ0をスレーブ10aから取得し、外部デバイス4のモータ6aにデータ0を出力し得るようになされている。
【0059】
ここで、外部デバイス4は、多チャンネルのAD変換部8を備えており、各モータ6a,6b毎に設けられたセンサ7a,7bがAD変換部8に接続され、当該AD変換部8が複数のセンサ7a,7bから送られてくる計測信号をAD変換処理し得るように構成されている。これにより外部デバイス4は、従来のようにセンサ7a,7b毎にそれぞれAD変換部を個別に設け、複数のAD変換部を備えた外部デバイスに比して小型化が図られている。
【0060】
かかる構成に加えて、切替IO12には、例えばSMBus等のバスが接続されており、当該バスを経由して切替IO12に外部デバイス4のAD変換部8が接続されている。切替IO12は、各センサ7a,7bからの計測信号をAD変換処理したデータ列をAD変換部8からそれぞれ受け取ると、スレーブ10a〜10cのうちからデータ列に対応付けられた例えばスレーブ10aを選択し、当該データ列に付加されたデータ1を、選択したスレーブ10aにだけ出力し得るようになされている。
【0061】
実際上、切替IO12がAD変換部8から受け取るデータ列は、各スレーブ10a〜10cに予め対応付けられたIDを示したスレーブIDと、データ長と、マスターノード2aへ送られるデータ1とにより構成されている。切替IO12は、AD変換部8からデータ列を受け取ると、当該データ列のスレーブIDに対応した例えばスレーブ10aを接続先として選択し、当該データ列のデータ長の分だけデータ列を接続先のスレーブ10aに出力するように構成されている。
【0062】
これにより切替IO12は、マスターノード2aからのデータ0をモータ6aに受け渡したスレーブ10aに対し、同じモータ6aでの電流値であるデータ1を出力し得るようになされている。かくして、切替IO12では、マスターノード2aからのデータ0をモータ6aに受け渡すスレーブと、このモータ6aから得られるデータ1が入力されるスレーブとを同一のスレーブ10aにできるため、当該スレーブ10aにおいてパケットPを取得してアドレス照合を行ったタイミングで当該パケットPのデータ領域においてデータ0及びデータ1のデータ交換を行わせることができる。
【0063】
(4−2)従来のスレーブノードと本発明のスレーブノードとの比較
次に、本発明によるスレーブノード2dの切替処理について従来のスレーブノードと比較して以下説明する。図1との対応部分に同一符号を付して示す図5は従来のスレーブノード41及び外部デバイス42を示し、この外部デバイス42には複数のモータモジュール43a,43bが設けられている。各モータモジュール43a,43bは、モータ6a,6bの電流等を計測する複数のセンサ7a,7bから計測結果を受け取りAD変換処理するAD変換部44a,44bと、所定部位の回転角を計測するためのカウンタ46a,46bとをそれぞれ有している。
【0064】
また、この比較例となる外部デバイス42には、これらAD変換部44a,44b及びカウンタ46a,46bとは別に、所定のセンサ47に接続されたAD変換部48と、センサネットワーク49に接続されたMPU50とが設けられている。ここで、このような構成を有する外部デバイス42では、AD変換部44a,44bやカウンタ46a,46bがモータモジュール43a,43b毎にそれぞれ設けられていることにより、当該モータモジュール43a,43bが大型化してしまい、その結果、外部デバイス42全体としても大型化するという問題があった。
【0065】
そこで、このような外部デバイス42についてモータモジュール43a,43bの小型化を図るため、図5との対応部分に同一符号を付して示す図6のような外部デバイス52が考えられる。この比較例となる外部デバイス52では、所定のセンサ47や、各モータモジュール53a,53bのセンサ7a,7bを1つのAD変換部48に接続させてAD変換部48を共有化させると供に、カウンタの換わりに回転角を1つのMPU50で計測させている。これにより外部デバイス52では、各モータモジュール53a,53bのAD変換部及びカウンタをそれぞれ省くことができるので、各モータモジュール53a,53bの小型化を図ることができる。
【0066】
しかしながら、このようなスレーブノード41では、例えばモータ6aにデータ0を出力するスレーブ10aとは別のスレーブ10cに対し、当該モータ6aに関するAD変換部48からのデータ1を入力することになり、1つのモータ6aに関するデータの入出力を異なるスレーブ10a,10cを用いて行うことになる。
【0067】
この場合、モータ6aにデータ0を出力するスレーブ10aと、当該モータ6aに関するデータ1が入力されるスレーブ10dとでは、パケットPを取得するタイミングが異なることから、これらスレーブ10a,10d間で通信周期を揃えて、パケットPのデータ領域DTにおいてデータ0及びデータ1のデータ交換を行う必要が生じ、その結果、必要帯域が大きくなり通信システム全体としてパケットPの周期が低速化してしまうという問題が生じる。
【0068】
これに対して、図6との対応部分に同一符号を付して示す図7に示すように、本発明によるスレーブノード61では、AD変換部48やMPU50からのデータを複数のスレーブ10a〜10dに自由に振り分ける切替機能付きの切替IO12a,12bを設け、例えばこの切替IO12による経路の切り替えによって、データ0をモータ6aに出力するスレーブ10aと、このモータ6aに関するデータ1が入力されるスレーブ10aとを同一にできるため、当該スレーブ10aにおいてパケットPを取得しアドレス照合したタイミングで、当該パケットPのデータ領域におけるデータ0及びデータ1のデータ交換を行わせることができる。
【0069】
これにより、スレーブノード61では、各モータモジュール53a,53bのAD変換部及びカウンタを省いてAD変換部48及びMPU50を共有化させ、各モータモジュール53a,53bを小型化させても、切替IO12a,12bで接続先のスレーブ10a〜10dを適宜切り替えることにより、例えばモータ6aに関するデータ0及びデータ1のやり取りを、同じスレーブ10aで行うことができる。
【0070】
このようにスレーブノード61では、各スレーブ10a〜10dがパケットPを取得したタイミングで、当該パケットPのデータ領域DTにおけるデータ0及びデータ1のデータ交換を行わせることができる。従って、スレーブノード61では、上述した図6に示すスレーブノード41のようにスレーブ10a〜10d間で通信周期を揃える必要がなく、その分、必要帯域を小さくでき通信システム全体としてパケットPの送受信の高速化を図ることができる。
【0071】
また、これにより、1つのパケットで交換するデータが1つのモータモジュール53a又は53bに対応づけできるためマスターノード2aに接続された計算機での処理を簡便かつ効率化させることができる。例えばモータ6aへの指令とセンサ7aおよび回転角53aが一元的に扱うことが可能になる。
【0072】
なお、図7においてスレーブIDとデータ1との間に示すTcはデータ長を示すものである。また、MPU50は、切替IO12bを介して、スレーブ10a〜10dのいずれかを選択し、選択したスレーブへデータ1を送るだけではなく、選択したスレーブからデータ0を受け取るようになされている。つまり、MPU50はスレーブ10a〜10dのいずれかを選択し、その選択したスレーブとデータの交換をすることもできる。
【0073】
(5)動作及び効果
以上の構成において、図3に示したスレーブ10aでは、上流のスレーブノード2cからのパケットPが入力手段23に入力し始めると、転送手段30及び経路選択手段31を経由させて出力手段26から下流のスレーブ10bへ出力させてゆき、これと同時に当該パケットPをパケット取得手段24で取得する。スレーブ10aでは、現在取得中のパケットPの先頭にあるアドレス領域ADの出力手段26からの出力に続いて、ウェイト領域Wを出力手段26から出力させているときに、アドレス照合手段22により当該アドレス領域ADのアドレスが、自己アドレスと一致するか否かを判断する。
【0074】
スレーブ10aでは、アドレス領域ADのアドレスが自己アドレスと一致しない場合、転送手段30及び経路選択手段31を経由させて出力手段26から下流のスレーブ10bへパケットPをそのまま出力し続け、パケット取得手段24により取得したパケットPを廃棄する。
【0075】
ところで、従来のスレーブでは、上流のスレーブからパケットを受け取り始めると、アドレス領域AD及びデータ領域DTからなるパケット全てをバッファに一旦取り込んだ後に、アドレス領域ADを解析し始め自己宛のパケットであるか否かを判断していた。その後、パケットが自己宛のときには、データ領域DTのデータを交換して、バッファに取り込んだパケットを改めて先頭のアドレス領域ADから順に伝送信号として下流のスレーブへ出力していた。
【0076】
これに対して本発明によるスレーブ10aでは、パケットPが入力手段23から入力されると、直ちに下流のスレーブ10bへ当該パケットPを出力しつつ、これと同時にパケットPに付加されたアドレスのアドレス照合を行うようにしたことにより、下流のスレーブ10bにパケットPを転送する際に生じる遅延時間を従来よりも短縮させることができ、効率良くパケットPを送受信できる。
【0077】
なお、スレーブ10aでは、ウェイト領域Wを設けた分だけパケットPが伸びるものの、当該ウェイト領域Wが比較的小さいビット数からなると供に、入力手段23からパケットPを受け取ると同時に当該パケットPを次の下流のスレーブ10bへ出力し始めることから、従来のスレーブよりもパケットPを送受信する際の遅延時間を短縮化させることができる。
【0078】
また、スレーブ10aは、パケットPのアドレス領域ADに付加されたアドレスが自己アドレスと一致すると、パケット取得手段24において取得したパケットPのうちデータ領域DTに付加されているデータ0を取得する。このときスレーブ10aは、経路選択手段31において出力手段26と転送手段30との接続を遮断すると供に、出力手段26に送出手段25を接続し、当該送出手段25に予め記憶されているデータ1を、データ0の替わりにウェイト領域Wの終端に付加し、これを出力手段26から下流のスレーブ10bへ出力する。
【0079】
このように本発明によるスレーブ10aでは、パケットPに予め定められた所定ビッド数のウェイト領域Wを出力手段26から出力させているときに、アドレス照合手段22によるアドレス照合と、経路選択手段31による接続経路の切り替えとを行うようにしたことにより、パケットPが自己宛だと判断した後でも、ウェイト領域Wの終端にデータ0に替えて新たにデータ1を確実に付加でき、パケットPが破壊されることを防止できる。
【0080】
また、この通信システム1では、ウェイト領域Wを設けたため、ウェイト領域Wを出力手段26から出力させているときに、アドレス照合手段22によるアドレス照合と、経路選択手段31による接続経路の切り替えとを行うので、伝送路3上に設けられた各スレーブ10a〜10cにおいてパケットPのアドレス領域ADとウェイト領域Wの転送の直後にデータ1を遅延なく出力することができ、従来よりも遅延を小さくさせ効率良くパケットPを送受信できる。また、この通信システム1では、マスターノード2aから全スレーブノード2b〜2jを介して再びマスターノード2aまで戻ってくるパケットPの時間を短くすることができる。
【0081】
この通信システム1では、リング状に繋がれた一定の伝送路3上において現時点のスレーブノード2b〜2jの数をさらに増加させていっても、予め設定したウェイト領域Wの転送時間内にアドレス照合手段22によるアドレス照合と、経路選択手段31による接続経路の切り替えが収まるように全スレーブノードが設計さている限りは、パケット全体の遅延は各スレーブノードの転送遅延と全スレーブノード数の積となる。スレーブノードの遅延は整波方式(後述する)で1bit以下、リピート方式(後述する)ならさらに短いため、スレーブノードが多い場合でも高速応答性を実現した通信システム1を構築できる。
【0082】
このような通信システム1では、各スレーブ10a〜10cにおいて、それぞれ遅延が極めて短く効率良くパケットPを送受信でき、マスターノード2aとスレーブノード2b〜2jとの間でのデータ通信の高速応答化を図れることから、例えば外部デバイス4の小型化を図る際には極めて有効である。この点について、例えば、図8に示すような複数の通信ノード72a〜72fにそれぞれMPU73a〜73dが設けられた通信システム71を一例に説明する。この通信システム71では、モータ74a,74bがドライバ75a,75bを介してMPU73a,73bに設けられた通信ノード72c,72dと、センサ76a,76bが増幅回路77a,77bを介してMPU73c,73dに設けられた通信ノード72e,72fとを備えたデバイス79aが設けられている。また、通信システム71では、通信ノード72a,72bをそれぞれ備え、かつ設置空間Gに余裕のあるデバイス79b,79cが設けられている。
【0083】
ここで、一方のデバイス79aの小型化を図る場合には、図8との対応部分に同一符号を付して示す図9における通信システム81のように、一方のデバイス82に設けられていたMPUを取り省き、当該MPUの替わりに機能させる高性能PU(Processor Unit)83a,83bを他方のデバイス79b,79cの設置空間Gに設けることで、一方のデバイス82についてMPUを取り省いた分だけ小型化を図ることができる。
【0084】
この場合、通信システム81では、本発明による送受信処理を実行する通信ノード85a〜85fを用いることにより、高性能PU83a,83bのバス並みにパケット通信を高速応答化させることができ、一方のデバイス82から高性能PU83a,83bが離れた状態でも、図8に示す通信システム71と同様なパケット通信を実現することができる。
【0085】
なお、振動センサや加速度センサ等のように高速サンプリングが必要なセンサでは、単位時間あたりのデータ量が非常に多い。そのため、通信システムのスレーブノードにおいて、パケットPによるデータ収集の周期が遅いと、センサからのデータをバッファリングしておく必要がある。しかしながら、通信システム1においてスレーブノード2b〜2jがパケットPにより高速周期でデータ収集が可能になると、スレーブ10a〜10cに配置すべきバッファやRAMの量を大幅に減らすことができ、また使用するICやMPUのランクを下げることもできるので、スレーブ10a〜10cの小型化を一段と図ることができる。
【0086】
また、図1に示したように、本発明によるマスターノード2aでは、下流のスレーブノード2cに現在出力しているパケットPの先頭が、全てのスレーブノード2b〜2jを経由して再びマスターノード2aに帰還してきたとき、現在出力しているパケットPのアドレス領域ADのアドレスと、スレーブノード2b〜2jを一巡して戻ってきたパケットPのアドレス領域ADに付加されたアドレスとを照合する。
【0087】
マスターノード2aは、現在出力しているパケットPの送り先アドレスとしてのアドレスと、スレーブノード2b〜2jを一巡して戻ってきたパケットPの帰還アドレスとしてのアドレスとが一致しない場合、パケットPがスレーブノード2b〜2jを一巡しても、スレーブノード2b〜2jがパケットPのアドレスを変更することはないため、下流のスレーブノード2b〜2jを一巡している際にパケットPがノイズ等によって破損したと判断する。
【0088】
この場合、マスターノード2aは、現在出力しているパケットPを直ちに中断すると供に、再び先頭のアドレス領域ADからパケットPを下流のスレーブノード2cへ出力し直すようにしたことにより、パケット破損時におけるパケットPの再出力に必要な時間の短縮化を図り、実時間性を向上させることができる。
【0089】
さらに、本発明によるスレーブノード2dでは、スレーブ10aと外部デバイス4のAD変換部8とを接続する切替IO12が、AD変換部8から受け取ったデータ列のスレーブIDに応じて、接続先が複数のスレーブ10a〜10cのいずれかに自動的に切り替わるように構成されていることで、例えばマスターノード2aからのデータ0をモータ6aに出力するスレーブと、このモータ6aに関するデータ1が入力されるスレーブとを同一のスレーブ10aにできる。
【0090】
このようにスレーブノード2dでは、外部デバイス4においてAD変換部8を複数のセンサ7a,7bに共有させても、AD変換部8から受け取るデータ0を、当該データ0を得たモータ7aに対応付けられているスレーブ10aに対し直接出力することができるので、当該スレーブ10aにおいてパケットPを取得しアドレス照合を終えたタイミングで当該パケットPのデータ0及びデータ1のデータ交換を行わせることができる。かくして、スレーブノード2dでは、スレーブ10a〜10c単位の通信周期によりデータ1及びデータ0の送受信を高速で行うことができる。
【0091】
(6)他の実施の形態
なお、本発明は、本実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能であり、ロボットやFAシステムに用いる通信システムだけでなく、種々の通信システムに対して適用することができる。
【0092】
また、上述した実施の形態においては、複数のスレーブのうち接続先となるスレーブを自由に切り替え可能に構成された切替IO12を適用した場合について説明したが、本発明はこれに限らず、マスターノード2aから受け取ったデータ0の内容に応じて、各スレーブ10a〜10cが複数のIO11a,11b及び切替IO12のうち、いずれか1つのIO11a,11b又は切替IO12に自由に切り替え可能に構成するようにしてもよい。
【0093】
また、データ0は例えばモータ6aへの指令値とし、データ1は例えばモータ6aの電流値として説明したが、パケットPのデータ領域の内容はこれに限定するものではない。
【0094】
さらに、上述した実施の形態においては、複数の通信ノードがリング状に接続されたリング型の通信システム1を適用した場合について述べたが、本発明はこれに限らず、複数の通信ノードがライン型に接続された通信システムや、複数の通信ノードがスター型に接続された通信システム、複数の通信ノードがツリー型に接続された通信システム等この他種々の通信システムを適用してもよい。
【0095】
さらに、他の実施の形態として、IO11a,11bは、モータ6a,6bへの出力として、PWM(Pulse Width Modulation)出力を有する構成や、モータに接続された回転角センサ(ロータリーエンコーダ)のカウンタ入力を有する構成等この他種々の構成からなるIOを適用してもよい。
【0096】
さらに、他の実施の形態として、スレーブ10a〜10cにおける送受信処理において、パケットPが他のスレーブ宛の場合において、パケット取得手段22が転送手段30から受け取ったデータ領域DTを破棄せず、利用する実装もあり得る。
【0097】
さらに、上述した実施の形態においては、自己データとしてデータ1を記憶している回路部について送出手段と言う表現を用いたが、必ずしも送出手段25が送出を行う実装である必要はなく、例えば、送出手段25は、単に自己データを記憶しているのみで、実際には切替手段21がその自己データを読み出して送出する構成であってもよい。また、送出手段25は自己データを記憶するとともに、切替手段21に自己データを送出し、切替手段21はその自己データを経路選択手段31を介して単に外部へ出力する構成であってもよい。
【0098】
さらに、上述した実施の形態においては、先頭にアドレス領域ADがあるパケットPを適用した場合について述べたが、本発明は、これに限らず、アドレス領域ADの直後にウェイト領域Wがあるパケットであれば、例えば先頭に他の種々のデータが存在し、その直後にアドレス領域ADがあるパケットを適用してもよい。
【0099】
さらに、他の実施の形態として、スレーブノードにスレーブが複数ある場合、スレーブがアドレス照合手段22及びパケット取得手段24を共有する実装もあり得る。
【0100】
(6−1)切替手段21の共有化について
上述した実施の形態においては、各スレーブ10a〜10c毎に切替手段21をそれぞれ設けるようにした場合について述べたが、本発明はこれに限らず、各スレーブ毎に切替手段を設けずに、これらスレーブとは別に切替手段を設け、当該切替手段を各スレーブで共有させるようにしてもよい。この場合、図1との対応部分に同一符号を付して示す図10のように、91は他の実施の形態による通信システムを示し、当該通信システム91の例えばスレーブノード2dは、複数のスレーブ92a〜92cと、これらスレーブ92a〜92cの外部に設けられた切替手段93とを備えており、当該切替手段93に対して各スレーブ92a〜92cが接続された構成を有する。なお、スレーブノード2dは、上述した実施の形態とはスレーブ92a〜92cの外部に切替手段93が設けられているのみが相違している。
【0101】
ここでは、スレーブ92a〜92cは同一の構成であるため、説明の便宜上、スレーブ92bに着目し、例えばパケットPに付加されたデータ0をスレーブ92bが取得して、当該スレーブ92bに記憶されたデータ1をパケットPに付加する場合について以下説明する。
【0102】
図2との対応部分に同一符号を付して示す図11に示すように、スレーブ92bは、アドレス照合手段22、パケット取得手段24及び送出手段25を備えており、当該スレーブ92bの外部に設けられた切替手段93の転送手段94に、パケット取得手段24が接続された構成を有し、上述した実施の形態に比べて、当該スレーブ92b内に切替手段93が設けられていない分だけ小型化が図られている。
【0103】
この場合、切替手段93は、入力手段23からパケットPが入力されると、当該パケットPを転送手段94によって各スレーブへそれぞれ同時に出力すると供に、当該パケットをそのまま経路選択手段95にも出力し、経路選択手段95及び出力手段26を経由させてパケットPを下流のスレーブノード2e(図10)へそのまま転送し得るようになされている。
【0104】
スレーブ92bは、上述した実施の形態と同様に、ウェイト領域Wを出力手段26から出力させているときに、アドレス照合手段22によるアドレス照合を行うと供に、経路選択手段31に対して接続経路を切り替えさせ得るようになされている。同時に、スレーブ92a,92cもアドレス照合を行っている。
【0105】
実際上、各スレーブ92a,92b,92cは、受け取ったパケットPに付加されたデータ0が自己宛でないことを判断すると、当該パケットPを破棄する。これに対し、パケットPがスレーブ92b宛であった場合、各スレーブ92a,92cは受け取ったパケットPに付加されたデータ0が自己宛でないため当該パケットPを破棄するが、スレーブ92bは、パケットPのアドレス領域ADに付加されたアドレスが自己アドレスと一致すると、パケット取得手段24において取得したパケットPのうちデータ領域DTに付加されているデータ0を取得する。
【0106】
このとき経路操作手段95は、スレーブ92bのアドレス照合手段22からの切替信号を受け取り、当該切替信号に基づいて出力手段26と転送手段30との接続を遮断すると供に、出力手段26と各スレーブ92a〜92cの送出手段25とを接続する。これにより経路操作手段95は、スレーブ92bの送出手段25からデータ1を受け取り、データ0の替わりにウェイト領域Wの終端に当該データ1を付加し、これを出力手段26から下流のスレーブノードへ出力し得るようになされている。
【0107】
以上の構成において、スレーブノード2dでは、上述した実施の形態と同様の効果を奏することに加え、各スレーブ92a〜92c内に切替手段93がそれぞれ設けられていない分だけ、当該スレーブ92a〜92cの小型化を図ることができると供に、スレーブノード2d自体の小型化を図ることができる。
【0108】
さらに、スレーブノード2dでは、各スレーブ92a〜92cにおける転送処理を1つの切替手段93で実行できることから、スレーブ92a〜92cの他にさらにスレーブを設け、スレーブ数を増加させていっても、スレーブノード2dから下流のスレーブノードへパケットPを転送する転送時間を、スレーブ数を増加させる前の転送時間のまま維持できる。すなわち、この場合、遅延時間はスレーブの数に依存することなく、スレーブノードの数に比例するように構成され、大幅に遅延時間を短縮させることが可能になる。さらに、各スレーブノード2b〜2j内の回路も簡略化でき、ICの小型化も促進できる。
【0109】
(6−2)転送方式について
(6−2−1)整波方式
切替手段21の一例としては、整波方式とリピータ方式による方法が考えられる。
整波方式においては、例えば転送手段30はレシーバ素子などを内蔵し、これにより受け取った伝送信号を2値化し、さらにスレーブ内のクロックのタイミングでサンプリングすることで、伝送信号のジッター(時間軸に沿って生じている変動成分)やスキュー(傾き)による波形の崩れを修正し整波した信号へと変換する。この整波された信号は、経路選択手段31とパケット取得手段24へと送られる。経路選択手段21は、その整波された信号または送出手段25からの信号をドライバ素子などを通じて下流へと送出する。この整波方式の遅延は、主にスレーブ内のクロックのタイミングでサンプリングする際に生じるもので、1bit以下となる。
【0110】
因みに、この整波方式の場合では、通信システム1における各切替手段21がサンプリングに使用するクロックに相互に誤差があり、なおかつパケット長が長い場合は、整波の最中に切替手段21において伝送信号の伝送クロックとサンプリングのクロックがズレてしまう状況が起こり得る。このようなズレの可能性がある場合は、転送自体を1bit以上遅延させて対処する必要があり、遅延の増大を招いてしまう問題がある。例えば、クロックが±100ppmの誤差を持つ場合は、最大5000bitで1bit分のズレが生じることになる。しかし、この場合、パケット長を5000bitより十分小さくすれば、クロック誤差による遅延を導入する必要がなくなるため、整波に起因する遅延を最小限にとどめることができる。一方で、パケット長を短くした場合には、実質的なデータの転送効率が下がる欠点もある。
本発明による通信システム1では転送効率よりも、遅延性を重視するため、パケット長を短くし、整波方式の際に切替手段21で生じるによる遅延を1bit以下に留めるものとする。
【0111】
(6−2−2)リピータ方式
ロボットハンドのように、極めて狭い領域に多数のスレーブノードが密集する場合は、伝送距離が短いためスキューやジッタ等の影響を受けにくく、このような状況はロボットの場合、少なくない。このような場合には、単純にリピータを介して転送する方法を用いることにより、切替手段21における遅延を整波方式よりも小さくすることができる。
【0112】
例えば、図12に示すように、リピータ方式を用いた切替手段100は、入力手段23(図2)から受け取った伝送信号を2つに分岐し、そのうち一方の分岐信号を整波手段101により整波した後にパケット取得手段24へと出力する。なお、整波手段は、レシーバ素子102により受け取った伝送信号を2値化した後、クロック103のタイミングでサンプリング部104でサンプリングすることで、伝送信号の波形の崩れを修正し整波した信号を出力している。
【0113】
このとき、他方の分岐信号は、リピータ素子106を介して出力側に出力されうる。また送出手段25からの信号は切替手段100内のドライバ素子107を介して出力側に出力される。因みに、リピータ素子106は入力信号と同様の信号を出力するものであるが、出力インピーダンスなどを改善する働きをもつ素子であり、遅延は極めて小さい。また、リピータ素子106とドライバ素子107の出力は有効化/無効化が可能であり、無効化により例えば高インピーダンスになるものを用いる。リピータ素子106とドライバ素子107の有効化/無効化はアドレス照合手段22により制御し、いずれか一方のみを有効化することで経路選択手段と同等の働きをなすものとする。これにより、入力手段23(図2)からの伝送信号、または送出手段25からの信号のいずれかが切替手段100から出力される。
【0114】
このときの切替手段100における遅延は、リピータ素子106の遅延と同じになるため、整波方式などに比して短くし得る。通常は、リピータ素子106のみが有効化しており、受信した伝送信号はそのままリピータ素子106を通過して出力され、送出手段25を出力する際は送出手段25に接続されたドライバ素子107のみを有効化し、送出手段25からのデータ送出が終了すると、再びリピータ素子のみを有効化する。
【0115】
なお図2において示した切替手段21は、転送手段30と経路選択手段31とが示されているが、必ずしも物理的な構造として転送手段30と経路選択手段31が設けられている必要はなく、例えば図12で示した切替手段100のように、物理的な構造として転送手段と経路選択手段を設けておらずとも、機能的に同様な働きをする切替手段を構築してもよい。
【符号の説明】
【0116】
1 通信システム
2a マスターノード(通信ノード)
2b〜2j スレーブノード(通信ノード)
4 外部デバイス
10a〜10c スレーブ
11a,11b IO(入出力手段)
12 切替IO(切替入出力手段)
15 アドレス照合手段(再送手段)
21,93 切替手段
22 アドレス照合手段
23 入力手段
24 パケット取得手段
25 送出手段
26 出力手段
30 転送手段

【特許請求の範囲】
【請求項1】
パケットのアドレス領域に続いてウェイト領域が外部から入力される入力手段と、
前記アドレス領域を前記外部へ出力させているとき、又は前記アドレス領域に続いて前記ウェイト領域を前記外部へ出力させているときに、前記パケットに付加されたアドレスと、予め自己に設定されている自己アドレスとが一致又は不一致であるかを判断するアドレス照合手段と、
前記アドレス照合手段により前記パケットのアドレスと前記自己アドレスとが一致すると判断されたとき、前記ウェイト領域に続いて入力される受信データを取得するパケット取得手段と、
前記アドレス照合手段により前記パケットのアドレスと前記自己アドレスとが一致すると判断されたときには、前記ウェイト領域を外部に出力し終えた直後に、送出手段に予め記憶されている自己データを前記ウェイト領域の終端に付加して外部へ出力させ、前記アドレス照合手段により前記パケットのアドレスと前記自己アドレスとが不一致であると判断されたときには、前記アドレス領域及び前記ウェイト領域に続いてそのまま前記受信データを外部へ出力させる切替手段と
を備えることを特徴とする通信ノード。
【請求項2】
前記アドレス照合手段と前記パケット取得手段と前記自己データを記憶する前記送出手段とを備えた複数のスレーブと、
前記入力手段に入力された前記パケットを各前記スレーブにそれぞれ伝えることが可能な前記切替手段とを備え、
前記切替手段は、
前記複数のスレーブのうち、前記アドレス照合手段により前記パケットのアドレスと前記自己アドレスとが一致すると判断したスレーブが存在するときには、該スレーブから前記自己データを受け取る
ことを特徴とする請求項1記載の通信ノード。
【請求項3】
前記外部へ現在出力中の前記パケットのうち、前記外部へ出力中または既に出力し終えた送り先を示す送り先アドレスが、出力手段に接続されている経路を経由して帰還アドレスとして帰還すると、前記送り先アドレスと前記帰還アドレスとが一致又は不一致であるかを判断し、
前記送り先アドレスと前記帰還アドレスとが不一致であると判断したときには、前記現在出力中の前記パケットの出力を途中で中断させ、再び先頭から該パケットを前記外部へ出力させる再送手段を備える
ことを特徴とする請求項1又は2記載の通信ノード。
【請求項4】
前記アドレス照合手段と前記パケット取得手段とを備えた複数のスレーブと、
各前記スレーブと外部デバイスとを接続する切替入出力手段とを備え、
前記切替入出力手段は、前記自己データとなるデータを前記外部デバイスから受け取り、該データの種類に応じて各前記スレーブのいずれかを選択して該スレーブに該データを伝送する
ことを特徴とする請求項1記載の通信ノード。
【請求項5】
前記アドレス照合手段と前記パケット取得手段とを備えたスレーブと、
前記スレーブと外部デバイスとを接続する複数の入出力手段とを備え、
前記スレーブは、
前記受信データの種類に応じて複数の前記入出力手段のいずれかを選択して該入出力手段に該受信データを伝送する
ことを特徴とする請求項1記載の通信ノード。
【請求項6】
各前記スレーブと外部デバイスとを接続する切替入出力手段を備え、
前記切替入出力手段は、前記自己データとなるデータを前記外部デバイスから受け取り、該データの種類に応じて各前記スレーブのいずれかを選択して該スレーブに該データを伝送する
ことを特徴とする請求項2記載の通信ノード。
【請求項7】
前記スレーブのうち少なくとも1つは、
外部デバイスと複数の入出力手段を介して接続されており、前記受信データの種類に応じて複数の前記入出力手段のいずれかを選択して該入出力手段に該受信データを伝送する
ことを特徴とする請求項2記載の通信ノード。
【請求項8】
請求項1〜7のうちいずれか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


【公開番号】特開2011−130371(P2011−130371A)
【公開日】平成23年6月30日(2011.6.30)
【国際特許分類】
【出願番号】特願2009−289596(P2009−289596)
【出願日】平成21年12月21日(2009.12.21)
【出願人】(504137912)国立大学法人 東京大学 (1,942)
【出願人】(301021533)独立行政法人産業技術総合研究所 (6,529)
【Fターム(参考)】