JP2017175231A - リング型ネットワークを用いた通信システム - Google Patents

リング型ネットワークを用いた通信システム Download PDF

Info

Publication number
JP2017175231A
JP2017175231A JP2016056253A JP2016056253A JP2017175231A JP 2017175231 A JP2017175231 A JP 2017175231A JP 2016056253 A JP2016056253 A JP 2016056253A JP 2016056253 A JP2016056253 A JP 2016056253A JP 2017175231 A JP2017175231 A JP 2017175231A
Authority
JP
Japan
Prior art keywords
packet
interrupt
normal
transmission
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016056253A
Other languages
English (en)
Other versions
JP6291516B2 (ja
Inventor
隆介 石▲崎▼
Ryusuke Ishizaki
隆介 石▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2016056253A priority Critical patent/JP6291516B2/ja
Priority to US15/460,288 priority patent/US10250407B2/en
Publication of JP2017175231A publication Critical patent/JP2017175231A/ja
Application granted granted Critical
Publication of JP6291516B2 publication Critical patent/JP6291516B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/13Flow control; Congestion control in a LAN segment, e.g. ring or bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2466Traffic characterised by specific attributes, e.g. priority or QoS using signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/35Flow control; Congestion control by embedding flow control information in regular packets, e.g. piggybacking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

【課題】送信データの伝送効率を悪化させることなく、優先度が高いデータをノード間で早急に送受信できる通信システムを提供する。
【解決手段】複数のノード2がリング型のネットワーク3を介して通信可能に接続された通信システム1であって、ノード2が、入力パケットPeを分配するパケット分配器11と、割込パケットPi及び通常パケットPnを、割込パケットPiが通常パケットPnに優先させるように出力する出力切替部23とを備える。出力切替部23は、通常パケットPnを送信している最中に割込パケットPiを受け取った場合、受け取った割込パケットを送信中の通常パケットのヘッダとトレーラとの間に割り込ませて送信する。パケット分配器11は、他のノードから送信された通常入力パケットPenの中に割込入力パケットPeiが割り込んでいる場合、割込入力パケットPeiを抜き出して分配する。
【選択図】図11

Description

本発明は、複数のノードがリング型のネットワークを介して通信可能に接続された通信システムに関する。
複数のコンピュータ等の端末(ノード)を通信可能に接続するネットワークのトポロジーには、バス型、スター型、リング型、メッシュ型等がある。バス型のネットワークの例としては、イーサネット(登録商標)がある。イーサネットは、物理的にはスター型構成とされるが、論理的にはバス型構成を採っており、各ノードは自由に信号(データ)を発信することができる。その一方で、イーサネットでは、信号の衝突が発生することがあり、この場合には信号の送達が遅れる(即ち、レイテンシが大きい)。
リング型のネットワークも、イーサネットと同様に物理的にはハブに集線したスター型構成とされることが多い。リング型ネットワークの例としては、トークンリングがある。トークンリングでは、トークンと呼ばれる信号がリングを周回しており(トークンパッシング)、トークンを得たノードのみがデータを送信することができる。つまり、トークンを得ていないノードはデータを送出することができないため、ネットワーク上でデータが衝突することがない。リング上に送出されたデータは、送信先以外のノードによって中継されながら、送信先のノードへ伝送される。
複数のノードがトークンリングを介して接続された通信システムにおいて、ノードの機能を複雑化させずに受信側ノードの負荷変動に対応させるためのフロー制御方式として、送信元ノードは、受信側ノード宛のデータとビジートークンとの組を送出する送出手段と、自己が送出した組を受信した時に、組をそのまま送出する中継手段とを備え、受信側ノードが、組を受信した時に受信余裕がないならば、組をそのまま送出する中継手段と、組を受信した時に受信余裕があるならば、組にあるデータを受信する受信手段と備える構成とした発明が提案されている(特許文献1)。
また、バス型やリング型のネットワークにおいて、データを送信する際に、送信するデータを所定の大きさに分割し、分割したデータの先頭にヘッダを、末尾にトレーラやCRC(Cyclic Redundancy Check)符号(巡回冗長符号)を付加してデータパケットを生成し、出力するデータパケットに優先度を設定することで、優先度の高いデータパケットから順にネットワークに送出するようにした通信装置が知られている(例えば、特許文献2、3)。
特開2001−326663号公報 特開2000−134213号公報 特開2002−171268号公報
しかしながら、特許文献1記載の発明では、送信元ノードが制御内容を埋め込んだデータを送ったとしても、受信側ノードに受信余裕がない状態が続いた場合には、中継手段がデータをそのまま送出し続けるため、受信側ノードがデータを受信することができない。
これに対し、リング型ネットワークで特許文献2、3に記載の技術を用いる場合には、送信すべきデータが分割されるため、優先度が低いデータパケットを追い越して優先度が高いデータパケットを送信する(割り込ませる)ことが可能になる。しかしながら、優先度が低いデータパケットの送信を既に開始している場合には、この送信中のデータパケットの送信が完了するまで、優先度が高いデータの送信開始を待たなければならない。ここで、優先度が高いデータをより早急に送信させたい場合には、データパケットのデータをより小さく分割することが考えられる。ところが、送信データを小さく分割してデータパケットを生成すると、データパケットの数が増え、その分だけヘッダやトレーラ等のデータ量が大きくなって送信データの伝送効率が悪くなる上、各ノードにおけるデータパケットの振り分け処理負荷も増大する。
本発明は、このような背景に鑑み、送信データの伝送効率を悪化させることなく、優先度が高いデータをノード間で早急に送受信させることができるリング型ネットワークを用いた通信システムを提供することを課題とする。
このような課題を解決するために、本発明は、複数のノード(2)がリング型のネットワーク(3)を介して通信可能に接続された通信システム(1)であって、少なくとも2つ以上の前記ノードが、ソフトウェアを用いた演算処理を行い、他のノードに対して送信すべき通常送信データ(Dtn)及び割込送信データ(Dti)を含む送信データ(Dt)を生成する送信ソフトウェア部(8)と、前記送信ソフトウェア部が生成した前記送信データ(Dt)に少なくともヘッダ及びトレーラを付加してなる通常送信パケット(Ptn)及び割込送信パケット(Pti)を含む送信パケット(Pt)を、他のノードへ送出するパケット送出部(18、20)と、他のノードから送信された通常入力パケット(Pen)及び割込入力パケット(Pei)を含む入力パケット(Pe)を分配するパケット分配部(11)と、他のノードから送信された、送信先が自ノード以外である前記入力パケット(Pe(Pen、Pei))を、中継すべく送出するパケット中継部(17、19)と、前記割込送信パケット(Pti)及び前記割込入力パケット(Pei)を含む割込パケット(Pi(Pti、Pei))、及び、前記通常送信パケット(Ptn)及び前記通常入力パケット(Pen)を含む通常パケット(Pn(Ptn、Pen))を、前記割込パケット(Pi)が前記通常パケット(Pn)に優先させるように出力パケット(Po)として出力する出力切替部(23)とを備え、前記出力切替部(23)は、前記通常パケット(Pn)を送信している最中に前記割込パケット(Pi)を受け取った場合、受け取った前記割込パケットを送信中の前記通常パケットの前記ヘッダと前記トレーラとの間に割り込ませて送信し、前記パケット分配部(11)は、他のノードから送信された前記通常入力パケット(Pen)の中に前記割込入力パケット(Pei)が割り込んでいる場合、当該割込入力パケットを抜き出して分配する構成とする。
この構成によれば、出力切替部が、送信中の通常パケットのヘッダとトレーラとの間に割込パケットを割り込ませて送信するため、通常パケットのデータが大きく、その出力に時間がかかる場合であっても、割込パケットが即座に出力される。また、パケット分配部が割り込んでいる割込入力パケットを抜き出して分配するため、通常パケットに割り込んでいる割込入力パケットが適切に処理される。
また、上記の発明において、前記出力切替部(23)は、他のノードから送信され、前記パケット中継部(17)から受け取った前記通常入力パケット(Pen)を送信している最中に、前記送信ソフトウェア部(8)が生成した前記割込送信パケット(Pti)を受け取った場合、受け取った前記割込送信パケット(Pti)を送信中の前記通常入力パケット(Pen)の前記ヘッダと前記トレーラとの間に割り込ませて送信する構成とするとよい。
この構成によれば、通常送信パケットのデータが大きく、その出力に時間がかかる場合であっても、割込入力パケットが即座に出力される。
また、上記の発明において、前記出力切替部(23)は、前記送信ソフトウェア部(8)が生成した前記通常送信パケット(Ptn)を送信している最中に、他のノードから送信された前記割込入力パケット(Pei)を前記パケット中継部(19)から受け取った場合、受け取った前記割込入力パケット(Pei)を送信中の前記通常送信パケット(Ptn)の前記ヘッダと前記トレーラとの間に割り込ませて送信する構成とするとよい。
この構成によれば、通常入力パケットのデータが大きく、その出力に時間がかかる場合であっても、割込送信パケットが即座に出力され、レイテンシが小さくなる。
また、上記の発明において、前記出力切替部(23)は、他のノードから送信され、前記パケット中継部(17)から受け取った前記通常入力パケット(Pen)を送信している最中に、他のノードから送信された前記割込入力パケット(Pei)を前記パケット中継部(19)から受け取った場合、受け取った前記割込入力パケット(Pei)を送信中の前記通常入力パケット(Pen)の前記ヘッダと前記トレーラとの間に割り込ませて送信する構成とするとよい。
この構成によれば、通常入力パケットよりも後に出力切替部に入力した割込入力パケットが、先に入力した通常入力パケットを追い越して、或いは先に入力して送信中である通常入力パケットに割り込んで即座に出力される。そのため、レイテンシが小さくなる。
また、上記の発明において、前記出力切替部(23)は、前記送信ソフトウェア部(8)が生成した前記通常送信パケット(Ptn)を送信している最中に、前記送信ソフトウェア部が生成した前記割込送信パケット(Pti)を受け取った場合、受け取った前記割込送信パケット(Pti)を送信中の前記通常送信パケット(Ptn)の前記ヘッダと前記トレーラとの間に割り込ませて送信する構成とするとよい。
この構成によれば、通常送信データよりも後に送信ソフトウェア部により生成された割込送信データが、先に生成された通常送信データを追い越して、或いは先に生成された通常送信データに割り込んで即座に出力される。
また、上記の発明において、上記の発明において、少なくとも2つ以上の前記ノードが、他のノードから送信された、送信先が自ノードである前記入力パケット(Pe(Pen、Pei))を受信するパケット受信部(13、15)と、前記パケット受信部(13)が受信した前記通常入力パケット(Pen)に基づいてソフトウェアを用いた演算処理を行い、制御対象(7)を制御する受信ソフトウェア部(9)と、前記パケット受信部(15)が受信した前記割込入力パケット(Pei)に基づいて、前記受信ソフトウェア部を介さずに直接制御されるハードウェア(7、70)とを備える構成とするとよい。
この構成によれば、パケット受信部が受信した通常入力データに基づいてソフトウェアを用いた演算処理を行う受信ソフトウェア部による制御対象の制御を行いつつ、1つのノードが他のノードに割込パケットを送信することで、他のノードのハードウェアを、受信ソフトウェア部を介さずに早急に制御することができる。
このように本発明によれば、送信データの伝送効率を悪化させることなく、優先度が高いデータをノード間で早急に送受信可能なリング型ネットワークを用いた通信システムを提供することができる。
実施形態に係る通信システムの概略構成図 通常パケットの構成図 割込パケットの構成図 図1に示す各ノードの機能ブロック図 図4に示す通常パケット中継ブロックの機能ブロック図 図4に示す通常パケット送出ブロックの機能ブロック図 図4に示す通常パケット受信ブロックの機能ブロック図 図4に示す通常パケット切替ブロックの機能ブロック図 図4に示す通常パケット切替ブロックにおける出力切替の説明図 図4に示す割込パケット受信ブロックの機能ブロック図 図4に示す出力切替ブロックにおける割込パケット埋め込みの説明図 割込パケット埋め込みの第1の形態を示す要部ブロック図 割込パケット埋め込みの第2の形態を示す要部ブロック図 割込パケット埋め込みの第3の形態を示す要部ブロック図 割込パケット埋め込みの第4の形態を示す要部ブロック図 図4に示すパケット分配器における割込パケット抜き取りの説明図 図4に示す割込パケット送出ブロックの機能ブロック図 割込指令による処理の説明図 通常時におけるデータ処理のフロー図 割込時におけるデータ処理のフロー図 割込による再起動処理の説明図
本発明に係る通信システム1の実施形態を図1〜図21を参照して説明する。
図1に示されるように、通信システム1は、複数(図示例では4つ)のノード2(2A、2B、2C、2D)と、これらのノード2をリング状に通信可能に接続するリング型のネットワーク3とにより構成されている。この通信システム1では、各ノード2が、演算処理部をなすCPU4と、ネットワーク3のリングに沿う一方向にデータDを送るように構成されたネットワークコントローラ5とを有している。つまり、複数のノード2が、リング状に通信可能に接続され且つリングの一方向に通信を行うリング型のネットワーク3を介して通信可能に接続されている。
なお、リング型のネットワーク3とは論理的な通信構成を意味し、物理的にリング型構成である必要はない。また、通信可能に接続されているとは、通信線を介して物理的に接続されるものの他、無線接続されるものも含む。
複数のノード2は、CPU4によるソフトウェアを用いた演算処理を行い、演算処理により出力されたデータDに基づいて、ハードウェアからなる対応する制御対象7(図4)をそれぞれ制御する制御装置である。ハードウェアとは、電源に電気的に接続された電気装置であり、例えば、電動機や電磁弁、照明器具、電気素子、及びそれらへの供給電力を制御するドライバ等を含む。例えば、通信システム1は、自律的に又は遠隔操作により動作するロボットに搭載され、ノード2がロボットの各部を制御する分散制御システムとして構成される。なおこの場合、電源はロボットに搭載されてもよく、ロボットに搭載されずに電源線を介してロボットに接続されてもよい。
ネットワーク3上を通信されるデータDには、通常制御に用いられるデータD(以下、通常データDnと称する)と、通常データDnに優先される割込データDiとの2種類がある。これらのデータD(通常データDn及び割込データDi)は、原則としてパケットP(以下、通常データDnを含むパケットPを通常パケットPnと称し、割込データDiを含むパケットPを割込パケットPiと称する)の単位で伝送される。例外的なパケットPについては後に詳述する。
図2に示されるように、通常データDnを含むパケットP、即ち通常パケットPnは、先頭から順にヘッダ、データ部(通常データDn)、トレーラ及びCRCを含むフレームにより構成される。ヘッダは、符号、パケット先頭(SODP)、中継数(HOP)及び自ノードID(SID)により構成される。トレーラは、パケット末尾(EODP)、空きバッファサイズ(FBC)、送信先ノードID(DID)及びパケット優先度(PRI)により構成される。データ部は、大きさ(バイト)に制限がなく、一連の指令に必要なデータDの全てを含む1塊として構成されてもよく、所定の大きさに制限され、一連の指令に必要なデータDが所定の大きさよりも大きい場合に複数に分割されたデータDのうちの1塊とされてもよい。CRCの位置は任意であり、例えば、トレーラとCRCとが逆の位置にあってもよい。或いは、CRCがなくてもよい。つまり、通常データDnに少なくともヘッダ及びトレーラが付加されることで通常パケットPnが構成されている。
一方、割込データDiを含むパケットP、即ち割込パケットPiは、図3に示されるように、ヘッダ、トレーラ及びCRCを含むフレームにより構成される。つまり、本実施形態の割込パケットPiは、図2に示されるデータ部を含んでいない。割込パケットPiのヘッダは、通常パケットPnと同様に、符号、パケット先頭(SOIP)、中継数(HOP)及び自ノードID(SID)により構成される。一方、割込パケットPiのトレーラは、パケット末尾(EOIP)、空きバッファサイズ(FBC)、送信先ノードID(DID)及び割込ピン番号(INT)により構成される。上記の通り割込パケットPiは通常パケットPnに優先されて伝送されるため、割込パケットPiのトレーラは、図2に示されるパケット優先度(PRI)を含んでおらず、その代わりに割込ピン番号(INT)を含んでいる。つまり、本実施形態では、割込ピン番号(INT)自体が割込データDiとなっており、割込データDiがトレーラに組み込まれることにより、割込データDiに少なくともヘッダ及びトレーラが付加された割込パケットPiが構成されている。割込データDiのパケットPにおいても、CRCの位置は任意であり、或いはCRCがなくてもよい。
他の実施形態では、割込ピン番号(INT)よりも多くの情報を含むデータDが割込データDiとして利用され、割込パケットPiが、通常パケットPnと同様の構成、即ち割込データDiの前にヘッドが付加され、割込データDiの後ろにトレーラやCRCが付加された構成とされてもよい。
図4に示されるように、各ノード2は、ハードウェアにより構成される上記のネットワークコントローラ5と、CPU4によるソフトウェアを用いた演算処理を行い、他のノード2に対して送信すべきデータD(以下、送信データDtと称する)や、データDに付加すべき符号や優先度等のデータ関連情報(以下、データ情報DIと称する)を生成する機能部である送信ソフトウェア部8と、少なくとも他のノード2から送信されたパケットPに含まれるデータDに基づいてCPU4によるソフトウェアを用いた演算処理を行い、制御対象7を制御する機能部である受信ソフトウェア部9とを有している。
送信ソフトウェア部8は、他のノード2に送信すべき送信データDtとして、通常制御に用いられる通常送信データDtnと、通常送信データDtnに優先される割込送信データDtiとの2種類の送信データDtを生成する。本明細書では、通常送信データDtn及び割込送信データDtiは、それぞれノード2が送信ソフトウェア部8で生成した未送信の通常データDn及び割込データDiを意味しており、ネットワーク3からノード2に入力する通常データDn及び割込データDiと区別するためにそれぞれの名称が付与されている。
また、送信ソフトウェア部8は、これらの送信データDt(通常送信データDtn及び割込送信データDti)に付加すべきヘッダやトレーラに含ませるデータ情報DIを生成する。送信データDtに少なくともヘッダ及びトレーラが付加されて構成されるパケットP(以下、送信パケットPtと称する)には、通常送信データDtnにヘッダやトレーラ等が付加された通常送信パケットPtnと、割込送信データDtiにヘッダやトレーラ等が付加された割込送信パケットPtiとの2種類がある。
各ノード2では、ネットワーク3の上流側から送信されたデータDを含むパケットPがネットワークコントローラ5に入力される。本明細書では、各ノード2に入力されるデータDやパケットPは、ノード2が送信ソフトウェア部8で生成した未送信の送信データDtや送信パケットPtと区別して、それぞれ入力データDe、入力パケットPeと称する。入力データDeにも、通常制御に用いられる通常入力データDenと、通常入力データDenに優先される割込入力データDeiとの2種類がある。同様に、入力パケットPeにも、通常入力データDenにヘッダやトレーラ等が付加された通常入力パケットPenと、割込入力データDeiにヘッダやトレーラ等が付加された割込入力パケットPeiとの2種類がある。
ネットワークコントローラ5は、入力データDeを含む入力パケットPeを後述する各部に分配するパケット分配器11を有している。パケット分配器11は、入力パケットPeのヘッダに含まれるパケット先頭がSODP(図2参照)である場合に、トレーラに含まれるパケット末尾がEODPであるトレーラ及びCRCまでを、原則的に1つの通常入力パケットPenと認識し、入力パケットPeのヘッダに含まれるパケット先頭がSOIP(図3参照)である場合に、トレーラに含まれるパケット末尾がEOIPであるトレーラ及びCRCまでを、原則的に1つの割込入力パケットPeiと認識する。例外については後述する。図4では、パケット分配器11により分配される通常入力データDenを含む通常入力パケットPenを太線で示し、パケット分配器11により分配される割込入力データDeiを含む割込入力パケットPeiを破線で示している。
パケット分配器11に入力したパケットPが原則的な通常入力パケットPenである場合、パケット分配器11は、通常入力パケットPenを通常パケット送出部12及び通常パケット受信部13のそれぞれに分配する。一方、パケット分配器11に入力したパケットPが原則的な割込入力パケットPeiである場合、パケット分配器11は割込入力パケットPeiを割込パケット送出部14及び割込パケット受信部15のそれぞれに分配する。入力したパケットPが例外的な通常入力パケットPen及び割込入力パケットPeiである場合のパケット分配器11の分配については、出力切替部23により出力される出力パケットPoの説明の後に詳細に説明する。
送信ソフトウェア部8は、生成した他のノード2に対する通常送信データDtnを送受信バッファ16に書き込むと共に、生成した通常送信データDtnのデータ情報DI(以下、送信データ情報DItと称する)を通常パケット送出部12(具体的には、後述する送信データ情報格納バッファ40(図6参照))に書き込む。また、送信ソフトウェア部8は、生成した他のノード2に対する割込送信データDti(割込ピン番号(INT))及びその送信データ情報DItを割込パケット送出部14(具体的には、後述する割込パケット送出ブロック20のソフトウェア書き込み用レジスタ71(図10参照))に書き込む。
通常パケット送出部12は、パケット分配器11から分配された通常入力パケットPenの送信先が自ノードでない場合に通常入力パケットPenをそのまま送出する通常パケット中継ブロック17と、送信ソフトウェア部8が生成した他のノード2に対する通常送信データDtnを通常送信パケットPtnの構成にして送出する通常パケット送出ブロック18とを有している。通常パケット送出ブロック18は、送信ソフトウェア部8が書き込んだ送信データ情報DItに対応する通常送信データDtnを送受信バッファ16から読み出し、通常送信データDtnにヘッダ、トレーラ及びCRCを付加して通常送信パケットPtnを生成する。また、通常パケット送出ブロック18は、パケット分配器11から分配された通常入力パケットPenに基づいて後述する送信完了判定を行う。
割込パケット送出部14は、パケット分配器11から分配された割込入力パケットPeiの送信先が自ノードでない場合に割込入力パケットPeiをそのまま送出する割込パケット中継ブロック19と、送信ソフトウェア部8が生成した他のノード2に対する割込送信データDtiを割込送信パケットPtiの構成にして送出する割込パケット送出ブロック20とを有している。割込パケット送出ブロック20は、割込送信データDtiにヘッダ、トレーラ及びCRCを付加して(正確には割込送信データDtiをトレーラに組み込んで)通常送信パケットPtnを生成する。
通常パケット受信部13は、パケット分配器11から分配された通常入力パケットPenの送信先が自ノードであり、通常入力パケットPenを受信すべき場合に、通常入力パケットPenを受信してこれに含まれる通常入力データDenを受信データDrとして送受信バッファ16に書き込むと共に、送受信バッファ16から受信データDrを読み出して受信ソフトウェア部9に提供する通常パケット受信ブロック21を有している。
割込パケット受信部15は、パケット分配器11から分配された割込入力パケットPeiの送信先が自ノードである割込パケットPiである場合に割込入力パケットPeiを受信し、これに含まれる割込データDi(割込ピン番号(INT)、図3参照)をハードウェア制御信号Scとしてハードウェアに送出する割込パケット受信ブロック22を有している。
通常パケット中継ブロック17から送出された通常入力パケットPen、通常パケット送出ブロック18から送出された通常送信パケットPtn、割込パケット中継ブロック19から送出された割込入力パケットPei、及び割込パケット送出ブロック20から送出された割込送信パケットPtiは、出力切替部23に入力される。
出力切替部23では、通常パケット切替ブロック24が、通常入力パケットPen及び通常送信パケットPtnのうち、入力タイミングが早い通常パケットPnを他のノード2に向けて出力すべき通常送出パケットとして出力する。具体的には、通常パケット切替ブロック24は、通常入力パケットPen及び通常送信パケットPtnの一方が入力した場合、入力した通常パケットPnを通常送出パケットとして出力し、通常入力パケットPen及び通常送信パケットPtnの両方が同時に入力した場合、通常パケットPnを優先的に(先に)通常送出パケットとして出力するように、出力する通常パケットPnを通常入力パケットPen及び通常送信パケットPtnの間で切り替える。
また、出力切替部23では、割込パケット切替ブロック25が、割込入力パケットPei及び割込送信パケットPtiのうち、入力タイミングが早い割込パケットPiを他のノード2に向けて出力すべき割込送出パケットとして出力すると共に、出力する割込パケットPiを割込入力パケットPei及び割込送信パケットPtiの間で切り替える。割込パケット切替ブロック25も、出力切替部23と同様に、通常入力パケットPen及び通常送信パケットPtnが同時に入力した場合には通常送信パケットPtnを優先的に出力する。
更に、出力切替部23では、出力切替ブロック26が、原則として、通常パケット切替ブロック24から出力される通常パケットPn、及び割込パケット切替ブロック25から出力される割込パケットPiのうち、一方のパケットPを出力パケットPoとして出力する。具体的には、出力切替ブロック26は、通常パケットPn及び割込パケットPiの一方が入力している場合、入力しているパケットPを出力パケットPoとして出力する。一方、通常パケットPn及び割込パケットPiの両方が入力している場合(通常パケットPnの出力が完了していない状態で割込パケットPiが入力した場合)、出力切替ブロック26は、例外として、出力中の通常パケットPnに割込パケットPiを埋め込んだものを出力パケットPoとして出力する。埋め込みの詳細については後述する。
なお、全てのノード2がこれらの機能部の全てを有している必要はない。例えば、1つのノード2が、送信ソフトウェア部8を有して割込送信データDtiを生成し、割込パケット送出ブロック20を有し、他のノード2は割込パケット送出ブロック20や割込パケット切替ブロック25を有しなくもよい。但し、全てのノード2は、少なくとも通常パケット送出部12、通常パケット中継ブロック17、通常パケット送出ブロック18、割込パケット中継ブロック19、割込パケット送出ブロック20、通常パケット受信ブロック21、割込パケット受信ブロック22及び受信ソフトウェア部9を備えている。
以下、ノード2の各部について詳細に説明する。
図5に示されるように、通常パケット中継ブロック17(図4参照)では、パケット判定部31が通常入力パケットPenの中継判定を行う。具体的には、パケット判定部31は、送信データ情報DItの自ノードID(SID)に基づいて、通常入力パケットPenが自ノードにより生成されたパケットPであるか否かを判定する。また、パケット判定部31は、中継数(HOP)に基づいて、中継異常があるか否か、具体的には中継数がネットワーク3上のノード数以上であるか否かを判定する。
パケット判定部31の判定結果に基づき、制御部32が通常入力パケットPenを中継し、又は破棄する。具体的には、通常入力パケットPenが自ノードにより生成されたパケットPである場合には、制御部32は、ネットワーク3のリングを1周回ったものとして通常入力パケットPenを破棄する。また、通常入力パケットPenの中継数がノード数以上である場合には、制御部32は、異常パケットであるものとして通常入力パケットPenを破棄してエラー表示データを付加する。なお、制御部32には、後述する通常パケット切替ブロック24の制御部62(図8参照)から出力待ち信号Swが入力するようになっている。
一方、通常入力パケットPenが正常であり中継すべき通常入力パケットPenであることがパケット判定部31により判定された場合には、制御部32は、通常入力パケットPenの中継数をインクリメントし、データセレクタ33に対するデータ選択制御を行う。また、制御部32は、出力待ち信号Swに応じ、データ保持部34に対するデータ入出力制御を行う。データセレクタ33は、制御部32の指令に従って、アイドルデータ、上記エラー表示データ及び通常入力パケットPen(通常入力パケットPen)の中から1つを選択し、データ保持部34に通常入力パケットPenを書き込む。出力待ち信号Swが制御部32に入力しておらず、制御部32がデータ出力の指令を出すと、データ保持部34は保持している通常入力パケットPenを送出する。
通常パケット中継ブロック17の制御部32は、上記所定の動作を行うようにプログラミングされたハードウェアにより構成される。制御部32を構成するハードウェアとしては、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)や、PLD(Programmable Logic Device:プログラマブルロジックデバイス)、ASSP(Application Specific Standard Produce)等のハードウェア論理回路を利用することができる。ASICを利用する場合は、ゲートアレイ、ストラクチャードASIC等のマスタ・スライス型であってよく、セルベースASIC等のカスタム型であってもよい。また、PLDを利用する場合は、Simple PLD及びCPLD(Complex PLD)を含む狭義のPLDであってよく、FPGA(Field-Programmable Gate Array)を更に含む広義のPLDであってもよい。ハードウェアは、好ましくはPLD(プログラマブルロジックデバイス)である。後述するネットワークコントローラ5の各部(各ブロック)の制御部42、52、62、73、82も、同様にハードウェアにより構成される。
図6に示されるように、通常パケット送出ブロック18(図4参照)には、パケット分配器11から分配された通常入力パケットPenが入力している。送信完了判定部41は通常入力パケットPenに基づいて送信完了判定を行う。具体的には、送信完了判定部41は、自ノードが生成した通常送信パケットPtnがネットワーク3のリングを1周回って通常入力パケットPenとして帰ってきたことをもって当該通常送信パケットPtnの送信完了を判定する。送信完了判定部41による判定結果は、制御部42に送られる。
送信データ情報格納バッファ40には、送信ソフトウェア部8により1塊として生成された通常送信パケットPtnの送信データ情報DItが書き込まれている。各通常送信パケットPtnには、上記の通り送信ソフトウェア部8により優先度(例えば、最優先、優先度高、優先度中、優先度低等)が与えられている。通常パケット送出ブロック18では、制御部42が、送信データ情報格納バッファ40に優先度ごとのキューとして格納された送信データ情報DItを優先度の高いものから順に取り出し、取り出した送信データ情報DItに対応する通常送信データDtnを送受信バッファ16から読み出してパケット生成指令Cpを生成してパケット生成部43に送出する。この際、制御部42は、先に送出した通常送信パケットPtnが送信完了判定部41により送信完了と判定されるまで、次に送出すべき通常送信データDtnを送受信バッファ16から取得しないように制御する。また、制御部42は、後述するデータセレクタ44に対するデータ選択制御を行う。
パケット生成部43は、制御部42からのパケット生成指令Cpに応じ、送受信バッファ16から通常送信データDtnを読み出し、送信データ情報DItを埋め込んだヘッダ、トレーラ及びCRCを通常送信データDtnに付加して通常送信パケットPtnを生成する。この際、パケット生成部43は送受信バッファ16から空きバッファサイズ(FBC)等の関連情報を読み込み、通常送信パケットPtnに埋め込む。パケット生成部43により生成された通常送信パケットPtnは、データ保持部45に一旦保持され、上記通常パケット切替ブロック24の制御部62(図8参照)からの出力待ち信号Swが入力していなければ、データセレクタ44に向けて送出される。データセレクタ44は、制御部42の指令に従って、アイドルデータ及び通常送信データDtnのいずれか1つを選択し、通常送信データDtnとして送出する。
図7に示されるように、通常パケット受信ブロック21(図4参照)では、受信判定部51が、入力された通常入力パケットPenを解析し、受信するか否かの受信判定を行う。具体的には、受信判定部51は、通常入力パケットPenの送信先ノードID(DID)が自ノードである場合に受信することを判定し、送信先ノードIDが自ノードでない場合に受信しないことを判定する。
通常パケット受信ブロック21では、制御部52が、送受信バッファ16の書き込み可能な空きバッファを送受信バッファ16から取得する。制御部52は、受信判定部51から受信すべき判定結果を得た場合には、通常入力パケットPenに含まれる通常入力データDenを書き込むべき書き込み先を空きバッファの中から指定したバッファ書き込み先指令Cdをデータ書き込み部53に対して送出する。データ書き込み部53は、受信判定部51からの受信判定及び制御部52からのバッファ書き込み先指令Cdを受けると、入力された通常入力データDenを受信データDrとして送受信バッファ16の指定された位置に書き込む。
また、制御部52は、受信データDr(入力された通常入力データDen)に関する情報(以下、受信データ情報DIrと称する)にバッファ書き込み先を付加すると共に受信データ情報DIrに基づいて優先度を確認し、受信データ情報DIrを優先度ごとのキューとして受信データ情報格納バッファ50に書き込む。受信データ情報格納バッファ50に書き込まれた受信データ情報DIrは、優先度の高いものから順に受信ソフトウェア部9により取り出される。
受信ソフトウェア部9は、取り出した受信データ情報DIrに対応する受信データDrを送受信バッファ16から読み出し、少なくとも読み出した受信データDrに基づいて制御対象7(図4)のハードウェアを制御する。受信ソフトウェア部9は、例えばロボットの関節駆動用の電動機に対する供給電力を調整するモータドライバを制御する。
図8に示されるように、通常パケット切替ブロック24(図4参照)には、通常パケット中継ブロック17(図5)のデータ保持部34から送出された通常入力パケットPenと、通常パケット送出ブロック18(図6)のデータセレクタ44から送出された通常送信パケットPtnとが入力している。通常パケット切替ブロック24は、通常入力パケットPen及び通常送信パケットPtnが入力するデータセレクタ61と、入力した通常入力パケットPen及び通常送信パケットPtnに基づいてデータセレクタ61に対するデータ選択制御を行うと共に、通常パケット中継ブロック17(図5)及び通常パケット送出ブロック18(図6)に対する出力待ち信号Swを出力する制御部62とを有している。
データセレクタ61は、制御部62の指令に従って、通常入力パケットPen及び通常送信パケットPtnのいずれか1つを選択し、選択した通常パケットPnを通常送出パケットとして出力する。制御部62は、通常送信パケットPtnを通常入力パケットPenよりも優先させてデータセレクタ61が出力するように指令を出す。また、制御部62は、一方の入力パケットPeの出力中には他方の入力パケットPeの入力と衝突しないように、1パケットの出力が完了するまで、通常パケット中継ブロック17及び通常パケット送出ブロック18に対して出力待ち信号Swを出力する。
図9を参照して、通常パケット中継ブロック17、通常パケット送出ブロック18及び通常パケット切替ブロック24における動作の具体例について説明する。図9の例では、通常パケット中継ブロック17には、他のノード2から送信された中継すべき通常入力パケットPenのパケットB0、B1、B2がこの順に入力している。一方、通常パケット送出ブロック18には、送信ソフトウェア部8からの通常送信パケットPtn(実際には、送信ソフトウェア部8からの送信データ情報DItが入力し、これに従って通常パケット送出ブロック18が通常送信パケットPtnを生成するが、ここでは、模式的に通常送信パケットPtnが入力するように示している)のパケットC0、C1、C2がこの順に、且つパケットC0がパケットB1と同時となるタイミングで入力している。
このような場合、通常パケット切替ブロック24は、最初に入力した通常入力パケットPenのパケットB0を出力した後、通常入力パケットPenのパケットB(B1、B2)の出力を行わずに通常送信パケットPtnのパケットC(C0、C1、C2)を優先的に出力する。そして、通常送信パケットPtnのパケットCの出力が完了した後に、通常パケット切替ブロック24は通常入力パケットPenのパケットB1、B2を出力する。通常パケット切替ブロック24がこのようなデータ出力の切り替えを行うことにより、パケットPの衝突が防止される。
詳細な図示は省略するが、割込パケット中継ブロック19(図4参照)は、通常パケット中継ブロック17(図4、図5)と同様の機能を有している。具体的には、割込パケット中継ブロック19では、パケット判定部が自ノードID(SID)及び中継数(HOP)に基づいて、割込入力パケットPeiの中継判定を行う。パケット判定部の判定結果に基づき、制御部が割込入力パケットPeiを中継し、又は破棄する。各機能部の具体的機能は通常パケット中継ブロック17の説明と重複するためここでは一部割愛するが、割込パケット中継ブロック19では、割込入力パケットPeiが正常であり中継すべき割込入力パケットPeiであることがパケット判定部により判定された場合には、制御部が、割込入力パケットPeiの中継数をインクリメントし、割込入力パケットPeiを送出する。
図10に示されるように、割込パケット送出ブロック20(図4参照)には、送信ソフトウェア部8により生成された割込送信データDti及びその送信データ情報DItが入力している。また、割込パケット送出ブロック20には、タイマ等のハードウェア70から送出される割込送信データDti及びその送信データ情報DItも入力している。送信ソフトウェア部8から入力する割込送信データDti及び送信データ情報DItは、ソフトウェア書き込み用レジスタ71に書き込まれる。一方、ハードウェア70から入力する割込送信データDti及び送信データ情報DItは、ハードウェア書き込み用レジスタ72に書き込まれる。
割込パケット送出ブロック20では、制御部73が、ソフトウェア書き込み用レジスタ71及びハードウェア書き込み用レジスタ72に書き込まれた割込送信データDti及び送信データ情報DItを割込要求として受け取り、割込要求を受けるとパケット生成部74に対してパケット生成指令Cpを送出する。この際、制御部73は、ソフトウェア書き込み用レジスタ71からの割込要求よりも、ハードウェア書き込み用レジスタ72からの割込要求を優先して受け付ける。また、制御部73は、後述するデータセレクタ75に対するデータ選択制御を行う。
パケット生成部74は、パケット生成指令Cpを受けると、パケット生成指令Cpに対応するソフトウェア書き込み用レジスタ71又はハードウェア書き込み用レジスタ72から割込送信データDti及び送信データ情報DItを読み出し、読み出した送信データ情報DItを埋め込んだヘッダ、トレーラ及びCRCを割込送信データDtiに付加して割込送信パケットPtiを生成する。パケット生成部74は、生成した割込送信パケットPtiをデータセレクタ75に送出する。データセレクタ75は、制御部73の指令に従って、アイドルデータ及び割込送信パケットPtiのいずれか1つを選択し、割込送信パケットPtiとして送出する。なお、割込パケット送出ブロック20には、通常パケット中継ブロック17(図5)や通常パケット送出ブロック18(図6)に入力するような出力待ち信号Swは入力しない。
詳細な図示は省略するが、図4に示される割込パケット切替ブロック25は、割込パケット中継ブロック19から送出される割込入力パケットPeiと、割込パケット送出ブロック20から送出される割込送信パケットPtiとに対し、通常パケット切替ブロック24(図4、図8)と同様の出力切替機能を有している。具体的には、割込パケット切替ブロック25は、割込入力パケットPei及び割込送信パケットPtiが入力するデータセレクタと、入力した割込入力パケットPei及び割込送信パケットPtiに基づいてデータセレクタに対するデータ選択制御を行う制御部とを有している。データセレクタは、制御部の指令に従って、割込入力パケットPei及び割込送信パケットPtiのいずれか1つを選択し、割込送信パケットPtiとして出力する。制御部は、割込送信パケットPtiを割込入力パケットPeiよりも優先させてデータセレクタが出力するように指令を出す。
図4に示される出力切替ブロック26は、通常パケット切替ブロック24(図4、図8)から送出される通常パケットPnと、割込パケット切替ブロック25(図4)から送出される割込パケットPiとに対し、通常パケット切替ブロック24や割込パケット切替ブロック25と同様の出力切替機能に加え、割込パケットPiを通常パケットPnに埋め込んで即座に出力する機能を有している。具体的には、出力切替ブロック26は、通常パケットPn及び割込パケットPiが入力するデータセレクタと、入力した通常パケットPn及び割込パケットPiに基づいてデータセレクタに対するデータ選択制御を行う制御部とを有している。
制御部は、割込パケットPiを通常パケットPnよりも優先させてデータセレクタが出力するように指令を出す。例えば、割込パケットPiを出力パケットPoとして出力している最中に、通常パケットPnと次の割込パケットPiとが入力している(出力待ちとなっている)場合、制御部は、出力中の割込パケットPiの出力完了後、次の割込パケットPiを先に出力するようデータセレクタに指令を出す。割込パケットPiを出力パケットPoとして出力している最中に、通常パケットPnのみが入力している場合、制御部は、出力中の割込パケットPiの出力完了後、通常パケットPnを出力するようデータセレクタに指令を出す。一方、通常パケットPnを出力パケットPoとして出力している最中に、割込パケットPiが入力した場合、制御部は、出力中の通常パケットPnに割込パケットPiを埋め込んで1つの出力パケットPoとして出力するようデータセレクタに指令を出す。
即ち、図4の要部を簡略化して示す図11に示されるように、通常パケット送出部12から、図示省略した通常パケット切替ブロック24(図4参照)を介して送出された通常パケットPn(通常入力パケットPen又は通常送信パケットPtn)を出力パケットPoとして出力している最中に、割込パケット送出部14から、図示省略した割込パケット切替ブロック25(図4参照)を介して送出された割込パケットPi(割込入力パケットPei又は割込送信パケットPti)が入力されると、制御部は、図2に示される通常パケットPnのヘッドとトレーラとの間、即ちヘッダの直後、データ部(通常データDn)を分断する位置、又はデータ部の直後(トレーラの直前)に、図3に示される割込パケットPiをそのままのかたちで埋め込むよう指令を出す。これにより、通常パケットPnの通常データDnが大きく、その出力に時間がかかる場合であっても、割込パケットPiが即座に出力されることになる。
このように通常パケットPnに割込パケットPiが埋め込まれる形態は4つある。
第1の形態は、図4の要部を簡略化して示す図12に示されるように、出力切替ブロック26が、通常パケット送出部12の通常パケット中継ブロック17から送出された通常入力パケットPenを出力している最中に、割込パケット送出部14の割込パケット送出ブロック20から送出された割込送信パケットPtiが入力された場合である。この場合には、通常入力パケットPenの通常入力データDenが大きく、その出力に時間がかかる場合であっても、割込送信パケットPtiが即座に出力される。
第2の形態は、図4の要部を簡略化して示す図13に示されるように、出力切替ブロック26が、通常パケット送出部12の通常パケット送出ブロック18から送出された通常送信パケットPtnを出力している最中に、割込パケット送出部14の割込パケット中継ブロック19から送出された割込入力パケットPeiが入力された場合である。この場合には、通常送信パケットPtnの通常送信データDtnが大きく、その出力に時間がかかる場合であっても、割込入力パケットPeiが即座に出力される。これにより、レイテンシが小さくなる。
第3の形態は、図4の要部を簡略化して示す図14に示されるように、出力切替ブロック26が、通常パケット送出部12の通常パケット中継ブロック17から送出された通常入力パケットPenを出力している最中に、割込パケット送出部14の割込パケット中継ブロック19から送出された割込入力パケットPeiが入力された場合である。この形態は、入力パケットPe自体は原則としてパケットP単位で順番にネットワークコントローラ5に入力するが、通常パケット切替ブロック24(図4、図8)が、通常入力パケットPenを優先度(PRI)の順に出力し、通常入力パケットPenの出力が遅れる場合があることから生じ得る。この場合には、通常入力パケットPenよりも後にネットワークコントローラ5に入力した割込入力パケットPeiが、先に入力した通常入力パケットPenを追い越して、或いは先に入力して送信中である通常入力パケットPenに割り込んで即座に出力される。これにより、レイテンシが小さくなる。
第4の形態は、図4の要部を簡略化して示す図15に示されるように、出力切替ブロック26が、通常パケット送出部12の通常パケット送出ブロック18から送出された通常送信パケットPtnを出力している最中に、割込パケット送出部14の割込パケット送出ブロック20から送出された割込送信パケットPtiが入力された場合である。この形態は、送信パケットPt自体はパケットP単位で順番に送信ソフトウェア部8により生成されるが、通常パケット切替ブロック24(図4、図8)が、通常送信パケットPtnを優先度(PRI)の順に出力し、通常送信パケットPtnの出力が遅れる場合があることから生じ得る。この場合には、通常送信データDtnよりも後に送信ソフトウェア部8により生成された割込送信データDtiが、先に生成された通常送信データDtnを追い越して、或いは先に生成された通常送信データDtnに割り込んで即座に出力される。
次に、他のノード2が通常パケットPnに割込パケットPiを埋め込んだかたちで出力した例外的な出力パケットPoが、1つの入力パケットPeとしてネットワーク3の上流側からネットワークコントローラ5に入力された場合の処理について説明する。割込パケットPiは、そのままのかたちで通常パケットPnに埋め込まれている。そのため、パケット分配器11には、通常入力パケットPenのパケット先頭(SODP)を含むヘッダの後、且つパケット末尾(EODP)を含むトレーラの前に、パケット先頭(SOIP)を含む2つ目のヘッダが現れ、続けてパケット末尾(EOIP)を含むレーラが現れた後に、パケット末尾(EODP)を含むトレーラが現れることになる。これにより、パケット分配器11は通常入力データDenと割込入力パケットPeiとの境界を認識し、通常パケットPnから割込パケットPiを抜き出すことができる。
図4の要部を概念的に示す図16に示されるように、パケット分配器11は、このような例外的な入力パケットPeが入力されると、入力パケットPeから割込入力パケットPeiを抜き出し、割込入力パケットPeiを抜き出した入力パケットPeを通常入力パケットPenとして通常パケット処理部76(図4の通常パケット受信部13及び通常パケット中継ブロック17)に分配すると共に、抜き出した割込入力パケットPeiを割込パケット処理部77(図4の割込パケット受信部15及び割込パケット中継ブロック19)に分配する。通常入力パケットPenの割込入力パケットPeiが抜き取られた部分は、スキップ(空白部)とされ、通常入力パケットPenを受け取った通常パケット処理部76は、スキップの前後のデータDを繋げて通常の通常入力パケットPenとして処理する。
パケット分配器11がこのような処理を行うことにより、他のノード2から即座に出力された割込パケットPiが、ノード2に即座に伝送され、適切に中継送出処理又は受信処理される。
図17に示されるように、割込パケット受信部15(図4参照)では、受信判定部81が、入力された割込入力パケットPeiの受信データ情報DIrを解析し、受信するか否かの受信判定を行う。具体的には、受信判定部81は、割込入力パケットPeiの送信先ノードID(DID)が自ノードである場合に受信することを判定し、送信先ノードIDが自ノードでない場合及びエラーデータである場合に受信しないことを判定する。
割込パケット受信部15では制御部82が、受信判定部81から受信すべき判定結果を得た場合に、入力された割込入力パケットPeiを受け取り、受け取った割込入力パケットPeiを解析して、ハードウェア制御信号Scとして対応するハードウェアに向けて出力する。即ち、ハードウェア制御信号Scは、受信ソフトウェア部9の制御対象7(図4)であるハードウェア(例えばロボットの関節駆動用の電動機に対する供給電力を調整するモータドライバ)に対するものであってもよく、その他のハードウェアに対するものであってもよい。
ハードウェア制御信号Scにより制御されるハードウェアは、ASIC(特定用途向け集積回路)や、PLD(プログラマブルロジックデバイス)、ASSP、IC(リセットIC等)等のハードウェア論理回路である。好ましくは、ハードウェアは、ASICやPLD等のカスタム設計されるハードウェア論理回路である。ハードウェアがASICである場合は、ゲートアレイ、ストラクチャードASIC等のマスタ・スライス型であってよく、セルベースASIC等のカスタム型であってもよい。また、ハードウェアがPLDである場合は、Simple PLD及びCPLDを含む狭義のPLDであってよく、FPGAを更に含む広義のPLDであってもよい。より好ましくは、ハードウェアはPLD(プログラマブルロジックデバイス)である。
以下、ハードウェア制御信号Scの種類やその内容、それによる動作について説明する。
まず、割込パケット受信部15が出力するハードウェア制御信号Scが、受信ソフトウェア部9の制御対象7であるハードウェアに対するものである場合について説明する。
図18に示されるように、ここでは、n個のノード2(ネットワーク3のリングのデータ送信方向に順に第1、第2、・・・第nとする)により通信システム1が構成されている。第1のノード2は、第nのノード2を送信先とする割込送信データDtiを生成し、生成した割込送信データDtiを含む割込送信パケットPtiを出力パケットPoとしてネットワーク3のリングの下流側に送信する。ネットワーク3上を伝送される割込パケットPiは、第2のノード2、第3のノード2、・・・に中継されて第nのノード2に送達される。
第nのノード2では、割込パケット受信部15により割込パケットPi(割込送信データDti)が割込入力パケットPeiとして受信される。受信された割込入力パケットPeiは、割込入力データDeiの割込ピン番号(INT)に対応するハードウェア(制御対象7への割込ピン)に向けてハードウェア制御信号Scとして出力される。ハードウェア制御信号Scが入力されたハードウェア(論理回路)は、ハードウェア制御信号Scに基づいて直接制御される。
次に、ハードウェアが受信ソフトウェア部9により制御される場合と、ハードウェア制御信号Scにより直接制御される場合との処理の違いについて説明する。図19は、ハードウェアが受信ソフトウェア部9により制御される通常時のフロー図であり、図20は、ハードウェアがハードウェア制御信号Scにより直接制御される割込時のフロー図である。
図19に示されるように、ハードウェアが受信ソフトウェア部9により制御される通常時には、第nのノード2は、まず入力するパケットPを通常入力パケットPenとして通常パケット受信ブロック21(図4、図7)で受信する(ステップST1)。次いで、第nのノード2は、受信した通常入力パケットPenが含む通常入力データDenを送受信バッファ16に書き込む(ステップST2)。その後、第nのノード2は、受信データ情報格納バッファ50(図7)に格納された受信データ情報DIrの優先度に応じた割込を行う(ステップST3)。ここまでの処理はハードウェアのみによって行われる。
続いて、第nのノード2は、受信ソフトウェア部9(図4、図7)により送受信バッファ16から通常入力データDenを読み出す(ステップST4)。その後、第nのノード2は、受信ソフトウェア部9において通常入力データDenを解析・演算処理する(ステップST5)。そして最後に、第nのノード2は、解析・演算処理したデータDに基づいてハードウェアを制御する(ステップST6)。ステップST4〜ステップST6の処理は、CPU4によるソフトウェアを用いた演算処理によって行われる。
一方、図20に示されるように、ハードウェアがハードウェア制御信号Scにより直接制御される割込時には、第nのノード2は、まず割込入力パケットPeiを割込パケット受信ブロック22(図4)の受信判定部81(図17)で受信する(ステップST11)。次に、第nのノード2は、受信した割込入力パケットPeiを制御部82(図17)で解析する(ステップST12)。その後、第nのノード2は、制御部82において、割込入力パケットPeiが含んでいる割込入力データDei(割込ピン番号(INT))をハードウェア制御信号Scとして出力して対応するハードウェアを、ソフトウェアを介さずに直接制御する。即ち、これらステップST11〜ステップST13の全ての処理はハードウェアのみによって行われる。
このように第1のノード2が第nのノード2に対して割込送信パケットPtiを送信し、第nのノード2が受信した割込入力パケットPeiに基づいて、ソフトウェア(受信ソフトウェア部9)を介在させずにハードウェアを直接制御することにより、小さいレイテンシでハードウェアが制御される。また、第nのノード2の送信ソフトウェア部8や受信ソフトウェア部9が暴走し又はCPU4がハングアップしていたとしても、ソフトウェアを介在させないため、割込パケットPiによりハードウェアを制御することが可能である。
また、第1のノード2が複数のノード2に対して割込送信データDtiを生成し、生成した割込送信データDtiを含む割込送信パケットPtiを出力パケットPoとしてネットワーク3のリングの下流側に略同時に順次送信してもよい。そうすると、割込送信パケットPtiの送信先とされた複数(2つ以上であればよい)のノード2のハードウェアが割込送信データDtiに基づいて制御されることにより、これらのノード2の制御対象7の動作を同期させることができる。
次に、割込パケット受信部15が出力するハードウェア制御信号Scが、受信ソフトウェア部9の制御対象7以外のハードウェアに対するものである場合について説明する。
図21に示されるように、ここでは第1のノード2が、ハングアップ状態の第nのノード2を送信先として、CPU4のリセットを行うハードウェア(リセット回路)に対する割込送信パケットPtiを生成し、出力パケットPoとして送信している。
第nのノード2では、ネットワーク3上を伝送される割込パケットPiが割込パケット受信部15により割込入力パケットPeiとして受信される。受信された割込入力パケットPeiは、割込入力データDeiの割込ピン番号(INT)に対応するハードウェアであるリセット回路の割込ピンに向けてハードウェア制御信号Scとして出力される。ハードウェア制御信号Scが入力されたハードウェア(リセット回路)は、ハードウェア制御信号Scに基づいて直接制御され、ハングアップ状態のCPU4に対してリセット信号を出力する(即ち、ソフトウェアを再起動(リブート)させる)。
このように、上記のような受信ソフトウェア部9の制御対象7に対する直接制御とは別に、第1のノード2が第nのノード2に向けてハードウェア(リセット回路)に対する割込パケットPiを送信することで、ハングアップ状態の第nのノード2のCPU4にリセットをかけることができる。これにより、第nのノード2の送信ソフトウェア部8や受信ソフトウェア部9を正常状態に戻すことができる。
一方、リセット回路に対するハードウェア制御信号Scが送られてCPU4に対してリセット信号が出力された場合であっても、CPU4が正常に再起動しない場合があり、送信ソフトウェア部8が暴走して不要なパケットP(パケットPの大きさが制限されていない場合には、パケットPに含まれるデータD)を送り続けることがある。そして、本実施形態のようにネットワーク3がリング型である場合には、このような事象が生じると、不要なパケットPの送信か完了するまで、割込パケットPiも中継(送信)されなくなる。本実施形態では、割込パケットPiが通常パケットPnに埋め込まれて出力されるため、暴走したノード2があっても、割込パケットPiが即座に中継される。
以上で具体的実施形態の説明を終えるが、本発明は上記実施形態に限定されることなく幅広く変形実施することができる。例えば、ネットワーク3は、リング型やスター型、バス型に限らず、メッシュ型であってもよい。この場合にも、各ノード2は中継機能を有する必要はないため、バイパス処理を行う必要はない。この他、各部材や部位の具体的構成や配置、数量、処理手順など、本発明の趣旨を逸脱しない範囲であれば適宜変更可能である。一方、上記実施形態に示した各構成要素は必ずしも全てが必須ではなく、適宜選択することができる。
1 通信システム
2 ノード
3 ネットワーク
4 CPU
5 ネットワークコントローラ
7 制御対象(ハードウェア)
8 送信ソフトウェア部
9 受信ソフトウェア部
11 パケット分配器
13 通常パケット受信部(パケット受信部)
15 割込パケット受信部(パケット受信部)
17 通常パケット中継ブロック(パケット中継部)
18 通常パケット送出ブロック(パケット送出部)
19 割込パケット中継ブロック(パケット中継部)
20 割込パケット送出ブロック(パケット送出部)
23 出力切替部
70 ハードウェア
D データ
Dn 通常データ
Di 割込データ
Dt 送信データ
De 入力データ
Dtn 通常送信データ
Dti 割込送信データ
Den 通常入力データ
Dei 割込入力データ
Dr 受信データ
P パケット
Pn 通常パケット
Pi 割込パケット
Pt 送信パケット
Pe 入力パケット
Ptn 通常送信パケット
Pti 割込送信パケット
Pen 通常入力パケット
Pei 割込入力パケット
Po 出力パケット

