JP2015231217A - 通信システム、通信装置、接続状態判定方法及び制御プログラム - Google Patents

通信システム、通信装置、接続状態判定方法及び制御プログラム Download PDF

Info

Publication number
JP2015231217A
JP2015231217A JP2014118070A JP2014118070A JP2015231217A JP 2015231217 A JP2015231217 A JP 2015231217A JP 2014118070 A JP2014118070 A JP 2014118070A JP 2014118070 A JP2014118070 A JP 2014118070A JP 2015231217 A JP2015231217 A JP 2015231217A
Authority
JP
Japan
Prior art keywords
node number
communication device
communication
designated
storage unit
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
JP2014118070A
Other languages
English (en)
Other versions
JP5815085B1 (ja
Inventor
一久 北村
Kazuhisa Kitamura
一久 北村
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.)
PFU Ltd
Original Assignee
PFU 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 PFU Ltd filed Critical PFU Ltd
Priority to JP2014118070A priority Critical patent/JP5815085B1/ja
Application granted granted Critical
Publication of JP5815085B1 publication Critical patent/JP5815085B1/ja
Publication of JP2015231217A publication Critical patent/JP2015231217A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】通信システムに含まれる各通信装置への設定を簡易にしつつ、各通信装置がリング接続されているかデイジーチェーン接続されているかを判定することが可能な通信システム、通信装置、接続状態判定方法及び制御プログラムを提供する。
【解決手段】通信システム1に含まれる各通信装置100が、一方側に隣接する通信装置からノード番号を受信したときに、指定装置でない場合又は受信したノード番号が所定値未満である場合、ノード番号を更新し、指定装置である場合且つ受信したノード番号が所定値以上である場合、ノード番号を所定値に更新する更新部114a、114bと、自発的に、ノード番号を、他方側に隣接する通信装置に送信可能である送信部122a、122bと、指定装置である場合且つノード番号が所定値に更新された場合、複数の通信装置がリング接続されていると判定する判定部141とを有する。
【選択図】図2

Description

