(57)【要約】【課題】新たな制御線を追加せずに伝送方向の切替を実現し、既存プロトコルの伝送経路を活用する通信装置を提供する。【解決手段】通信装置は、方向切替コマンドを２つの入出力端子のうちの一方である第１の入出力端子からリング状伝送路に送信し（Ｓ１２）、２つの入出力端子のうちの他方である第２の入出力端子から前記リング状伝送路を１周した前記方向切替コマンドを受信し（Ｓ１４）、受信後、２つの入出力端子と前記リング状伝送路との間の伝送方向を前記方向切替コマンドの送信前と比べて反転させるように２つの入出力端子の切替を制御する（Ｓ１６）。【選択図】図９Ａ
2011238982.tif 000002
【特許請求の範囲】
【請求項１】
リング状伝送路に接続される通信装置であって、
前記リング状伝送路に接続され入力と出力とを切り替え可能な２つの入出力端子と、
前記リング状伝送路の伝送方向の切り替えを他の全ての通信装置に指示する方向切替コマンドを生成するコマンド生成部と、
前記２つの入出力端子およびコマンド生成部を制御する制御部と
を備え、
前記制御部は、
前記方向切替コマンドを前記２つの入出力端子のうちの一方である第１の入出力端子から前記リング状伝送路に送信させ、
前記リング状伝送路を１周した前記方向切替コマンドが前記２つの入出力端子のうちの他方である第２の入出力端子から受信されたとき、前記２つの入出力端子と前記リング状伝送路との間の伝送方向を前記方向切替コマンドの送信前と比べて反転させるように前記２つの入出力端子の切替を制御する
通信装置。
【請求項２】
前記通信装置は、さらに、前記通信装置の動作状況に基づいて前記２つの入出力端子の切替が可能か否かを判定する状態判定部を備え、
前記制御部は、前記状態判定部が切替可能であると判定したとき前記第１の入出力端子から前記方向切替コマンドを送信させる
請求項１記載の通信装置。
【請求項３】
前記通信装置は、さらに、前記通信装置の動作状況に基づいて前記２つの入出力端子の切替が可能か否かを判定する状態判定部を備え、
前記制御部は、前記リング状伝送路を１周した前記方向切替コマンドが前記第２の入出力端子から受信され、かつ、前記状態判定部が切替可能であると判定した場合に、前記２つの入出力端子と前記リング状伝送路との間で伝送方向を反転させるように前記２つの入出力端子を制御する
請求項１記載の通信装置。
【請求項４】
前記制御部は、さらに、
前記第１の入出力端子から前記リング状伝送路に前記方向切替コマンドを送信させた後、前記第１の入出力端子を出力から入力に切り替え、
リング状伝送路上の隣の通信装置から伝送方向の切替を完了したことを示す切替完了通知が、前記方向切替コマンドの送信から第１の所定時間内に前記第１の入出力端子から受信されたか否かを判定し、
前記第１の所定時間内に前記切替完了通知が受信されていないと判定された場合は、伝送方向の切替に失敗したと判断して前記第１の入出力端子を入力から出力に戻し、
前記第１の所定時間内に前記完了通知が受信されたと判定された場合は、前記第２の入出力端子から前記方向切替コマンドが受信されるのを待つ
請求項１記載の通信装置。
【請求項５】
前記制御部は、さらに、
前記第１の入出力端子から前記リング状伝送路に前記方向切替コマンドを送信させた後、リング状伝送路上の何れかの通信装置において伝送方向の切替を失敗したことを示す切替失敗通知が、前記第１の入出力端子から受信されたか否かを判定し、
前記切替失敗通知が受信された場合、伝送方向の切替に失敗したと判断し、前記２つの入出力端子の前記一方を入力から出力に戻す
請求項４記載の通信装置。
【請求項６】
前記制御部は、さらに、
前記切替失敗通知が受信された場合、当該切替失敗通知の送信元アドレスに基づいて伝送方向の切替を失敗した通信装置を特定する
請求項５記載の通信装置。
【請求項７】
前記制御部は、前記リング状伝送路を１周した前記方向切替コマンドが前記第２の入出力端子から受信された場合、前記第２の入出力端子を入力から出力に切り替える
請求項４〜６の何れかに記載の通信装置。
【請求項８】
リング状伝送路に接続される通信装置であって、
前記リング状伝送路に接続され入力と出力とを切り替え可能な２つの入出力端子と、
前記２つの入出力端子のうちの一方である第１の入出力端子から受信されたコマンドを解析することにより、当該コマンドが前記リング状伝送路の伝送方向の切り替えを指示する方向切替コマンドであるか否かを判定するコマンド解析部と、
前記第１の入出力端子から受信されたコマンドが前記方向切替コマンドであると判定された場合、前記方向切替コマンドを前記２つの入出力端子の他方である第２の入出力端子から送信し、前記２つの入出力端子それぞれの入力と出力と切り替える制御部とを備える
通信装置。
【請求項９】
前記通信装置は、さらに、
前記通信装置の動作状況に基づいて前記２つの入出力端子の切替が可能か否かを判定する状態判定部を備え、
前記制御部は、
前記第１の入出力端子から受信されたコマンドが前記方向切替コマンドであると判定され、かつ、前記状態判定部が切替が可能でないと判定した場合、前記状態判定部の判定が変化するのを待ち、
一定時間内に判定が切替可能に変化した後、当該方向切替コマンドを前記第２の入出力端子から送信し、前記２つの入出力端子それぞれの入力と出力と切り替える
請求項８記載の通信装置。
【請求項１０】
前記通信装置は、さらに、前記方向切替コマンドに従って前記２つの入出力端子の出力と入力の切り替えを完了したことを示す切替完了通知を生成する通知生成部を備え、
前記制御部は、前記２つの入出力端子それぞれの入力と出力の切り替え完了後、さらに、前記通知生成部によって生成された切替完了通知を前記第１の入出力端子から送信させる
請求項８記載の通信装置。
【請求項１１】
前記制御部は、
前記第２の入出力端子からの前記方向切替コマンドの送信から第２の所定時間内に、隣の通信装置において伝送方向の切替を完了したことを示す切替完了通知が前記第２の入出力端子から受信されたか否かを判定し、
前記通知生成部は、さらに、前記第２の所定時間内に切替完了通知が受信されないと判定された場合、隣の通信装置が伝送方向の切替に失敗したことを示す切替失敗通知を生成し、
前記制御部は、さらに、
前記通知生成部によって生成された切替失敗通知を前記第１の入出力端子から送信させ、
前記２つの入出力端子それぞれの入力と出力とを前記方向切替コマンド受信前と同じ状態に戻す
請求項１０記載の通信装置。
【請求項１２】
前記通知生成部は、通信装置のアドレスを含む前記切替失敗通知を生成する
請求項１１記載の通信装置。
【請求項１３】
前記制御部は、
リング状伝送路上の何れかの通信装置において伝送方向の切替を失敗したことを示す切替失敗通知が、前記第２の入出力端子から受信されたか否かを判定し、
前記第２の入出力端子から前記切替失敗通知が受信されたと判定された場合、前記第１の入出力端子から当該切替失敗通知を送信し、
前記２つの入出力端子を前記方向切替コマンド受信前と同じ状態に戻す
請求項１１記載の通信装置。
【請求項１４】
リング状伝送路に接続されるホスト装置および複数のスレーブ装置を備えるリング状伝送路システムであって、
前記ホスト装置は、
前記リング状伝送路に接続され入力と出力とを切り替え可能な２つのホストＩ／Ｏ端子と、
前記リング状伝送路の伝送方向の切り替えを他の全てのスレーブ装置に指示する方向切替コマンドを生成するコマンド生成部と、
前記２つのホストＩ／Ｏ端子およびコマンド生成部を制御するホスト制御部と
を備え、
前記ホスト制御部は、
前記方向切替コマンドを前記２つのホストＩ／Ｏ端子のうちの一方である第１のホストＩ／Ｏ端子から前記リング状伝送路に送信させ、
前記リング状伝送路を１周した前記方向切替コマンドが前記２つのホストＩ／Ｏ端子のうちの他方である第２のホストＩ／Ｏ端子から受信されたとき、前記２つのホストＩ／Ｏ端子と前記リング状伝送路との間の伝送方向を前記方向切替コマンドの送信前と比べて反転させるように前記２つのホストＩ／Ｏ端子の切替を制御し、
各スレーブ装置は、
前記リング状伝送路に接続され入力と出力とを切り替え可能な２つのスレーブＩ／Ｏ端子と、
前記２つのスレーブＩ／Ｏ端子のうちの一方である第１のスレーブＩ／Ｏ端子から受信されたコマンドを解析することにより、当該コマンドが前記リング状伝送路の伝送方向の切り替えを指示する方向切替コマンドであるか否かを判定するコマンド解析部と、
前記第１のスレーブＩ／Ｏ端子から受信されたコマンドが前記方向切替コマンドであると判定された場合、前記方向切替コマンドを前記２つのスレーブＩ／Ｏ端子の他方である第２のスレーブＩ／Ｏ端子から送信し、前記２つのスレーブＩ／Ｏ端子それぞれの入力と出力と切り替えるスレーブ制御部とを備える
リング状伝送路システム。
【請求項１５】
前記ホスト装置は、さらに、前記ホスト装置の動作状況に基づいて前記２つのホストＩ／Ｏ端子の切替が可能か否かを判定するホスト状態判定部を備え、
前記ホスト制御部は、前記ホスト状態判定部が切替可能であると判定したとき前記第１のホストＩ／Ｏ端子から前記方向切替コマンドを送信させ、
前記各スレーブ装置は、さらに、
前記スレーブ装置の動作状況に基づいて前記２つのスレーブＩ／Ｏ端子の切替が可能か否かを判定するスレーブ状態判定部を備え、
前記スレーブ制御部は、
前記第１のスレーブＩ／Ｏ端子から受信されたコマンドが前記方向切替コマンドであると判定され、かつ、前記スレーブ状態判定部が切替可能でないと判定した場合、前記スレーブ状態判定部の判定が変化するのを待ち、
一定時間内に判定が切替可能に変化した後、当該方向切替コマンドを前記第２のスレーブＩ／Ｏ端子から送信し、前記２つのスレーブＩ／Ｏ端子それぞれの入力と出力と切り替える
請求項１４記載のリング状伝送路システム。
【請求項１６】
前記ホスト制御部は、さらに、
前記第１のホストＩ／Ｏ端子から前記リング状伝送路に前記方向切替コマンドを送信させた後、前記第１のホストＩ／Ｏ端子を出力から入力に切り替え、
前記リング状伝送路上の隣のスレーブ装置から伝送方向の切替を完了したことを示す切替完了通知が、前記方向切替コマンドの送信から第１の所定時間内に前記第１のホストＩ／Ｏ端子から受信されたか否かを判定し、
前記第１の所定時間内に前記切替完了通知が受信されていないと判定された場合は、伝送方向の切替に失敗したと判断して前記第１のホストＩ／Ｏ端子を入力から出力に戻し、
前記第１の所定時間内に前記完了通知が受信されたと判定された場合は、前記第２のホストＩ／Ｏ端子から前記方向切替コマンドが受信されるのを待ち、
前記スレーブ装置は、さらに、前記方向切替コマンドに従って前記２つのスレーブＩ／Ｏ端子の出力と入力の切り替えを完了したことを示す切替完了通知を生成する通知生成部を備え、
前記スレーブ制御部は、前記２つのスレーブＩ／Ｏ端子それぞれの入力と出力の切り替え完了後、さらに、前記通知生成部によって生成された切替完了通知を前記第１のスレーブＩ／Ｏ端子から送信させる
請求項１４記載のリング状伝送路システム。
【請求項１７】
前記ホスト制御部は、さらに、
前記第１のホストＩ／Ｏ端子から前記リング状伝送路に前記方向切替コマンドを送信させた後、リング状伝送路上のスレーブ装置において伝送方向の切替を失敗したことを示す切替失敗通知が、前記第１のホストＩ／Ｏ端子から受信されたか否かを判定し、
前記切替失敗通知が受信された場合、伝送方向の切替に失敗したと判断し、前記２つのホストＩ／Ｏ端子の前記一方を入力から出力に戻し、
前記スレーブ制御部は、
前記第２のスレーブＩ／Ｏ端子からの前記方向切替コマンドの送信から第２の所定時間内に、隣のホスト装置において伝送方向の切替を完了したことを示す切替完了通知が前記第２のスレーブＩ／Ｏ端子から受信されたか否かを判定し、
前記通知生成部は、さらに、前記第２の所定時間内に切替完了通知が受信されていないと判定された場合、隣のスレーブ装置が伝送方向の切替に失敗したことを示す切替失敗通知を生成し、
前記スレーブ制御部は、さらに、
前記通知生成部によって生成された切替失敗通知を前記第１のスレーブＩ／Ｏ端子から送信させ、
前記２つのスレーブＩ／Ｏ端子それぞれの入力と出力とを前記方向切替コマンド受信前と同じ状態に戻す
請求項１６記載のリング状伝送路システム。
【請求項１８】
前記通知生成部は、自身のスレーブ装置のアドレスを含む前記切替失敗通知を生成し、
前記ホスト制御部は、さらに、前記切替失敗通知が受信された場合、当該切替失敗通知の送信元アドレスに基づいて伝送方向の切替を失敗したスレーブ装置を特定する
請求項１７記載のリング状伝送路システム。
【請求項１９】
前記スレーブ制御部は、
リング状伝送路上の何れかのスレーブ装置において伝送方向の切替を失敗したことを示す切替失敗通知が、前記第２のスレーブＩ／Ｏ端子から受信されたか否かを判定し、
前記第２のスレーブＩ／Ｏ端子から前記切替失敗通知が受信されたと判定された場合、前記第１のスレーブＩ／Ｏ端子から当該切替失敗通知を送信し、
前記２つのスレーブＩ／Ｏ端子を前記方向切替コマンド受信前と同じ状態に戻す
請求項１７記載のリング状伝送路システム。
【請求項２０】
リング状伝送路に接続されるホスト装置および複数のスレーブ装置を備えるリング状伝送路の伝送方向切替方法であって、
前記ホスト装置は、前記リング状伝送路に接続され入力と出力とを切り替え可能な２つのホストＩ／Ｏ端子を備え、
各スレーブ装置は、前記リング状伝送路に接続され入力と出力とを切り替え可能な２つのスレーブＩ／Ｏ端子を備え、
前記伝送方向切替方法は、
前記ホスト装置において、前記リング状伝送路の伝送方向の切り替えを他の全てのスレーブ装置に指示する方向切替コマンドを生成し、
前記ホスト装置において、前記方向切替コマンドを前記２つのホストＩ／Ｏ端子のうちの一方である第１のホストＩ／Ｏ端子から前記リング状伝送路に送信し、
前記ホスト装置において、前記２つのホストＩ／Ｏ端子のうちの他方である第２のホストＩ／Ｏ端子から前記リング状伝送路を１周した前記方向切替コマンドを受信し、
前記ホスト装置において、前記方向切替コマンドが受信されたとき、前記２つのホストＩ／Ｏ端子と前記リング状伝送路との間の伝送方向を前記方向切替コマンドの送信前と比べて反転させるように前記２つのホストＩ／Ｏ端子の切替を制御する
伝送方向切替方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の装置をリング状に接続するネットワークシステムにおける通信装置、リング状伝送路システムおよび伝送方向切替方法に関するものである。
【背景技術】
【０００２】
複数の装置をリング状に接続するネットワークシステムにおいては、送信元の装置（ホスト装置と呼ぶ）から送信先の装置（スレーブ装置）へデータ伝送を行う際に、経路上にある他の装置を通過させる必要がある。他の装置をデータが通過する際、伝送プロトコルに応じた電力が消費されるため、リング状伝送路システムでは伝送にかかる消費電力が大きくなりやすい課題があった。
【０００３】
これを実現するためにはリング状伝送路の伝送方向を切り替える技術が必要である。
リング状伝送路の伝送方向を切り替える従来技術には特許文献１がある。
【０００４】
特許文献１では、伝送に関わる制御線を追加し、ホスト装置とスレーブ装置の伝送方向を切り替える方法が述べられている。伝送経路が短くなるよう、伝送方向を切り替えることで消費電力の削減を実現している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−６７０２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、伝送方向の制御に新たな制御線を追加するため、システムとしての実装コストが大きくなる課題があった。また、既存プロトコルの伝送経路を活用してリング状のネットワークシステムを構築する場合には、制御線の追加が許容されないため、従来技術では対応が不可能となる課題もあった。
【０００７】
本発明は、上記問題点に鑑みてなされたもので、新たな制御線を追加せずに伝送方向の切替を実現し、既存プロトコルの伝送経路を活用する通信装置、リング状伝送路システムおよび伝送方向切替方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一形態における通信装置は、リング状伝送路に接続される通信装置であって、前記リング状伝送路に接続され入力と出力とを切り替え可能な２つの入出力端子と、前記リング状伝送路の伝送方向の切り替えを他の全ての通信装置に指示する方向切替コマンドを生成するコマンド生成部と、前記２つの入出力端子およびコマンド生成部を制御する制御部とを備える。前記制御部は、前記方向切替コマンドを前記２つの入出力端子のうちの一方である第１の入出力端子から前記リング状伝送路に送信させ、前記リング状伝送路を１周した前記方向切替コマンドが前記２つの入出力端子のうちの他方である第２の入出力端子から受信されたとき、前記２つの入出力端子と前記リング状伝送路との間の伝送方向を前記方向切替コマンドの送信前と比べて反転させるように前記２つの入出力端子の切替を制御する。
【０００９】
この構成によれば、リング状伝送路の伝送方向の切り替えは方向切替コマンドをリング状伝送路を１周させることによって実現することができる。すなわち、新たな制御線を追加することなしに既存のリング状伝送経路を活用して、伝送方向の切替を容易に実現することができる。
【００１０】
ここで、前記通信装置は、さらに、前記通信装置の動作状況に基づいて前記２つの入出力端子の切替が可能か否かを判定する状態判定部を備え、前記制御部は、前記状態判定部が切替可能であると判定したとき前記第１の入出力端子から前記方向切替コマンドを送信させるようにしてもよい。
【００１１】
この構成によれば、前記通信装置の動作状況（例えば、処理負荷が軽い状態または待機状態）を判定することにより、伝送方向の切替による通信装置の性能劣化を低減し、ひいては伝送方向の切替によるリング状伝送路の伝送性能の劣化を低減することができる。
【００１２】
ここで、前記通信装置は、さらに、前記通信装置の動作状況に基づいて前記２つの入出力端子の切替が可能か否かを判定する状態判定部を備え、前記制御部は、前記リング状伝送路を１周した前記方向切替コマンドが前記第２の入出力端子から受信され、かつ、前記状態判定部が切替可能であると判定した場合に、前記２つの入出力端子と前記リング状伝送路との間で伝送方向を反転させるように前記２つの入出力端子を制御するようにしてもよい。
【００１３】
この構成によれば、前記通信装置の動作状況（例えば、処理負荷が軽い状態または待機状態）を判定することにより、伝送方向の切替による通信装置の性能劣化を低減し、ひいては伝送方向の切替によるリング状伝送路の伝送性能の劣化を低減することができる。
【００１４】
ここで、前記制御部は、さらに、前記第１の入出力端子から前記リング状伝送路に前記方向切替コマンドを送信させた後、前記第１の入出力端子を出力から入力に切り替え、リング状伝送路上の隣の通信装置から伝送方向の切替を完了したことを示す切替完了通知が、前記方向切替コマンドの送信から第１の所定時間内に前記第１の入出力端子から受信されたか否かを判定し、前記第１の所定時間内に前記切替完了通知が受信されていないと判定された場合は、伝送方向の切替に失敗したと判断して前記第１の入出力端子を入力から出力に戻し、前記第１の所定時間内に前記完了通知が受信されたと判定された場合は、前記第２の入出力端子から前記方向切替コマンドが受信されるのを待つようにしてもよい。
【００１５】
この構成によれば、隣の通信装置から切替完了通知を受信するので、伝送方向切替の成否判定を容易にすることができる。
【００１６】
ここで、前記制御部は、さらに、前記第１の入出力端子から前記リング状伝送路に前記方向切替コマンドを送信させた後、リング状伝送路上の何れかの通信装置において伝送方向の切替を失敗したことを示す切替失敗通知が、前記第１の入出力端子から受信されたか否かを判定し、前記切替失敗通知が受信された場合、伝送方向の切替に失敗したと判断し、前記２つの入出力端子の前記一方を入力から出力に戻すようにしてもよい。
【００１７】
この構成によれば、隣の通信装置から切替失敗通知を受信するので、伝送方向の切替の成否を検出にすることができる。
【００１８】
ここで、前記制御部は、さらに、前記切替失敗通知が受信された場合、当該切替失敗通知の送信元アドレスに基づいて伝送方向の切替を失敗した通信装置を特定するようにしてもよい。
【００１９】
この構成によれば、伝送方向の切替を失敗した通信装置を特定するので、例えば、故障した通信装置を特定することができる。
【００２０】
ここで、前記制御部は、前記リング状伝送路を１周した前記方向切替コマンドが前記第２の入出力端子から受信された場合、前記第２の入出力端子を入力から出力に切り替えるようにしてもよい。
【００２１】
この構成によれば、新たな制御線を追加することなしに既存のリング状伝送経路を活用して、伝送方向の切替を容易に実現し、かつ、故障した通信装置を検出することができる。
【００２２】
また、本発明の一形態における通信装置は、リング状伝送路に接続される通信装置であって、前記リング状伝送路に接続され入力と出力とを切り替え可能な２つの入出力端子と、前記２つの入出力端子のうちの一方である第１の入出力端子から受信されたコマンドを解析することにより、当該コマンドが前記リング状伝送路の伝送方向の切り替えを指示する方向切替コマンドであるか否かを判定するコマンド解析部と、前記第１の入出力端子から受信されたコマンドが前記方向切替コマンドであると判定された場合、前記方向切替コマンドを前記２つの入出力端子の他方である第２の入出力端子から送信し、前記２つの入出力端子それぞれの入力と出力と切り替える制御部とを備える。
【００２３】
この構成によれば、方向切替コマンドを受信したとき、さらに下流の通信機器に転送するとともに、前記２つの入出力端子それぞれの入力と出力と切り替えるので、方向切替コマンドをリング状伝送路に沿って１周させることを容易に実現し、新たな制御線を追加することなしに既存のリング状伝送経路を活用して、伝送方向の切替を容易に実現することができる。
【００２４】
ここで、前記通信装置は、さらに、前記通信装置の動作状況に基づいて前記２つの入出力端子の切替が可能か否かを判定する状態判定部を備え、前記制御部は、前記第１の入出力端子から受信されたコマンドが前記方向切替コマンドであると判定され、かつ、前記状態判定部が切替が可能でないと判定した場合、前記状態判定部の判定が変化するのを待ち、一定時間内に判定が切替可能に変化した後、当該方向切替コマンドを前記第２の入出力端子から送信し、前記２つの入出力端子それぞれの入力と出力と切り替えるようにしてもよい。
【００２５】
この構成によれば、前記通信装置の動作状況（例えば、処理負荷が軽い状態または待機状態）を判定することにより、伝送方向の切替による通信装置の性能劣化を低減し、ひいては伝送方向の切替によるリング状伝送路の伝送性能の劣化を低減することができる。
【００２６】
ここで、前記通信装置は、さらに、前記方向切替コマンドに従って前記２つの入出力端子の出力と入力の切り替えを完了したことを示す切替完了通知を生成する通知生成部を備え、前記制御部は、前記２つの入出力端子それぞれの入力と出力の切り替え完了後、さらに、前記通知生成部によって生成された切替完了通知を前記第１の入出力端子から送信させるようにしてもよい。
【００２７】
この構成によれば、方向切替コマンドの送信元の通信装置に対して切替完了通知を送信するので、伝送方向切替の成否判定を容易にすることができる。
【００２８】
ここで、前記制御部は、前記第２の入出力端子からの前記方向切替コマンドの送信から第２の所定時間内に、隣の通信装置において伝送方向の切替を完了したことを示す切替完了通知が前記第２の入出力端子から受信されたか否かを判定し、前記通知生成部は、さらに、前記第２の所定時間内に切替完了通知が受信されないと判定された場合、隣の通信装置が伝送方向の切替に失敗したことを示す切替失敗通知を生成し、前記制御部は、さらに、前記通知生成部によって生成された切替失敗通知を前記第１の入出力端子から送信させ、前記２つの入出力端子それぞれの入力と出力とを前記方向切替コマンド受信前と同じ状態に戻すようにしてもよい。
【００２９】
この構成によれば、隣の通信装置から切替失敗通知を受信するので、伝送方向の切替の成否を検出にすることができる。
【００３０】
ここで、前記通知生成部は、通信装置のアドレスを含む前記切替失敗通知を生成するようにしてもよい。
【００３１】
この構成によれば、伝送方向の切替を失敗した通信装置を容易に特定可能にし、例えば、故障した通信装置を特定することができる。
【００３２】
ここで、前記制御部は、リング状伝送路上の何れかの通信装置において伝送方向の切替を失敗したことを示す切替失敗通知が、前記第２の入出力端子から受信されたか否かを判定し、前記第２の入出力端子から前記切替失敗通知が受信されたと判定された場合、前記第１の入出力端子から当該切替失敗通知を送信し、前記２つの入出力端子を前記方向切替コマンド受信前と同じ状態に戻すようにしてもよい。
【００３３】
この構成によれば、リング状伝送路上の複数の通信装置によって前記切替失敗通知を順次転送するので、例えば、故障した通信装置を容易に特定することができる。
【００３４】
また、本発明の一形態におけるリング状伝送路システムは、リング状伝送路に接続されるホスト装置および複数のスレーブ装置を備えるリング状伝送路システムである。前記ホスト装置は、前記リング状伝送路に接続され入力と出力とを切り替え可能な２つのホストＩ／Ｏ端子と、前記リング状伝送路の伝送方向の切り替えを他の全てのスレーブ装置に指示する方向切替コマンドを生成するコマンド生成部と、前記２つのホストＩ／Ｏ端子およびコマンド生成部を制御するホスト制御部とを備える。前記ホスト制御部は、前記方向切替コマンドを前記２つのホストＩ／Ｏ端子のうちの一方である第１のホストＩ／Ｏ端子から前記リング状伝送路に送信させ、前記リング状伝送路を１周した前記方向切替コマンドが前記２つのホストＩ／Ｏ端子のうちの他方である第２のホストＩ／Ｏ端子から受信されたとき、前記２つのホストＩ／Ｏ端子と前記リング状伝送路との間の伝送方向を前記方向切替コマンドの送信前と比べて反転させるように前記２つのホストＩ／Ｏ端子の切替を制御する。各スレーブ装置は、前記リング状伝送路に接続され入力と出力とを切り替え可能な２つのスレーブＩ／Ｏ端子と、前記２つのスレーブＩ／Ｏ端子のうちの一方である第１のスレーブＩ／Ｏ端子から受信されたコマンドを解析することにより、当該コマンドが前記リング状伝送路の伝送方向の切り替えを指示する方向切替コマンドであるか否かを判定するコマンド解析部と、前記第１のスレーブＩ／Ｏ端子から受信されたコマンドが前記方向切替コマンドであると判定された場合、前記方向切替コマンドを前記２つのスレーブＩ／Ｏ端子の他方である第２のスレーブＩ／Ｏ端子から送信し、前記２つのスレーブＩ／Ｏ端子それぞれの入力と出力と切り替えるスレーブ制御部とを備える。
【００３５】
この構成によれば、各スレーブ装置は、方向切替コマンドを受信したとき、さらに下流の通信機器に転送するとともに、前記２つのスレーブＩ／Ｏ端子それぞれの入力と出力と切り替えるので、方向切替コマンドをリング状伝送路に沿って１周させることを容易に実現し、新たな制御線を追加することなしに既存のリング状伝送経路を活用して、伝送方向の切替を容易に実現することができる。ホスト装置は、リング状伝送路の伝送方向の切り替えは方向切替コマンドをリング状伝送路を１周させることによって実現することができる。すなわち、新たな制御線を追加することなしに既存のリング状伝送経路を活用して、伝送方向の切替を容易に実現することができる。
【００３６】
ここで、前記ホスト装置は、さらに、前記ホスト装置の動作状況に基づいて前記２つのホストＩ／Ｏ端子の切替が可能か否かを判定するホスト状態判定部を備え、前記ホスト制御部は、前記ホスト状態判定部が切替可能であると判定したとき前記第１のホストＩ／Ｏ端子から前記方向切替コマンドを送信させ、前記各スレーブ装置は、さらに、前記スレーブ装置の動作状況に基づいて前記２つのスレーブＩ／Ｏ端子の切替が可能か否かを判定するスレーブ状態判定部を備え、前記スレーブ制御部は、前記第１のスレーブＩ／Ｏ端子から受信されたコマンドが前記方向切替コマンドであると判定され、かつ、前記スレーブ状態判定部が切替が可能でないと判定した場合、前記スレーブ状態判定部の判定が変化するのを待ち、一定時間内に判定が切替可能に変化した後、当該方向切替コマンドを前記第２のスレーブＩ／Ｏ端子から送信し、前記２つのスレーブＩ／Ｏ端子それぞれの入力と出力と切り替えるようにしてもよい。
【００３７】
この構成によれば、前記ホスト装置および前記各スレーブ装置の動作状況（例えば、処理負荷が軽い状態または待機状態）を判定することにより、伝送方向の切替によるホスト装置の性能劣化を低減し、ひいては伝送方向の切替によるリング状伝送路の伝送性能の劣化を低減することができる。
【００３８】
ここで、前記ホスト制御部は、さらに、前記第１のホストＩ／Ｏ端子から前記リング状伝送路に前記方向切替コマンドを送信させた後、前記第１のホストＩ／Ｏ端子を出力から入力に切り替え、前記リング状伝送路上の隣のスレーブ装置から伝送方向の切替を完了したことを示す切替完了通知が、前記方向切替コマンドの送信から第１の所定時間内に前記第１のホストＩ／Ｏ端子から受信されたか否かを判定し、前記第１の所定時間内に前記切替完了通知が受信されていないと判定された場合は、伝送方向の切替に失敗したと判断して前記第１のホストＩ／Ｏ端子を入力から出力に戻し、前記第１の所定時間内に前記完了通知が受信されたと判定された場合は、前記第２のホストＩ／Ｏ端子から前記方向切替コマンドが受信されるのを待ち、前記スレーブ装置は、さらに、前記方向切替コマンドに従って前記２つのスレーブＩ／Ｏ端子の出力と入力の切り替えを完了したことを示す切替完了通知を生成する通知生成部を備え、前記スレーブ制御部は、前記２つのスレーブＩ／Ｏ端子それぞれの入力と出力の切り替え完了後、さらに、前記通知生成部によって生成された切替完了通知を前記第１のスレーブＩ／Ｏ端子から送信させるようにしてもよい。
【００３９】
この構成によれば、スレーブ装置が方向切替コマンドの送信元のホスト装置に対して切替完了通知を送信するので、ホスト装置は伝送方向切替の成否判定を容易にすることができる。
【００４０】
ここで、前記ホスト制御部は、さらに、前記第１のホストＩ／Ｏ端子から前記リング状伝送路に前記方向切替コマンドを送信させた後、リング状伝送路上のスレーブ装置において伝送方向の切替を失敗したことを示す切替失敗通知が、前記第１のホストＩ／Ｏ端子から受信されたか否かを判定し、前記切替失敗通知が受信された場合、伝送方向の切替に失敗したと判断し、前記２つのホストＩ／Ｏ端子の前記一方を入力から出力に戻し、前記スレーブ制御部は、前記第２のスレーブＩ／Ｏ端子からの前記方向切替コマンドの送信から第２の所定時間内に、隣のホスト装置において伝送方向の切替を完了したことを示す切替完了通知が前記第２のスレーブＩ／Ｏ端子から受信されたか否かを判定し、前記通知生成部は、さらに、前記第２の所定時間内に切替完了通知が受信されていないと判定された場合、隣のスレーブ装置が伝送方向の切替に失敗したことを示す切替失敗通知を生成し、前記スレーブ制御部は、さらに、前記通知生成部によって生成された切替失敗通知を前記第１のスレーブＩ／Ｏ端子から送信させ、前記２つのスレーブＩ／Ｏ端子それぞれの入力と出力とを前記方向切替コマンド受信前と同じ状態に戻すようにしてもよい。
【００４１】
この構成によれば、切替を失敗したスレーブ装置の隣のスレーブ装置から切替失敗通知が送信されるので、ホスト装置は伝送方向の切替の成否を容易に検出にすることができる。
【００４２】
ここで、前記通知生成部は、自身のスレーブ装置のアドレスを含む前記切替失敗通知を生成し、前記ホスト制御部は、さらに、前記切替失敗通知が受信された場合、当該切替失敗通知の送信元アドレスに基づいて伝送方向の切替を失敗したスレーブ装置を特定するようにしてもよい。
【００４３】
この構成によれば、伝送方向の切替を失敗したスレーブ装置を容易に特定でき、例えば、故障したホスト装置を特定することができる。
【００４４】
ここで、前記スレーブ制御部は、リング状伝送路上の何れかのスレーブ装置において伝送方向の切替を失敗したことを示す切替失敗通知が、前記第２のスレーブＩ／Ｏ端子から受信されたか否かを判定し、前記第２のスレーブＩ／Ｏ端子から前記切替失敗通知が受信されたと判定された場合、前記第１のスレーブＩ／Ｏ端子から当該切替失敗通知を送信し、前記２つのスレーブＩ／Ｏ端子を前記方向切替コマンド受信前と同じ状態に戻すようにしてもよい。
【００４５】
この構成によれば、リング状伝送路上の複数のホスト装置によって前記切替失敗通知を順次転送するので、例えば、故障したホスト装置を容易に特定することができる。
【００４６】
また、本発明の一形態におけるリング状伝送路の伝送方向切替方法は、リング状伝送路に接続されるホスト装置および複数のスレーブ装置を備えるリング状伝送路の伝送方向切替方法であって、前記ホスト装置は、前記リング状伝送路に接続され入力と出力とを切り替え可能な２つのホストＩ／Ｏ端子を備え、各スレーブ装置は、前記リング状伝送路に接続され入力と出力とを切り替え可能な２つのスレーブＩ／Ｏ端子を備え、前記伝送方向切替方法は、前記ホスト装置において、前記リング状伝送路の伝送方向の切り替えを他の全てのスレーブ装置に指示する方向切替コマンドを生成し、前記ホスト装置において、前記方向切替コマンドを前記２つのホストＩ／Ｏ端子のうちの一方である第１のホストＩ／Ｏ端子から前記リング状伝送路に送信し、前記ホスト装置において、前記２つのホストＩ／Ｏ端子のうちの他方である第２のホストＩ／Ｏ端子から前記リング状伝送路を１周した前記方向切替コマンドを受信し、前記ホスト装置において、前記方向切替コマンドが受信されたとき、前記２つのホストＩ／Ｏ端子と前記リング状伝送路との間の伝送方向を前記方向切替コマンドの送信前と比べて反転させるように前記２つのホストＩ／Ｏ端子の切替を制御する。
【００４７】
この構成によれば、リング状伝送路の伝送方向の切り替えは方向切替コマンドをリング状伝送路を１周させることによって実現することができる。すなわち、新たな制御線を追加することなしに既存のリング状伝送経路を活用して、伝送方向の切替を容易に実現することができる。
【００４８】
以上のように、本発明の一形態では、伝送方向を切り替える方向切替コマンドを用いて転送方向の切替を行うことにより、伝送用の制御線を追加することなく、伝送方向の切替を実現する。この方向切替コマンドは、伝送経路の切替を要求する通信装置（例えばホスト装置）が発行する。この方向切替コマンドは、他の全ての通信装置（例えばスレーブ装置）に対して一括して方向切替の指示が出来る簡便なコマンドであり、伝送方向の切り替えに要する電力消費を低く抑えることも出来る。
【発明の効果】
【００４９】
以上のように、本発明によると、新たな制御線を追加することなしに既存のリング状伝送経路を活用して、伝送方向の切替を容易に実現することができる。
【図面の簡単な説明】
【００５０】
【図１】本発明に係るシステムの１実施形態の構成を示す図である。
【図２】本発明に係る第１の実施の形態のリング状伝送路システムの構成を示す図である。
【図３】パケットフォーマットの１構成を示す図である。
【図４】本発明の第１の実施の形態に係るホスト装置の構成を示す図である。
【図５】本発明の第１の実施の形態に係るスレーブ装置の構成を示す図である。
【図６】本発明の第１の実施の形態に係るリング状伝送路の伝送方向の切り替え処理を時系列で示す図である。
【図７Ａ】本発明の第１の実施の形態に係るホスト装置の入出力状態(Ｉ／Ｏ端子205：入力、Ｉ／Ｏ端子２０６：出力)を示す図である。
【図７Ｂ】本発明の第１の実施の形態に係るホスト装置の入出力状態(Ｉ／Ｏ端子205:入力、Ｉ／Ｏ端子206:入力)を示す図である。
【図７Ｃ】本発明の第１の実施の形態に係るホスト装置の入出力状態(Ｉ／Ｏ端子205：出力、Ｉ／Ｏ端子306：入力)を示す図である。
【図８Ａ】本発明の第１の実施の形態に係るスレーブ装置の入出力状態(Ｉ／Ｏ端子305：入力、Ｉ／Ｏ端子３０６：出力)を示す図である。
【図８Ｂ】本発明の第１の実施の形態に係るスレーブ装置の入出力状態を(Ｉ／Ｏ端子305：出力、Ｉ／Ｏ端子306：出力)示す図である。
【図８Ｃ】本発明の第１の実施の形態に係るスレーブ装置の入出力状態(Ｉ／Ｏ端子305：出力、Ｉ／Ｏ端子306：入力)を示す図である。
【図９Ａ】本発明の第１の実施の形態に係るホスト装置の伝送方向切替時の動作処理手順を示す図である。
【図９Ｂ】本発明の第１の実施の形態に係るスレーブ装置の伝送方向切替時の動作処理手順を示す図である。
【図１０】本発明の第２の実施の形態に係るリング状伝送路システムの構成を示す図である。
【図１１】本発明の第２の実施の形態に係る正常に伝送方向を切り替えられた場合を時系列で示す図である。
【図１２】本発明の第２の実施の形態に係る伝送方向を切り替えらなかった場合を時系列で示す図である。
【図１３】本発明の第２の実施の形態に係るホスト装置の構成を示す図である。
【図１４】本発明の第２の実施の形態に係るスレーブ装置の構成を示す図である。
【図１５】本発明の第２の実施の形態に係るホスト装置の伝送方向切替時の動作処理手順を示す図である。
【図１６】本発明の第２の実施の形態に係るスレーブ装置の伝送方向切替処理時の動作処理手順を示す図である。
【図１７】本発明の第３の実施の形態に係るリング状伝送路システムの構成を示す図である。
【図１８】本発明の第３の実施の形態に係るホスト装置の構成を示す図である。
【図１９】本発明の第３の実施の形態に係るスレーブ装置の構成を示す図である。
【図２０】本発明の第３の実施の形態に係る正常に伝送方向を切り替えられた場合を時系列で示す図である。
【図２１】本発明の第３の実施の形態に係る伝送方向を切り替えられなかった場合を時系列で示す図である。
【発明を実施するための形態】
【００５１】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００５２】
（第１の実施の形態）
本実施の形態における通信装置は、ホスト装置としての通信装置とスレーブ装置としての通信装置の２種類がある。
【００５３】
前記ホスト装置としての通信装置は、前記リング状伝送路に接続され入力と出力とを切り替え可能な２つのホストＩ／Ｏ端子（Ｉ／Ｏは入出力の略）と、前記リング状伝送路の伝送方向の切り替えを他の全てのスレーブ装置に指示する方向切替コマンドを生成するコマンド生成部と、前記２つのホストＩ／Ｏ端子およびコマンド生成部を制御するホスト制御部（２００）とを備える。前記ホスト制御部は、前記方向切替コマンドを前記２つのホストＩ／Ｏ端子のうちの一方である第１のホストＩ／Ｏ端子から前記リング状伝送路に送信させ（Ｓ１２）、前記リング状伝送路を１周した前記方向切替コマンドが前記２つのホストＩ／Ｏ端子のうちの他方である第２のホストＩ／Ｏ端子から受信されたとき、前記２つのホストＩ／Ｏ端子と前記リング状伝送路との間の伝送方向を前記方向切替コマンドの送信前と比べて反転させるように前記２つのホストＩ／Ｏ端子の切替を制御する。
【００５４】
スレーブ装置としての通信装置は、前記リング状伝送路に接続され入力と出力とを切り替え可能な２つのスレーブＩ／Ｏ端子と、前記２つのスレーブＩ／Ｏ端子のうちの一方である第１のスレーブＩ／Ｏ端子から受信されたコマンドを解析することにより、当該コマンドが前記リング状伝送路の伝送方向の切り替えを指示する方向切替コマンドであるか否かを判定するコマンド解析部と、前記第１のスレーブＩ／Ｏ端子から受信されたコマンドが前記方向切替コマンドであると判定された場合、前記方向切替コマンドを前記２つのスレーブＩ／Ｏ端子の他方である第２のスレーブＩ／Ｏ端子から送信し、前記２つのスレーブＩ／Ｏ端子それぞれの入力と出力と切り替えるスレーブ制御部（制御部３０１）とを備える。
【００５５】
これにより、方向切替コマンドをリング状伝送路に沿って１周させることを容易に実現し、新たな制御線を追加することなしに既存のリング状伝送経路を活用して、伝送方向の切替を容易に実現することができる。
【００５６】
図１は、本発明に係るシステムの１実施形態の構成を示す。
図1に示すＬＳＩ１１にはＣＰＵ１２とホスト装置１とバス１３がＬＳＩ１１の一部として含まれおり、ホスト装置１はバス１３を介してＣＰＵ１２からの命令を受け複数のスレーブ装置２〜Ｎ（Ｎは整数）を制御するコントローラとしての機能を提供する。なお、ホスト装置は特定のＬＳＩとして提供されていてもよく、あるいはＣＰＵやバスを含むＬＳＩとして提供されていてもよい。スレーブ装置２〜Ｎはコントローラ機能と記憶領域を含んでいる。なお、スレーブ装置２〜Ｎに含まれた記憶領域は外部装置１４との入出力インターフェイス回路であってもよい。
【００５７】
図２は、図１に示したホスト装置１、及び、スレーブ装置２〜Ｎがリング状に接続されたリング状伝送路システム１０の構成を示す。図２では１つのホスト装置１、及び、ホスト装置１の制御下で動作する複数のスレーブ装置２〜Ｎがリング状伝送路によって順次接続され、パケットが一方向に伝送される。ホスト装置１及びスレーブ装置２〜Ｎは、リング状伝送路システム１０上で一意に識別可能なアドレスを持つ。図２に示す矢印の向きは、リング状伝送路システム１０のデータの転送方向を示す。実線の矢印は、データが反時計回りの方向に転送されることを示し、破線の矢印は、データが時計回りの方向に転送されることを示す。
【００５８】
図３は、ホスト装置１、及び、スレーブ装置２〜Nが、リング状伝送路システム１０上で通信するパケットのフォーマットの１構成例を示す。
【００５９】
パケットフォーマット４０は、データタイプ部４１と、送信元アドレス部４２と、送信先アドレス部４３と、データ部４４から構成される。
【００６０】
データタイプ部４１は、パケットがコマンドであるか、データであるかを示す。送信元アドレス部４２は、パケットを送信する装置のアドレスを示す。送信先アドレス部４３は、パケットの宛先となる装置のアドレスを示す。データ部４４には、データタイプ部４１がコマンドを示す場合は、書き込みコマンドや読み出しコマンドが設定され、データタイプ部４１がデータを示す場合は、静止画や動画などのデータが設定される。
【００６１】
ホスト装置１は、スレーブ装置２〜Nのいずれかの装置と１対１で通信を行う場合、送信元アドレスにホスト装置１のアドレスを、送信先アドレスに通信対象となるスレーブ装置のアドレスを設定する。
【００６２】
図４は、ホスト装置１の構成を示す。
ホスト装置１は、ホスト装置１の動作を制御する制御部２００（上記のホスト制御部）と、コマンドを生成するコマンド生成部２０１と、コマンドを解析するコマンド解析部２０２と、リング状伝送路に接続されるＩ／Ｏ端子２０５、２０６と、Ｉ／Ｏ端子２０５、２０６の入出力の切り替えを制御する入出力切替制御部２０４と、方向切替バッファ２０７〜２１０と、入力バッファ２１１と、出力バッファ２１２から構成される。制御部２００は、ホスト装置１の動作状態を判定する状態判定部２０３を含む。なお、第１のホストＩ／Ｏ端子は、Ｉ／Ｏ端子２０５、２０６の一方（例えば「出力」に設定されている端子）、第２のホストＩ／Ｏ端子は、Ｉ／Ｏ端子２０５、２０６の他方（例えば「入力」に設定されている端子）である。
【００６３】
制御部２００はホスト装置１の全体の動作を制御する。制御部２００は状態判定部２０３の情報をもとに、後述するコマンド生成部２０１、及び、入出力切替制御部２０４に制御情報を通知する。
【００６４】
コマンド生成部２０１は制御部２００からの制御情報を受けると、その制御情報に基づき、パケットフォーマット４０に準じたコマンドを生成する。
【００６５】
コマンド解析部２０２は、ホスト装置１がリング状伝送路から入力バッファに受信したコマンドを解析し、その解析結果を制御部２００に通知する。
【００６６】
状態判定部２０３は、ホスト装置１の動作状況に基づき、Ｉ／Ｏ端子２０５、２０６の入出力が切り替え可能かを判定する。
【００６７】
入出力切替制御部２０４は、コマンド生成部２０１からの制御情報、あるいは、制御部２００からの制御情報に応じて、入出力切替制御線２１３、２１４の電圧を高レベル（Ｈ）、あるいは低レベル（Ｌ）に制御する。
【００６８】
Ｉ／Ｏ端子２０５には、方向切替バッファ２０７、２０８が接続されている。
方向切替バッファ２０７、２０８は、入出力切替制御線２１３の電圧の高低により、導通状態、あるいは遮断状態のいずれか一方の状態をとる。入出力切替制御線２１３の電圧が高レベル（Ｈ）の場合、方向切替バッファ２０７は導通状態となり、方向切替バッファ２０８は遮断状態となる。この結果、Ｉ／Ｏ端子２０５は、入力バッファ２１１に接続され、入力端子となる。入出力切替制御線２１３の電圧が低レベル（Ｌ）の場合、方向切替バッファ２０７は遮断状態となり、方向切替バッファ２０８は導通状態となる。この結果、Ｉ／Ｏ端子２０５は出力バッファ２１２と接続され、出力端子となる。
【００６９】
Ｉ／Ｏ端子２０６には、方向切替バッファ２０９、２１０が接続されている。
方向切替バッファ２０９、２１０は、前述した方向切替バッファ２０７、２０８と同様の機能である。入出力切替制御線２１４の電圧が高レベル（Ｈ）の場合、方向切替バッファ２０９は導通状態となり、方向切替バッファ２１０は遮断状態となる。この結果、Ｉ／Ｏ端子２０６は出力バッファ２１２に接続され、出力端子となる。入出力切替制御線２１４の電圧が低レベル（Ｌ）の場合、方向切替バッファ２０９は遮断状態となり、方向切替バッファ２１０は導通状態となる。この結果、Ｉ／Ｏ端子２０６は入力バッファ２１１と接続され、入力端子となる。
【００７０】
このように、ホスト装置１は入出力切替制御部２０４から入出力切替制御線２１３、２１４の電圧を制御することで、Ｉ／Ｏ端子２０５、２０６のそれぞれの入力と出力を切り替えることができる。
【００７１】
図５は、スレーブ装置ｍ（mは2≦ｍ≦nの任意の自然数）の構成を示す。
スレーブ装置ｍは、機能部３００と、スレーブ装置ｍの動作を制御する制御部３０１（上記のスレーブ制御部）と、コマンドを解析するコマンド解析部３０２と、リング状伝送路に接続されるＩ／Ｏ端子３０５、３０６と、Ｉ／Ｏ端子３０５、３０６の入出力の切り替えを制御する入出力切替制御部３０４と、方向切替バッファ３０７〜３１０と、入力バッファ３１１と、出力バッファ３１２から構成される。制御部３０１は、スレーブ装置ｍの動作状態を判定する状態判定部３０３を含む。なお、第１のスレーブＩ／Ｏ端子は、Ｉ／Ｏ端子３０５、３０６の一方（例えば「出力」に設定されている端子）、第２のスレーブＩ／Ｏ端子は、Ｉ／Ｏ端子３０５、３０６の他方（例えば「入力」に設定されている端子）である。
【００７２】
機能部３００は記憶領域を含むメモリまたはＩ／Ｏデバイスである。あるいは機能部３００は外部装置との入出力制御を行うＩ/Fを含む。
【００７３】
制御部３０１は、スレーブ装置ｍの全体の動作を制御する。制御部３０１は、状態判定部３０３の情報をもとに、後述する入出力切替制御部３０４に制御情報を通知する。また、制御部３０１は、後述するコマンド解析部に、受信したコマンドを転送するための制御情報を通知する。
【００７４】
コマンド解析部３０２は、スレーブ装置ｍが受信したコマンドを解析し、その解析結果を制御部３０１に通知する。
【００７５】
状態判定部３０３は、スレーブ装置ｍの動作状況に基づき、Ｉ／Ｏ端子３０５、３０６の入出力の切り替えが可能かを判定する。
【００７６】
入出力切替制御部３０４は、制御部３０１からの制御情報に応じて、入出力切替制御線３１３、３１４の電圧を高レベル（Ｈ）、あるいは低レベル（Ｌ）に制御する。
【００７７】
Ｉ／Ｏ端子３０５には、方向切替バッファ３０７、３０８が接続されている。
方向切替バッファ３０７、３０８は、入出力切替制御線３１３の電圧の高低により、導通状態、あるいは遮断状態のいずれか一方の状態をとる。入出力切替制御線２１３の電圧が高レベル（Ｈ）の場合、方向切替バッファ３０７は導通状態となり、方向切替バッファ３０８は遮断状態となる。この結果、Ｉ／Ｏ端子３０５は入力バッファ３１１と接続され、入力端子となる。入出力切替制御線３１３の電圧が低レベル（Ｌ）の場合、方向切替バッファ３０７は遮断状態となり、方向切替バッファ３０８は導通状態となる。この結果、Ｉ／Ｏ端子３０５は出力バッファ３１２と接続され、出力端子となる。
【００７８】
Ｉ／Ｏ端子３０６には、方向切替バッファ３０９、３１０が接続されている。
方向切替バッファ３０９、３１０は、前述した方向切替バッファ３０７、３０８と同様の機能である。入出力切替制御線３１４の電圧が高レベル（Ｈ）の場合、方向切替バッファ３０９は導通状態となり、方向切替バッファ３１０は遮断状態となる。この結果、Ｉ／Ｏ端子３０６は出力バッファ３１２に接続され、出力端子となる。入出力切替制御線３１４の電圧が低レベル（Ｌ）の場合、方向切替バッファ３０９は遮断状態となり、方向切替バッファ３１０は導通状態となる。この結果、Ｉ／Ｏ端子３０６は入力バッファ３１１に接続され、入力端子となる。
【００７９】
このように、スレーブ装置ｍは、入出力切替制御部３０４から入出力切替制御線３１３、３１４の電圧を制御することで、Ｉ／Ｏ端子３０５、３０６それぞれの入力と出力を切り替えることができる。
【００８０】
次に、本リング状伝送路システム１０の伝送方向の切り替え動作を説明する。
本リング状伝送路の伝送方向切り替えは、ホスト装置、及び、スレーブ装置がＩ／Ｏ端子の入出力を切り替える指示である方向切替コマンドを用いて各装置が自身のＩ／Ｏ端子の入出力方向を順次切り替えていくことで実現している。本リング状伝送路は次のような特徴をもつ。
【００８１】
（A）ホスト装置は、伝送方向に接続されている次のスレーブ装置に方向切替コマンドを送信する。スレーブ装置は方向切替コマンドを受信すると次のスレーブ装置へ方向切替コマンドを転送し、当該スレーブ装置のＩ／Ｏ端子の入出力方向を切り替える。この動作が伝送路上の全てのスレーブ装置に対して順次行われていく。この結果、ホストが送信した方向切替コマンドは、リング状の各スレーブ装置によって転送され伝送路を一周して再びホスト装置に戻ってくる。
【００８２】
（B）ホスト装置は自身が送信した方向切替コマンドが伝送路上を一周して戻ってきたことにより、リング状伝送路の伝送方向が切り替わったことを認識する。
【００８３】
＜リング状伝送路の伝送方向切り替え動作＞
図６は、ホスト装置、及び、各スレーブ装置の方向切替コマンドの送受信と、各装置の２つのＩ／Ｏ端子の入力（Ｒ）と出力（Ｔ）の切り替わりを時系列で示している。図6では、ホスト装置１、スレーブ装置２、スレーブ装置３、…、スレーブ装置Nの順に接続されている場合の例を示している。図６で、Ｉ／Ｏ端子にそれぞれR、Tとあるのは、それぞれのＩ／Ｏ端子がR（入力）、T（出力）状態であることを示す。以降、各図におけるＩ／Ｏ端子へのR、Tの記載も同様である。
【００８４】
（１）ホスト装置１は、Ｉ／Ｏ端子Ｐ１２から方向切替コマンド７０をスレーブ装置２へ送信する。スレーブ装置２は、送信されてきた方向切替コマンドをＩ／Ｏ端子Ｐ２１で受信する。
【００８５】
（２）ホスト装置１はＩ／Ｏ端子Ｐ１２を出力（Ｔ）から入力（Ｒ）に切り替える。
【００８６】
（３）スレーブ装置２はＩ／Ｏ端子Ｐ２１を入力（Ｒ）から出力（Ｔ）に切り替えて、Ｉ／Ｏ端子P２２から方向切替コマンドをスレーブ装置３のＩ／Ｏ端子P３１に転送する。
【００８７】
（４）スレーブ装置２は、Ｉ／Ｏ端子Ｐ２２を出力（Ｔ）から入力（Ｒ）に切り替える。
【００８８】
（５）各スレーブ装置３〜Ｎはスレーブ装置２と同様の動作を行い方向切替コマンドを転送していく。
【００８９】
（６）スレーブ装置Nは、ホスト装置１へ方向切替コマンド転送する。
【００９０】
（７）ホスト装置は、Ｉ／Ｏ端子P１１から方向切替コマンドを受信して、Ｉ／Ｏ端子Ｐ１１を入力（Ｒ）から出力（Ｔ）へ切り替える。ホスト装置は、自身がＩ／Ｏ端子P１２から送信した方向切替コマンドが伝送路上を一周してＩ／Ｏ端子P１１に戻ってきたことにより、リング状伝送路の伝送方向が切り替わったと認識する。
【００９１】
なお、上記において、各スレーブ装置は自身が受信したパケットが方向切替コマンドであれば隣接する次の装置に方向切替コマンドを転送しているが、ホスト装置が前述したパケットの送信先アドレスとして特殊なアドレスを設定することで、各スレーブ装置は自身が受信したパケットの送信先アドレスに特殊なアドレスが設定されていた場合に隣接する次の装置に方向切替コマンドを転送するようにしてもよい。例えば、ホスト装置１のアドレスを１、スレーブ装置２のアドレスを２、…、スレーブ装置NのアドレスをNのように装置番号をアドレスに割り当てたとする。このときホスト装置１は各装置に割り当てられた以外のアドレス、例えば０を特殊アドレスとしてパケットの送信先に０を設定してスレーブ装置２へ方向切替コマンドを送信する。方向切替コマンドを受信したスレーブ装置２はパケットの解析結果から送信先アドレスに０が設定されていることを確認すると、スレーブ装置３に方向切替コマンドを転送する。以降、各スレーブ装置はスレーブ装置３→スレーブ装置４→・・・→スレーブ装置N→ホスト装置１の順に方向切替コマンドを転送するようにしてもよい。
【００９２】
以下、ホスト装置１及びスレーブ装置mにおける、Ｉ／Ｏ端子の入出力切り替え動作を詳述する。
【００９３】
＜ホスト装置１のＩ／Ｏ端子の入出力切り替え動作１＞
図７Ａは、方向切替コマンド発行前のホスト装置１の状態を示す。入出力切替制御部２０４により入出力切替制御線２１３，２１４の電圧が高レベルに保たれ、Ｉ／Ｏ端子２０５は入力バッファ２１１に、Ｉ／Ｏ端子２０６は出力バッファ２１２に接続されている。
【００９４】
図７Ａを初期状態として、Ｉ／Ｏ端子２０５、２０６の入力と出力が切り替わる動作を説明する。図９Ａはホスト装置１のＩ／Ｏ端子の入出力切り替え動作のフローチャートを示す。以下、括弧内の数字は図９Ａ中のステップ識別番号を示す。
【００９５】
ホスト装置１がＩ／Ｏ端子２０５、２０６の入出力を切り替える場合（S10）、はじめに、ホスト装置１内の制御部２００は状態判定部２０３を確認する。状態判定部２０３が入出力切り替え可能な状態を示している場合(S11)、制御部２００はコマンド生成部２０１に方向切替制御情報を通知する。状態判定部２０３が入出力切り替え可能な状態を示していない場合、制御部２００は状態判定部２０３が入出力切り替え可能な状態を示すまで待つ(S11)。そして、制御部はコマンド生成部２０１に方向切替制御情報を通知する。ここで、入出力切り替え可能な状態とは例えばホスト装置内の制御部が待機状態であることをいう。
【００９６】
コマンド生成部２０１は、制御部２００からのＩ／Ｏ端子の方向切替制御情報を受けて、方向切替コマンドを生成し、出力バッファ２１２を経てＩ／Ｏ端子２０６から送信する（S12）。そして、コマンド生成部２０１は、方向切替コマンドの送信完了を入出力切替制御部２０４に通知する。入出力切替制御部２０４はこの送信完了通知を受けて、現在低レベル状態にある入出力切替制御線２１４を低レベル（L）から高レベル（Ｈ）にする。この結果、図９Ｂに示すようにＩ／Ｏ端子２０６は出力から入力に切り替わる（S13）。
【００９７】
このとき入出力切替制御部２０４はＩ／Ｏ端子２０６の入出力の切り替えを完了したことを記憶している。
【００９８】
ホスト装置１が送信した方向切替コマンドは、リング状伝送路システム１０のスレーブ装置２〜Nによって順次転送される。ホスト装置１は、リング状伝送路を一周してきた方向切替コマンドをＩ／Ｏ端子２０５で受信する（S14）。そして、コマンド解析部２０２によって方向切替コマンドと解析され、その結果が制御部に通知される。制御部２００は、この通知を受けて状態判定部２０３を確認する。制御部２００は状態判定部２０３が入出力切り替え可能な状態を示すまで待つ(S1５)。状態判定部２０３が入出力切り替え可能な状態になると制御部は入出力切替制御部２０４へＩ／Ｏ端子の入出力切替制御情報を通知する。入出力切替制御部２０４は、制御部２００からのＩ／Ｏ端子の入出力切替通知を受けて、もう一方の切替を行っていないＩ／Ｏ端子２０５の入出力切替制御線２１３を高レベル（H）から低レベル（Ｌ）にする。この結果、図９Ｃに示すようにＩ／Ｏ端子２０５は入力から出力に切り替わる（S16）。入出力切替制御部２０４は、２つのＩ／Ｏ端子２０５、２０６の入出力切り替えが完了したことを、制御部２００へ通知する（S17）。
【００９９】
＜ホスト装置１のＩ／Ｏ端子の入出力切り替え動作２＞
ホスト装置１がＩ／Ｏ端子２０５、２０６の入出力を切り替える場合、はじめに、ホスト装置１内の制御部２００は状態判定部２０３を確認する。状態判定部２０３が入出力切り替え可能な状態を示している場合、制御部２００はコマンド生成部２０１に方向切替制御情報を通知する。状態判定部２０３が入出力切り替え可能な状態を示していない場合、制御部２００は、状態判定部２０３が入出力切り替え可能な状態を示すまで待つ。そして、制御部はコマンド生成部２０１に方向切替制御情報を通知する。コマンド生成部２０１は、制御部２００からのＩ／Ｏ端子の方向切替制御情報を受けて、方向切替コマンドを生成し、出力バッファ２１２を経てＩ／Ｏ端子２０６から送信する。ホスト装置１が送信した方向切替コマンドは、リング状伝送路システム１０のスレーブ装置２〜Nによって順次転送される。ホスト装置１は、リング状伝送路を一周してきた方向切替コマンドを、Ｉ／Ｏ端子２０５で受信する。そして、コマンド解析部２０２によって方向切替コマンドと解析され、その結果が制御部２００に通知される。制御部２００は、この通知を受けて状態判定部２０３を確認する。制御部２００は状態判定部２０３が入出力切り替え可能な状態を示すまで待つ。状態判定部２０３が入出力切り替え可能な状態になると制御部は入出力切替制御部２０４へＩ／Ｏ端子２０５、２０６の入出力切替制御情報を通知する。入出力切替制御部２０４は、制御部２００からのＩ／Ｏ端子２０５、２０６の入出力切替通知を受けて、入出力切替制御線２１３を高レベル（H）から低レベル（Ｌ）に、入出力切替制御線２１４を低レベル（L）から高レベル（Ｈ）にする。この結果、Ｉ／Ｏ端子２０５は入力から出力に、Ｉ／Ｏ端子２０５は出力から入力に切り替わる。入出力切替制御部２０４は、２つのＩ／Ｏ端子２０５、２０６の入出力切り替えが完了したことを制御部２００へ通知する。
【０１００】
＜スレーブ装置mのＩ／Ｏ端子の入出力切り替え動作１＞
図８Ａは、方向切替コマンド受信前のスレーブ装置mの状態を示す。入出力切替制御部３０４により入出力切替制御線３１３、３１４の電圧が高レベルに保たれ、Ｉ／Ｏ端子３０５は入力バッファ２１１に、Ｉ／Ｏ端子３０６は出力バッファ２１２に接続されている。図８Ａを初期状態として、Ｉ／Ｏ端子３０５、３０６の入力と出力が切り替わる動作を説明する。図９Ｂはスレーブ装置ｍのＩ／Ｏ端子の入出力切り替え動作のフローチャートである。以下、括弧内の数字は図９Ｂ中のステップ識別番号を示す。
【０１０１】
スレーブ装置ｍは、ホスト装置１が送信した、あるいは隣接した他のスレーブ装置から転送された方向切替コマンドをＩ／Ｏ端子３０５で受信する(S20, S21)。受信したコマンドは入力バッファ３１１を経てコマンド解析部３０２で方向切替コマンドと解析され、その結果が制御部３０１に通知される。制御部３０１は方向切替コマンドの通知を受けて、状態判定部３０３を確認する。状態判定部３０３が入出力切り替え可能な状態を示している場合(S22)、制御部３０１は入出力切替制御部３０４へＩ／Ｏ端子の入出力切替制御情報を通知する。状態判定部３０３が入出力切り替え可能な状態を示していない場合、制御部３０１は、状態判定部３０３が入出力切り替え可能な状態を示すまで待つ(S22)。状態判定部３０３が入出力切り替え可能な状態を示すと、制御部３０１は入出力切替制御部３０４へＩ／Ｏ端子の入出力切替制御情報を通知する。入出力切替制御部３０４は制御部３０１からのＩ／Ｏ端子の入出力切替通知を受けて、現在高レベル状態にある入出力切替制御線３１３を高レベル（H）から低レベル（Ｌ）にする。この結果、図８Ｂに示すようにＩ／Ｏ端子３０５は入力から出力に切り替わる(S23)。このとき入出力切替制御部３０４はＩ／Ｏ端子３０５の入出力の切り替えを完了したことを記憶している。
【０１０２】
入出力切替制御部３０４は、Ｉ／Ｏ端子３０５の入出力の切り替えが完了したことを制御部３０１に通知する。制御部３０１はこの通知を受けコマンド解析部３０２に方向切替コマンドを転送するように制御情報を通知する。コマンド解析部３０２は、出力バッファ３１２を経て、Ｉ／Ｏ端子３０６から方向切替コマンドを転送する（S24）。コマンド解析部３０２は、制御部３０１へコマンド転送が完了したことを通知する。そして、制御部３０１は入出力切替制御部３０４へＩ／Ｏ端子の入出力切替制御情報を通知する。入出力切替制御部３０４は制御部３０１からのＩ／Ｏ端子の入出力切替通知を受けて、もう一方の切替を行っていないＩ／Ｏ端子３０６の入出力切替制御線３１４を低レベル（L）から高レベル（Ｈ）にする。この結果、図８Ｃに示すようにＩ／Ｏ端子３０６は出力から入力に切り替わる（S25）。入出力切替制御部３０４は、Ｉ／Ｏ端子３０５、３０６の入出力切替が完了したことを、制御部３０１へ通知する（S26）。
【０１０３】
＜スレーブ装置mのＩ／Ｏ端子の入出力切り替え動作２＞
スレーブ装置ｍは、ホスト装置１が送信した、あるいは隣接した他のスレーブ装置から転送された方向切替コマンドをＩ／Ｏ端子３０５で受信する。受信したコマンドは、入力バッファ３１１を経てコマンド解析部３０２で方向切替コマンドと解析され、その結果が制御部３０１に通知される。制御部３０１は、方向切替コマンドの通知を受けて、状態判定部３０３を確認する。状態判定部３０３が入出力切り替え可能な状態を示している場合、制御部３０１はコマンド解析部３０２に方向切替コマンドを転送するように制御情報を通知する。状態判定部３０３が入出力切り替え可能な状態を示していない場合、制御部３０１は、状態判定部３０３が入出力切り替え可能な状態を示すまで待つ。状態判定部３０３が入出力切り替え可能な状態を示すと、制御部３０１はコマンド解析部３０２に方向切替コマンドを転送するように制御情報を通知する。コマンド解析部３０２は、出力バッファ３１２を経て、Ｉ／Ｏ端子３０６から方向切替コマンドを転送する。コマンド解析部３０２は、制御部３０１へコマンド転送が完了したことを通知する。そして、制御部３０１は入出力切替制御部３０４へＩ／Ｏ端子３０５、３０６の入出力切り替えを通知する。入出力切替制御部３０４は制御部３０１からのＩ／Ｏ端子３０５、３０６の入出力切替要求を受けて、入出力切替制御線３１４を低レベル（L）から高レベル（Ｈ）に、入出力切替制御線３１３を高レベル（H）から低レベル（Ｌ）にする。この結果、Ｉ／Ｏ端子３０６は出力から入力に、Ｉ／Ｏ端子３０５は入力から出力に切り替わる。入出力切替制御部３０４は、Ｉ／Ｏ端子３０５、３０６の入出力切替が完了したことを、制御部３０１へ通知する。
【０１０４】
このように、リング状伝送路において、コマンドを用いた転送方向の切り替えを行うことにより、各装置間の特別な配線を用いることなく、転送方向の切り替えを実現している。また、ホストは自身の発行したコマンドが自身に戻ってくることにより、全端末の切り替え完了を判断しており、各端末間と個別に切替コマンドあるいは切替完了コマンドを送受信することなく、転送方向の切り替えを実現している。このため、転送方向の切り替えに要するコマンドの送受信を最小限に抑えることができ、転送方向切り替えのための電力消費を抑えることが出来る。
【０１０５】
このような前記リング状伝送路システム１０を用いることにより、データ転送に伴う電力消費を抑えることが出来る。例えば隣接するスレーブ装置２・３において、ある時点でのデータ転送方向がスレーブ装置２からスレーブ装置３の方向であったとする。このとき、スレーブ装置３からスレーブ装置２に十分大きなデータを転送する場合、ホスト装置１によりデータ転送方向が切り替える。これにより、データ転送の際に経由する装置数が最小限に抑えられ、データ転送に伴う電力消費を抑えることが出来る。
【０１０６】
以上のように、本実施の形態におけるリング状伝送路システムでは、リング状伝送路の伝送方向の切り替えは方向切替コマンドをリング状伝送路を１周させることによって実現することができる。すなわち、新たな制御線を追加することなしに既存のリング状伝送経路を活用して、伝送方向の切替を容易に実現することができる。
【０１０７】
また、ホスト装置１は、その動作状況に基づいて前記２つの入出力端子の切替が可能か否かを判定する状態判定部２０３を備え、前記ホスト制御部（制御部２００）は、前記状態判定部２０３が切替可能であると判定したとき（図９ＡのＳ１１）前記第１の入出力端子から前記方向切替コマンドを送信させるようにしている。この構成によれば、前記通信装置の動作状況（例えば、処理負荷が軽い状態または待機状態）を判定することにより、伝送方向の切替による通信装置の性能劣化を低減し、ひいては伝送方向の切替によるリング状伝送路の伝送性能の劣化を低減することができる。
【０１０８】
また、ホスト装置１の前記ホスト制御部は、前記リング状伝送路を１周した前記方向切替コマンドが前記第２の入出力端子から受信され、かつ、前記状態判定部２０３が切替可能であると判定した場合に（Ｓ１５）、前記２つの入出力端子と前記リング状伝送路との間で伝送方向を反転させるように前記２つの入出力端子を制御するようにしている。この構成によれば、前記通信装置の動作状況（例えば、処理負荷が軽い状態または待機状態）を判定することにより、伝送方向の切替による通信装置の性能劣化を低減し、ひいては伝送方向の切替によるリング状伝送路の伝送性能の劣化を低減することができる。
【０１０９】
なお、ここで隣接するスレーブ装置２・３の間のデータ転送としたが、隣接しているスレーブ間の転送に限らず、任意のスレーブ装置及びホスト装置の間で、中継装置数が最小になるように転送方向を制御することにより、電力消費を抑えることが可能となる。
【０１１０】
なお、ホスト装置は、リング状伝送路に接続された何れの通信装置であってもよい。また、動的にホスト装置を選択するようにしてもよい。
【０１１１】
なお、図９ＡのステップＳ１３は、ステップＳ１２の後であればどのタイミングでもよく、ステップＳ１６と同時でもよい。
【０１１２】
なお、図９ＢのステップＳ２３は、ステップＳ２１またはＳ２２の後であればどのタイミングでもよく、ステップＳ２５と同時でもよい。
【０１１３】
（第２の実施の形態）
本実施の形態では、実施の形態１の機能に加えて、ホスト装置が伝送方向切替の成否判定をすることを可能にし、さらに、転送方向の切替に失敗した場合に、どのスレーブ装置で失敗したのかを特定可能にしたリング状伝送路システムについて説明する。
【０１１４】
図１０に、本発明の第２の実施の形態を示す。第２の実施の形態における本発明に係るリング状伝送路システムは、第１の実施の形態で示されたリング状伝送路システムに加え、ホスト装置１にタイマー部β１１、スレーブ装置２〜Nに切替完了/失敗通知生成部β１３、タイマー部β１４を備えた構成をとる。
【０１１５】
第２の実施の形態におけるホスト装置１及びスレーブ装置２〜Nの構成を図１３、図１４に示す。各装置の詳細は後述する。
【０１１６】
各装置のタイマー部（β１１、β１４）は、それぞれの制御部（３０１、３０２）によりそれぞれ各装置・動作状況に応じて第一の初期値T１1〜T１nあるいは第二の初期値に設定され、一定の期間ごとにカウントダウンを行うカウントダウンタイマ機能を持ち、タイマー値が０を示した場合、タイマー部より制御部にタイムアウトの発生が通知される。
【０１１７】
次に、第２の実施の形態における、前記リング状伝送路システム１０の転送方向切り替え動作を説明する。
【０１１８】
図１１は、ホスト装置、及び、スレーブ装置の方向切替コマンドの送受信と、Ｉ／Ｏ端子の入力（Ｒ）と出力（Ｔ）の切り替わりが正常に行われる場合の動作を時系列で示している。なお、各装置個別の動作の詳細は後に示す。
【０１１９】
時刻（１０）：ホスト装置１は、Ｉ／Ｏ端子P１２から方向切替コマンド７０を送信する。
【０１２０】
この際、ホスト装置１は、タイマー部β１１に初期値T１２を設定しカウントダウンを開始する。
【０１２１】
スレーブ装置２は、送信されてきた方向切替コマンドをＩ／Ｏ端子で受信する。
【０１２２】
時刻（１１）：ホスト装置１はＩ／Ｏ端子P12を出力（Ｔ）から入力（Ｒ）に切り替える。
【０１２３】
時刻（１２）：スレーブ装置L-1(Lは3≦L≦Nの自然数)はＩ／Ｏ端子PL01から、方向切替コマンド７０を受信する。
【０１２４】
時刻（１３）：スレーブ装置L-1はＩ／Ｏ端子PL01を入力（Ｒ）から出力（Ｔ）に切り替えて、Ｉ／Ｏ端子PL02から方向切替コマンド70を転送する。
【０１２５】
この際、スレーブ装置L-1はタイマー部β１４に初期値T(L-1)lを設定しカウントダウンを開始する。
【０１２６】
時刻（１４）：スレーブ装置L-1は、Ｉ／Ｏ端子ＰL02を出力（Ｔ）から入力（Ｒ）に切り替えると共に、Ｉ／Ｏ端子PL01からスレーブ装置L-2(L>3の場合）もしくはホスト装置１(L=3の場合）を宛先として、切替完了通知β１２を送信する。
【０１２７】
スレーブ装置L-2(L>3の場合）もしくはホスト装置１(L=3の場合）は、送信されてきた切替完了通知β１２を受信すると、自身のタイマー部β１１・β１４のカウントダウンを停止する。
【０１２８】
以降、各スレーブ装置L〜Nは、スレーブ装置L-1と同様の動作を行い、Ｉ／Ｏ端子の入力と出力とを切り替えながら、方向切替前のデータ転送方向に接続されたスレーブ装置へ方向切替コマンドを転送していくと共に、方向切替後のデータ転送方向に接続されたスレーブ装置を宛先として切替完了通知を送信する。
【０１２９】
時刻（１５）：スレーブ装置Nは、スレーブ装置L-1と同様の動作を行い、ホスト装置１へ方向切替コマンド７０を転送する。
【０１３０】
時刻（１６）：スレーブ装置Nは、スレーブ装置N-1に切替完了通知β１２を送信する。
【０１３１】
切替完了通知β１２を受信したスレーブ装置N-1は、自身のタイマー部β１４のカウントダウンを停止する。
【０１３２】
時刻（１７）：時刻１５で方向切替コマンド７０を受信したホスト装置１は、Ｉ／Ｏ端子Ｐ１１を入力（Ｒ）から出力（Ｔ）へ切り替える。
【０１３３】
以上のように動作することにより、ホスト装置１は、自身が送信した方向切替コマンド７０が伝送路上を一周して戻ってきたことにより、前記リング状伝送路システム１０の伝送方向が切り替わったと認識する。
【０１３４】
なお、図１１で、既に時刻１３で方向切替コマンドを受信したスレーブ装置LのＩ／Ｏ端子PL11の方向切替は、スレーブ装置L-1からの切替完了通知β１２の送信時点（時刻１４）において行われていないが、Ｉ／Ｏ端子PL11の方向切替は、切替完了通知の送信と同時であっても構わないし、スレーブ装置L-1からの切替完了通知β１２の送信よりも先に行われていても構わない。
【０１３５】
一方、図１２は、スレーブ装置L+1が方向切替を行えなかった場合の動作を時系列で示す。
【０１３６】
時刻（２０）から時刻（２３）においては、各装置は前記正常に切替が行われた場合と同様の動作を行い、ホスト装置１から送信された方向切替コマンド７０は、各スレーブ装置２〜L-1の方向切替を伴いながら順次転送される。
【０１３７】
時刻（２２）：スレーブ装置Lからスレーブ装置L+1に方向切替コマンド７０が転送される。
【０１３８】
時刻（２３）：スレーブ装置Lからスレーブ装置L-1に切替完了通知β１２が送信される。
【０１３９】
時刻（２４）：スレーブ装置L+1で方向切替が行われない場合、スレーブ装置Lはスレーブ装置L+1からの方向切替完了通知を受信しない。
【０１４０】
時刻（２５）：スレーブ装置Lのタイマー部がカウントダウンの結果０を示した場合、スレーブ装置Lは、Ｉ／Ｏ端子PL12を入力（R)から出力（T)に切り替える。
【０１４１】
時刻（２６）：スレーブ装置Lは、自身を送信元、ホスト装置１を送信先とする、方向切替失敗通知β１５をＩ／Ｏ端子PL11から送信する。
【０１４２】
スレーブ装置L-1は、Ｉ／Ｏ端子PL02においてスレーブ装置Lから方向切替失敗通知β１５を受信する。
【０１４３】
時刻（２７）：スレーブ装置Lは、Ｉ／Ｏ端子PL11を出力（T)から入力（R)に切り替える。
【０１４４】
時刻（２８）：スレーブ装置L-1は、Ｉ／Ｏ端子PL02を入力（R)から出力（T)に切り替える。
【０１４５】
時刻（２９）：スレーブ装置L-1は、Ｉ／Ｏ端子PL01から前記方向切替失敗通知β１５を転送する。
【０１４６】
時刻（２A）：スレーブ装置L-1は、Ｉ／Ｏ端子PL01を出力（T)から入力（R)に切り替える。
【０１４７】
この後、各スレーブ装置2〜L-2においてスレーブ装置L-1と同様の動作が繰り返される。
【０１４８】
時刻（２B）：ホスト装置１は、Ｉ／Ｏ端子P12から前記方向切替失敗通知β１５を受信する。
【０１４９】
時刻（２C）：ホスト装置１は、Ｉ／Ｏ端子P12を入力（R)から出力（T)に切り替えると共に、方向切替失敗通知β１５の送信元がスレーブ装置Lであることから、スレーブ装置L+1での方向切替に失敗したことを認識する。
【０１５０】
次に、図１３に本第２の実施の形態におけるホスト装置１の構成を示す。
第２の実施の形態におけるホスト装置１は、第一の実施の形態で図４で示されたホスト装置に、タイマー部β１１を備えたものとする。
【０１５１】
図１５に方向切替に関するホスト装置１の動作フローチャートを示す。
なお、ここでは方向切替前は、図１２時刻１０・図１３の時刻２０と同様に、ホスト装置１のＩ／Ｏ端子P11が入力（R）、Ｉ／Ｏ端子P12が出力（T）であり、前記時刻におけるホスト装置からのデータ伝送方向の順に、スレーブ装置２，３、・・・Nと接続された後に、出力（T）になっているスレーブ装置NのＩ／Ｏ端子PN2がホスト装置１のＩ／Ｏ端子P11に接続されているものとする。
【０１５２】
方向切替を行うにあたり、ホスト装置１は、状態判定部２０３に、自身が方向切替可能であるかどうかを問い合わせる（Sβ５０１）。
【０１５３】
切替可能と判断された場合、ホスト装置１の制御部２００は、コマンド生成部２０１に指示することにより、出力バッファ２１２からＩ／Ｏ端子P12を経て方向切替コマンド７０を送信する（Sβ５０２）。
【０１５４】
次に、制御部２００は、タイマー部β１１に初期値T12を設定し（Sβ５０３）、カウントダウンタイマを起動する（Sβ５０４）。
【０１５５】
制御部２００は、入出力切替制御部２０４にＩ／Ｏ端子P12(２０６)の入出力切替を指示することにより、Ｉ／Ｏ端子P12(206)を出力（T）から入力（R）へ切り替える（Sβ５０５）。
【０１５６】
ホスト装置１は、タイマー部β１１のタイマー値Tが０になりタイムアウトが発生するまで、スレーブ装置からの通知を待つ（Sβ５０６）。このとき、タイムアウトが発生するまでに通知が無かった場合、ホスト装置１は、スレーブ装置２が方向切替に失敗したものとして、タイマーを停める（Sβ５０８）と共に、Ｉ／Ｏ端子P12を入力（R）から出力（T）へ切り替え（Sβ５０９）、方向切替処理を終了する（Sβ５１０）。
【０１５７】
一方、タイムアウトが発生するまでに通知を受信した場合、ホスト装置１はタイマーを停め（Sβ５１１）、コマンドあるいは通知の受信を待つ（Sβ５１３）。
【０１５８】
そして、ホスト装置１が、Ｉ／Ｏ端子P１１あるいはP１２からコマンドあるいは通知を受信した場合、コマンド解析部２０２においてコマンド・通知の解析を行う（Sβ５１４）。受信したデータが、方向切替失敗通知であった場合は、通知の送信元を特定することにより切替発生箇所を特定すると共に、方向切替に失敗したものとして、制御部２００、入出力切替制御部２０４の働きによりＩ／Ｏ端子P12を入力（R）から出力（T）へ切り替え、方向切替処理を終了する。
【０１５９】
また、受信したデータが、方向切替コマンドであった場合は、タイマー部β１１のタイマーを初期値T1１に設定し、カウントダウンタイマーを起動する。
【０１６０】
カウントダウンタイマーのタイマー値Tが０になりタイムアウトを起こすまでに、状態判定部２０３により方向切替が可能と判定されなければ、ホスト装置１はタイマーを停止し（Sβ５１９）、コマンド・通知受信待ち状態になる。この場合は、スレーブ装置Nにおいて、方向切替失敗通知が送信され、スレーブ装置N-1・・・２を経てホスト装置１で受信され、方向切替に失敗したものとして、Ｉ／Ｏ端子P12を入力（R）から出力（T）に切り替え（Sβ５０９）、方向切替処理を終了する（Sβ５１０）。
【０１６１】
一方、タイムアウトが発生する前に方向切替が可能と判定されれば、タイマー部β１１のタイマーを停止させ、入出力切替制御部２０４により、Ｉ／Ｏ端子P11を入力（R）から出力（T）に切り替える（Sβ５２１）。この後、Ｉ／Ｏ端子P11からスレーブ装置Nに切り替え完了通知を送信する（Sβ５２２）。前記切り替え完了通知をスレーブ装置Nが受信することにより、前記リング状伝送路システム１０の方向切替処理が完了する。
【０１６２】
以上が、伝送方向切替処理におけるホスト装置１の動作となる。
次に図１４に本第２の実施の形態におけるスレーブ装置２の構成を示す。
【０１６３】
第２の実施の形態におけるスレーブ装置２は、第１の実施の形態で図５に示されたスレーブ装置に、タイマー部β１４及び切替完了/失敗通知生成部β１３を備えたものとする。
【０１６４】
図１６に方向切替に関するスレーブ装置M(Mは1≦M≦Nの自然数)の動作フローを示す。動作の開始時点において、Ｉ／Ｏ端子PM1が入力（R）、PM2が出力（T）であったとする。
【０１６５】
スレーブ装置Mはコマンドあるいは通知を受信すると、コマンド解析部３０２において内容を解析する（Sβ６０２）。受信したのが方向切替コマンドであれば、タイマー部β１４のタイマーにタイマー初期値Tm1を設定し、カウントダウンタイマを起動する（Sβ６０３、Sβ６０４）。
【０１６６】
タイムアウトが発生するまでに状態判定部３０３により方向切替が可能と判定されなかった場合、スレーブ装置Mは方向切替処理を終了する（Sβ６０７）。
【０１６７】
タイムアウトが発生するまでに方向切替が可能と判定された場合、タイマー部β１４３のタイマーを停止し、Ｉ／Ｏ端子PM1を入力（R）から出力（T）に切り替える（Sβ６１０）。続いて、制御部３０１・コマンド解析部３０２・出力バッファ３１２によりＩ／Ｏ端子PM2からスレーブ装置M+1（M=Nの時はホスト装置１）に方向切替コマンド７０を転送する。
【０１６８】
さらに、制御部３０１のタイマー部β１４のタイマーにタイマー初期値Tm2を設定し、カウントダウンタイマを起動する（Sβ６１２、Sβ６１３）。
【０１６９】
その後、制御部３０１、入出力切替制御部３０４によりＩ／Ｏ端子PM2を出力（T）から入力（R）へ切り替え（Sβ６１４）、切替完了・失敗通知生成部β１３により切替完了通知を発行し、出力バッファを通じてＩ／Ｏ端子PM1からスレーブ装置M-1（M=1の時はホスト装置１）に送信する。
【０１７０】
その後、スレーブ装置Mは、スレーブ装置M+1からの通知を待つ。
タイマー部β１４のカウントダウンタイマが０になりタイムアウトが発生するまでにスレーブ装置M+1からの通知が無かった場合、スレーブ装置Mはタイマーを止め（Sβ６１８）、スレーブ装置M+1で方向切替に失敗したものとして、Ｉ／Ｏ端子PM2を入力（R）から出力（T）に切替え、切替完了・失敗通知生成部β１３で自身を送信元、ホストを送信先とする切替失敗通知を発行し、Ｉ／Ｏ端子PM1から送信する。送信後、Ｉ／Ｏ端子PM1を出力（T）から入力（R）に切り替え（Sβ６２１）、方向切替処理を終了する（Sβ６２２）。
【０１７１】
タイムアウトが発生するまでにスレーブ装置M+1からの通知を受信した場合、タイマーを停め（Sβ６２４）、コマンド解析部３０２で受信した通知を解析する。受信した通知が方向切替完了通知であった場合、方向切替処理を終了する（Sβ６２２）。
【０１７２】
方向切替後に、スレーブ装置Mにおいて受信した通知をコマンド解析部３０２で解析した結果（Sβ６０２）、方向切替失敗通知であった場合、スレーブ装置Mは入出力切替制御部により、方向切替失敗通知を受信したＩ／Ｏ端子PM2を入力（R）から出力（T）へ切り替える（Sβ６２６）。その後、Ｉ／Ｏ端子PM1から前記受信した切替失敗通知を転送し（Sβ６２７）、Ｉ／Ｏ端子PM１を出力（T）から入力（R）に切り替え、転送方向切替処理を終了する。
【０１７３】
以上が、伝送方向切替処理におけるスレーブ装置Mの動作となる。
なお、スレーブ装置３〜Nもスレーブ装置２と同様の構成をとるものとする。
【０１７４】
ただし、各スレーブ装置の備えるIOデバイスもしくはメモリは異なるものであっても構わない。
【０１７５】
前記リング状伝送路システム１０において、あるスレーブ装置θから別のスレーブ装置πにデータを転送する際、データが十分に大きく、また、現在のリング状伝送路のデータ転送方向よりも逆方向でデータを送信した方が、両スレーブ間での通信で経由されるスレーブ装置・ホスト装置の数が少ないと判断された場合、前述の方向切替コマンドを用いてデータ転送方向を切り替える。方向を切り替えることにより、両スレーブ間において直接データを転送する際に経由する装置の数を減らすことができ、それにより、転送方向を切り替えなかった場合と比べて消費電力を抑えることが出来る。
【０１７６】
以上のように、本実施の形態におけるホスト装置では、前記制御部２００（ホスト制御部）は、前記第１のホストＩ／Ｏ端子から前記リング状伝送路に前記方向切替コマンドを送信させた後、前記第１のホストＩ／Ｏ端子を出力から入力に切り替え（Ｓβ５０５）、前記リング状伝送路上の隣のスレーブ装置から伝送方向の切替を完了したことを示す切替完了通知が、前記方向切替コマンドの送信から第１の所定時間（Ｔ１２）内に前記第１のホストＩ／Ｏ端子から受信されたか否かを判定し（Ｓβ５０６、Ｓβ５０７）、前記第１の所定時間内に前記切替完了通知が受信されていないと判定された場合は、伝送方向の切替に失敗したと判断して前記第１のホストＩ／Ｏ端子を入力から出力に戻し（Ｓβ５０９）、前記第１の所定時間内に前記完了通知が受信されたと判定された場合は、前記第２のホストＩ／Ｏ端子から前記方向切替コマンドが受信されるのを待つ（Ｓβ５１３）ように構成されている。
【０１７７】
前記スレーブ装置２は、前記方向切替コマンドに従って前記２つのスレーブＩ／Ｏ端子の出力と入力の切り替えを完了したことを示す切替完了通知を生成する通知生成部（β１３）を備え、前記スレーブ制御部（制御部３０１）は、前記２つのスレーブＩ／Ｏ端子それぞれの入力と出力の切り替え完了後、さらに、前記通知生成部によって生成された切替完了通知を前記第１のスレーブＩ／Ｏ端子から送信させる（Ｓβ６１５）ように構成されている。
【０１７８】
これによれば、スレーブ装置が方向切替コマンドの送信元のホスト装置に対して切替完了通知を送信するので、ホスト装置は伝送方向切替の成否判定を容易にすることができる。
【０１７９】
また前記ホスト制御部は、さらに、前記第１のホストＩ／Ｏ端子から前記リング状伝送路に前記方向切替コマンドを送信させた後、リング状伝送路上のスレーブ装置において伝送方向の切替を失敗したことを示す切替失敗通知が、前記第１のホストＩ／Ｏ端子から受信されたか否かを判定し（Ｓβ５１４）、前記切替失敗通知が受信された場合、伝送方向の切替に失敗したと判断し、前記２つのホストＩ／Ｏ端子の前記一方を入力から出力に戻す（Ｓβ５０９）ように構成されている。
【０１８０】
前記スレーブ制御部は、前記第２のスレーブＩ／Ｏ端子からの前記方向切替コマンドの送信から第２の所定時間（Ｔｍ２）内に、隣のホスト装置において伝送方向の切替を完了したことを示す切替完了通知が前記第２のスレーブＩ／Ｏ端子から受信されたか否かを判定し（Ｓβ６１６＋Sβ６１７）、前記通知生成部は、さらに、前記第２の所定時間内に切替完了通知が受信されていないと判定された場合、隣のスレーブ装置が伝送方向の切替に失敗したことを示す切替失敗通知を生成し、前記スレーブ制御部は、さらに、前記通知生成部によって生成された切替失敗通知を前記第１のスレーブＩ／Ｏ端子から送信させ（Ｓβ６２０）、前記２つのスレーブＩ／Ｏ端子それぞれの入力と出力とを前記方向切替コマンド受信前と同じ状態に戻す（Ｓβ６１９＋Ｓβ６２１）ように構成されている。
【０１８１】
これによれば、切替を失敗したスレーブ装置の隣のスレーブ装置から切替失敗通知が送信されるので、ホスト装置は伝送方向の切替の成否を容易に検出にすることができる。
【０１８２】
また、スレーブ装置２内の前記通知生成部は、自身のスレーブ装置のアドレスを含む前記切替失敗通知を生成し、前記ホスト制御部は、さらに、前記切替失敗通知が受信された場合、当該切替失敗通知の送信元アドレスに基づいて伝送方向の切替を失敗したスレーブ装置を特定する（Ｓβ５２３）ように構成されている。
【０１８３】
これによれば、伝送方向の切替を失敗したスレーブ装置を容易に特定でき、例えば、故障したホスト装置を特定することができる。
【０１８４】
さらに、前記スレーブ制御部は、リング状伝送路上の何れかのスレーブ装置において伝送方向の切替を失敗したことを示す切替失敗通知が、前記第２のスレーブＩ／Ｏ端子から受信されたか否かを判定し（Ｓβ６０２）、前記第２のスレーブＩ／Ｏ端子から前記切替失敗通知が受信されたと判定された場合、前記第１のスレーブＩ／Ｏ端子から当該切替失敗通知を送信し（Ｓβ６２０）、前記２つのスレーブＩ／Ｏ端子を前記方向切替コマンド受信前と同じ状態に戻す（Ｓβ６１９＋Ｓβ６２１）ように構成されている。
【０１８５】
これによれば、リング状伝送路上の複数のスレーブ装置によって前記切替失敗通知を順次転送するので、例えば、故障したスレーブ装置を容易に特定することができる。
【０１８６】
なお、上記において、スレーブ装置からの切替完了通知β１２の送信タイミングを、方向切替コマンド７０の次スレーブへの送信後としているが、切替完了通知β１２と方向切替コマンド７０の送信は同時であっても構わない。
【０１８７】
なお、上記において、各装置が方向切替失敗通知β１５を転送するときの送信タイミングを方向切替失敗通知β１５を受信したＩ／Ｏ端子の方向切替後としているが、方向切替と同時もしくは方向切替前であっても構わない。
【０１８８】
なお、上記において、各タイマー部の動作をカウントダウンタイマーとしたが、カウントアップタイマーとし、タイマ値と所定の値T１1〜TN1,T２１〜T２Nとを比較することにより時間の経過を計り、所定の時間が経過した場合にタイマー部β１１・β１４から制御部２００・３０１に通知されるものとしても構わない。
【０１８９】
なお、本実施例においては、方向切替失敗通知β１５を、スレーブ装置Lからホスト装置１に送るものとしているが、スレーブ装置Lが送信する方向切替失敗通知の宛先をスレーブ装置L-1としても構わない。この際は、継いでスレーブ装置L-1がスレーブ装置L-2を宛先とした方向切替失敗通知を送信するなど、各スレーブ装置が隣接するスレーブ装置もしくはホスト装置への方向切替失敗通知β１５を繰り返すことにより、ホスト装置１に方向切替失敗通知β１５を伝える。また、この際、前記方向切替通知β１５内に、失敗発生装置のアドレスを入れておくことにより、ホスト装置１が切替失敗発生箇所を特定できるようにしても構わない。
【０１９０】
なお、本実施例においては、スレーブ装置が送信する方向切替失敗通知・方向切替完了通知としているが、これら通知はコマンドであっても構わない。
【０１９１】
なお、本実施例においてはスレーブ間で直接データの転送ができるものとしたが、ホスト・スレーブ間でのみ転送が行えるものとしても構わない。この場合、ホスト・スレーブが入れ替わることにより、所望の装置間の転送が実現できる。
【０１９２】
なお、本実施例においては一つのリング状伝送路に存在するホスト装置は一つとしているが、別に複数あっても構わない。
【０１９３】
以上のように、本発明に係る第２の実施の形態によると、ホスト装置及び各スレーブ装置が動作することにより、コマンド送信量を抑えた方向切替を実現すると共に、方向切替に失敗した場合に、切替に失敗した装置をホスト装置が特定できるようにしている。さらにこの際、各装置のＩ／Ｏ端子の入出力の向きを転送方向切替前の状態に戻し、原状を回復することが可能となる。
【０１９４】
また、第２の実施の形態によると、あるスレーブ装置が故障してデータの送信や受信、あるいは方向切替が出来なくなった場合、方向切替コマンドを用いることにより、故障したスレーブ装置を特定することが出来る。
【０１９５】
なお、図１６のステップＳβ６１９は、ステップＳβ６１０の後でもよく、ステップＳβ６２１と同時でもよい。
【０１９６】
また、図１６のステップＳβ６２６は、ステップＳβ６２７の後でもよく、ステップＳβ６２８と同時でもよい。
【０１９７】
（第３の実施の形態）
以下、本発明の第３の実施形態について図面を参照しながら説明する。
【０１９８】
図１７は本発明の第３の実施形態を示すリング状伝送路システムの構成図である。図１７において、α１は１つのホスト装置、α２〜αＮはホスト装置α１の制御下で動作する複数のスレーブ装置、α１０は伝送路で、以上は図２の構成と同様なものである。図２の構成と異なるのはホスト装置α１にタイマー部α１１を隣接するスレーブ装置α２(時計回りの方向に動作する場合はαＮ)に向けて方向切替コマンドα７０を送信した時点からカウント起動するように設け、且つ、ホスト装置α１の制御下で動作する複数のスレーブ装置α２〜αＮにホスト装置α１へ切り替え完了通知α１２を返送する切替完了通知生成部α１３をホスト装置α１が送信した、あるいは隣接した他のスレーブ装置α３〜Ｎから転送された方向切替コマンドを受けてＩ／Ｏ端子の入出力切り替え動作が完了したら返送するように設けた点である。
【０１９９】
第３の実施形態におけるホスト装置α１及びスレーブ装置α２〜αＮの構成を図１８、図１９に示す。各装置の詳細は後述する。
【０２００】
図１８は第３の実施形態におけるホスト装置α１の構成図で、図４の構成と異なるのは制御部２００内に方向切替コマンドα７０を送信した時点からカウント起動するようにタイマー部α２１５を設けた点である。
【０２０１】
ホスト装置α１のタイマー部α２１５は制御部２００により初期値Ｔ０に設定され、一定の期間ごとにカウントダウンを行うカウントダウンタイマー機能を持ち、タイマー値が０を示した場合、タイマー部より制御部にタイムアウト発生が通知される。制御部はタイムアウトの通知により状態判定部２０３を入出力切り替え不可能な状態に移行し、システムを停止させるとともに、コマンド解析部２０２から受信したタイムアウト直前の切り替え完了通知に在る送信元アドレスを解析して故障箇所を特定する。
【０２０２】
図１９は第３の実施形態におけるスレーブ装置α２〜αＮの構成図で、図５の構成と異なるのは方向切替コマンドを受けてＩ／Ｏ端子の入出力切り替え動作が完了した信号を制御部３０１より受けて切り替え完了通知を発行する切り替え完了通知生成部α３１５を設けた点である。
【０２０３】
次に、第３の実施形態におけるリング状伝送路システム１０の転送方向切り替え動作を説明する。
【０２０４】
図２０は、ホスト装置及びスレーブ装置の方向切替コマンドの送受信と、Ｉ／Ｏ端子の入力（Ｒ）と出力（Ｔ）の切り替わりが正常に行われる場合の動作を時系列で示している。各装置個別の動作の詳細は後に示す。
【０２０５】
時刻（５０）：ホスト装置１は、Ｉ／Ｏ端子Ｐ１２から方向切替コマンド７０を送信する。
【０２０６】
この際、ホスト装置１はタイマー部α１１に初期値Ｔ０を設定しカウントダウンを開始する。
【０２０７】
スレーブ装置２は、送信されてきた方向切替コマンド７０をＩ／Ｏ端子で受信する。
【０２０８】
時刻（５１）：ホスト装置１はＩ／Ｏ端子Ｐ１２を出力（Ｔ）から入力（Ｒ）に切り替える。
【０２０９】
時刻（５２）：スレーブ装置Ｌ-1（Ｌは３≦Ｌ≦Ｎ の自然数）はＩ／Ｏ端子ＰＬ01から、方向切替コマンド７０を受信する。
【０２１０】
時刻（５３）：スレーブ装置Ｌ-1はＩ／Ｏ端子ＰＬ01を入力（Ｒ）から出力（Ｔ）に切り替えて、Ｉ／Ｏ端子PL02から方向切替コマンド７０を転送する。
【０２１１】
時刻（５４）：スレーブ装置Ｌ-1は、Ｉ／Ｏ端子ＰL02を出力（Ｔ）から入力（Ｒ）に切り替えると共に、Ｉ／Ｏ端子PL01からホスト装置１を宛先として、切替完了通知β１２を送信する。
【０２１２】
以降、各スレーブ装置L〜Nは、スレーブ装置L-1と同様の動作を行い、Ｉ／Ｏ端子の入力と出力とを切り替えながら、方向切り替え前のデータ転送方向に接続されたスレーブ装置へ方向切替コマンドを転送していくと共に、方向切り替え後のデータ転送方向にホスト装置１を宛先として切り替え完了通知を送信する。
【０２１３】
時刻（５５）：スレーブ装置Nは、スレーブ装置L-1と同様の動作を行い、ホスト装置１へ方向切替コマンド７０を転送する。
【０２１４】
時刻（５６）：スレーブ装置Nは、ホスト装置１を宛先として切替完了通知β１２を送信する。
【０２１５】
時刻（５７）：時刻（５５）で方向切替コマンド70を受信したホスト装置１は、Ｉ／Ｏ端子Ｐ１１を入力（Ｒ）から出力（Ｔ）へ切り替える。
【０２１６】
ホスト装置１は、自身の発行した方向切替コマンド７０が、伝送路上を一周して戻ってきたこととスレーブ装置Ｎから送信されてきた切替完了通知β１２を受信すると、タイマー部α２１５のカウントダウンを停止する。
【０２１７】
なお、図２０で、既に時刻５３で方向切替コマンドを受信したスレーブ装置LのＩ／Ｏ端子PL11の方向切り替えはスレーブ装置L-1からの切替完了通知β１２の送信時点（時刻（５４））において行われていないが、切替完了通知の送信と同時であっても構わないし、スレーブ装置L-1からの切替完了通知β１２の送信よりも先にＩ／Ｏ端子PL12の方向切り替えが行われていても構わない。
【０２１８】
一方、図２１は、スレーブ装置L+1が方向切り替えを行えなかった場合の動作を時系列で示す。
【０２１９】
時刻（６０）から時刻（６３）においては、各装置は正常に切り替えが行われた場合と同様の動作を行い、ホスト装置１から送信された方向切替コマンド70は、各スレーブ装置２〜L-1の方向切り替えを伴いながら転送されている。
【０２２０】
時刻（６２）：スレーブ装置Lからスレーブ装置L+1に方向切替コマンド70が転送される。
【０２２１】
時刻（６３）：スレーブ装置Lからホスト装置1に切替完了通知β12が送信される。
【０２２２】
時刻（６４）：スレーブ装置L+1で方向切り替えが行われない場合、ホスト装置１はスレーブ装置L+1からの方向切替完了通知を受信しない。
【０２２３】
時刻（６５）〜時刻（６７）：この後、ホスト装置１はスレーブ装置Ｌ+1からの切替完了通知β12を受信できず、且つ、タイマー値がカウントダウンの結果０を示した場合、タイマー部より制御部にタイムアウト発生が通知される。制御部はタイムアウトの通知により状態判定部２０３を入出力切り替え不可能な状態に移行し、システムを停止させる。
【０２２４】
ホスト装置１は、タイムアウトの時点でスレーブ装置２からスレーブ装置Ｌまでの切り替え完了通知を受け取り、スレーブ装置Ｌ＋１の切り替え完了通知を受け取っていないことからスレーブ装置Ｌ＋１が方向切り替えに失敗したと判断する。
【０２２５】
なお、スレーブ装置３〜Nもスレーブ装置２と同様の構成をとるものとする。
ただし、各スレーブ装置の備えるIOデバイスもしくはメモリは異なるものであっても構わない。
【０２２６】
なお、上記において、スレーブ装置からの切り替え完了通知の送信タイミングを、方向切替コマンドの送信後としているが、方向切り替え完了通知と方向切替コマンドの送信は同時であっても構わない。
【０２２７】
なお、上記において、各タイマー部の動作をカウントダウンタイマーとしたが、カウントアップタイマーとし、タイマー値と所定の値（例えば自身の方向切替コマンドが一周した到着時間）とを比較することにより時間の経過を計り、所定の時間が経過した場合にタイマー部から制御部に通知されるものとしても構わない。
【０２２８】
以上のように、第３の実施の形態によると、特定のスレーブ装置が故障してデータの送信や受信、あるいは方向切り替えが出来なくなった場合、方向切り替え完了通知を用いることにより、故障したスレーブ装置を検知することが出来る。
【産業上の利用可能性】
【０２２９】
本発明に係るリング状伝送路システムは各装置間の特別な配線を用いることなく転送方向の切り替えを実現し、更に、コマンドの送受信を最小限に抑えた伝送方向切り替えが可能であり電力消費を抑えることが出来る、という特徴を有するので、Audio Visual機器あるいはモバイル機器などの低消費電力技術が必要とされる機器の実現に有用である。
【符号の説明】
【０２３０】
１  ホスト装置
２〜N  スレーブ装置
１０  リング状伝送路システム
１１  LSI
１２  CPU
１３  バス
１４  Ｉ／Ｏ端子
４１  データタイプ
４２  送信元アドレス
４３  送信先アドレス
４４  データ
２００  制御部
２０１  コマンド生成部
２０２  コマンド解析部
２０３  状態判定部
２０４  入出力切替制御部
２０５、２０６  Ｉ／Ｏ端子
２０７〜２１０  方向切替バッファ
２１１  入力バッファ
２１２  出力バッファ
２１３、２１４  入出力切替制御線
３００  メモリ、またはIOデバイス
３０１  制御部
３０２  コマンド解析部
３０３  状態判定部
３０４  入出力切替制御部
３０５、３０６  Ｉ／Ｏ端子
３０７〜３１０  方向切替バッファ
３１１  入力バッファ
３１２  出力バッファ
３１３、３１４  入出力切替制御線
７０  方向切替コマンド
P１１、P１２、P２１、P２２、・・・、PN１、PN２  Ｉ／Ｏ端子
β１１、β１４  タイマー部
β１２  切替完了通知
β１３  切替完了/失敗通知生成部
α１１、α２１５  タイマー部
α１２  切替完了通知
α１３、α３１５  切替完了通知生成部
α７０  方向切替コマンド
【図１】
2011238982.tif 000003
【図２】
2011238982.tif 000004
【図３】
2011238982.tif 000005
【図４】
2011238982.tif 000006
【図５】
2011238982.tif 000007
【図６】
2011238982.tif 000008
【図７Ａ】
2011238982.tif 000009
【図７Ｂ】
2011238982.tif 000010
【図７Ｃ】
2011238982.tif 000011
【図８Ａ】
2011238982.tif 000012
【図８Ｂ】
2011238982.tif 000013
【図８Ｃ】
2011238982.tif 000014
【図９Ａ】
2011238982.tif 000015
【図９Ｂ】
2011238982.tif 000016
【図１０】
2011238982.tif 000017
【図１１】
2011238982.tif 000018
【図１２】
2011238982.tif 000019
【図１３】
2011238982.tif 000020
【図１４】
2011238982.tif 000021
【図１５】
2011238982.tif 000022
【図１６】
2011238982.tif 000023
【図１７】
2011238982.tif 000024
【図１８】
2011238982.tif 000025
【図１９】
2011238982.tif 000026
【図２０】
2011238982.tif 000027
【図２１】
2011238982.tif 000028