Claims (6)

  1. 複数のノードがリング型のネットワークを介して通信可能に接続された通信システムであって、
    少なくとも2つ以上の前記ノードが、
    ソフトウェアを用いた演算処理を行い、他のノードに対して送信すべき通常送信データ及び割込送信データを含む送信データを生成する送信ソフトウェア部と、
    前記送信ソフトウェア部が生成した前記送信データに少なくともヘッダ及びトレーラを付加してなる通常送信パケット及び割込送信パケットを含む送信パケットを、他のノードへ送出するパケット送出部と、
    他のノードから送信された通常入力パケット及び割込入力パケットを含む入力パケットを分配するパケット分配部と、
    他のノードから送信された、送信先が自ノード以外である前記入力パケットを、中継すべく送出するパケット中継部と、
    前記割込送信パケット及び前記割込入力パケットを含む割込パケット、及び、前記通常送信パケット及び前記通常入力パケットを含む通常パケットを、前記割込パケットが前記通常パケットに優先されるように出力パケットとして出力する出力切替部とを備え、
    前記出力切替部は、前記通常パケットを送信している最中に前記割込パケットを受け取った場合、受け取った前記割込パケットを送信中の前記通常パケットの前記ヘッダと前記トレーラとの間に割り込ませて送信し、
    前記パケット分配部は、他のノードから送信された前記通常入力パケットの中に前記割込入力パケットが割り込んでいる場合、当該割込入力パケットを抜き出して分配することを特徴とするリング型ネットワークを用いた通信システム。
  2. 前記出力切替部は、他のノードから送信され、前記パケット中継部から受け取った前記通常入力パケットを送信している最中に、前記送信ソフトウェア部が生成した前記割込送信パケットを受け取った場合、受け取った前記割込送信パケットを送信中の前記通常入力パケットの前記ヘッダと前記トレーラとの間に割り込ませて送信することを特徴とする請求項1に記載のリング型ネットワークを用いた通信システム。
  3. 前記出力切替部は、前記送信ソフトウェア部が生成した前記通常送信パケットを送信している最中に、他のノードから送信された前記割込入力パケットを前記パケット中継部から受け取った場合、受け取った前記割込入力パケットを送信中の前記通常送信パケットの前記ヘッダと前記トレーラとの間に割り込ませて送信することを特徴とする請求項1又は請求項2に記載のリング型ネットワークを用いた通信システム。
  4. 前記出力切替部は、他のノードから送信され、前記パケット中継部から受け取った前記通常入力パケットを送信している最中に、他のノードから送信された前記割込入力パケットを前記パケット中継部から受け取った場合、受け取った前記割込入力パケットを送信中の前記通常入力パケットの前記ヘッダと前記トレーラとの間に割り込ませて送信することを特徴とする請求項1〜請求項3のいずれかに記載のリング型ネットワークを用いた通信システム。
  5. 前記出力切替部は、前記送信ソフトウェア部が生成した前記通常送信パケットを送信している最中に、前記送信ソフトウェア部が生成した前記割込送信パケットを受け取った場合、受け取った前記割込送信パケットを送信中の前記通常送信パケット(Ptn)の前記ヘッダと前記トレーラとの間に割り込ませて送信することを特徴とする請求項1〜請求項4のいずれかに記載のリング型ネットワークを用いた通信システム。
  6. 少なくとも2つ以上の前記ノードが、
    他のノードから送信された、送信先が自ノードである前記入力パケットを受信するパケット受信部と、
    前記パケット受信部が受信した前記通常入力パケットに基づいてソフトウェアを用いた演算処理を行い、制御対象を制御する受信ソフトウェア部と、
    前記パケット受信部が受信した前記割込入力パケットに基づいて、前記受信ソフトウェア部を介さずに直接制御されるハードウェアと
    を備えることを特徴とする請求項1〜請求項5のいずれかに記載のリング型ネットワークを用いた通信システム。