本発明は、通信システム、通信装置、接続状態判定方法及び制御プログラムに関し、特に、複数の通信装置がリング接続又はデイジーチェーン接続される通信システムの接続状態を判定する通信システム、通信装置、接続状態判定方法及び制御プログラムに関する。
複数の通信装置がリング接続又はデイジーチェーン接続されている通信システムでは、各通信装置がリング接続されているかデイジーチェーン接続されているかによって、送信元の通信装置から送信先の通信装置までのデータの送信経路が異なる。したがって、このような通信システムでは、各通信装置は、各通信装置がリング接続されているかデイジーチェーン接続されているかを認識する必要がある。
マスタであるECU(制御装置、Electronic Control Unit)と、スレーブである複数の入出力装置がリング接続又はデイジーチェーン接続される車載通信システムが知られている(特許文献1を参照)。この車載通信システムにおいて、ECUは、アドレス情報を隣の入出力装置へ送信し、その入出力装置はアドレス情報から自アドレスを決定しつつアドレス情報を書き換え、さらに隣の入出力装置へ転送する。アドレス情報は、各入出力装置により書き換えられ、最後に、ECUが、転送されたアドレス情報を受信してシステム全体の構成を確認して通信を開始する。
また、ホスト機器と、デイジーチェーン接続される複数のモジュールとを有するシステムが知られている(特許文献2を参照)。このシステムにおいて、ホスト機器は、隣接するモジュールにアドレスデータを送信する。隣接するモジュールは、受信したアドレスデータに応じて自身のアドレスを設定し、自身のアドレスに基づいて後段のモジュールに対するアドレスを作成し、作成したアドレスに応じたアドレスデータを後段のモジュールに送信していく。
特開2011−120167号公報 特開2000−10902号公報
特許文献1に記載の車載通信システム及び特許文献2に記載のシステムでは、アドレス情報の送信元であるECU及びアドレスデータの送信元であるホスト機器をそれぞれデイジーチェーンの一端に配置するようにシステムの設定を行う必要がある。
本発明の目的は、通信システムに含まれる各通信装置の設定を簡易にしつつ、各通信装置がリング接続されているかを判定することが可能な通信システム、通信装置、接続状態判定方法及び制御プログラムを提供することにある。
本発明の一側面に係る通信システムは、複数の通信装置がリング接続又はデイジーチェーン接続される通信システムであって、複数の通信装置のそれぞれが、ノード番号及び指定装置として指定されているか否かを示す情報を記憶する記憶部と、一方側に隣接する通信装置から一方側に隣接する通信装置のノード番号を受信可能である受信部と、受信部がノード番号を受信したときに、指定装置として指定されていない場合又は受信したノード番号が所定値未満である場合に記憶部に記憶されたノード番号を受信したノード番号をインクリメントした番号に更新し、及び、指定装置として指定されている場合且つ受信したノード番号が所定値以上である場合に記憶部に記憶されたノード番号を所定値に更新する、更新部と、自発的に、記憶部に記憶されたノード番号を、他方側に隣接する通信装置に送信可能である送信部と、指定装置として指定されている場合且つ更新部が記憶部に記憶されたノード番号を所定値に更新した場合、複数の通信装置がリング接続されていると判定する判定部と、を有する。
また、本発明の一側面に係る通信装置は、複数の通信装置がリング接続又はデイジーチェーン接続される通信システムに含まれる通信装置であって、ノード番号及び指定装置として指定されているか否かを示す情報を記憶する記憶部と、一方側に隣接する通信装置から自発的に送信される一方側に隣接する通信装置のノード番号を受信可能である受信部と、受信部がノード番号を受信したときに、指定装置として指定されていない場合又は受信したノード番号が所定値未満である場合に記憶部に記憶されたノード番号を受信したノード番号をインクリメントした番号に更新し、及び、指定装置として指定されている場合且つ受信したノード番号が所定値以上である場合に記憶部に記憶されたノード番号を所定値に更新する、更新部と、自発的に、記憶部に記憶されたノード番号を、他方側に隣接する通信装置に送信可能である送信部と、指定装置として指定されている場合且つ更新部が記憶部に記憶されたノード番号を所定値に更新した場合、複数の通信装置がリング接続されていると判定する判定部と、を有する。
また、本発明の一側面に係る接続状態判定方法は、複数の通信装置がリング接続又はデイジーチェーン接続される通信システムにおける接続状態判定方法であって、複数の通信装置のそれぞれが、ノード番号及び指定装置として指定されているか否かを示す情報を記憶部に記憶し、一方側に隣接する通信装置から一方側に隣接する通信装置のノード番号を受信可能であり、ノード番号を受信したときに、指定装置として指定されていない場合又は受信したノード番号が所定値未満である場に記憶部に記憶されたノード番号を受信したノード番号をインクリメントした番号に更新し、及び、指定装置として指定されている場合且つ受信したノード番号が所定値以上である場合に記憶部に記憶されたノード番号を所定値に更新し、自発的に、記憶部に記憶されたノード番号を、他方側に隣接する通信装置に送信可能であり、指定装置として指定されている場合且つ記憶部に記憶されたノード番号が所定値に更新された場合、複数の通信装置がリング接続されていると判定する、ことを含む。
また、本発明の一側面に係る制御プログラムは、複数の通信装置がリング接続又はデイジーチェーン接続される通信システムに含まれる通信装置に実行させる制御プログラムであって、ノード番号及び指定装置として指定されているか否かを示す情報を記憶部に記憶し、一方側に隣接する通信装置から自発的に送信される一方側に隣接する通信装置のノード番号を受信可能であり、ノード番号を受信したときに、指定装置として指定されていない場合又は受信したノード番号が所定値未満である場合に記憶部に記憶されたノード番号を受信したノード番号をインクリメントした番号に更新し、及び、指定装置として指定されている場合且つ受信したノード番号が所定値以上である場合に記憶部に記憶されたノード番号を所定値に更新し、自発的に、記憶部に記憶されたノード番号を、他方側に隣接する通信装置に送信可能であり、指定装置として指定されている場合且つ記憶部に記憶されたノード番号が所定値に更新された場合、複数の通信装置がリング接続されていると判定する、ことを通信装置に実行させる。
本発明によれば、複数の通信装置の内から予めマスタとなる装置を、デイジーチェーンの一端のような特定の位置に限定して設定する必要がなくなる。したがって、本発明に係る通信システム、通信装置、接続状態判定方法及び制御プログラムは、管理者による各通信装置の設定を簡易にしつつ、各通信装置がリング接続されているかを判定することが可能となる。
実施形態に係る通信システム1を示す概略構成図である。 実施形態に係る通信システム1を示す概略構成図である。 通信装置100のハードウェア構成図である。 パケットのデータ構造の一例を示す模式図である。 第1送信間隔変更回路116aのハードウェア構成図である。 CPU140の概略構成を示す図である。 パケット受信処理の動作の例を示すフローチャートである。 更新処理の動作の例を示すフローチャートである。 第2更新処理の動作の例を示すフローチャートである。 制御パケット送信処理の動作の例を示すフローチャートである。 データパケット送信処理の動作の例を示すフローチャートである。 接続状態判定処理の動作の例を示すフローチャートである。 通信装置総数算出処理の動作の例を示すフローチャートである。 ノード番号及び接続情報の変化について説明するための模式図である。 ノード番号及び接続情報の変化について説明するための模式図である。 ノード番号及び接続情報の変化について説明するための模式図である。 ノード番号及び接続情報の変化について説明するための模式図である。 ノード番号及び接続情報の変化について説明するための模式図である。 ノード番号及び接続情報の変化について説明するための模式図である。 ノード番号及び接続情報の変化について説明するための模式図である。 ノード番号及び接続情報の変化について説明するための模式図である。 ノード番号及び接続情報の変化について説明するための模式図である。 ノード番号及び接続情報の変化について説明するための模式図である。 ノード番号及び接続情報の変化について説明するための模式図である。 ノード番号及び接続情報の変化について説明するための模式図である。 ノード番号及び接続情報の変化について説明するための模式図である。 ノード番号及び接続情報の変化について説明するための模式図である。
以下、本発明の一側面に係る情報処理装置、診断順序決定方法及びコンピュータプログラムについて図を参照しつつ説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
図1A及び図1Bは、実施形態に係る通信システムを示す図である。図1A及び図1Bに示すように、通信システム1は、複数の通信装置100a〜100cを有する。図1Aは、各通信装置100a〜100cがデイジーチェーン接続される例を示し、図1Bは、各通信装置100a〜100cがリング接続される例を示す。
相互に隣接する二つの通信装置は、専用の通信ケーブルを介して接続される。なお、各通信装置は、USB(Universal Serial Bus)等の公知のインターフェースに従ったケーブルを介して相互に接続されてもよい。また、各通信装置は、イーサネット(登録商標)等の有線LAN(Local Area Network)により接続されてもよい。その場合、各通信装置は、LANケーブルを介して直接接続されるのではなく、リピータハブ、スイッチングハブ、ルータ等を介して接続されてもよい。本実施形態では、「隣接する通信装置」とは、他の通信装置を介さずに接続される通信装置のことを意味し、直接接続により接続される通信装置と、リピータハブ、スイッチングハブ、ルータ等を介して接続される通信装置とが含まれる。
各通信装置100a〜100cが、自装置に記憶しているデータを他の通信装置に高速に送信し、他の通信装置に記憶させることにより、通信システム1は、各通信装置100a〜100c間でデータを共有する。以下では、各通信装置100a〜100cのそれぞれを通信装置100と称する場合がある。
図2は、通信装置100のハードウェア構成図である。各通信装置100a〜100cのハードウェア構成は同一であるため、通信装置100として共通に説明する。図2に示すように、通信装置100は、記憶装置101と、通信回路110と、CPU(Central Processing Unit)140とを有する。以下、通信装置100の各部について詳細に説明する。
記憶装置101は、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、記憶装置101には、通信装置100の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が記憶される。コンピュータプログラムは、コンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶装置101にインストールされてもよい。可搬型記録媒体は、例えばCD−ROM(Compact Disk Read Only Memory)、DVD−ROM(Digital Versatile Disk Read Only Memory)等とすることができる。また、記憶装置101には、通信システム1に含まれる他の通信装置から受信したデータ、他の通信システムへ送信するデータ等が記憶される。
通信回路110は、他の通信装置と通信可能なインターフェース回路を有し、デイジーチェーン接続又はリング接続される通信装置の内の隣接する通信装置と、ケーブルを用いて電気的に接続して各種のデータ及び情報を送受信する。通信回路110は、例えばPCI(Peripheral Component Interconnect)、PCI−X、PCI Express等の規格に準じたカードによって通信装置100に実装される。なお、通信回路110は、プロセッサ上で動作するソフトウェアにより実装される機能モジュールで構成されてもよい。または、通信回路110は、マイクロプロセッサ、ファームウェア等で構成されてもよい。
なお、通信回路110は、USB等のシリアルバスに準じるインターフェース回路を有し、USBケーブルを用いて各通信装置と電気的に接続してもよい。または、通信回路110は、イーサネット(登録商標)等に準じる回路を有し、LANケーブルを用いて各通信装置と電気的に接続してもよい。
通信回路110は、第1ポート111a及び第2ポート111bと、第1受信回路112a及び第2受信回路112bと、指定情報レジスタ113と、第1デコーダ114a及び第2デコーダ114b等を有する。通信回路110は、さらに第1構成情報レジスタ115a及び第2構成情報レジスタ115bと、第1送信間隔変更回路116a及び第2送信間隔変更回路116bと、第1タイミングレジスタ117a及び第2タイミングレジスタ117b等を有する。通信回路110は、さらに第1タイミング生成回路118a及び第2タイミング生成回路118bと、第1構成情報送信回路119a及び第2構成情報送信回路119b等を有する。通信回路110は、さらに第1DMA(Direct Memory Access)コントローラ120a及び第2DMAコントローラ120bと、第1アービタ121a及び第2アービタ121bと、第1送信回路122a及び第2送信回路122b等を有する。
第1ポート111aは、デイジーチェーン接続又はリング接続される通信装置の内の通信装置100の一方側に隣接する通信装置と、ケーブルを用いて電気的に接続するためのコネクタである。以下では、デイジーチェーン接続又はリング接続される通信装置の内、通信装置100の一方側に隣接する通信装置を第1隣接通信装置と称する場合がある。なお、通信装置100がデイジーチェーンの一端に位置する場合、第1ポート111aには他の通信装置が接続されない。
第2ポート111bは、デイジーチェーン接続又はリング接続される通信装置の内、通信装置100の他方側に隣接する通信装置と、ケーブルを用いて電気的に接続するためのコネクタである。以下では、デイジーチェーン接続又はリング接続される通信装置の内、通信装置100の他方側に隣接する通信装置を第2隣接通信装置と称する場合がある。なお、通信装置100がデイジーチェーンの他端に位置する場合、第2ポート111bには他の通信装置が接続されない。
第1受信回路112aは、受信部の一例である。第1受信回路112aは、第1隣接通信装置と通信可能なインターフェース回路を有し、第1ポート111a及びケーブルを介して第1隣接通信装置と接続され、第1隣接通信装置からパケットを受信可能である。
第2受信回路112bは、受信部の一例である。第2受信回路112bは、第2隣接通信装置と通信可能なインターフェース回路を有し、第2ポート111b及びケーブルを介して第2隣接通信装置と接続され、第2隣接通信装置からパケットを受信可能である。
図3は、他の通信装置との間で送受信されるパケットのデータ構造の一例を示す模式図である。図3に示すように、送受信されるパケットには、ヘッダ及びデータ等が含まれる。ヘッダには、送信先ノード番号、送信元ノード番号、第1ノード番号又は第2ノード番号、第1接続情報又は第2接続情報、パケット種別及びメモリアドレス等が含まれる。
ノード番号は、各通信装置を一意に識別するための識別情報である。送信先ノード番号は、パケットを最終的に受け取る通信装置のノード番号である。送信元ノード番号は、パケットを最初に発信した通信装置のノード番号である。第1ノード番号及び第2ノード番号は、そのパケット自体を送信した通信装置のノード番号である。第1ノード番号は、第1隣接装置側から第2隣接装置側へ向かう方向へ、即ち第1ポート側から第2ポート側へ向かう方向へパケットを送信する際に用いられるノード番号である。第2ノード番号は、第2隣接装置側から第1隣接装置側へ向かう方向へ、即ち第2ポート側から第1ポート側へ向かう方向へパケットを送信する際に用いられるノード番号である。
第1接続情報及び第2接続情報は、通信システム1に含まれる各通信装置がリング接続されているか否か、即ちリング接続されているかデイジーチェーン接続されているかを示す情報である。第1接続情報は、第1隣接装置側から第2隣接装置側へ向かう方向へパケットを送信する際に用いられ、第2接続情報は、第2隣接装置側から第1隣接装置側へ向かう方向へパケットを送信する際に用いられる。パケット種別は、そのパケットが、記憶装置101に記憶されたデータを通信装置間で送受信するためのデータパケットであるか、通信システム1の接続構成を判別するための制御パケットであるかを示す情報である。メモリアドレスは、パケットに含まれるデータを格納すべき、送信先の通信装置の記憶装置内のアドレスである。
パケット種別がデータパケットである場合、送信先ノード番号、送信元ノード番号、パケット種別、メモリアドレス及びデータのみが使用され、第1ノード番号又は第2ノード番号と、第1接続情報又は第2接続情報とは使用されない。一方、パケット種別が制御パケットである場合、第1ノード番号又は第2ノード番号と、第1接続情報又は第2接続情報と、パケット種別のみが使用され、送信先ノード番号、送信元ノード番号、メモリアドレス及びデータは使用されない。
指定情報レジスタ113は、記憶部の一例であり、通信装置100が指定装置として指定されているか否かを示す指定情報を記憶する。指定装置は、通信システム1に含まれる各通信装置がリング接続されているか否かを受信したノード番号に基づいて最初に判定する装置であり、通信システム1に含まれる通信装置の内の一つのみに指定される。
第1デコーダ114aは、更新部の一例である。第1デコーダ114aは、第1受信回路112aが第1隣接通信装置からパケットを受信したときに、受信したパケットをデコードして、パケット内のヘッダを判別するとともに、指定情報レジスタ113から指定情報を読み出す。第1デコーダ114aは、パケット内のヘッダと指定情報に基づいて、受信したパケットを記憶装置101に格納する処理、受信したパケットを第1アービタ121aに送る処理、又は第1構成情報レジスタ115aを更新する処理の内の何れかの処理を実施する。第1デコーダ114aによる処理の詳細については後述する。
第2デコーダ114bは、更新部の一例である。第2デコーダ114bは、第2受信回路112bが第2隣接通信装置からパケットを受信したときに、受信したパケットをデコードして、パケット内のヘッダを判別するとともに、指定情報レジスタ113から指定情報を読み出す。第2デコーダ114bは、パケット内のヘッダと指定情報に基づいて、受信したパケットを記憶装置101に格納する処理、受信したパケットを第2アービタ121bに送る処理、又は第2構成情報レジスタ115bを更新する処理の内の何れかの処理を実施する。第2デコーダ114bによる処理の詳細については後述する。
第1構成情報レジスタ115aは、記憶部の一例であり、通信装置100の第1ノード番号と、第1接続情報とを記憶する。第1ノード番号の初期値は0に設定され、第1接続情報の初期値はデイジーチェーン接続されていることに設定される。
第2構成情報レジスタ115bは、記憶部の一例であり、通信装置100の第2ノード番号と、第2接続情報とを記憶する。第2ノード番号の初期値は0に設定され、第2接続情報の初期値はデイジーチェーン接続されていることに設定される。
第1送信間隔変更回路116aは、送信間隔変更部の一例である。第1送信間隔変更回路116aは、第1構成情報送信回路119aが第1送信回路122aを介して制御パケットを送信する間隔(以下、第1制御パケット送信間隔と称する)を所定の条件に従って変更する。第1送信間隔変更回路116aの詳細については後述する。
第2送信間隔変更回路116bは、送信間隔変更部の一例である。第2送信間隔変更回路116aは、第2構成情報送信回路119bが第2送信回路122bを介して制御パケットを送信する間隔(以下、第2制御パケット送信間隔と称する)を所定の条件に従って変更する。第2送信間隔変更回路116bの詳細については後述する。
第1タイミングレジスタ117aは、第1制御パケット送信間隔を記憶する。第1制御パケット送信間隔は、第1送信間隔変更回路116aにより設定される。なお、第1制御パケット送信間隔は、第1送信間隔変更回路116aにより動的に変更されるのではなく、第1制御パケット送信間隔として、CPU140により固定値が設定されてもよい。
第2タイミングレジスタ117bは、第2制御パケット送信間隔を記憶する。第2制御パケット送信間隔は、第2送信間隔変更回路116bにより設定される。なお、第2制御パケット送信間隔は、第2送信間隔変更回路116bにより動的に変更されるのではなく、第2制御パケット送信間隔として、CPU140により固定値が設定されてもよい。
第1タイミング生成回路118aは、第1タイミングレジスタ117aに記憶された第1制御パケット送信間隔に従って、第1送信回路122aが制御パケットを送信するタイミングを指定する第1タイミング信号を生成し、第1構成情報送信回路119aに送る。
第2タイミング生成回路118bは、第2タイミングレジスタ117bに記憶された第2制御パケット送信間隔に従って、第2送信回路122bが制御パケットを送信するタイミングを指定する第2タイミング信号を生成し、第2構成情報送信回路119bに送る。
第1構成情報送信回路119aは、第1タイミング生成回路118aから受け取った第1タイミング信号に従って、第1構成情報レジスタ115aから第1ノード番号及び第1接続情報を読み出す。第1構成情報送信回路119aは、読み出した第1ノード番号及び第1接続情報を含み且つパケット種別が制御パケットであるパケットを作成し、第1アービタ121aに送る。
第2構成情報送信回路119bは、第2タイミング生成回路118bから受け取った第2タイミング信号に従って、第2構成情報レジスタ115bから第2ノード番号及び第2接続情報を読み出す。第2構成情報送信回路119bは、読み出した第2ノード番号及び第2接続情報を含み且つパケット種別が制御パケットであるパケットを作成し、第2アービタ121bに送る。
第1DMAコントローラ120aは、CPU140からの要求に従って、記憶装置101に記憶されたデータを読み出し、ヘッダを付加してデータパケットを作成し、第1アービタ121aに送る。
第2DMAコントローラ120bは、CPU140からの要求に従って、記憶装置101に記憶されたデータを読み出し、ヘッダを付加してデータパケットを作成し、第2アービタ121bに送る。
第1アービタ121aは、第1デコーダ114aから受け取ったデータパケット、第1構成情報送信回路119aから受け取った制御パケット及び第1DMAコントローラ120aから受け取ったデータパケットを第1送信回路122aに送る。第1アービタ121aは、各パケットを第1送信回路122aに送る順序を調整するための調整回路を有し、所定の順序に従って、各パケットを第1送信回路122aに送る。
第2アービタ121bは、第2デコーダ114bから受け取ったデータパケット、第2構成情報送信回路119bから受け取った制御パケット及び第2DMAコントローラ120bから受け取ったデータパケットを第2送信回路122bに送る。第2アービタ121bは、各パケットを第2送信回路122bに送る順序を調整するための調整回路を有し、所定の順序に従って、各パケットを第2送信回路122bに送る。
第1送信回路122aは、送信部の一例である。第1送信回路122aは、第2隣接通信装置と通信可能なインターフェース回路を有し、第2ポート111b及びケーブルを介して第2隣接通信装置と接続され、第2隣接通信装置へパケットを送信可能である。
第2送信回路122bは、送信部の一例である。第2送信回路122bは、第1隣接通信装置と通信可能なインターフェース回路を有し、第1ポート111a及びケーブルを介して第1隣接通信装置と接続され、第1隣接通信装置へパケットを送信可能である。
図4は、第1送信間隔変更回路116aのハードウェア構成図である。なお、第2送信間隔変更回路116bのハードウェア構成は第1送信間隔変更回路116aのハードウェア構成と同様であるため、以下では代表して第1送信間隔変更回路116aについてのみ説明し、第2送信間隔変更回路116bについての説明は省略する。
図4に示すように、第1送信間隔変更回路116aは、第1ノード番号レジスタ131aと、遅延レジスタ132aと、第1比較器133aと、カウンタ回路134aと、第2比較器135aとを有する。以下、第1送信間隔変更回路116aの各部について詳細に説明する。
第1ノード番号レジスタ131aには、第1構成情報レジスタ115aから第1ノード番号を読み出すタイミングを指定する読出タイミング信号が入力される。第1ノード番号レジスタ131aは、読出タイミング信号に従って、第1構成情報レジスタから第1ノード番号を読み出し、読み出した第1ノード番号を遅延レジスタ132aと第1比較器133aに出力する。
遅延レジスタ132aには、第1ノード番号レジスタ131aから入力された第1ノード番号を出力するタイミングを指定する第1クロック信号が入力される。遅延レジスタ132aは、第1クロック信号に従って、第1ノード番号レジスタ131aから入力された第1ノード番号を所定時間だけ遅延させて第1比較器133aに出力する。
第1比較器133aは、第1ノード番号レジスタ131aから入力された第1ノード番号と、遅延レジスタ132aから入力された第1ノード番号、即ち第1クロック信号に基従って所定時間だけ遅延して入力された第1ノード番号とを比較する。第1比較器133aは、入力された二つの第1ノード番号が一致する場合、0を出力し、入力された二つの第1ノード番号が異なる場合、1を出力する。即ち、第1ノード番号が変化した場合、第1比較器133aから出力される信号は1になる。
カウンタ回路134aには、カウンタ値を更新するタイミングを指定する第2クロック信号が入力される。カウンタ回路134aは、第2クロック信号で指定されたタイミングにおいて、第1比較器133aから入力された信号が0である場合、カウンタ値をインクリメントし、第1比較器133aから入力された信号が1である場合、カウンタ値を0にリセットする。カウンタ回路134aは、現在のカウンタ値を第2比較器に出力する。即ち、カウンタ回路134aが出力するカウンタ値は、第1ノード番号が変化していない時間を表す。
第2比較器135aには、所定閾値と、カウンタ回路134aから出力されたカウンタ値とが入力される。第2比較器135aは、カウンタ値が所定閾値未満である場合、第1間隔値を第1制御パケット送信間隔として出力し、カウンタ値が所定閾値以上である場合、第1間隔値より大きい第2間隔値を第1制御パケット送信間隔として出力する。
このように、第1送信間隔変更回路116aは、第1ノード番号が一定期間変化しなかった場合、第1制御パケット送信間隔を変更する。通信装置100の起動直後は、ノード番号が変化するため、制御パケットの送信間隔は短く、通信装置100は、各通信装置がリング接続されているか否かを短期間に判別することができる。一方、各通信装置がリング接続されているか否かが一旦判別された後は、ノード番号が変化しないため、制御パケットの送信間隔は長くなり、通信装置100は、通信データ量が増大することを抑制することができる。
また、第1送信間隔変更回路116aがハードウェアにより実現されるため、通信装置100は、CPU140の処理負荷を低減させるとともに、受信したノード番号が変化する頻度をより短期間且つ高精度に判別することができる。
なお、第1送信間隔変更回路116aは、第1制御パケット送信間隔として、二つの間隔値の内の何れかを出力するのではなく、三つ以上の間隔値の内の何れかを出力してもよい。その場合、第1送信間隔変更回路116aは、カウンタ値が大きいほど出力する間隔値を大きくする。これにより、通信装置100は、通信データ量をより柔軟に変更することができる。
また、第1送信間隔変更回路116aは、カウンタ値が所定閾値以上となったときに、第2間隔値を第1制御パケット送信間隔として出力し、その後、再度所定閾値未満になった場合、第1間隔値を第1制御パケット送信間隔として出力する。このように、第1送信間隔変更回路116aは、第1ノード番号が一定期間変化しなかった後に、再度変化した場合、第1制御パケット送信間隔を再度変更する。これにより、通信装置100は、通信システム内の接続構成が変化した場合に、制御パケットを送信する間隔を再度短くして、各通信装置がリング接続されているか否かを短期間に判別することができる。
また、第1送信間隔変更回路116aは、通信装置100の通信量を計数し、通信装置100の通信量に応じて、第1制御パケット送信間隔を変更してもよい。その場合、第1送信間隔変更回路116aは、通信装置100の通信量が大きいほど、第1制御パケット送信間隔を大きくし、通信装置100の通信量が小さいほど、第1制御パケット送信間隔を小さくする。これにより、データパケットの送受信量が大きい場合は制御パケットの送信量が小さくなり、データパケットの送受信量が小さい場合は制御パケットの送信量が大きくなるため、通信システム1内の全体の通信量を一定に保つことが可能となる。
CPU140は、記憶装置101及び通信回路110と接続され、これらの各部を制御する。CPU140は、通信回路110を介した他の通信装置との通信制御、記憶装置101の制御等を行う。
図5は、CPU140の概略構成を示す図である。図5に示すように、CPU140は、判定部141、切断判定部142及び総数算出部143等を有する。これらの各部は、プロセッサ上で動作するソフトウェアにより実装される機能モジュールである。なお、これらの各部は、それぞれ独立した集積回路、マイクロプロセッサ、ファームウェア等で構成されてもよい。
図6は、通信装置100によるパケット受信処理の動作の例を示すフローチャートである。以下、図6に示したフローチャートを参照しつつ、パケット受信処理の動作を説明する。なお、以下に説明する動作のフローは、予め記憶装置101に記憶されているプログラムに基づき主にCPU140により通信装置100の各要素と協働して実行される。なお、パケット受信処理は、第1隣接通信装置から受信したパケットと、第2隣接通信装置から受信したパケットのそれぞれに対して同様に実行される。以下では、代表して第1隣接通信装置から受信したパケットに対するパケット受信処理についてのみ説明し、第2隣接通信装置から受信したパケットに対するパケット受信処理についての説明は省略する。
最初に、第1受信回路112aは、第1隣接通信装置からパケットを受信すると(ステップS101)、受信したパケットを第1デコーダ114aに送る(ステップS102)。
次に、第1デコーダ114aは、受信したパケットがデータパケットであるか否かを判別する(ステップS103)。
受信したパケットがデータパケットである場合、第1デコーダ114aは、受信したデータパケットの送信先ノード番号が自装置のノード番号であるか否かを判別する(ステップS104)。
受信したデータパケットの送信先ノード番号が自装置のノード番号である場合、第1デコーダ114aは、受信したパケットのデータ部分を記憶装置101に記憶し(ステップS105)、一連のステップを終了する。第1デコーダ114aは、受信したデータパケットのデータ部分を、受信したパケットのメモリアドレスで指定されたアドレスに記憶する。
一方、受信したデータパケットの送信先ノード番号が自装置のノード番号でない場合、第1デコーダ114aは、受信したデータパケットを第1アービタ121aに送る(ステップS106)。次に、第1アービタ121aは、受け取ったデータパケットを送信可能な順番になったときに、第1送信回路122aに送る(ステップS107)。次に、第1送信回路122aは、受け取ったデータパケットを第2隣接通信装置に送信し(ステップS108)、一連のステップを終了する。このデータパケットは、送信先ノード番号に対応する通信装置に到達するまで各通信装置の間で転送される。
一方、ステップS103において、受信したパケットが制御パケットであった場合、第1デコーダ114aは、第1構成情報レジスタに記憶された第1ノード番号及び第1接続情報を更新する更新処理を実行し(ステップS109)、一連のステップを終了する。
図7は、第1デコーダ114aによる更新処理の動作の例を示すフローチャートである。図7に示す動作のフローは、図6に示すフローチャートのステップS109において実行される。
最初に、第1デコーダ114aは、指定情報レジスタ113に記憶された指定情報に基づいて、通信装置100が指定装置として指定されているか否かを判別する(ステップS201)。
通信装置100が指定装置として指定されている場合、第1デコーダ114aは、受信した制御パケットに含まれる第1ノード番号が所定値(例えば10)以上であるか否かを判別する(ステップS202)。所定値は、通信システム1が有することができる通信装置の最大数に予め設定される。
第1ノード番号が所定値以上である場合、第1デコーダ114aは、第1構成情報レジスタ115aに記憶された第1ノード番号を所定値に更新する(ステップS203)。次に、第1デコーダ114aは、第1構成情報レジスタ115aに記憶された第1接続情報をリング接続されていることに設定し(ステップS204)、一連のステップを終了する。
一方、ステップS201において通信装置100が指定装置として指定されていなかった場合又はステップS202において第1ノード番号が所定値未満であった場合、第1デコーダ114aは、処理をステップS205へ移行する。この場合、第1デコーダ114aは、第1構成情報レジスタ115aに記憶された第1ノード番号を、受信した制御パケットに含まれる第1ノード番号をインクリメントした番号に更新する(ステップS205)。次に、第1デコーダ114aは、第1構成情報レジスタ115aに記憶された第1接続情報を受信したパケットに含まれる第1接続情報に更新し(ステップS206)、一連のステップを終了する。
第1構成情報レジスタ115aにおいて更新された各情報は、後述する制御パケット送信処理により他の通信装置へ送信される。したがって、ノード番号は、各通信装置で受信されるたびにインクリメントされ、指定装置として指定されている通信装置においてノード番号が所定値以上になったことが検出されると、接続情報はリング接続されていることに設定される。リング接続されていることに設定された接続情報も、後述する制御パケット送信処理により他の通信装置へ送信される。
図8は、通信装置100による第2更新処理の動作の例を示すフローチャートである。なお、以下に説明する動作のフローは、予め記憶装置101に記憶されているプログラムに基づき主にCPU140により通信装置100の各要素と協働して実行される。なお、第2更新処理は、第1デコーダ114a及び第2デコーダ114bのそれぞれにより同様に実行される。以下では、代表して第1デコーダ114aによる第2更新処理についてのみ説明し、第2デコーダ114bによる第2更新処理についての説明は省略する。
最初に、第1デコーダ114aは、第1受信回路112aが第1隣接通信装置から制御パケットを所定期間受信していない状態になるまで待機する(ステップS301)。
第1受信回路112aが第1隣接通信装置から制御パケットを所定期間受信していない場合、第1デコーダ114aは、第1構成情報レジスタ115aに記憶された第1ノード番号を0に更新する(ステップS302)。次に、第1デコーダ114aは、第1構成情報レジスタ115aに記憶された第1接続情報をデイジーチェーン接続されていることに設定し(ステップS303)、処理をステップS301へ戻す。
このように、特定の通信装置において、所定期間、制御パケットが受信されなかった場合、ノード番号が0に初期化され、接続情報はデイジーチェーン接続されていることに設定される。これらの各情報は、後述する制御パケット送信処理により他の通信装置へ送信される。
図9は、通信装置100による制御パケット送信処理の動作の例を示すフローチャートである。以下、図9に示したフローチャートを参照しつつ、制御パケット送信処理の動作を説明する。なお、以下に説明する動作のフローは、予め記憶装置101に記憶されているプログラムに基づき主にCPU140により通信装置100の各要素と協働して実行される。なお、制御パケット送信処理は、第2隣接通信装置へ送信する場合と、第1隣接通信装置へ送信する場合とで同様に実行される。以下では、代表して第2隣接通信装置へ送信する場合の制御パケット送信処理についてのみ説明し、第1隣接通信装置へ送信する場合の制御パケット送信処理についての説明は省略する。
最初に、第1構成情報送信回路119aは、第1タイミング生成回路118aからの第1タイミング信号に従って、制御パケットを送信するタイミングになるまで待機する(ステップS401)。
第1構成情報送信回路119aは、制御パケットを送信するタイミングになると、第1構成情報レジスタ115aから第1ノード番号及び第1接続情報を読み出す。第1構成情報送信回路119aは、読み出した第1ノード番号及び第1接続情報を含み且つパケット種別が制御パケットであるパケットを作成し、第1アービタ121aに送る(ステップS402)。
次に、第1アービタ121aは、受け取った制御パケットを送信可能な順番になったときに、受け取った制御パケットを第1送信回路122aに送る(ステップS403)。次に、第1送信回路122aは、受け取った制御パケットを第2隣接通信装置に送信し(ステップS404)、一連のステップを終了する。
このように、第1送信回路122aは、第1タイミング信号に従ったタイミングで、自発的に、第1構成情報レジスタ115aに記憶された第1ノード番号及び第1接続情報を第2隣接通信装置に送信する。「自発的に送信する」とは、他の通信装置からパケットを受信したタイミング、又は通信システム1で規定される各通信装置に共通のタイミング等の外部から指定されるタイミングでなく、各通信装置により決定される独立したタイミングで送信することを意味する。さらに、第1送信回路122aは、第1タイミングレジスタ117aに記憶された第1制御パケット送信間隔に従って、定期的に、第1ノード番号及び第1接続情報を第2隣接通信装置に送信する。
図10は、通信装置100が送信元となるデータパケット送信処理の動作の例を示すフローチャートである。以下、図10に示したフローチャートを参照しつつ、データパケット送信処理の動作を説明する。なお、以下に説明する動作のフローは、予め記憶装置101に記憶されているプログラムに基づき主にCPU140により通信装置100の各要素と協働して実行される。なお、データパケット送信処理は、第2隣接通信装置へ送信する場合と、第1隣接通信装置へ送信する場合とで同様に実行される。以下では、代表して第2隣接通信装置へ送信する場合のデータパケット送信処理についてのみ説明し、第1隣接通信装置へ送信する場合の制御パケット送信処理についての説明は省略する。
最初に、第1DMAコントローラ120aは、CPU140から送信指示を受け付けると(ステップS501)、記憶装置101に記憶されたデータを読み出し、ヘッダを付加してデータパケットを作成し、第1アービタ121aに送る(ステップS502)。データパケットのヘッダに含まれる送信先ノード番号、送信元ノード番号、パケット種別及びメモリアドレスは、CPU140により指定される。送信元ノード番号は通信装置100の第1ノード番号であり、パケット種別はデータパケットである。
次に、第1アービタ121aは、受け取ったデータパケットを送信可能な順番になったときに、第1送信回路122aに送る(ステップS503)。次に、第1送信回路122aは、受け取ったデータパケットを第2隣接通信装置に送信し(ステップS504)、一連のステップを終了する。
図11は、CPU140による接続状態判定処理の動作の例を示すフローチャートである。なお、以下に説明する動作のフローは、予め記憶装置101に記憶されているプログラムに基づき主にCPU140により通信装置100の各要素と協働して実行される。この動作のフローは、CPU140により定期的に実行される。なお、CPU140は、第1構成情報レジスタ115aに記憶された第1接続情報及び第2構成情報レジスタ115bに記憶された第2接続情報の内、予め定められた何れか一方の情報に基づいて、各通信装置がリング接続されているか否かを判定する。以下では、CPU140が、第1接続情報に基づいて、各通信装置がリング接続されているか否かを判定する例について説明する。
最初に、判定部141は、第1構成情報レジスタ115aから第1接続情報を読み出し、読み出した第1接続情報が、通信システム1に含まれる各通信装置がリング接続されていることを示しているか否かを判定する(ステップS601)。
第1接続情報が、各通信装置がリング接続されていることを示している場合、判定部141は、通信システム1に含まれる各通信装置がリング接続されていると判定し(ステップS602)、一連のステップを終了する。
前述したように、通信装置100が指定装置として指定されている場合且つ受信した第1ノード番号が所定値以上である場合、第1デコーダ114aは、第1構成情報レジスタ115aに記憶された第1ノード番号を所定値に更新する。この場合、第1デコーダ114aは、第1構成情報レジスタ115aに記憶された第1接続情報をリング接続されていることに設定する。即ち、判定部141は、通信装置100が指定装置として指定された場合且つ第1デコーダ114aが第1構成情報レジスタ115aに記憶された第1ノード番号を所定値に更新した場合、通信システム1に含まれる各通信装置がリング接続されていると判定する。
また、通信装置100が指定装置として指定されていなかった場合、第1デコーダ114aは、第1構成情報レジスタ115aに記憶された第1接続情報を、受信した第1接続情報に更新する。即ち、通信装置100が指定装置として指定されていなかった場合、第1デコーダ114aは、指定装置として指定された通信装置がリング接続と判定したときに、通信システム1に含まれる各通信装置がリング接続されていると判定する。
一方、第1接続情報が、各通信装置がデイジーチェーン接続されていることを示している場合、判定部141は、通信システム1に含まれる各通信装置がデイジーチェーン接続されていると判定する(ステップS603)。
次に、切断判定部142は、判定部141が直前に判定した各通信装置の接続状態がリング接続であったか否かを判定する(ステップS604)。直前に判定した各通信装置の接続状態がリング接続であった場合、切断判定部142は、通信システム1に含まれる各通信装置のリング接続が切断されたと判定し(ステップS605)、一連のステップを終了する。一方、直前に判定した各通信装置の接続状態がリング接続でなかった場合、切断判定部142は、通信システム1に含まれる各通信装置は、前回の判定時から継続してデイジーチェーン接続されていたと判定し、一連のステップを終了する。
これにより、通信装置100は、通信システム1に含まれる各通信装置を接続するケーブルの切断又は何れかの通信装置の故障を検出することが可能となる。
前述したように、第1受信回路112aが第1隣接通信装置から制御パケットを所定期間受信していない場合、第1デコーダ114aは、第1構成情報レジスタ115aに記憶された第1接続情報をデイジーチェーン接続されていることに設定する。即ち、一旦、各通信装置の接続状態がリング接続であると判定されてから、第1接続情報がデイジーチェーン接続に更新されるということは、第1受信回路112aが第1隣接通信装置から制御パケットを所定期間受信していないことを意味する。つまり、判定部141は、第1接続情報が、各通信装置がリング接続されていることを示しているときに、第1受信回路112aが第1隣接通信装置から制御パケットを所定期間受信しなかった場合、各通信装置のリング接続が切断されたと判定する。
なお、判定部141は、第1接続情報と第2接続情報の両方に基づいて、各通信装置がリング接続されているか否かを判定してもよい。例えば、判定部141は、第1接続情報及び第2接続情報の内の少なくとも一方がリング接続を示している場合、リング接続と判定し、第1接続情報と第2接続情報の両方がデイジーチェーン接続を示している場合、デイジーチェーン接続と判定する。または、判定部141は、第1接続情報と第2接続情報の両方がリング接続を示している場合、リング接続と判定し、第1接続情報及び第2接続情報の内の少なくとも一方がデイジーチェーン接続を示している場合、デイジーチェーン接続と判定してもよい。
図12は、CPU140による通信装置総数算出処理の動作の例を示すフローチャートである。なお、以下に説明する動作のフローは、予め記憶装置101に記憶されているプログラムに基づき主にCPU140により通信装置100の各要素と協働して実行される。以下に説明する動作のフローは、CPU140により定期的に実行される。
最初に、総数算出部143は、第1構成情報レジスタ115aに記憶された第1ノード番号及び第2構成情報レジスタ115bに記憶された第2ノード番号の両方の値が所定期間変化していない状態になるまで待機する(ステップS701)。
例えば、通信装置100は、通信回路110に、第1構成情報レジスタ115aに記憶された第1ノード番号及び第2構成情報レジスタ115bに記憶された第2ノード番号の値の変化を検出する検出回路(不図示)を備える。総数算出部143は、その検出回路による検出結果に基づいて、第1ノード番号及び第2ノード番号の両方の値が変化していない状態が所定期間を超えるか否かを判定する。
第1ノード番号及び第2ノード番号の両方の値が所定期間変化していない場合、総数算出部143は、判定部141が各通信装置がリング接続されていると判定しているか否かを判定する(ステップS702)。
各通信装置がデイジーチェーン接続されている場合、総数算出部143は、第1構成情報レジスタ115aに記憶された第1ノード番号と第2構成情報レジスタ115bに記憶された第2ノード番号の和に基づいて通信システム1内の通信装置の総数を算出する。総数算出部143は、第1ノード番号と第2ノード番号の和に1を加算した値を、通信システム1に含まれる通信装置の総数として算出し(ステップS703)、一連のステップを終了する。
一方、各通信装置がリング接続されている場合、総数算出部143は、通信装置100が指定装置として指定されているか否かを判定する(ステップS704)。
通信装置100が指定装置として指定されていない場合、総数算出部143は、第1構成情報レジスタ115aに記憶された第1ノード番号と第2構成情報レジスタ115bに記憶された第2ノード番号の和に基づいて通信システム1内の通信装置の総数を算出する。総数算出部143は、第1ノード番号から所定値を減算した値と第2ノード番号から所定値を減算した値の和を、通信システム1に含まれる通信装置の総数として算出し(ステップS705)、一連のステップを終了する。
一方、通信装置100が指定装置として指定されている場合、総数算出部143は、第1隣接通信装置から受信した第1ノード番号及び第2隣接通信装置から受信した第2ノード番号の内の何れか一方に基づいて通信システム1内の通信装置の総数を算出する。総数算出部143は、受信した第1ノード番号又は第2ノード番号に1を加算した値から所定値を減算した値を、通信システム1に含まれる通信装置の総数として算出し(ステップS706)、一連のステップを終了する。
このように、通信システム1内の各通信装置は、ノード番号に基づいて、通信システム1に含まれる通信装置の総数を算出することができる。これにより、管理者によって、通信システム1内の各通信装置に、通信装置の総数が設定されることなく、各通信装置は、通信装置の総数を認識することができ、データパケットを送信する際の経路を適切に設定することができる。
さらに、各通信装置は、自装置のノード番号を認識することができるとともに、通信システム1に含まれる他の通信装置のノード番号を、各通信装置との間に存在する通信装置の数から認識することができる。これにより、管理者によって、通信システム1内の各通信装置に、他の通信装置のノード番号が設定されることなく、各通信装置は、他の通信装置のノード番号を認識することができ、通信相手となる通信装置を適切に設定することができる。
図13A〜図13D、図14A〜図14D、図15A〜図15B及び図16A〜図16Dは、通信システム1に含まれる各通信装置のノード番号及び接続情報の変化について説明するための模式図である。以下では、説明を容易にするために、各通信装置が同時に制御パケットを送信した場合の各通信装置の第1ノード番号、第2ノード番号及び第1接続情報の変化について説明する。
図13A〜図13Dは、通信システム1に含まれる各通信装置がデイジーチェーン接続されている場合の例を示す。
図13Aは、各通信装置が起動した直後の状態を示す。各通信装置の第1ノード番号及び第2ノード番号は、初期値である0に設定され、第1接続情報は初期値であるデイジーチェーン接続に設定される。
図13Bは、図13Aの状態から、各通信装置から隣接する通信装置に対して制御パケットが一つずつ送信された状態を示す。左側に接続する通信装置がない通信装置100aの第1ノード番号と、右側に接続する通信装置がない通信装置100dの第2ノード番号は0のままである。一方、他の第1ノード番号は、左隣りの通信装置の第1ノード番号(0)をインクリメントした値(1)に更新され、他の第2ノード番号は、右隣りの通信装置の第1ノード番号(0)をインクリメントした値(1)に更新される。
図13Cは、図13Bの状態から、各通信装置から隣接する通信装置に対して制御パケットが一つずつ送信された状態を示す。通信装置100aの第1ノード番号と通信装置100dの第2ノード番号は0のままである。通信装置100bの第1ノード番号は1となり、通信装置100c及び通信装置100dの第1ノード番号は2となる。一方、通信装置100cの第2ノード番号は1となり、通信装置100b及び通信装置100aの第1ノード番号は2となる。
図13Dは、図13Cの状態から、各通信装置から隣接する通信装置に対して制御パケットが一つずつ送信された状態を示す。通信装置100a、100b、100c、100dの第1ノード番号はそれぞれ0、1、2、3となり、第2ノード番号はそれぞれ3、2、1、0となる。以降、各通信装置の第1ノード番号及び第2ノード番号は変化しない。そのため、第1ノード番号は所定値(10)以上とならず、第1接続情報はデイジーチェーン接続から変化しない。各通信装置において、第1ノード番号と第2ノード番号の和(3)に1を加算した値(4)が、通信装置の総数を示す。
図14A〜図14D及び図15A〜図15Bは、通信システム1に含まれる各通信装置がリング接続されている場合の例を示す。この例では、通信装置100bが指定装置として指定されているものとする。
図14Aは、各通信装置が起動した直後の状態を示す。各通信装置の第1ノード番号及び第2ノード番号は、初期値である0に設定され、第1接続情報は初期値であるデイジーチェーン接続に設定される。
図14Bは、図14Aの状態から、各通信装置から隣接する通信装置に対して制御パケットが10ずつ送信された状態を示す。全ての通信装置の両隣には他の通信装置が接続されているため、各通信装置の第1ノード番号と第2ノード番号は10になる。
図14Cは、図14Bの状態から、各通信装置から隣接する通信装置に対して制御パケットが1つずつ送信された状態を示す。指定装置である通信装置100bが受信した第1ノード番号及び第2ノード番号が所定値(10)以上であるため、通信装置100bの第1ノード番号及び第2ノード番号は所定値(10)に更新され、第1接続情報はリング接続に更新される。他の通信装置の第1ノード番号及び第2ノード番号は11に更新される。
図14Dは、図14Cの状態から、各通信装置から隣接する通信装置に対して制御パケットが1つずつ送信された状態を示す。通信装置100bの第1ノード番号と第2ノード番号は10のままとなる。通信装置100bの右隣に位置する通信装置100cの第1ノード番号と、通信装置100bの左隣に位置する通信装置100aの第2ノード番号は11のままとなり、他の通信装置の第1ノード番号と第2ノード番号は12に更新される。また、通信装置100bの右隣に位置する通信装置100cの第1接続情報はリング接続に更新される。
図15Aは、図14Dの状態から、各通信装置から隣接する通信装置に対して制御パケットが1つずつ送信された状態を示す。通信装置100aの第1ノード番号と、通信装置100cの第2ノード番号は13に更新される。また、通信装置100dの第1接続情報はリング接続に更新される。
図15Bは、図15Aの状態から、各通信装置から隣接する通信装置に対して制御パケットが2つずつ送信された状態を示す。全ての通信装置の第1接続情報はリング接続となる。以降、各通信装置の第1ノード番号及び第2ノード番号は変化しない。指定装置である通信装置100bでは、以降に受信する第1ノード番号又は第2ノード番号(13)に1を加算した値から所定値(10)を減算した値(4)が通信装置の総数を示す。他の通信装置では、第1ノード番号から所定値(10)を減算した値と第2ノード番号から所定値(10)を減算した値の和(4)が通信装置の総数を示す。
図16A〜図16Dは、通信システム1に含まれる各通信装置のリング接続が切断される場合の例を示す。
図16Aは、図15Bに示す状態から、通信装置100aと通信装置100dの間の接続が切断された状態を示す。左隣の通信装置から制御パケットを所定期間受信しない通信装置100aの第1ノード番号と、右隣の通信装置から制御パケットを所定期間受信しない通信装置100dの第2ノード番号は0に更新される。また、通信装置100aの第1接続情報はデイジーチェーン接続に更新される。
図16Bは、図16Aに示す状態から、各通信装置から隣接する通信装置に対して制御パケットが一つずつ送信された状態を示す。通信装置100aの第1ノード番号と、通信装置100dの第2ノード番号は0のままであり、通信装置100bの第1ノード番号と通信装置100cの第2ノード番号は1に更新される。また、通信装置100bの第1接続情報はデイジーチェーン接続に更新される。
図16Cは、図16Bに示す状態から、各通信装置から隣接する通信装置に対して制御パケットが一つずつ送信された状態を示す。通信装置100cの第1ノード番号と通信装置100bの第2ノード番号は2に更新される。また、通信装置100cの第1接続情報はデイジーチェーン接続に更新される。
図16Dは、図16Cに示す状態から、各通信装置から隣接する通信装置に対して制御パケットが一つずつ送信された状態を示す。通信装置100dの第1ノード番号と通信装置100aの第2ノード番号は3に更新される。全ての通信装置の第1接続情報はデイジーチェーン接続に更新される。以降、各通信装置の第1ノード番号及び第2ノード番号はそれぞれ変化しない。
以上詳述したように、図6〜図12に示したシーケンスに従って動作することにより、各通信装置は、一方側に隣接する通信装置から受信したノード番号をインクリメントして他方側に隣接する通信装置に自発的に送信し、ノード番号に基づいて接続状態を判定する。これにより、通信システムの管理者は、複数の通信装置の内から予めマスタとなる装置を、デイジーチェーンの一端のような特定の位置に限定して設定する必要がなくなる。したがって、通信システム1は、通信システムに含まれる各通信装置への管理者による設定を簡易にしつつ、各通信装置がリング接続されているかデイジーチェーン接続されているかを判定することが可能となった。
これにより、管理者による各通信装置の設定作業の作業時間の短縮が可能となるとともに、設定の人為的誤りを防止することが可能となった。
また、各通信装置は、自発的に制御パケットを送信するため、通信システム1に新たな通信装置が加えられた場合、又は通信システム1から特定の通信装置が除かれた場合に、各通信装置のノード番号、接続状態、通信装置の総数等の変化が自動的に検出される。
以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されるものではない。例えば、通信装置100において、CPU140及び/又は記憶装置101は、通信回路110外に設けられるのではなく、通信回路110内に設けられてもよい。また、データパケット内のデータを記憶する記憶装置101は、通信回路110外と通信回路110内の両方に設けられてもよい。これにより、通信装置100は、データの種類等によって、データを記憶する領域を柔軟に変更することができ、ユーザはデータを適切に管理することが可能となる。
また、通信回路110において、第1ポート111a側へデータを送るための構成と、第2ポート111b側へデータを送るための構成の内の何れか一方は省略されてもよい。即ち、第1受信回路112a、第1デコーダ114a、第1構成情報レジスタ115a、第1送信間隔変更回路116a、第1タイミングレジスタ117a、第1タイミング生成回路118a及び第1構成情報送信回路119aは省略されてもよい。その場合、第1DMAコントローラ120a、第1アービタ121a及び第1送信回路122aも省略される。または、第2受信回路112b、第2デコーダ114b、第2構成情報レジスタ115b、第2送信間隔変更回路116b、第2タイミングレジスタ117b、第2タイミング生成回路118b及び第2構成情報送信回路119bが省略されてもよい。その場合、第2DMAコントローラ120b、第2アービタ121b及び第2送信回路122bも省略される。
また、第1接続情報及び第2接続情報の内の何れか一方は省略されてもよい。例えば、第2接続情報が省略される場合、第2デコーダ114bは、第2接続情報を更新しない。即ち、第2デコーダ114bによって図7の更新処理が実施される場合、ステップS204及びS206の処理は省略される。また、ステップS202において、第2デコーダ114bは、第2ノード番号が所定値以上であるか否かを判別する代わりに、第1接続情報がリング接続されていることに設定されているか否かを判別してもよい。また、図11に示す接続状態判定処理において、判定部141は、第1接続情報に基づいて、通信システム1に含まれる各通信装置がリング接続されているか否かを判定する。
また、第1接続情報及び第2接続情報の両方が省略されてもよい。その場合、第1デコーダ114a及び第2デコーダ114bは、それぞれ第1接続情報及び第2接続情報を更新しない。判定部141は、通信装置100が指定装置として指定されている場合、第1ノード番号又は第2ノード番号に基づいて、通信システム1に含まれる各通信装置がリング接続されているか否かを判定する。その場合でも、指定装置として指定されている通信装置100は、各通信装置がリング接続されているか否かを判定することができる。
また、第1送信回路122a及び第2送信回路122bは、制御パケットを任意のタイミングで送信すればよく、定期的に送信しなくてもよい。
また、図11のステップS604〜S605に示した、通信システム1に含まれる各通信装置のリング接続が切断されたか否かを判定する処理が省略されてもよい。その場合、CPU140において切断判定部142が省略可能である。
また、図12に示した通信装置総数算出処理が省略されてもよい。その場合、CPU140において総数算出部143が省略可能である。
また、制御パケットは固定の間隔で送信されてもよい。その場合、通信回路110において第1送信間隔変更回路116a及び第2送信間隔変更回路116bが省略可能である。
1 通信システム
100a〜100d 通信装置
101 記憶装置
110 通信回路
112a 第1受信回路
112b 第2受信回路
114a 第1デコーダ
114b 第2デコーダ
115a 第1構成情報レジスタ
115b 第2構成情報レジスタ
116a 第1送信間隔変更回路
116b 第2送信間隔変更回路
122a 第1送信回路
122b 第2送信回路
140 CPU
141 判定部
142 切断判定部
143 総数算出部

