(57)【要約】【課題】全二重リングを用いた通信システムにおいて、双方向に分散してデータを伝送したとしても、双方向のうち一方の伝送路の利用率は低く、通信システム全体の伝送路利用率が低くなってしまう。【解決手段】リング接続された通信システムにおいて全二重モードと半二重モードを切り換えてデータ通信を行う。さらに、リング上に接続されたデバイスの位置関係を考慮して方向切り換えを効率よく行う。これによって、切り換え時のオーバーヘッドやエラー発生確率を減らして伝送路方向切り換えによるシステムの信頼性低下を抑えつつ、全二重リングに比べ伝送効率を落とすことなく伝送路資源を低減できる。【選択図】図２ａ
2011142426.tif 000002
【特許請求の範囲】
【請求項１】
他のデバイスとのデータ送受信を制御する通信装置であって、
環状に接続された他の複数の通信装置とデータ送受信を行う、第１の送受信部、及び第２の送受信部と、
前記第１の送受信部、及び第２の送受信部を介してデータ送受信が可能な他の通信装置をそれぞれ識別するデバイス位置判断部と、
前記他の通信装置の内の第１の通信装置へ、前記第１及び第２の送受信部を用いてともにデータを送信している際に、一方のデータ送信を受信に切り換えることで前記第１の通信装置からデータ受信をする場合、前記デバイス位置判断部で識別された情報に基づいて、該通信装置と前記第１の通信装置間に含まれる他の通信装置の数が少ない方の通信路に接続される送受信部を受信方向に切り換える適応型方向切換制御部と、
を備える通信装置。
【請求項２】
前記デバイス位置判断部は、
該通信装置及び前記他の複数の通信装置に割当てられたＩＤにより、該通信装置と前記第１の通信装置と、の間に含まれる他の通信装置の数を判定する、
請求項１に記載の通信装置。
【請求項３】
前記デバイス位置判断部は、
該通信装置と前記第１の通信装置との間で交換されるパケットに設定された情報から、該通信装置と前記第１の通信装置との間に含まれる他の通信装置の数を判定する、
請求項１に記載の通信装置。
【請求項４】
前記適応型方向切換制御部は、
指定された全データ数を送信完了していないときは、該通信装置と前記第１の通信装置との間に含まれる他の通信装置の数が少ない方の通信路に接続される送受信部を受信方向に切り換え、全データ数を送信完了したときはデータ伝送開始前の方向に合わせて前記送受信部の方向を切り換える、
請求項１に記載の通信装置。
【請求項５】
他のデバイスとのデータ送受信を制御する通信装置であって、
環状に接続された他の複数の通信装置とデータ送受信を行う、第１の送受信部、及び第２の送受信部と、
前記第１の送受信部、及び第２の送受信部を介してデータ送受信が可能な他の通信装置をそれぞれ識別するデバイス位置判断部と、
前記他の通信装置の内の第１の通信装置へ、前記第１及び第２の送受信部を用いてともにデータを送信している際に、一方のデータ送信を受信に切り換えることで前記第１の通信装置からデータ受信をする場合、前記デバイス位置判断部で識別された情報に基づいて、該通信装置と前記第１の通信装置間に含まれる通信路で発生したエラー率が少ない方の通信路に接続される送受信部を受信方向に切り換える適応型方向切換部と、
を備える通信装置。
【請求項６】
前記デバイス位置判断部は、
該通信装置と、前記他の通信装置との間に含まれる通信路におけるエラー発生数等の情報により該通信装置と前記第１の通信装置との間に含まれる通信路のエラー率を判定する、
請求項５に記載の通信装置。
【請求項７】
前記適応型方向切換制御部は、
指定された全データ数を送信完了していないときは該通信装置と前記第１の通信装置との間に含まれる通信路のエラー率が少ない方の通信路に接続される送受信部を受信方向に切り換え、全データ数を送信完了したときはデータ伝送開始前の方向に合わせて前記送受信部の方向を切り換える、
請求項５に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルリンクを介してリング接続された複数の通信装置間のインターフェースを制御するインターフェース回路を含む通信装置に関する。
【背景技術】
【０００２】
近年の半導体微細化・高速化技術の進展に伴って、機器間あるいは機器内に搭載される
ＬＳＩ間で伝送されるデータ量は益々増加傾向にあるが、その一方で、パッケージコストに影響するＬＳＩの端子（パッド）数には厳しい制約がある。そこで、より少ないパッド数で高速データ伝送を実現するためにシリアル伝送を採用したインターフェース規格が広く普及している。シリアル伝送路において、複数の通信装置を接続するためのトポロジとしてはリング接続が挙げられる。
【０００３】
特許文献１に開示されている技術では、全二重回線で構成されたリングネットワークにおいて特定の２デバイス間でのみデータ伝送を行う際に、全二重回線の双方向にデータを分散して伝送することでパッド数を増やすことなく伝送効率を高めている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−１２６４３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の通信回路は全二重回線でリングが構成されているため、双方向に分散してデータを伝送したとしても、全二重回線の一方の伝送路はデータが流れるためトラフィックを密にできるが、もう一方の伝送路は割り込み通知や送達確認等の情報しか流れないため、データが流れている伝送路に比べトラフィックが疎になる。
【０００６】
図８は、特許文献１に係る通信システム１０００を示すブロック図であり、通信装置０（１００ａ）から通信装置１（１００ｂ）への全二重回線の双方向を用いたデータ伝送を例示している。この場合、図中破線で示した伝送路の利用率は低く、これによって、通信システム全体の伝送路利用率が低くなってしまう。
【０００７】
そこで本発明は、上記問題点を鑑み、リング接続された通信システムにおいて、伝送効率を保持しつつ、必要な伝送路資源を低減するインターフェース回路、通信装置、通信システムおよびその通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、他のデバイスとのデータ送受信を制御する通信装置は、環状に接続された他の複数の通信装置とデータ送受信を行う、第１の送受信部、及び第２の送受信部と、前記第１の送受信部、及び第２の送受信部を介してデータ送受信が可能な他の通信装置をそれぞれ識別するデバイス位置判断部と、前記他の通信装置の内の第１の通信装置へ、前記第１及び第２の送受信部を用いてともにデータを送信している際に、一方のデータ送信を受信に切り換えることで前記第１の通信装置からデータ受信をする場合、前記デバイス位置判断部で識別された情報に基づいて、該通信装置と前記第１の通信装置間に含まれる他の通信装置の数が少ない方の通信路に接続される送受信部を受信方向に切り換える適応型方向切換制御部と、を備えることを特徴とする。
【０００９】
これによって、リング接続された通信システムにおいて、伝送効率を保持しつつ必要な伝送路資源を低減でき、かつ伝送路方向切り換えによるシステムの信頼性低下を抑えることができる。
【００１０】
また、上記の通信装置は、前記デバイス位置判断部が、該通信装置及び前記他の複数の通信装置に割当てられたＩＤにより、該通信装置と前記第１の通信装置と、の間に含まれる他の通信装置の数を判定する、ものであってもよい。
【００１１】
また、上記の通信装置は、前記デバイス位置判断部が、該通信装置と前記第１の通信装置との間で交換されるパケットに設定された情報から、該通信装置と前記第１の通信装置との間に含まれる他の通信装置の数を判定する、ものであってもよい。
【００１２】
また、上記の通信装置は、前記適応型方向切換制御部が、指定された全データ数を送信完了していないときは、該通信装置と前記第１の通信装置との間に含まれる他の通信装置の数が少ない方の通信路に接続される送受信部を受信方向に切り換え、全データ数を送信完了したときはデータ伝送開始前の方向に合わせて前記送受信部の方向を切り換える、ものであってもよい。
【００１３】
また、別の通信装置として、環状に接続された他の複数の通信装置とデータ送受信を行う、第１の送受信部、及び第２の送受信部と、前記第１の送受信部、及び第２の送受信部を介してデータ送受信が可能な他の通信装置をそれぞれ識別するデバイス位置判断部と、前記他の通信装置の内の第１の通信装置へ、前記第１及び第２の送受信部を用いてともにデータを送信している際に、一方のデータ送信を受信に切り換えることで前記第１の通信装置からデータ受信をする場合、前記デバイス位置判断部で識別された情報に基づいて、該通信装置と前記第１の通信装置間に含まれる通信路で発生したエラー率が少ない方の通信路に接続される送受信部を受信方向に切り換える適応型方向切換部と、を備えることを特徴とする。
【００１４】
これによって、リング接続された通信システムにおいて、伝送効率を保持しつつ必要な伝送路資源を低減でき、かつ伝送路方向切り換えによるシステムの信頼性低下を抑えることができる。
【００１５】
また、上記の通信装置は、前記デバイス位置判断部が、該通信装置と、前記他の通信装置との間に含まれる通信路におけるエラー発生数等の情報により該通信装置と前記第１の通信装置との間に含まれる通信路のエラー率を判定する、ものであってもよい。
【００１６】
また、上記の通信装置は、前記適応型方向切換制御部が、指定された全データ数を送信完了していないときは該通信装置と前記第１の通信装置との間に含まれる通信路のエラー率が少ない方の通信路に接続される送受信部を受信方向に切り換え、全データ数を送信完了したときはデータ伝送開始前の方向に合わせて前記送受信部の方向を切り換える、ものであってもよい。
【発明の効果】
【００１７】
本発明によれば、リング接続された通信システムにおいて全二重モードと半二重モードを切り換えてデータ通信を行うことで、伝送効率を落とすことなく伝送路資源を低減できる。さらに、モード切り換えを効率よく行うことで、切り換え時のオーバーヘッドやエラー発生確率を減らすことができる。これによって、伝送路方向切り換えによるシステムの信頼性低下を抑えつつ、伝送路資源の低減が可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る通信システム２０００の概略構成図
【図２ａ】全二重モード時の通信装置の状態を示す図
【図２ｂ】半二重モード時のデータ送信側の状態を示す図
【図２ｃ】半二重モード時のデータ受信側の状態を示す図
【図３ａ】本発明の実施形態に係る通信システムの一般的な通信を示す図
【図３ｂ】本発明の実施形態に係る通信システムにおいて、ＩＤ割当てシーケンス後の、各スレーブ通信装置に設定されたＩＤおよび、マスタ通信装置４００ａにて保持されるデバイス位置情報を示す図
【図４】（ａ）本発明の実施形態に係る通信装置間で交換されるパケットのフォーマット図、（ｂ）本発明の実施形態に関わる通信装置間でＩＤを割り振る場合のパケットを示す図
【図５】マスタ通信装置４００ａにおける半二重データ伝送実行のフローチャート
【図６】スレーブ通信装置４００ｃにおける半二重データ伝送実行のフローチャート
【図７ａ】通信システムが全二重状態の通信状態を示す図
【図７ｂ】通信システムが半二重状態の通信状態を示す図
【図７ｃ】通信システムがインターバル時に一時的に全二重状態となった場合の通信状態を示す図
【図８】特許文献１に係る通信システム１０００の概略構成図
【発明を実施するための形態】
【００１９】
本発明の実施形態について、以下、図面を参照しながら説明する。なお、各実施形態において、以前に説明した符号の説明は省略する。
【００２０】
＜１．１：通信システムの構成＞
図１は、本発明の実施形態に係る通信システム２０００を示すブロック図である。
【００２１】
本実施形態に係る通信システム２０００は、図１に示すように、通信装置（２００：２００ａから２００ｆ）と、シリアルリンク２５０（２５０ａから２５０ｆ）と、を備え、各通信装置２００はシリアルリンク２５０を介して順次接続され、リングトポロジの通信システムを形成している。図１では、通信装置０（２００ａ）がマスタ通信装置、それ以外の通信装置１から５（２００ｂから２００ｆ）がスレーブ通信装置であるとする。
【００２２】
通信装置２００は、プロトコル処理部（ＰＲＯＴ）２１０（２１０ａから２１０ｆ）と、送受信処理部（ＰＨＹ）２２０（２２０ａから２２０ｆ）と、を含む。送受信処理部２２０は、それぞれシリアル送信部（Ｔｘ）２３０（２３０ａから２３０ｆ）と、シリアル受信部（Ｒｘ）２４０（２４０ａから２４０ｆ）と、を含み、これらシリアル送信部２３０とシリアル受信部２４０は、送受信処理部２２０内の適応型方向切換制御部（不図示）によって、シリアル送信部２３０をシリアル受信部２４０に、もしくはシリアル受信部２４０をシリアル送信部２３０に自在に切り換えることができる。これによって、データ伝送モードを全二重モード・半二重モードに切り換え可能となる。
【００２３】
ここで、各通信装置間で交換されるパケットは図４（ａ）に示すようなフィールドで構成され、ヘッダフィールド５０１には宛先情報が、ペイロードフィールド５０２には各種データが格納される。パケット受信時、スレーブ通信装置はプロトコル処理部２１０において受信パケットの宛先情報が自通信装置宛を示すかどうかを判定し、他通信装置宛の場合、その受信パケットを送信パケットとしてリング上の後段の通信装置に受け渡す中継処理を行う。
【００２４】
このように、パケットの発信元と宛先の間に位置する通信装置がパケットを後段の通信装置へ受け渡すだけの「中継局」となることで、リング接続をされていても、マスタと任意のスレーブ間でパケットを交換できる。
【００２５】
＜１．２：通信装置の構成＞
図２は、本発明の実施形態に係る通信装置３００を示すブロック図である。図２ａは全二重モード時の通信装置の状態を、図２ｂ、図２ｃはそれぞれ、半二重モード時のデータ送信側、データ受信側の通信装置の状態を示している。本実施形態に係る通信装置３００は、プロトコル処理部３４０と、送受信処理部３１０と、を含む。
【００２６】
プロトコル処理部３４０は、所定のプロトコルに基づいて他の通信装置から入力した受信パケットの解釈や、他の通信装置に対して出力する送信パケットの生成を行うものである。
【００２７】
また、送受信処理部３１０は、第１シリアルリンク３５０を介してリング上の前段の通信装置からシリアルデータを受信し、それを受信パケットに変換してプロトコル処理部３４０に受け渡す。また、プロトコル処理部３４０で生成された送信パケットをシリアルデータに変換して、第２シリアルリンク３５１を介して後段の通信装置に送信する。
【００２８】
（１．２．１：プロトコル処理部３４０の内部構成）
まず、プロトコル処理部３４０の内部構成について説明する。プロトコル処理部３４０は、パケット中継部３４１と、コマンド／データ処理部３４２と、ＰＲＯＴ制御部３４３と、デバイス位置判断部３４４と、ＰＨＹ制御部３４５と、を含む。
【００２９】
パケット中継部３４１は、送受信処理部３１０より入力された受信パケットの宛先が他通信装置宛の場合、再び送受信処理部３１０に出力してパケットの中継処理を行う。また、自通信装置宛のパケットの場合は、コマンドやデータ等のパケットタイプに応じてコマンド／データ処理部３４２へ受け渡す。
【００３０】
コマンド／データ処理部３４２は、パケット中継部３４１から与えられたコマンドやデータ等の受信パケットの解釈およびエラーチェックを行い、その結果をＰＲＯＴ制御部３４３やＰＨＹ制御部３４５に通知する。また、ＰＲＯＴ制御部３４３の指示により送信パケットの生成を行い、パケット中継部３４１を介して送受信処理部３１０へ渡す。
【００３１】
ＰＲＯＴ制御部３４３は、コマンドの実行制御やアプリケーション層（不図示）との通信、ＣＰＵ（不図示）への割り込み要求およびその他システム状態の管理等、プロトコル処理部３４０の全体を制御する。
【００３２】
デバイス位置判断部３４４は、リング接続された通信システムにおいて通信装置３００と、リング上の他の通信装置との識別情報を判定し保持する。識別情報としては、通信装置３００と他の通信装置間に存在する通信装置の物理的な数や、通信装置３００と他の通信装置間に存在するリンクのエラー率等の情報が保持される。
【００３３】
ＰＨＹ制御部３４５は、送受信処理部３１０の状態管理および制御を行う。コマンド／データ処理部３４２でのパケット解釈・生成情報や、データ伝送量を計数するカウンタ（不図示）の値およびデバイス位置判断部３４４で判定された位置情報等を基に、送受信処理部３１０へリンク方向切り換え指示等の通知を行う。
【００３４】
図１に示すマスタ通信装置２００ａ内のコマンド／データ処理部３４２は、通信相手となるスレーブ通信装置に対してコマンドパケットを発行し、スレーブ通信装置（２００ｂから２００ｆ）からレスポンスパケットを受信してハンドシェークが成立するまで待機する。
【００３５】
反対に、スレーブ通信装置（２００ｂから２００ｆ）内のコマンド／データ処理部３４２は、マスタ通信装置２００ａからのコマンドパケットを受け、そこで指示されたデータ伝送等の指示が実行可能であれば、ＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅ）情報を含むレスポンスパケットを発行し、ハンドシェークを成立させる。このハンドシェークの結果に基づいて、コマンド／データ処理部３４２はデータパケットの読出し（Ｒｅａｄ）や書込み（Ｗｒｉｔｅ）等を実行する。
【００３６】
（１．２．２：送受信処理部３１０の内部構成）
次に、送受信処理部３１０の内部構成について説明する。送受信処理部３１０は、入出力端子３１１、３１２と、シリアル受信部（Ｒｘ）３１３ａ、３１３ｂと、復号化部３１７ａ、３１７ｂと、符号化部３１８ａ、３１８ｂと、シリアル送信部（Ｔｘ）３１９ａ、３１９ｂと、適応型方向切換制御部３３０と、を含む。
【００３７】
シリアル受信部３１３ａ、３１３ｂは、各々シリアルレシーバ３１４ａ、３１４ｂと、ＣＤＲ（Ｃｌｏｃｋ  Ｄａｔａ  Ｒｅｃｏｖｅｒｙ）部３１５ａ、３１５ｂと、シリアル／パラレル変換部３１６ａ、３１６ｂと、を含む。
【００３８】
シリアル送信部３１９ａ、３１９ｂは、各々パラレル／シリアル変換部３２０ａ、３２０ｂと、シリアルドライバ３２１ａ、３２１ｂと、を含む。
【００３９】
入出力端子３１１、３１２は各々第１シリアルリンク３５０、第２シリアルリンク３５１に接続されており、適応型方向切換制御部３３０によって送信状態か受信状態かを制御され、送信状態ではシリアル送信部に、受信状態ではシリアル受信部に接続される。
【００４０】
シリアルレシーバ３１４ａ、３１４ｂは、各々第１シリアルリンク３５０、第２シリアルリンク３５１を介してリング上の前段の通信装置からシリアルデータを受信する。
【００４１】
ＣＤＲ部３１５ａ、３１５ｂは、外部のクロックソース（不図示）から入力するリファレンス（基準）クロックとシリアル受信データに基づいて、データクロックの生成およびシリアル受信データの同期化を行う。
【００４２】
シリアル／パラレル変換部３１６ａ、３１６ｂは、シリアル受信データのビット列を８Ｂ１０Ｂ方式のシンボル長（１０ビット幅）に変換して出力する。
【００４３】
復号化部３１７ａ、３１７ｂは、各々シリアル／パラレル変換部３１６ａ、３１６ｂから入力された１０ビット幅のシンボルデータを、８Ｂ１０Ｂ方式の復号テーブルによって元の８ビット（バイト）データに復号する。これによって、プロトコル処理部３４０が受信パケットとして扱えるようにする。
【００４４】
符号化部３１８ａ、３１８ｂは、プロトコル処理部３４０から与えられた送信パケットを８Ｂ１０Ｂ方式で符号化し、１０ビット幅のシンボルデータとして各々パラレル／シリアル変換部３２０ａ、３２０ｂに出力する。
【００４５】
パラレル／シリアル変換部３２０ａ、３２０ｂは、各々符号化部３１８ａ、３１８ｂより入力されたシンボルデータをシリアル送信データのビット列に変換して出力する。
【００４６】
シリアルドライバ３２１ａ、３２１ｂは、パラレル／シリアル変換部３２０ａ、３２０ｂより出力されたシリアル送信データを、各々第１シリアルリンク３５０、第２シリアルリンク３５１を介してリング上の後段の通信装置に出力する。
【００４７】
なお、復号化部３１７ａ、３１７ｂと符号化部３１８ａ、３１８ｂにおけるデータ変換方式は、８Ｂ１０Ｂ方式に限定されず、６４Ｂ６６Ｂ方式やその他の方式を採用してもよい。
【００４８】
適応型方向切換制御部３３０は、ＰＨＹ制御部３４５より与えられるリンク方向切り換え指示に応じて、入出力端子３１１、３１２を送信状態または受信状態に設定する。
【００４９】
＜１．３：通信システムの動作＞
以上のように構成された通信システムにおけるデータ伝送実行シーケンスを図２、図３および図５、図６のフローチャートを用いて説明する。
【００５０】
（１．３．１：パケット伝送概要）
まず、図３ａに示す通信システム４０００における、マスタ通信装置４００ａとスレーブ通信装置４００ｃ間でパケット送受を行う場合について、コマンド・レスポンスハンドシェークを例に動作概要を記述する。
【００５１】
図３ａに示すように、マスタ通信装置４００ａからスレーブ通信装置４００ｂを介して、通信相手であるスレーブ通信装置４００ｃまでの経路を、ダウンリンク４０１と呼ぶことにする。また、スレーブ通信装置４００ｃから、スレーブ通信装置４００ｄ、４００ｅ、４００ｆを介したマスタ通信装置４００ａまでの経路を、アップリンク４０２と呼ぶこととする。
【００５２】
マスタ通信装置４００ａのコマンド／データ処理部３４２が発行したコマンドパケット４０３は、ダウンリンク４０１に出力され、スレーブ通信装置４００ｂのパケット中継部３４１で中継処理された後に、スレーブ通信装置４００ｃまで伝送される。それに対し、スレーブ通信装置４００ｃのコマンド／データ処理部３４２が発行したレスポンスパケットは、アップリンク４０２に出力され、スレーブ通信装置４００ｄ、４００ｅ、４００ｆのパケット中継部３４１で中継処理された後に、マスタ通信装置４００ａまで伝送され、コマンド・レスポンスハンドシェークが成立する。
【００５３】
もしコマンドパケットがデータ書込みを指示する場合、引き続きマスタ通信装置４００ａのコマンド／データ処理部３４２がデータパケットを発行し、それがダウンリンク４０１を経てスレーブ通信装置４００ｃまで伝送される。また、データ読出しの場合、スレーブ通信装置４００ｃのコマンド／データ処理部３４２がデータパケットを発行し、それがアップリンク４０２を経てマスタ通信装置４００ａまで伝送される。
【００５４】
このように、本実施形態の通信システム４０００では、マスタ通信装置と、その通信相手となるスレーブ通信装置の間に存在する通信装置（図３ａのスレーブ通信装置４００ｂ、４００ｄ、４００ｅ、４００ｆ）は「中継局」となり、これらが受信パケットを中継することで、Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ接続時と同様のプロトコルでデータ伝送を行うことができる。
【００５５】
（１．３．２：半二重データ伝送実行シーケンス）
次に、図３ａに示す通信システム４０００における、マスタ通信装置４００ａとスレーブ通信装置４００ｃ間で半二重データ伝送を行う場合について、詳細シーケンスを図５、図６のフローチャートを基に説明する。図５、図６はそれぞれマスタ通信装置、スレーブ通信装置における半二重データ伝送実行シーケンスを示す。簡単のため、リング上の全通信装置においてＰＨＹレベルのウェイクアップやクロック同期等は完了しているとし、プロトコルレベルの初期化シーケンスから記述する。
【００５６】
（１．３．２．１：デバイスＩＤ割当て）
まず、マスタ通信装置４００ａは全スレーブ通信装置に対しユニークなデバイスＩＤの割当てを行い、リング上に接続されたスレーブ通信装置の数を取得する。ここで、ＩＤの割当てには図４（ｂ）に示すＩＤ割当てコマンドが用いられる。ＩＤ割当てコマンドは、各デバイスにＩＤを設定するためのＩＤ割当てフィールド８０２を持ち、ヘッダフィールド８０１には宛先情報として特別に定義されたブロードキャストＩＤが設定されているため、リング上の全スレーブ通信装置を巡回して再びマスタ通信装置４００ａに戻ってくる。
【００５７】
ここで、設定可能なＩＤフィールドが４ビット長で定義されている場合、デバイスＩＤとして“０”から“１５”までが利用可能となる。本実施形態では、マスタ通信装置のデバイスＩＤを“０”とし、“１５”は通信システム内の全ての通信装置を宛先とする特別なブロードキャストＩＤとして用いることとする。
【００５８】
マスタ通信装置４００ａは、ヘッダフィールド８０１に宛先情報としてブロードキャストＩＤを示す“１５”を、ＩＤ割当てフィールドにマスタ通信装置自身のＩＤ“０”を設定してＩＤ割当てコマンドを発行し、コマンドが返送されるまで待機する。
【００５９】
スレーブ通信装置４００ｂ、４００ｃ、４００ｄ、４００ｅ、４００ｆは、ＩＤ割当てコマンドを受信すると、そのＩＤ割当てフィールド８０２に格納された値をインクリメントし、インクリメント後の値を自身のＩＤとして保持し、さらにＩＤ割当てフィールド８０２をインクリメント後の値に上書きしてリング上の後段のスレーブ装置に受け渡す。上記処理が各スレーブ通信装置で実行された後、最終的にＩＤ割当てコマンドはマスタ通信装置４００ａに受け渡される（ステップＳ６０１、ステップＳ７０１）。
【００６０】
マスタ通信装置４００ａは、デバイス位置判断部３４４において、返送されたＩＤ割当てコマンド内のＩＤ割当てフィールド８０２からリング上の最後段に位置するスレーブ通信装置のＩＤを検知し、さらにその値から各スレーブ通信装置に割り当てられたＩＤと、リング状に接続された総デバイス数を算出し、その結果をデバイス位置情報として保持する。図３ｂに上記ＩＤ割当てシーケンス後の、各スレーブ通信装置に設定されたＩＤおよび、マスタ通信装置４００ａにて保持されるデバイス位置情報を示す。
【００６１】
（１．３．２．２：コンフィグレーション）
上記デバイスＩＤ割当てが完了すると、コンフィグレーションステップに移行する。マスタ通信装置４００ａは、制御コマンドパケットを各スレーブ通信装置に対して発行し、各スレーブ通信装置における許容可能な各種パラメータ（伝送時のブロックサイズやフロー制御単位の設定およびサポートしている機能等）を読み出す。その値を基にマスタ通信装置４００ａは、各スレーブ通信装置とデータ送受を行うのに最適な設定値を決定し、その設定値を、制御コマンドを用いて各スレーブ通信装置に通知する。これにより、データ伝送開始に必要な各種設定が行われ、必要な全ての設定値が決定されると、データ伝送開始可能となる（ステップＳ６０２、ステップＳ７０２）。
【００６２】
（１．３．２．３：データ伝送開始ハンドシェーク）
上記コンフィグレーションが完了すると、コマンド・データ伝送開始ハンドシェークステップに移行する。マスタ通信装置４００ａは、データ伝送を開始するためにスレーブ通信装置４００ｃ宛にデータ伝送コマンドパケットを発行する（ステップＳ６０３）。マスタ通信装置４００ａは、レスポンスパケットが返送されるまで待機する。データ伝送コマンドのペイロードフィールド５０２には、Ｒｅａｄ／Ｗｒｉｔｅフラグや、アクセスするメモリのアドレス、トータル転送データサイズおよび全二重・半二重モードフラグおよび半二重モード時のライン切り換え設定等が含まれている。
【００６３】
ここで、半二重モード時のライン切り換え設定とは、半二重モード中に一時的に全二重モードに戻して割り込みを行う際に、アップリンク・ダウンリンクどちらのラインの方向を切り換えるかを示したものである。これは、マスタ通信装置４００ａ内のＰＨＹ制御部３４５において、デバイス位置判断部３４４が保持するデバイス位置情報を基に、リンク上のデバイス数が少ない方を割り込み用ラインとして方向切り換えをするように設定される。
【００６４】
図３ａ、図３ｂに示す本実施の形態では、ダウンリンク４０１上のデバイス数は１、アップリンク４０２上のデバイス数は３であるため、マスタ通信装置４００ａとスレーブ通信装置４００ｃ間でのデータ伝送においては、ダウンリンク４０１が半二重中の割り込み用ラインに設定される。以下では、マスタ通信装置４００ａが、半二重モードでデータ書込みをすると設定されたデータ伝送コマンドパケットを発行した場合について説明する。
【００６５】
スレーブ通信装置４００ｃは、マスタ通信装置４００ａから送られたコマンドパケット受信後、パケット中継部３４１にて自デバイス宛パケットかどうかを判定する（ステップＳ７０４）。
【００６６】
スレーブ通信装置４００ｃは、自デバイス宛であればコマンドを処理し、データ伝送実行可能であればＡＣＫ情報を含むレスポンスを返送する（ステップＳ７０５）。
【００６７】
スレーブ通信装置４００ｃは、自デバイス宛でなければパケット中継処理を実行し、受信コマンドを後段のスレーブ通信装置へ受け渡す（ステップＳ７１２）。
【００６８】
マスタ通信装置４００ａが、レスポンスパケット（ＡＣＫ）を受信すると、コマンド・レスポンスハンドシェークステップは終了する（ステップＳ６０４）。
【００６９】
（１．３．２．４：フロー制御）
データ伝送開始ハンドシェークが完了すると、マスタ通信装置４００ａとスレーブ通信装置４００ｃが互いのバッファの状態を確認しながら、データパケットの転送量やタイミングを調整するフロー制御ステップに移行する。
【００７０】
本ステップでは、バッファ状態の確認のためのフロー制御パケットがマスタ通信装置４００ａとスレーブ通信装置４００ｃ間で交換される。ここで、データ伝送コマンドパケットで指定したトータル転送データサイズは、所定のブロックサイズ単位でデータパケットに分割されて転送されることになる。そして、フロー制御はそれら複数のデータパケットを含むフロー制御サイズ毎に行われる。フロー制御サイズは予めコンフィグレーション時に設定されている。
【００７１】
データ書込み時、マスタ通信装置４００ａは、フロー制御サイズ分のデータ送信が可能になるとフロー制御パケットを発行する。それを受けてスレーブ通信装置４００ｃは、フロー制御サイズ分のデータ受信が可能になると、同じくマスタ通信装置４００ａへフロー制御パケットを発行しフロー制御ハンドシェークを成立させる（ステップＳ６０５、ステップＳ７０６）。
【００７２】
（１．３．２．５：リンク方向切り換え）
フロー制御ハンドシェークが完了すると、リンク方向切り換えステップへ移行する。図７ａ、図７ｂ、図７ｃに方向切り換え中の各ステップにおける通信システムの状態を示す。
【００７３】
方向切り換え対象のリンク（本実施例ではアップリンク４０２）に接続されている各スレーブ通信装置は、データ受信側（本実施例ではスレーブ通信装置４００ｃ）からのフロー制御パケット８０１が中継されると、各々のシリアル送信部を制御してリンクをアイドル状態にする。
【００７４】
各スレーブ通信装置は、自通信装置のシリアル送信部（Ｔｘ）、シリアル受信部（Ｒｘ）に接続されている両方のシリアルラインがアイドル状態に遷移したことを検知すると、適応型方向切換部３３０によりＴｘ・Ｒｘの送信状態・受信状態を入れ換え、リンク方向を切り換える。
【００７５】
図７ａにおいては、例えばスレーブ通信装置４００ｅは、シリアルリンク８０５がスレーブ通信装置４００ｄのＴｘによりアイドル状態に遷移され、かつシリアルリンク８０６を自身のＴｘによりアイドル状態に遷移させた後、Ｔｘ・Ｒｘの送信状態・受信状態を入れ換え、リンク方向を切り換える。
【００７６】
アップリンク４０２に接続された全Ｔｘ・Ｒｘの状態が入れ換わると、図７ｂに示したようにアップリンク４０２がダウンリンク８０９に切り換わり、通信システムは半二重モードとなる。このとき、ＰＨＹレベルの再同期が必要となるため、マスタ通信装置４００ａからスレーブ通信装置４００ｃに対して同期用のシンボル８１０、８１１が各シリアルリンクを介して伝送される。同期が完了すると、方向切り換えステップは終了する（ステップＳ６０６、ステップＳ７０７）。
【００７７】
（１．３．２．６：半二重データ伝送）
半二重データ転送ステップにおいては、フロー制御サイズ分のデータパケット伝送を行う。データパケットは両ダウンリンク８０８、８０９を介して伝送される（ステップＳ６０７、ステップＳ７０８）。
【００７８】
フロー制御サイズ分のデータ伝送を終えると、コマンドで指定され全データサイズを送信完了したかどうかを判断する（ステップＳ６０８、ステップＳ７０９）。
【００７９】
ここで、全データを送り終えていなければ、半二重モードから全二重モードへの方向切り換えを実行する（ステップＳ６１１、ステップＳ７１３）。
【００８０】
そして、割り込み実行用のインターバル状態（一時的な全二重モード）へ移行する（ステップＳ６１２、ステップＳ７１４）。
【００８１】
（１．３．２．７：インターバル状態への遷移）
ステップＳ６１１、ステップＳ７１３での方向切り換え時は、コマンドで指定されたライン切り換え設定に基づいて実行される。すなわち、本実施例では図７ｂに示すように、接続されているデバイス数が少ないダウンリンク８０８が半二重モード中の割り込み用ライン（方向切り換え対象ライン）に設定されているため、ダウンリンク８０８の方向を切り換えることになる。
【００８２】
方向切り換えは、フロー制御サイズ分のデータ伝送が完了すると実行される。Ｔｘ・Ｒｘの切り換えシーケンス詳細は前述の切り換えシーケンスと同様であるため、説明を省略する。
【００８３】
切り換え完了後の、インターバル状態でのシステム状態を図７ｃに示す。図７ｂのダウンリンク８０８がアップリンク８１２に切り換えられている。このインターバル状態において、伝送中断等の割り込み要求があれば実行される。このように半二重モード中であっても、フロー制御を実行する区切り毎に明示的な割り込み期間（インターバル状態）を設定することで、半二重モードの高速伝送と、割り込み要求の実行を両立できる。
【００８４】
さらに、インターバル状態への遷移時は、接続されたデバイス数が少ない方のリンクを割り込み用ラインとして方向を切り換えることで、方向切り換えに伴う時間的なオーバーヘッドやエラー発生率を低減できる。これによって、伝送路の信頼性低下も抑えつつ効率のよい全二重・半二重切り換えシステムを実現できる。
【００８５】
インターバル状態において、割り込み等の要求がなければ再びフロー制御ハンドシェークを実行し（ステップＳ６０５、ステップＳ７０６）、半二重モードへ方向切り換え後データ伝送を再開する。
【００８６】
なお、インターバル状態遷移時の割り込み用ライン（方向切り換え対象ライン）の設定は、上述の様にコマンドによって指定されるだけでなく、デバイスＩＤ割当て時やコンフィグレーション時にスレーブ通信装置に対してマスタ通信装置からデバイス位置情報を通知し、データ伝送コマンド実行前に予め各スレーブ通信装置が割り込み用ライン設定を保持しておいてもよい。
【００８７】
また、アップリンク・ダウンリンクに接続されているデバイス数が同数のときは、コマンド開始前のリンク方向通りに割り込み用ラインを設定してもよいし、コマンド開始前と異なるようにしてもよい。
【００８８】
また、デバイス位置判断部３４４に保持された通信システム内の特定のシリアルリンクのエラー情報を基に、接続されたデバイス数の多少によらず、方向切り換えエラー率が低い方のリンクを割り込み用ラインとして方向を切り換えてもよい。
【００８９】
さらに、送受信処理部内の伝送路エラー検知回路（不図示）の判定結果を鑑みて、接続されたデバイス数の多少によらず、方向切り換えエラー率が低い方のリンクを割り込み用ラインとして方向を切り換えてもよい。
【００９０】
（１．３．２．８：伝送終了・アイドル状態への遷移）
また、Ｓ６０８、Ｓ７０９の判定において全データを送信済みの場合は、ライン状態が半二重データ伝送コマンド実行前と同様になるようリンク方向を切り換える（ステップＳ６０９、ステップＳ７１０）。この場合、本実施例においては、コマンド実行前のライン状態に戻すため、図７ｂに示すダウンリンク８０９の方向が切り換えられ、図７ａに示すライン状態へ戻る。
【００９１】
ライン方向切り換え後は、通信システムはアイドル状態（コマンド実行待ち受け状態）となり、コマンド実行を完了する（ステップＳ６１０、ステップＳ７１１）。そして、再びコマンド発行を行って通信を継続するか、通信を完了する（ステップＳ６１３、ステップＳ７１５）。なお、本発明は特定のフロー制御方式に限定されることはない。
【産業上の利用可能性】
【００９２】
本発明は、シリアルリンクを介してリング接続された複数の通信装置間でデータ転送を行う通信システムにおいて、全二重モードと半二重モードを効率よく切り換えてデータ通信を行うことで、伝送路方向切り換えによるシステムの信頼性低下を抑えつつ伝送路資源を低減する方法を提案したものである。
【００９３】
本発明は、少なくともリング接続された通信システム、通信装置およびその通信方法に適用でき、有用である。
【符号の説明】
【００９４】
２０００、４０００  通信システム
２００ａ、２００ｂ、２００ｃ、２００ｄ、２００ｅ、２００ｆ、３００  通信装置
２１０ａ、２１０ｂ、２１０ｃ、２１０ｄ、２１０ｅ、２１０ｆ、３４０  プロトコル処理部
２２０ａ、２２０ｂ、２２０ｃ、２２０ｄ、２２０ｅ、２２０ｆ、３１０  送受信処理部
２３０ａ、２３０ｂ、２３０ｃ、２３０ｄ、２３０ｅ、２３０ｆ  シリアル送信部
２４０ａ、２４０ｂ、２４０ｃ、２４０ｄ、２４０ｅ、２４０ｆ  シリアル受信部
２５０ａ、２５０ｂ、２５０ｃ、２５０ｄ、２５０ｅ、２５０ｆ  シリアルリンク
３１１、３１２  入出力端子
３１３ａ、３１３ｂ  シリアル受信部
３１４ａ、３１４ｂ  シリアルレシーバ
３１５ａ、３１５ｂ  ＣＤＲ部
３１６ａ、３１６ｂ  シリアル／パラレル変換部
３１７ａ、３１７ｂ  復号化部
３１８ａ、３１８ｂ  符号化部
３１９ａ、３１９ｂ  シリアル送信部
３２０ａ、３２０ｂ  パラレル／シリアル変換部
３２１ａ、３２１ｂ  シリアルドライバ
３３０  適応型方向切換制御部
３４１  パケット中継部
３４２  コマンド／データ処理部
３４３  ＰＲＯＴ制御部
３４４  デバイス位置判断部
３４５  ＰＨＹ制御部
４００ａ、４００ｂ、４００ｃ、４００ｄ、４００ｅ、４００ｆ  通信装置
【図１】
2011142426.tif 000003
【図２ａ】
2011142426.tif 000004
【図２ｂ】
2011142426.tif 000005
【図２ｃ】
2011142426.tif 000006
【図３ａ】
2011142426.tif 000007
【図３ｂ】
2011142426.tif 000008
【図４】
2011142426.tif 000009
【図５】
2011142426.tif 000010
【図６】
2011142426.tif 000011
【図７ａ】
2011142426.tif 000012
【図７ｂ】
2011142426.tif 000013
【図７ｃ】
2011142426.tif 000014
【図８】
2011142426.tif 000015