JP2016056253A 2016-03-18 2016-03-18 リング型ネットワークを用いた通信システム Active JP6291516B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016056253A JP6291516B2 (ja) 2016-03-18 2016-03-18 リング型ネットワークを用いた通信システム
US15/460,288 US10250407B2 (en) 2016-03-18 2017-03-16 Communication system using ring network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016056253A JP6291516B2 (ja) 2016-03-18 2016-03-18 リング型ネットワークを用いた通信システム

Publications (2)

Publication Number Publication Date
JP2017175231A true JP2017175231A (ja) 2017-09-28
JP6291516B2 JP6291516B2 (ja) 2018-03-14

Family

ID=59847230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016056253A Active JP6291516B2 (ja) 2016-03-18 2016-03-18 リング型ネットワークを用いた通信システム

Country Status (2)

Country Link
US (1) US10250407B2 (ja)
JP (1) JP6291516B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817359B2 (en) 2018-01-18 2020-10-27 Honda Motor Co., Ltd. Ring network and robot including the same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6564006B2 (ja) 2017-12-19 2019-08-21 本田技研工業株式会社 複数のリングネットワークを備えた通信システム及びロボット
JP2023128185A (ja) * 2022-03-03 2023-09-14 本田技研工業株式会社 リングネットワーク通信システム

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6120454A (ja) * 1984-07-06 1986-01-29 Nec Corp フレ−ム信号伝送装置
JPS62114356A (ja) * 1985-11-13 1987-05-26 Nippon Telegr & Teleph Corp <Ntt> 分割割込みパケツト転送方式
JPS63226151A (ja) * 1986-10-15 1988-09-20 Fujitsu Ltd 多重パケット通信システム
JPH06112975A (ja) * 1992-08-07 1994-04-22 Internatl Business Mach Corp <Ibm> パケット切替式通信システム及び方法
JPH08510888A (ja) * 1993-10-26 1996-11-12 ノーザン・テレコム・リミテッド 混合クラスのパケットを効率的に転送するためのディジタル通信リンク
US20020087716A1 (en) * 2000-07-25 2002-07-04 Shakeel Mustafa System and method for transmitting customized multi priority services on a single or multiple links over data link layer frames
JP2002217971A (ja) * 2001-01-18 2002-08-02 Fujitsu Ltd パケット伝送装置及びパケット伝送方法
JP2003069603A (ja) * 2001-08-27 2003-03-07 Fujikura Ltd パケット通信制御装置
US6856628B1 (en) * 2000-10-26 2005-02-15 Motorola, Inc. Method and apparatus for tunneling packets in a packet data system
JP2005159792A (ja) * 2003-11-27 2005-06-16 Yokogawa Electric Corp 通信システム及び通信方法
US20080019395A1 (en) * 2006-07-19 2008-01-24 Prakasha Aithal Expedited communication traffic handling apparatus and methods
JP2011114625A (ja) * 2009-11-27 2011-06-09 Panasonic Corp 通信システムおよび通信装置
WO2013125027A1 (ja) * 2012-02-24 2013-08-29 三菱電機株式会社 通信装置及び通信方法及びプログラム
JP2016005023A (ja) * 2014-06-13 2016-01-12 富士通株式会社 パケット送信装置及びパケット受信装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3251537B2 (ja) * 1997-06-16 2002-01-28 矢崎総業株式会社 通信方法、及び通信システム
US20030133448A1 (en) * 1998-04-03 2003-07-17 Craig R. Frink Packet protocol for encoding and decoding video data and data flow signals and devices for implementing the packet protocol
JP2000134213A (ja) 1998-10-22 2000-05-12 Sony Corp 通信装置、通信方法、および提供媒体
JP3386035B2 (ja) 2000-05-16 2003-03-10 日本電気株式会社 トークンパッシングによるフロー制御方式及びその方法
JP3925079B2 (ja) 2000-11-30 2007-06-06 富士通株式会社 リニア又はリングネットワークにおける伝送方法及び装置
JP5104773B2 (ja) * 2009-02-13 2012-12-19 富士通株式会社 データ転送システム、データ転送装置およびデータ転送方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6120454A (ja) * 1984-07-06 1986-01-29 Nec Corp フレ−ム信号伝送装置
JPS62114356A (ja) * 1985-11-13 1987-05-26 Nippon Telegr & Teleph Corp <Ntt> 分割割込みパケツト転送方式
JPS63226151A (ja) * 1986-10-15 1988-09-20 Fujitsu Ltd 多重パケット通信システム
JPH06112975A (ja) * 1992-08-07 1994-04-22 Internatl Business Mach Corp <Ibm> パケット切替式通信システム及び方法
JPH08510888A (ja) * 1993-10-26 1996-11-12 ノーザン・テレコム・リミテッド 混合クラスのパケットを効率的に転送するためのディジタル通信リンク
US20020087716A1 (en) * 2000-07-25 2002-07-04 Shakeel Mustafa System and method for transmitting customized multi priority services on a single or multiple links over data link layer frames
US6856628B1 (en) * 2000-10-26 2005-02-15 Motorola, Inc. Method and apparatus for tunneling packets in a packet data system
JP2002217971A (ja) * 2001-01-18 2002-08-02 Fujitsu Ltd パケット伝送装置及びパケット伝送方法
JP2003069603A (ja) * 2001-08-27 2003-03-07 Fujikura Ltd パケット通信制御装置
JP2005159792A (ja) * 2003-11-27 2005-06-16 Yokogawa Electric Corp 通信システム及び通信方法
US20080019395A1 (en) * 2006-07-19 2008-01-24 Prakasha Aithal Expedited communication traffic handling apparatus and methods
JP2011114625A (ja) * 2009-11-27 2011-06-09 Panasonic Corp 通信システムおよび通信装置
WO2013125027A1 (ja) * 2012-02-24 2013-08-29 三菱電機株式会社 通信装置及び通信方法及びプログラム
JP2016005023A (ja) * 2014-06-13 2016-01-12 富士通株式会社 パケット送信装置及びパケット受信装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TSIANG, D. AND SUWALA, G.: "The Cisco SRP MAC Layer Protocol", RFC 2892, JPN6017040085, August 2000 (2000-08-01) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817359B2 (en) 2018-01-18 2020-10-27 Honda Motor Co., Ltd. Ring network and robot including the same