Claims (11)

  1. 複数の通信装置がリング接続又はデイジーチェーン接続される通信システムであって、
    前記複数の通信装置のそれぞれが、
    ノード番号及び指定装置として指定されているか否かを示す情報を記憶する記憶部と、
    一方側に隣接する通信装置から前記一方側に隣接する通信装置のノード番号を受信可能である受信部と、
    前記受信部がノード番号を受信したときに、指定装置として指定されていない場合又は受信したノード番号が所定値未満である場合に前記記憶部に記憶されたノード番号を受信したノード番号をインクリメントした番号に更新し、及び、指定装置として指定されている場合且つ受信したノード番号が前記所定値以上である場合に前記記憶部に記憶されたノード番号を前記所定値に更新する、更新部と、
    自発的に、前記記憶部に記憶されたノード番号を、他方側に隣接する通信装置に送信可能である送信部と、
    指定装置として指定されている場合且つ前記更新部が前記記憶部に記憶されたノード番号を前記所定値に更新した場合、前記複数の通信装置がリング接続されていると判定する判定部と、
    を有することを特徴とする通信システム。
  2. 前記送信部は、前記複数の通信装置がリング接続されているか否かを示す接続情報を、前記他方側に隣接する通信装置に送信可能である、請求項1に記載の通信システム。
  3. 前記送信部は、定期的に、前記記憶部に記憶されたノード番号を、前記他方側に隣接する通信装置に送信可能であり、
    前記複数の通信装置のそれぞれが、
    前記接続情報が前記複数の通信装置がリング接続されていることを示しているときに、前記受信部が前記一方側に隣接する通信装置からノード番号を所定期間受信しなかった場合、前記複数の通信装置のリング接続が切断されたと判定する切断判定部をさらに有する、請求項2に記載の通信システム。
  4. 前記記憶部は、第2ノード番号をさらに記憶し、
    前記受信部は、前記他方側に隣接する通信装置から前記他方側に隣接する通信装置の第2ノード番号を受信可能であり、
    前記更新部は、前記受信部が第2ノード番号を受信した場合、前記記憶部に記憶された第2ノード番号を、受信した第2ノード番号をインクリメントした番号に更新し、
    前記送信部は、自発的に、前記記憶部に記憶された第2ノード番号を、前記一方側に隣接する通信装置に送信可能であり、
    前記複数の通信装置のそれぞれが、
    前記記憶部に記憶されたノード番号及び第2ノード番号の両方の値が所定期間変化しない場合、前記受信部が受信したノード番号及び第2ノード番号の内の少なくとも一方に基づいて、前記複数の通信装置の総数を算出する総数算出部をさらに有する、請求項1〜3の何れか一項に記載の通信システム。
  5. 前記総数算出部は、前記複数の通信装置がリング接続されていない場合、又は、指定装置として指定されていない場合、前記記憶部に記憶されたノード番号と第2ノード番号の和に基づいて、前記複数の通信装置の総数を算出し、前記複数の通信装置がリング接続されている場合且つ指定装置として指定されている場合、前記受信部が受信したノード番号及び第2ノード番号の内の何れか一方に基づいて、前記複数の通信装置の総数を算出する、請求項4に記載の通信システム。
  6. 前記送信部は、定期的に、前記記憶部に記憶されたノード番号を、前記他方側に隣接する通信装置に送信可能であり、
    前記複数の通信装置のそれぞれが、
    前記ノード番号が一定期間変化しなかった場合、前記送信部が前記ノード番号を送信する間隔を変更する送信間隔変更部をさらに有する、請求項1〜5の何れか一項に記載の通信システム。
  7. 前記送信間隔変更部は、前記ノード番号が一定期間変化しなかった後に、再度変化した場合、前記送信部が前記ノード番号を送信する間隔を再度変更する、請求項6に記載の通信システム。
  8. 前記送信部は、定期的に、前記記憶部に記憶されたノード番号を、前記他方側に隣接する通信装置に送信可能であり、
    前記複数の通信装置のそれぞれが、
    前記通信装置の通信量に応じて、前記送信部が前記ノード番号を送信する間隔を変更する送信間隔変更部をさらに有する、請求項1〜5の何れか一項に記載の通信システム。
  9. 複数の通信装置がリング接続又はデイジーチェーン接続される通信システムに含まれる通信装置であって、
    ノード番号及び指定装置として指定されているか否かを示す情報を記憶する記憶部と、
    一方側に隣接する通信装置から自発的に送信される前記一方側に隣接する通信装置のノード番号を受信可能である受信部と、
    前記受信部がノード番号を受信したときに、指定装置として指定されていない場合又は受信したノード番号が所定値未満である場合に前記記憶部に記憶されたノード番号を受信したノード番号をインクリメントした番号に更新し、及び、指定装置として指定されている場合且つ受信したノード番号が前記所定値以上である場合に前記記憶部に記憶されたノード番号を前記所定値に更新する、更新部と、
    自発的に、前記記憶部に記憶されたノード番号を、他方側に隣接する通信装置に送信可能である送信部と、
    指定装置として指定されている場合且つ前記更新部が前記記憶部に記憶されたノード番号を前記所定値に更新した場合、前記複数の通信装置がリング接続されていると判定する判定部と、
    を有することを特徴とする通信装置。
  10. 複数の通信装置がリング接続又はデイジーチェーン接続される通信システムにおける接続状態判定方法であって、
    前記複数の通信装置のそれぞれが、
    ノード番号及び指定装置として指定されているか否かを示す情報を記憶部に記憶し、
    一方側に隣接する通信装置から前記一方側に隣接する通信装置のノード番号を受信可能であり、
    前記ノード番号を受信したときに、指定装置として指定されていない場合又は受信したノード番号が所定値未満である場合に前記記憶部に記憶されたノード番号を受信したノード番号をインクリメントした番号に更新し、及び、指定装置として指定されている場合且つ受信したノード番号が前記所定値以上である場合に前記記憶部に記憶されたノード番号を前記所定値に更新し、
    自発的に、前記記憶部に記憶されたノード番号を、他方側に隣接する通信装置に送信可能であり、
    指定装置として指定されている場合且つ前記記憶部に記憶されたノード番号が前記所定値に更新された場合、前記複数の通信装置がリング接続されていると判定する、
    ことを含むことを特徴とする接続状態判定方法。
  11. 複数の通信装置がリング接続又はデイジーチェーン接続される通信システムに含まれる通信装置に実行させる制御プログラムであって、
    ノード番号及び指定装置として指定されているか否かを示す情報を記憶部に記憶し、
    一方側に隣接する通信装置から自発的に送信される前記一方側に隣接する通信装置のノード番号を受信可能であり、
    前記ノード番号を受信したときに、指定装置として指定されていない場合又は受信したノード番号が所定値未満である場合に前記記憶部に記憶されたノード番号を受信したノード番号をインクリメントした番号に更新し、及び、指定装置として指定されている場合且つ受信したノード番号が前記所定値以上である場合に前記記憶部に記憶されたノード番号を前記所定値に更新し、
    自発的に、前記記憶部に記憶されたノード番号を、他方側に隣接する通信装置に送信可能であり、
    指定装置として指定されている場合且つ前記記憶部に記憶されたノード番号が前記所定値に更新された場合、前記複数の通信装置がリング接続されていると判定する、
    ことを前記通信装置に実行させることを特徴とする制御プログラム。
