(57)【要約】【課題】二つのネットワーク間を中継する中継器の伝送遅延が規定値以上であっても、受信ノードは送信ノードからの送信データの送信順序に従ってデータを受信する。【解決手段】第一のネットワークに接続された第一のノードから送出されたデータの送出時刻と、第二のネットワークに接続された第二のノードから送出されたデータの送出時刻とを、伝達遅延に基づいて検出し、検出された送出時刻を比較し、比較の結果に基づき、前記第一および第二のノードから送出されたデータの送出時刻が早い方のデータを優先して前記第一のネットワークに送出するように、データの優先順位を変更する。【選択図】  図1
2014110516.tif 000002
【特許請求の範囲】
【請求項１】
第一のネットワークと第二のネットワークとを中継する、前記第一のネットワークに接続された中継器であって、
前記第一のネットワークに接続された第一のノードから送出されたデータの送出時刻と、前記第二のネットワークに接続された第二のノードから送出されたデータの送出時刻とを、伝達遅延に基づいて検出する検出手段と、
前記検出手段によって検出された送出時刻を比較する比較手段と、
前記比較手段による比較の結果に基づき、前記第一および第二のノードから送出されたデータの送出時刻が早い方のデータを優先して前記第一のネットワークに送出するように、データの優先順位を変更する変更手段と、を備えることを特徴とする中継器。
【請求項２】
前記変更手段は、前記比較手段によって、より早い時刻にデータを送出したノードが前記第二のノードであると判断された場合に、前記第二のノードから送出されたデータを優先して第一のネットワークにデータを送出できるように、前記第二のノードから送出されたデータの優先順位を変更することを特徴とする請求項１に記載の中継器。
【請求項３】
ネットワーク上でデータが衝突した場合に、どのノードから送出されたデータを優先するかを示すノードの優先順位を、前記第一のネットワークに接続される全てのノードについて予め記憶する記憶手段を更に備え、
前記変更手段は、前記第二のノードから送出されたデータの優先順位が前記記憶された優先順位の中でより高くなるように、データの優先順位を変更することを特徴とする請求項２に記載の中継器。
【請求項４】
前記比較手段による比較の結果に基づき、前記第一および第二のノードから送出されたデータの送出時刻が遅い方のデータを破棄する破棄手段を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の中継器。
【請求項５】
前記比較手段によって、より早い時刻にデータを送出したノードが前記第二のノードであると判断された場合、前記第一のネットワークに接続されたノードから送出されたデータを破壊する破壊手段を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載の中継器。
【請求項６】
前記第一のノードは、送出したデータが破壊された場合に再送出動作を行い、エラーカウンタの値が増加されることを特徴とする請求項５に記載の中継器。
【請求項７】
前記第一のノードは、ダミーデータを一定期間送受信することを特徴とする請求項６に記載の中継器。
【請求項８】
前記優先順位は、前記ノードが送出するデータのフレームの中のアービトレーションで表されることを特徴とする請求項１乃至７のいずれか１項に記載の中継器。
【請求項９】
第一のネットワーク、第二のネットワーク、前記第一のネットワークに接続された第一の中継器、前記第二のネットワークに接続された第二の中継器を有し、前記第一および第二の中継器により前記第一および第二のネットワークが接続される中継システムであって、前記第一および第二の中継器のそれぞれが、
前記第一のネットワークに接続された第一のノードから送出されたデータの送出時刻と、前記第二のネットワークに接続された第二のノードから送出されたデータの送出時刻とを、伝達遅延に基づいて検出する検出手段と、
前記検出手段によって検出された送出時刻を比較する比較手段と、
前記比較手段による比較の結果に基づき、前記第一および第二のノードから送出されたデータの送出時刻が早い方のデータを優先してそれぞれが接続された前記第一および第二のネットワークに送出するように、データの優先順位を変更する変更手段と、を備えることを特徴とする中継システム。
【請求項１０】
前記第一および第二の中継器のそれぞれは、
前記比較手段によって、より早い時刻にデータを送出したノードが他方のネットワークに接続されたノードであると判断された場合、自身が接続されているネットワークに接続されたノードから送出されたデータを破壊する破壊手段を更に備えることを特徴とする請求項９に記載の中継システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノードで構成されるネットワーク間を中継する中継器およびそのシステムに関する。
【背景技術】
【０００２】
従来、中継器を使ったネットワークにおいて、中継器の送信側に優先度を記憶する手段を持たせ、この手段により送信するデータの順序を入替える伝送方法が知られている。例えば、特許文献1には、重要なデータが中継器の送信側に遅着した場合でもその遅着データは先に送信される伝送方法が記載されている。また、特許文献2には、予めデータ送信の際の優先順位を決める伝送方法が記載されている。また、特許文献3には、データを破棄する場合、同一のブロードキャストデータが異なる到着時刻で着信した場合、遅着した方のデータを廃棄する伝送方法が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−２７６９２８号公報
【特許文献２】特開平６−２５３３６７号公報
【特許文献３】特開平６−０３７７６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
二つのネットワーク間を中継する中継器を用いて相互に通信するシステムでは、中継器の伝送遅延が大きい場合、搬送波感知機構、多重アクセス機構、衝突回避機構が動作しない。従って、このような伝送遅延が大きな中継器を使用した場合、送信ノードからのデータの送信順序と受信ノードにおけるデータの受信順序が一致しないという課題があった。
【課題を解決するための手段】
【０００５】
本発明は、上記課題に鑑みてなされたものであり、二つのネットワーク間を中継する中継器の伝送遅延が規定値以上であっても、受信ノードは送信ノードからの送信データの送信順序に従ってデータを受信することを目的とする。
【０００６】
上記の目的を達成するための、本発明の一態様による中継器は以下の構成を有する。すなわち、第一のネットワークと第二のネットワークとを中継する、前記第一のネットワークに接続された中継器であって、前記第一のネットワークに接続された第一のノードから送出されたデータの送出時刻と、前記第二のネットワークに接続された第二のノードから送出されたデータの送出時刻とを、伝達遅延に基づいて検出する検出手段と、前記検出手段によって検出された送出時刻を比較する比較手段と、前記比較手段による比較の結果に基づき、前記第一および第二のノードから送出されたデータの送出時刻が早い方のデータを優先して前記第一のネットワークに送出するように、データの優先順位を変更する変更手段と、を備える。
【発明の効果】
【０００７】
二つのネットワーク間を中継する中継器の伝送遅延が規定値以上であっても、受信ノードは送信ノードからの送信データの送信順序に従ってデータを受信することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態による中継器の構成図。
【図２】第１実施形態による多関節ロボットの外観図。
【図３】第１実施形態による多関節ロボットの外部構成を示す図。
【図４】第１実施形態による多関節ロボットの関節部、把持部のノードの接続を示す図。
【図５】第１実施形態による多関節ロボットのノードが送受信するデータの方向を示す図。
【図６】第１実施形態による各ノードの内部構成を示す図。
【図７】第１実施形態による動作を表すフローチャート。
【図８】CANにおけるデータフレームを示す図。
【図９】CANにおけるデータ送出を説明する図。
【図１０】CANにおけるデータ送出時の衝突を説明する図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。
【００１０】
［第１実施形態］
図1は、本実施形態による中継器である第一無線中継器および第二無線中継器の内部構成を示す図である。図1の説明は、後に詳述する。
【００１１】
図2は、本実施形態による多関節ロボット200の実態を表す図である。多関節ロボット200は、第一関節部201、第二関節部202、第三関節部203の3つの関節部と、第一把持部204又は第二把持部205のいずれかの把持部から構成されている。この把持部204、205は、把持する対象物の形状などにより交換可能である。各関節部及び各把持部にはそれぞれノードが実装され、多関節ロボット200の全体の自由な動作を支えている。
【００１２】
図3は、本実施形態による多関節ロボット200の外部構成を表す図である。前述のように、関節部は、第一関節部201、第二関節部202、第三関節部203を有し、把持部は第一把持部204又は第二把持部205を有する。多関節ロボット200は、動作中に関節部の着脱はできないが、把持対象物である角型把持対象物301-1、丸型把持対象物301-2に応じて第一把持部204又は第二把持部205と接続することが可能である。
【００１３】
各関節部、各把持部には、それぞれの関節部、把持部を制御するノードが実装されている。図4は、多関節ロボット200の関節部、把持部に実装されるノードの接続を表す図である。図4に示すように、第一関節部201にはノード403、第二関節部202にはノード404、第三関節部203にはノード405が実装されている。また、第一把持部204には可動部が2個あるのでノード406-1とノード406-2が実装されており、同様に、第二把持部205にはノード408-1とノード408-2が実装されている。なお、把持部はどの様な形態でも本実施形態の手順に影響を与えるものではない。
【００１４】
第一無線中継器401は、第三関節部203内に実装され、第一把持部204又は第二把持部205と通信を行う。第一ネットワーク402は、ノード403、ノード404、ノード405、第一無線中継器401を接続するネットワークである。データ407（C1D）は、第一のネットワーク402が送受信するデータである。このデータ407（C1D）は、一般的に広く使用されている制御ネットワークであるCAN（Controller Area Network）の規格に従ったデータ形式である。すなわち、ノード403、ノード404、ノード405、及び第一無線中継器401間は、CANに従った通信方式で通信されている。
【００１５】
第二無線中継器409は、第一把持部204又は第二把持部205に実装され、第三関節部203に実装されている第一無線中継器401と無線通信を行う。第二ネットワーク410は、第二無線中継器409、ノード406-1、ノード406-2（もしくはノード408-1、ノード408-2）を接続するネットワークである。この第二ネットワーク410は、第一ネットワーク402と同様に、CANの規格に準拠したものである。データ411（C2D）は、第二ネットワーク410で送受信するデータである。データ411（C2D）はデータ407（C1D）と同様にCANの規格に従ったデータ形式であり、ノード406-1、406-2間（ノード408-1、408-2間）は、CANに従った通信方式で通信されている。
【００１６】
データ412（C1DW）は、データ407（C1D）が第一無線中継器401から第二無線中継器409へアンテナを介して無線送信される時のデータである。データ413（C2DW）は、データ411（C2D）が第二無線中継器409から第一無線中継器401へアンテナを介して無線送信される時のデータである。データ412（C1DW）、データ407（C1D）、データ413（C2DW）、データ411（C2D）は、図5に示すような方向で、多関節ロボット200に実装されているノードにおいて送受信される。
【００１７】
図6は、各ノードの内部構成を表す図である。図6はノード401の例を示すが、他のノードも同じ構成をもつものとする。図6において、ノード401は、中央演算装置601、メモリ602、CANインターフェース603、モータドライバ604、センサインターフェース605を有する。さらにノード401は、多関節ロボットの制御に必要なモータ606やセンサ607を有する。モータ606やセンサ607から出力されるデータは、第一ネットワーク402及び第二ネットワーク410に接続されている全てのノードに送信される。これは、全てのノードが送信ノードのデータを受信することで、1つのノードが動作不良になった時においても制御を代行できるようにするためである。
【００１８】
ここで、本実施形態第一のネットワーク402及び第二ネットワーク410で採用しているCAN（Controller Area Network）規格の動作概要を説明する。CANは2線式の有線で接続されるネットワークである。CANにおいて、各ノード（本実施形態では無線中継器を含む）は差動信号を送受信し、各ノードはCAN接続線（CANバス）で接続されている。CANの伝送フレーム（以下、単にフレームと称する）構造を図8に示す。図8において、数字はビット数を示す。フレームは、スタートを表すSOF（スタートオブフレームス）からはじまり、アービトレーション、コントロール、データ、CRC、ACK、EOF（エンドオブフレームス）、インターフレームで構成される。アービトレーションは、各ノードがデータを送出する際の優先順位を表す。CRCは、これより以前に送出されたビット群（SOF〜データ）のチェック結果を表す。EOF、インターフレームはフレームの終了を表し、合わせて10ビットのレセッシブのデータである。なお、このフレームのビット数は一例を示すもので固定されたものではない。
【００１９】
CANでは、通信速度と伝送距離が反比例の関係にある。例えば、CANにおける最大伝送速度である1Mbps（1ビットパルス幅1us）の場合は伝送距離40ｍであり、伝送速度が50kbps（1ビットパルス幅20us）の場合は1000ｍとなる。これは、有線通信路において電気信号の伝送遅延時間がフレームの伝送信号の1ビットのパルス幅より十分小さい時間以内になるように規定されているためである。また、各ノードがCANのフレーム信号をビット単位で検出し、そのビットのパルス幅の時間内（1Mbps時であれば1us以内）で解析するためである。CANの信号として、一般的には、ロウレベルにあたるドミナントと呼ばれる信号と、ハイレベルにあたるレセッシブと呼ばれる信号が使用される。レセッシブはフローティングであるため他のノードがドミナントで上書きすることが出来る。
【００２０】
次に、CAN規格における各ノードからのデータ送出時の動作を説明する。前述したように、各ノード（送信したノードも含めて）は他のノードが送出したフレームをビット単位で解析することが出来る。従って、各ノードは、データを送出する場合、CANの接続線上に信号があるか否かを解析し、さらに信号がある場合には、その信号がフレーム中のどのような信号であるのかをビット単位で解析する。データを送出するノードは、CAN接続線上に他のノードが送出したフレームがある間は送信信号を出力せず、現在送出されているフレームが受信終了後に送出を開始できる。
【００２１】
このことを図9を用いて説明する。図9において、ノードA、ノードB、ノードCはCANの接続線（CANバス）901に接続されている。ここで、接続線901にノードAからデータ902が送出され、ノードBからデータ903が送出され、ノードBのデータ送出中の時点t1でノードCがデータ904の送出準備が整ったとする。ノードCは、時点t1ではまだノードBのデータ903が送出中であるため送出することはできず、時点t2でも同様に送出することができない。時点t3で、ノードCは、ノードBが送出するデータ903内のEOFとインターフレームの10ビットがレセッシブであることを検出し、データ906を接続線901上に送出することができる。このように、送信準備が整ったノードは現在送信されているフレームの終了を示すEOF7ビットとインターフレーム3ビットの連続10ビットのレセッシブを受信した後に、接続線901に他のノードへデータを送信可能となる。
【００２２】
次に、ノードBからデータ903が送出された後に、ノードAとノードCが同時にデータを送出しようとした場合（データの衝突時）に、どのような動作になるかについて、図10を用いて説明する。図10において、ノードAとノードCが、ノードBのデータ903送出後にそれぞれ、データ1001とデータ1002を同時に送出したとする。この場合、ノードAとノードCのフレームは図10（A）に示すように重なってしまう。CANでは、伝送路が長く伝送遅延が発生しても1ビット以内で伝送できるように伝送距離が規定されているので、1ビットのパルス幅を超えて重なることはない。
【００２３】
ここで、衝突した複数のノードのうち、どのノードが接続線901にデータを送出できるかを説明する。衝突時にデータを送出できるノードは、予め決められた優先順位に従う。この優先順位はフレーム内のアービトレーションによって決められる。優先順位の低いノードはレセッシブのアービトレーションビットを送出したのにも関わらず、接続線にはドミナントビットが出ていることを検出する。例えば、図10（B）においてノードAのアービトレーションがドミナントであり、ノードCのアービトレーションがレセッシブであるとする。この場合、接続線901上にはドミナントが出力されるので、ノードAとノードCは、ノードAのデータ送出の優先順位が高いと判断できる。これは、接続線上のレセッシブビットをドミナントビットが上書きできるためである。この時、ノードCは、ノード間で送出データが衝突して自分より優先順位の高いノードがデータ送出したと理解し、以後はデータを出力しない。これがCANにおける衝突時の動作である。
【００２４】
次に、CAN規格におけるエラーフレームに関する動作を説明する。CANで送出したフレームをビット単位で解析することができるので、接続線901上に出力中のフレームがエラーとなった場合に、エラーを検出したノードは6ビットのドミナントを出力する。これにより、接続線901上の他のノードが受信完了する前にそのエラーフレーム自体は破壊される。接続線901上の他のノードは、破壊されたフレームを受信完了できない。破壊されたデータを送出したノードは再送出動作を行う。エラーの種類は複数あるが詳しい内容は本実施形態では関係が薄いので省略する。エラーフレームを出力したノードは動作環境が良くないと判断され、エラーカウンタの値が増加する。エラーカウンタの値次第でノードにペナルティが与えられ、ペナルティが与えられたノードは、送信権がはく奪されたり、最悪にはネットワークから退場しなければならない。
【００２５】
引き続いて図1の説明を行う。図1は、本実施形態で使用される第一無線中継器401、第二無線中継器409の内部構成を表す図である。第一無線中継器401と第二無線中継器409は同じ構成であるためXXX（YYY）との表現をし、XXXが第一無線中継器401の構成を示し、YYYが第二無線中継器409の構成を示す。また、この第一無線中継器（第一の中継器）と第二無線中継器（第二の中継器）が接続されることにより、中継システムが構成される。
【００２６】
CANドライバ104（154）はCANの通信信号を入出力し、有線の通信線の差動信号を送受信信号に変換、及びその逆を行う。ネットワーク監視部105（155）は、第一ネットワーク402（第二ネットワーク410）にデータが存在するか否かを監視する。データ破壊部106（156）は第一ネットワーク402（第二ネットワーク410）上でエラーを検出した場合にエラーのフレームを破壊し、そのネットワークに接続されている各ノードがそのエラーのフレームを受信完了することを阻止する。送出データ時刻検出部107（157）は、第一ネットワーク402（第二ネットワーク410）上の各ノードがデータを送出する時刻を検出する。
【００２７】
他のノードからの送出データと衝突した際にどのノードの送出データを優先してネットワーク上に出力するかは、優先順位によって予め決められている。この優先順位は予め各ノードに付与されていて、各ノードは、送出するフレームのアービトレーションに優先順位を示すことが出来る。また、この優先順位は優先順位記憶部108（158）に記憶されている。優先順位変更部109（159）は、第二無線中継器409（第一無線中継器401）から送信されたデータを第一ネットワーク402（第二ネットワーク410）に出力する際に優先順位を変更する。検出時刻比較部110（160）は、第一ネットワーク402（第二ネットワーク410）と第二ネットワーク410（第一ネットワーク402）上のノードから送出されるデータの送出時刻を比較する。データ破棄部111（161）は、第一ネットワーク402（第二ネットワーク410）上の各ノードが送出したデータを第二無線中継器409（第一無線中継器401）に無線送信する前に破棄する。送信処理部116（166）は、データ破棄部111（161）によって破棄されなかったデータを無線送信するために変調する。無線送信RF部117（167）は、送信処理部116（166）によって変調されたデータの周波数を変換する。送信アンテナ101（151）は、第一無線中継器401（第二無線中継器409）からのデータを無線送信する。
【００２８】
受信アンテナ103（153）は、第二無線中継器409（第一無線中継器401）からの電波を受信する。無線受信RF部115（165）は、第二無線中継器409（第一無線中継器401）から受信したデータの周波数を変換する。受信処理部114（164）は、無線受信RF部115（165）から受信したデータをベースバンドデータに処理する。受信データ時刻検出部112（162）は、第二無線中継器409（第一無線中継器401）から送出されたデータの送出時刻を検出する。バッファ部113（163）は、第二無線中継器409（第一無線中継器401）から受信したデータをバッファする。送出データ破棄部118（168）は、第二無線中継器409（第一無線中継器401）から受信したデータを第一ネットワーク402（第二ネットワーク410）に送出しないようにデータを破棄する。受信データ有無検出部119（169）は、第二無線中継器409（第一無線中継器401）からの受信データの有無を判断する。
【００２９】
次に、本実施形態による無線中継器の動作を説明する。図7は、本実施形態による無線中継器の動作を表すフローチャートである。無線中継器では伝送遅延が発生し、この伝送遅延はノードが送出するフレーム（データ）の長さよりも短いものとする。また、このフローチャートは、第一無線中継器401の動作を例として説明するが、第二無線中継器409の動作も同様とする。
【００３０】
まず、第一無線中継器401が自身のネットワークである第一ネットワーク402に接続されているノード（第一のノード）からデータ407（C1D）を受信した場合（S701のYes-1）、送出データ時刻検出部107は、受信したこのデータのノードにおける送出時刻Xを伝達遅延を考慮して検出する（S702）。その後、ノードからのデータ407（C1D）は変調され、データ412（C1DW）が第二無線中継器に送信される（S703）。このデータの送信中、受信データ時刻検出部112は、他の中継器からデータを検出したかを判断する（S704、S705）。他の中継器からデータを検出することなくデータの送信が完了する（S704のYes、S705のNo）と、処理を終了する。データの送信中に受信データ時刻検出部112が、他方のネットワークに接続されているノード（第二のノード）から受信したデータ411（C2D）を検出した場合（S705のYes）、受信データ時刻検出部112は受信したデータの送出時刻Yを検出する。そして、検出時刻比較部110は送出時刻Xと送出時刻Yとを比較する。送出時刻Xと送出時刻Yとが同時刻の場合（S707のYes）、さらに両データの優先順位の比較を行う（S709）。
【００３１】
送出時刻Xと送出時刻Yが同時刻ではなく（S707のNo）、送出時刻Xが送出時刻Yよりも早い場合（S708のYes）、または送出時刻Xと送出時刻Yが同時刻であって（S707のYes）、データ407（C1D）の優先順位が高い場合（S709のYes-2）、処理はS711に進む。S711では、送出データ破棄部118が第二無線中継器から受信したデータ411（C2D）を破棄する（S711）。そして、データ412（C1DW）の第二無線中継器409への送信が継続される（S711からS704へ）。一方、送出時刻Xと送出時刻Yが同時刻ではなく（S707のNo）、送出時刻Xが送出時刻Yよりも遅い場合（S708のNo）、または送出時刻Xと送出時刻Yが同時刻であって（S707のYes）、データ407（C1D）の優先順位が低い場合（S709のYes-1）、処理はS710に進む。S710では、データ破棄部111がデータ407（C1D）を破棄し、データ破壊部106がデータ407（C1D）を破壊する（S710）。そして、データ411（C2D）の第一ネットワーク402への送出が継続される（S710からS721へ）。
【００３２】
一方、第一無線中継器401がデータを受信していない状態から第二無線中継器か409からデータ受信を開始した場合（S701のYes-2）、受信データ時刻検出部112は受信したデータ411（C2D）の送出時刻Zを検出する（S720）。データ411（C2D）はバッファ部113へ蓄積される（S721）。そして、バッファ部113に蓄積されたデータ411（C2D）の優先順位は上げられて、バッファ部113に蓄積されたデータは順次、第一ネットワーク内のノードへ送出される（S722）。第一のネットワークへデータ送出中に第一のネットワーク内のノードからデータを受信せずに、データ411（C2D）の送出が完了する（S723のYes、S724のNo）と、処理を終了する。一方、データの送出が開始された後、第一ネットワーク内のノードからデータ407（C1D）を受信した場合（S723のNo、S724のYes）、検出時刻比較部110はデータ411（C2D）の送出時刻Zが早いことを判定し、データ破棄部111はデータ407（C1D）を破棄し、破棄する（S725）。
【００３３】
次に、本実施形態の動作について説明する。図2に示すように、多関節ロボット200において、関節部201〜203、把持部204、205にノードが実装されている。また、これらのノード内には、図6に示すように、中央演算装置601、モータ606、センサ607等が具備されている。本実施形態では、多関節ロボットの制御に必要な部品としてモータとセンサだけを記載するが、他に多関節ロボットの制御に必要な部品を具備することも出来、扱いは同様とする。
【００３４】
本実施形態では、図5に示すように、第一ネットワーク402に接続されているノード405及び第二ネットワーク410に接続されているノード406-1から、多関節ロボット200内の全てのノードにモータ606及びセンサ607のデータを送信する場合を想定する。また、ノード405はノード406-1よりも優先順位が高く設定されているものとする。
【００３５】
多関節ロボット200内のノード間で通信されるCANのフレームは、図8に示す通り、全部で111ビットで構成される。第一ネットワーク402と第二ネットワーク410内において、有線で接続されたノード間の伝送遅延は無視できるものとする。第一ネットワーク402と第二ネットワーク410間を接続する第一無線中継器401及び第二無線中継器409間の伝送遅延は、片方向20usである。この内訳は送信処理部116（166）及び送信RF部117（167）で合わせて4us、受信RF部及び受信処理部で合わせて4us、受信側のバッファ部113（163）で12usである。バッファ部113（163）は、第一無線中継器401（第二無線中継器409）内でデータの衝突を検出した場合に、アービトレーション（12ビット）を一旦蓄積して優先順位を変更する。具体的には、優先順位変更部109（159）は、第二ネットワーク410（第一ネットワーク402）から受信したフレームのアービトレーションビットを変更する。このバッファ部113（163）での伝送遅延12usは、アービトレーションのビット数（12ビット）と1ビットパルス幅（1us）を乗算した値となっている。
【００３６】
中継器を介さない有線のCANのシステムでは、各ノードが送信したデータの順に受信ノードはデータを受信し、衝突した際には前述したデータ送出時の手順が守られてきた。しかし、本実施形態では中継器を介しているため、このような手順が守られない場合がある。すなわち、本実施形態では第一ネットワーク402と第二ネットワーク410間に第一無線中継器401、第二無線中継器409が入っているため、各ノードは1ビットのパルス幅の時間以内にデータを受信し、解析することが出来ない。特に、第一ネットワーク402、第二ネットワーク410間の伝送遅延である20us以内に第一ネットワーク402と第二ネットワーク410に接続されているノードからデータ送出された場合に、送出と受信のデータ順序の逆転現象が発生する。
【００３７】
この逆転現象を回避するための本実施形態による動作を図7を参照して説明する。以下、ノード405によるデータ送出の200us後、7us後、2us後にノード406-1が111ビットのデータを送出する場合を説明する。
【００３８】
まず、ノード405によるデータ送出の200us後にノード406-1が111ビットのデータを送出する場合を説明する。第一ネットワーク402に接続されているノード405は、同ネットワーク402上の全てのノード宛にモータ606又はセンサ607のデータ407（C1D）を送出する。この送信時刻をt1とする。第一ネットワーク402に接続されているノードは有線で接続されているため、伝送遅延を無視出来る。従って、ノード403、ノード404、第一無線中継器401は、ノード405からデータ407（C1D）が送信された後すぐに受信開始する（S701のYes-1）。フレーム長は111ビットなので全てのビットが受信処理されるまで111us必要となる。すなわち、データ送出後、111us間は第一ネットワーク402上にデータ407（C1D）が残存していることになる。
【００３９】
第一無線中継器401の送出データ時刻検出部107は、データ407（C1D）より以前に出力されたデータ（フレーム）がある場合、最後の10ビットのレセッシブを検出する。その後、送出データ時刻検出部107は1ビットのドミナントであるデータ407（C1D）のSOFを検出した時刻からノード405から第一無線中継器401までの伝送時間を減算し、ノード405からデータ407（C1D）が送出された時刻を計算する（S702）。ここでは第一ネットワーク402は有線で接続されており伝送時間は無視できるので、送出データ時刻検出部107にて、データ407（C1D）が送出された時刻t１が記憶される。送出データ時刻検出部107は、データ407（C1D）が送出された時刻を、検出時刻比較部110に送る。
【００４０】
ノード406-1からのデータ出力はt1から200us後であり、本実施形態ではノード406-1から送出されたデータは二つの無線中継器を通過するのに20us要する。従って、時刻t１の時点では、受信データ時刻検出部112は、受信アンテナ103、受信RF部115、受信処理部114を介して第二無線中継器409からデータを受信していない。受信データ時刻検出部112はノード406-1から送出されたデータを検出していないため、受信データ有無検出部119も第二ネットワーク410からの受信データはないと判断する。よって、検出時刻比較部110はデータの送出時刻の比較動作を行わない。従って、データ407（C1D）は、データ破棄部111によって破棄されることなく、引き続き送信処理部116で無線通信用に変調され、データ412（C1DW）が送信RF部117からアンテナ101を介して第二無線中継器409に無線送信される（S703）。ここまでの伝送遅延時間は、第一無線中継器401内の送信処理部116、送信RF部117の伝送遅延合わせて4usである。受信データ時刻検出部112は、データ412（C1DW）を全て送信し終わる111usの間、第二無線中継器409からデータを検出したかの判断を行う（S704）。
【００４１】
第二無線中継器409の受信アンテナ153にて受信されたデータ412（C1DW）は、受信RF部165、受信処理部164を経由してデータ407（C1D）に変換されて受信データ時刻検出部162に入力される（S702のYes-2）。ここまでの伝送遅延はデータ送信時からt1+8usであり、この時点ではまだノード406-1からデータは送出されていない。受信データ時刻検出部162は、受信処理部164から送出されたデータ407（C1D）について、無線部等の伝送遅延を減算することにより、ノード405からデータが出力された時刻を検出する（S720）。この結果は受信データ有無検出部169に送られ、受信データ有無検出部169にて受信データ有と記憶される。一方、第二無線中継器409はノード406-1からのデータをまだ受信していないので、送出データ時刻検出部157はデータの送出時刻を検出しない。よって、検出時刻比較部160は送出時刻の比較動作を行わない。
【００４２】
また、データ407（C1D）はバッファ部163に入力される（S721）。このバッファ部163はFIFOタイプのバッファであり、SOF、アービトレーションを一旦蓄積する。そして、検出時刻比較部160に併設された優先順位比較部（図示せず）は、データ407（C1D）に示される優先順位が、優先順位記憶部158に記憶されている第二ネットワーク410上のノードに付与されている優先順位とを比較する。データ407（C1D）に示される優先順位がより低い場合、優先順位変更部159は、データ407（C1D）のアービトレーションビットを、より高い優先順位を表すように変更する（S722）。これは、衝突時の優先順位が予め決められていたとしても、ノードがデータを送出した順に必ず、受信ノードがデータを受信できるようにするためである。これにより、第二無線中継器409が、データ407（C1D）を第二ネットワーク410に優先して送出することが可能となる。
【００４３】
ここまでの伝送遅延は20usであるため、ノード406-1はまだデータを第二ネットワーク410に送出していない。従って、ネットワーク監視部155は、第二ネットワーク410上にデータが送出されていないことを判断する。第二ネットワーク410上に送出データがないため、CANドライバ154は、データ407（C1D）を第二ネットワーク410に送出する（S722）。第二ネットワーク410は有線で接続されているため、データが送出されるとすぐに第二ネットワーク410に接続されているノード406-1、ノード406-2は受信開始できる。
【００４４】
従って、無線中継器の伝送遅延を考慮すると、ノード405がデータを送出してから20us後に、第二のネットワーク410上の各ノードはそのデータを受信開始できることになる。全てのデータ407（C1D）を受信するのに111us必要であるため、受信完了まで（第二ネットワーク上にデータがなくなるまで）、ノード405がデータを送出してから131usを要する。本例ではこの69us後にノード406-1がデータを送出するので、衝突なく受信完了となる（S723のYes）。そして、これまで説明した動作を行う第一無線中継器401と第二無線中継器409が入替って動作することになる。
【００４５】
次に、ノード405によるデータ出力の7us後にノード406-1が111ビットのデータを送出する場合を説明する。ノード405からデータ407（C1D）が送出された時刻をt2とする。送出されたデータ407（C1D）は第一無線中継器401に入力され、送出データ時刻検出部107にて送信時刻であるt2が記憶される（S701のYes-1、S702）。
【００４６】
ノード406-1から、データ411（C2D）はt2+7us後に送出されるので、時刻t2の時点では、受信データ時刻検出部112は、まだ第二無線中継器409からデータを受信していない。従って、検出時刻比較部110は送出時刻の比較動作を行わない。データ407（C1D）は、S703の処理により送信処理部116、送信RF部117、送信アンテナ101を経由して第二無線中継器409にデータ412（C1DW）として送信される（S703）。
【００４７】
データ412（C1DW）は、第二無線中継器409において、受信アンテナ153、受信RF部165、受信処理部164を経由してデータ407（C1D）に変換されて、受信データ時刻検出部162とバッファ部163に入力される。ここまでの伝送遅延は8usである。受信データ時刻検出部162は、ノード406-2からデータ411（C2D）を受信した時点（t2+7us）では、データ407（C1D）を受信していない（S701のYes-1）。したがって、送出データ時刻検出部157はデータ411（C2D）のノードにおける送出時刻を検出し（S702）、データ411（C2D）に対する変調処理が開始される（S703）。その後、t2+8usの時点（S704のNo）で、受信データ時刻検出部162はデータ407（C1D）を検出し（S705のYes）、ノード405におけるデータ407（C1D）の送出時刻であるt2を検出する（S706）。
【００４８】
送出データ時刻検出部157は、データ407（C1D）の送信時刻はt2であり、データ411（C2D）の送出時刻はt2+7usであることを検出する。検出時刻比較部160は、データ407（C1D）はデータ411（C2D）よりも早く送出されたことを判断する（S707のNo、S708のNo）。そして、この判断を受けて、送出データ破棄部168はデータ411（C2D）を破棄する（S710）。その後、データ407（C1D）の優先順位は高く設定され、第二ネットワーク410に送出される（S721-S725）。
【００４９】
これにより、データ411（C2D）を第一無線中継器401に無線送信することを防ぐことが出来る。すなわち、データ411（C2D）は送出データ破棄部168によって時刻t2+8usにおいて破壊されるため、変調処理中に破棄されることになり、第一無線中継器401へ送出されることはない。
【００５０】
ところで、時刻t2+8usの時点ではデータ411（C2D）は送出から1usしか経過していないので、110ビットのデータが第二無線中継器409に入力されようとしている。ノード406-2が送出したデータ411（C2D）は、データ407（C1D）よりも遅く送出されたにもかかわらず、このままでは第二ネットワーク410に接続されているノードはデータ412（C1DW）を受信する前にデータ411（C2D）を受信完了としてしまう。すなわち、送出と受信のデータ順序が入れ替わってしまう。
【００５１】
これを阻止するために、データ411（C2D）を破壊して、第二ネットワークに接続されたノードであるノード406-2がこのデータを受信できないようにする（S710）。この動作はデータ破壊部156によって行われる。具体的には、データ破壊部156は、CAN規格で定められたエラーフレームを送出する。すなわち、データ破壊部156は、6ビットのドミナントを送出し、データ411（C2D）をエラーフレームとして破壊する。その後、データ407（C1D）は、前述のように第二ネットワーク410上のノードとの優先順位の比較が行われ、低い場合にはより高い順位に変換される。そして、データ407（C1D）は第二ネットワーク410に送出される。なお、エラーフレームとされたデータ411（C2D）を出力したノード406-1は、再送手順に入り、エラーカウンタが増加する。
【００５２】
次に、ノード405がデータ出力後、2us後にノード406-1が111ビットのデータを出力する場合を説明する。ノード405からデータが送出された時刻をt3とする。送出されたデータ407（C1D）は第一無線中継器401に入力され、送出データ時刻検出部107にて送信時刻であるt3が記憶される（S701のYes-1、S702）。その後、データ407（C1D）に対する変調処理が開始される（S703）。データ407（C1D）は、送信処理部116、送信RF部117に送られ、送信アンテナ101を介してデータ412（C1DW）が第二無線中継器409に送られる。この変調動作には合計4us要する。したがって、この変調動作中に、第二無線中継器409の送出データ時刻検出部157は、ノード406-1から送出されたデータ411（C2D）の送出時刻を検出する。データ411（C2D）は、送信処理部166から送信RF部167に送られ、アンテナ151を介してデータ413（C2DW）として第一無線中継器401に送られる（S703）。
【００５３】
第一無線中継器401がデータ412（C1DW）を全て送出し終わる111usの前に、データ413（C2DW）は、受信RF部115から受信処理部114を経由して、データ411（C2D）に変換されて受信データ時刻検出部112に入力される（S704のNo、S705のYes）。受信データ時刻検出部112は、ノード406-1からデータ411（C2D）が送出された時刻を検出する（S706）。上述したように、送出データ時刻検出部107は、ノード405から送出されたデータ407（C1D）の送出時刻を検出している（S703）。検出時刻比較部110は、データ407（C1D）の送出時刻とデータ411（C2D）の送出時刻とを比較する。比較した結果、データ411（C2D）の方が2us遅く送出されていると判断し（S707のNo、S708のYes）、送出データ破棄部118はデータ411（C2D）を破棄する（S711）。
【００５４】
一方、第二無線中継器409では、ノード406-2からデータ411を受信した時点t3+2usでは、第一無線中継器401から送出されたデータ412（C1DW）の受信を検出しておらず、データ411（C2D）に対する変調処理が開始される（S701のYes-1、S702、S703）。その後、第一無線中継器401から送信されたデータ407（C1D）が受信されると、検出時刻比較部160で、データ407（C1D）とデータ411（C2D）との送出時刻が比較される（S704のNo、S705のYes、S706）。ここでデータ407（C1D）の送出時刻はt3、データ411（C2D）の送出時刻はt3+2usであり、比較結果を受けて送信データ破棄部161はデータ411（C2D）を破棄する（S704のNo、S705のYes、S706、S707のNo、S708のNo、S710）。このように、データ411（C2D）は第一無線中継器401に送られたとしても途中から破棄され、無駄なデータを無線送信されないようにしている。
【００５５】
そして、第二ネットワーク410上にデータ411（C2D）が存在する間、データ破壊部156は、エラーフレームを送出してデータを破壊する（S710）。これはデータ407（C1D）よりデータ411（C2D）が先にノード406-2に受信完了することを回避するためである。その後、データ407（C1D）は、前述のように第二ネットワーク410上のノードとの優先順位の比較が行われ、低い場合にはより高い順位に変換される。そして、データ407（C1D）は第二ネットワーク410に送出される（S721-S725）。
【００５６】
また、上述のように第一無線中継器401においても、ノード406-2が時刻t3+2usで送信したデータ411の6us分を受信することになるが、これらが第一ネットワーク402に送出されることはない。すなわち、検出時刻比較部110は、受信データ時刻検出部112が検出したデータ411（C2D）の送信時刻t3+2usと、送出データ時刻検出部107が検出したデータ407（C1D）の送出時刻t3とを比較する（S705のYes、S706）。この比較により、データ407（C1D）の送出時刻の方が早いことが判明するので、送出データ破棄部118がデータ411を破棄し、データ411が第一ネットワーク402に送出されることを防ぐ（S708のYes、S711）。
【００５７】
これにより、第一ネットワーク402と第二ネットワーク410のデータ送出の時間差が2usである場合においても、送出した順番に各ノードが受信することができる。なお、第一ネットワーク402と第二ネットワーク410が入れ替わっても無線中継器が入れ替わることで同じ効果が得られる。
【００５８】
次に、ノード405がノード406-1と同時に111ビットのデータを送出する場合を説明する。中継器を介さずネットワークが有線で接続されている場合は、衝突が検出されて優先度の高いノードから送出されたデータが優先してネットワーク上に送出される。しかし、ネットワークが第一及び第二無線中継器で接続されているため、20usの伝送遅延によりこの動作は機能しない。第一ネットワーク402に接続されているノード405からデータが送出された時刻をt4とする。送信されたデータは即座に第一無線中継器401に入力され、送出データ時刻検出部107にて送出時刻であるt4が記憶される（S701のYes-1、S702）。一方、ノード406-1が、同じ時刻t4にデータを送出し、送出データ時刻検出部157は送出時刻であるt4を記憶する。受信データ時刻検出部112及び162は、それぞれ第二無線中継器409と第一無線中継器401からデータを受信しておらず、受信データ有無検出部119及び169にはそれぞれデータ無と記憶される。
【００５９】
第一無線中継器401において、ノード405から送出されたデータ407（C1D）は、送信処理部116、送信RF部117に送られ、無線送信用に変調される。そして、変調されたデータ412（C1DW）は送信アンテナ101を介して第二の無線中継器409に送られる（S703）。第二無線中継器409は受信アンテナ153でデータを受信し、受信RF部165、受信処理部164を経由してデータ407（C1D）に変換される。この送受信処理の所要時間は合計8usである。ノード406-1から送出されたデータ411（C2D）も、第二無線中継器409で変調、送信され、第一無線中継器401で受信、復調される。この所要時間は同様に8usである。
【００６０】
第一無線中継器401において、受信データ時刻検出部112は、ノード406-1がデータを送出した時刻を検出し（S706）、検出時刻比較部110は送出時刻を比較する。送出時刻はt4で同時であるため（S707のYes）、アービトレーションビットより優先順位を比較する。検出時刻比較部110に併設された優先順位比較部（図示せず）がデータ407（C1D）が優先順位が高いと判断した場合（S709のYes-2）、送出データ破棄部118でデータ411（C2D）は破棄される（S711）。そして、第一無線中継器401からのデータ412（C1DW）の送出が維持される（S711）。第二無線中継器409でも同様の動作が行われ、ただし、データ411（C2D）よりもデータ407（C1D）の優先順位が高いので、ノード406-1から送出されたデータ411（C2D）は破棄、破壊される（S701-S707、S709、S710）。その後、第二無線中継器409において、データ407（C1D）は、前述のように第二ネットワーク410上のノードとの優先順位の比較が行われ、低い場合にはより高い順位に変換される（S721）。そして、データ407（C1D）は第二ネットワーク410に送出される
【００６１】
これにより、第一ネットワーク402と第二ネットワーク410間で伝送遅延が発生する無線中継器を使った場合において、同時に送出されたデータであるにも関わらず有線で接続された場合と同様の動作を行うことができる。
【００６２】
上記の動作は無線中継器を例に取り説明したが、有線の中継器においても同様の効果を得ることが可能となる。また、本実施形態ではノードからのデータ送出時刻で比較したが、データ含ませたタイムスタンプによって比較しても同等の効果を得ることができる。また、イベントの発生時刻を比較することも可能である。
【００６３】
［第２実施形態］
第１実施形態では、遅くデータを送出したために自己のデータが破壊された場合、そのデータを送出したノードについてのエラーカウンタは増加する。前述のように、エラーカウンタの値が多いノードには、ペナルティが与えられてしまう。このようなノードであっても救済するために、ダミーデータを利用しても良い。すなわち、エラーカウンタ値を減じるために、破壊されたデータを送出したノードはダミーデータを一定期間送受信する。これによりスループットは低下するが、エラーカウンタ値の増加を防ぐことができる。
【００６４】
［第３実施形態］
各ノードが、無線中継器における伝送遅延を予め知る手段を更に有しても良い。この場合、各ノードのCAN I/F603は無線中継器の伝送遅延よりも長いフレームを作る。この長いフレームはダミーフレームであり、データ全体に影響するものではない。これによりフレーム長は無線中継器における伝送遅延より必ず長くなり、送出順序の遅いフレームはエラーフレームとして破壊することができる。したがって、送信した順序で各ノードはデータを受信することができる。
【００６５】
上記の動作は無線中継器を例に取り説明したが、有線の中継器においても同様の効果を得ることが可能となる。
【図１】
2014110516.tif 000003
【図２】
2014110516.tif 000004
【図３】
2014110516.tif 000005
【図４】
2014110516.tif 000006
【図５】
2014110516.tif 000007
【図６】
2014110516.tif 000008
【図７】
2014110516.tif 000009
【図８】
2014110516.tif 000010
【図９】
2014110516.tif 000011
【図１０】
2014110516.tif 000012