Also Published As

Publication number Publication date
US20170272272A1 (en) 2017-09-21
JP6291516B2 (ja) 2018-03-14
US10250407B2 (en) 2019-04-02

Similar Documents

Publication Publication Date Title
US10250406B2 (en) Communication system for allowing one of multiple nodes connected via a network to control hardware of another node by transmitting interrupt data
US11477107B2 (en) Method for data communication in an industrial network, control method, device, computer program and computer-readable medium
JP6263836B2 (ja) 制御装置および制御方法
JP4612094B2 (ja) バス間でのメッセージの自動ルーティングのためのゲートウェイ
US10164905B2 (en) Efficient management of network traffic in a multi-CPU server
KR102119418B1 (ko) 통신 시스템, 통신 장치 및 통신 방법
EP3086519B1 (en) Apparatus and method of operating a network traffic policing module
JP6291516B2 (ja) リング型ネットワークを用いた通信システム
JP6648298B2 (ja) 双方向通信のための方法および装置
EP3214822B1 (en) Network on chip, communication control method and controller
US9665514B2 (en) Integrated circuit having a bus network, and method for the integrated circuit
US10447527B2 (en) Communication system
US20120079052A1 (en) Control unit in a network, network, and routing method for messages in a network
CN105704022A (zh) 路径切换的方法和网络节点
JP2011182258A (ja) CAN(ControllerAreaNetwork)システム、通信ユニット、及び通信方法
JP2006109258A (ja) 通信方法及び通信装置
KR102416176B1 (ko) 슬레이브 디바이스 제어 방법
KR102113641B1 (ko) 소프트웨어 정의 네트워크 시스템에서 다중 중요도 모드에 따른 패킷 스케줄링 방법, 그 방법을 구현한 컴퓨터프로그램 및 그 방법을 수행하는 스위치 장치
JP6752355B2 (ja) 中継装置及びデータ転送方法
JP2020088819A (ja) 中継装置
JP7103300B2 (ja) 車載通信システム、中継装置、及び通信方法
US20240089142A1 (en) Vehicle-mounted apparatus and a method for relaying
US11522815B2 (en) Switch, control apparatus, communication system, communication control method and program
US20210281527A1 (en) Line monitor device and network switch
JP2017073709A (ja) 中継装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180209

R150 Certificate of patent or registration of utility model

Ref document number: 6291516

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150