JP2014118070A 2014-06-06 2014-06-06 通信システム、通信装置、接続状態判定方法及び制御プログラム Active JP5815085B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014118070A JP5815085B1 (ja) 2014-06-06 2014-06-06 通信システム、通信装置、接続状態判定方法及び制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014118070A JP5815085B1 (ja) 2014-06-06 2014-06-06 通信システム、通信装置、接続状態判定方法及び制御プログラム

Publications (2)

Publication Number Publication Date
JP5815085B1 JP5815085B1 (ja) 2015-11-17
JP2015231217A true JP2015231217A (ja) 2015-12-21

Family

ID=54595911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014118070A Active JP5815085B1 (ja) 2014-06-06 2014-06-06 通信システム、通信装置、接続状態判定方法及び制御プログラム

Country Status (1)

Country Link
JP (1) JP5815085B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017149838A1 (ja) * 2016-02-29 2017-09-08 株式会社オーディオテクニカ 会議システム
US10225409B2 (en) 2016-02-29 2019-03-05 Audio-Technica Corporation Conference system
US10791156B2 (en) 2016-02-29 2020-09-29 Audio-Technica Corporation Conference system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5407633B2 (ja) * 2008-07-28 2014-02-05 株式会社リコー 通信装置及びそれを有する通信システム並びに通信方法
JP5818362B2 (ja) * 2012-05-21 2015-11-18 日本電信電話株式会社 ネットワークシステム、ネットワーク管理装置、ネットワーク管理プログラム及びネットワーク管理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017149838A1 (ja) * 2016-02-29 2017-09-08 株式会社オーディオテクニカ 会議システム
US10225409B2 (en) 2016-02-29 2019-03-05 Audio-Technica Corporation Conference system
US10666809B2 (en) 2016-02-29 2020-05-26 Audio-Technica Corporation Conference system
US10791156B2 (en) 2016-02-29 2020-09-29 Audio-Technica Corporation Conference system

Also Published As

Publication number Publication date
JP5815085B1 (ja) 2015-11-17

Similar Documents

Publication Publication Date Title
EP2768188A1 (en) Pcie-based data transmission system and method
JP4831473B2 (ja) ネットワーク管理方法、プログラム及びシステム
US20150003247A1 (en) Mechanism to control resource utilization with adaptive routing
KR102208580B1 (ko) 무인 이동체, 무인 이동체들 사이의 시간 동기화 지원 장치 및 그 방법
US20170068628A1 (en) Reducing ethernet latency in a multi-server chassis
JP2012064021A (ja) 通信システム、マスター装置、及びスレーブ装置、並びに通信方法
US10542095B2 (en) Synchronization measurement system, synchronization measurement method, controller, sensor unit, synchronous signal generation unit, synchronous signal transfer unit, and program
US9176917B2 (en) SAS latency based routing
JP2019113917A (ja) データ処理装置、及びデータ処理装置の制御方法
JP5815085B1 (ja) 通信システム、通信装置、接続状態判定方法及び制御プログラム
WO2016132530A1 (ja) 通信装置、通信方法及びプログラム
JP6254617B2 (ja) 改良3dトーラス
CN107291641B (zh) 用于计算单元的存储器直接访问控制装置及其运行方法
US10073801B2 (en) Computer and method of controlling I/O switch of computer
JP2005277978A (ja) 識別番号自動設定方法及び識別番号自動設定装置
TW202119218A (zh) 具備擴充外部裝置功能的橋接晶片以及擴充方法
Ayavoo et al. Two novel shared-clock scheduling algorithms for use with CAN-based distributed systems
EP3125470B1 (en) Apparatus for detecting ethernet frame
JP2016082363A (ja) 通信装置、情報処理装置、情報処理システム及び通信装置の制御方法
US9342473B2 (en) Parallel computer system, crossbar switch, and method of controlling parallel computer system according to selective transmission of data via ports of the crossbar switch
US10523457B2 (en) Network communication method, system and controller of PCIe and Ethernet hybrid networks
JP2011146897A (ja) 通信システム
KR101346461B1 (ko) 이종 네트워크 간 통신을 위한 네트워크 연결장치 및 네트워크 연결방법
US9141579B2 (en) Apparatus and method for routing data among multiple cores
CN112817893A (zh) 具备扩充外部装置功能的桥接芯片以及扩充方法

Legal Events

Date Code Title Description
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: 20150825

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150918

R150 Certificate of patent or registration of utility model

Ref document number: 5815085

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150