(57)【要約】【課題】マスタまたはスレーブの切り替えを迅速に行う。【解決手段】マスタ機能とスレーブ機能を選択的に切り替え可能なＵＳＢデータ通信装置２００に接続される全ての通信装置の装置情報を一括して格納領域２２５に取得する。【選択図】  図２
2005209057.tif 000002
【特許請求の範囲】
【請求項１】
マスタ機能とスレーブ機能を選択的に切り替え可能なＵＳＢデータ通信装置のデータ通信方法であって、前記ＵＳＢデータ通信装置に接続される全ての通信装置の装置情報を一括して取得するステップを含むデータ通信装置の通信方法。
【請求項２】
前記ＵＳＢデータ通信装置が取得した装置情報を、新たに接続したＵＳＢデータ通信装置に通知するステップを含む請求項１記載のデータ通信方法。
【請求項３】
前記装置情報はＵＳＢ通信で使用するディスクリプタを含む請求項１記載のデータ通信方法。
【請求項４】
前記装置情報はＵＳＢ通信で使用するデバイスアドレスを含む請求項１記載のデータ通信方法。
【請求項５】
前記装置情報をＵＳＢデータ通信の終了後またはＵＳＢケーブル切断後に消去するステップを含む請求項１記載のデータ通信方法。
【請求項６】
マスタ機能とスレーブ機能を選択的に切り替え可能なＵＳＢデータ通信装置のデータ通信方法であって、前記ＵＳＢデータ通信装置に接続されるＵＳＢケーブルのデータ線上に特定パターンを送出して前記ＵＳＢデータ通信装置のマスタまたはスレーブの状態把握、マスタまたはスレーブの切り替え要求を行うステップを含むデータ通信方法。
【請求項７】
マスタ機能とスレーブ機能を選択的に切り替え可能なＵＳＢデータ通信装置のデータ通信方法であって、ＵＳＢデータ通信以外のデータ通信により前記ＵＳＢデータ通信装置のマスタまたはスレーブの状態把握、マスタまたはスレーブの切り替え要求を行うステップを含むデータ通信方法。
【請求項８】
前記マスタまたはスレーブの状態把握並びにマスタ・スレーブの切り替え要求を、スレーブ側のＵＳＢデータ通信装置からマスタ側のＵＳＢデータ通信装置に対して行う請求項６または７記載のデータ通信方法。
【請求項９】
マスタ機能とスレーブ機能を選択的に切り替え可能なデータ通信方法であって、前記ＵＳＢデータ通信装置毎に設定した順序でマスタまたはスレーブを切り替えてデータ通信を行うステップを含むデータ通信方法。
【請求項１０】
マスタまたはスレーブの切り替えを動的に設定するステップを含む請求項９記載のデータ通信方法。
【請求項１１】
請求項１から１０の何れか一項記載のデータ通信方法に記載したステップを実行する制御手段を備えるＵＳＢデータ通信装置。
【請求項１２】
請求項１１記載の制御手段を備える集積回路。
【請求項１３】
請求項１から１０の何れか一項記載のデータ通信方法に記載したステップをコンピュータに実行させるプログラム。
【請求項１４】
請求項１３記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタ機能とスレーブ機能を選択的に切り替え可能なＵＳＢデータ通信装置のデータ通信方法に関する。
【背景技術】
【０００２】
近年、直接接続した２台のＵＳＢデータ通信装置同士で、ケーブルの接続を変えることなく、マスタとスレーブというＵＳＢの親子関係を任意に交換できるＵＳＢ ＯＴＧ（On-The-Go）規格準拠のＵＳＢデータ通信装置が開発されている。
【０００３】
図８は、従来のＵＳＢ ＯＴＧ規格準拠のＵＳＢデータ通信装置（ＵＳＢデータ通信装置６００と６２０）を接続したＵＳＢシステムの概略構成を示す図である。ＵＳＢ ＯＴＧ規格準拠のＵＳＢシステムでは、ＵＳＢケーブルのＭＩＮＩ−Ａプラグが挿入された側が最初にマスタ（Ａ−Ｄｅｖｉｃｅ）となり、ＵＳＢケーブルのＭＩＮＩ−Ｂプラグが挿入された側が最初にスレーブ（Ｂ−Ｄｅｖｉｃｅ）となって動作する。
【０００４】
次に、上記構成のＵＳＢシステムのデータ転送動作について説明する。図９は、従来のＵＳＢ ＯＴＧ規格準拠のＵＳＢシステムにおけるデータ転送動作の手順を示すシーケンス図である。ＵＳＢデータ通信装置６００のＭＩＮＩ−ＡＢレセクタプル６３０にＵＳＢケーブルのＭＩＮＩ−Ａプラグが挿入され、ＵＳＢデータ通信装置６２０のＭＩＮＩ−ＡＢレセプタクル６４０にＵＳＢケーブルのＭＩＮＩ−Ｂプラグが挿入されて、マスタとスレーブが決定されると（ステップＳ６００）、マスタとなったＵＳＢデータ通信装置６００が、スレーブのＵＳＢデータ通信装置６２０の装置情報（デバイス、コンフィギュレーション、インターフェース、エンドポイント（以下、ＥＰと称する）、ＯＴＧ、ディスクリプタなどの各情報）を、ＥＰ０を用いて取得する（ステップＳ６０１）。これにより、ＵＳＢデータ通信装置間において、ＥＰ０以外のＥＰを使用してデータ転送が開始される（ステップＳ２０３）。
【０００５】
ＵＳＢデータ通信中に、マスタとスレーブをＵＳＢデータ通信装置間で切り替える場合（ステップＳ６１０）、マスタとなったＵＳＢデータ通信装置６２０は、スレーブとなったＵＳＢデータ通信装置６００の装置情報を取得してから（ステップＳ６１１）、ＥＰ０以外のＥＰを使用してデータ転送を開始する（ステップＳ６１２）。そのため、再度マスタとスレーブの切り替えが発生して（ステップＳ６２０）、元の関係に戻った場合でも、ＵＳＢデータ通信装置６００は再びＵＳＢデータ通信装置６２０から装置情報を取得して（ステップＳ６２１）、データ転送を開始する（ステップＳ６２２）。
【０００６】
尚、ＵＳＢ ＯＴＧ規格では、ＵＳＢバスをサスペンド状態に遷移させてからマスタ・スレーブの切り替えを行うようになっているため、切り替えが行われるたびにサスペンド状態が発生する。
【０００７】
一方、複数の標準ＵＳＢホスト（ＵＳＢホスト機能のみ搭載している機器）と複数の標準ＵＳＢデバイス（ＵＳＢデバイス機能のみ搭載している機器）で構成され、各ホストがそれぞれ使用しているデバイスを、接続を切り替えることなく、必要に応じて他のホストも使用できるようにしたＵＳＢシステムなども提案されているが（例えば、特許文献１参照）、このようなＵＳＢシステムでも、マスタとスレーブの切り替え時にはマスタ側のＵＳＢデータ通信装置がスレーブ側のＵＳＢデータ通信装置から装置情報を取得するようになっており、上記のような装置情報取得の重複動作が発生する場合がある。
【０００８】
【特許文献１】特開２００１−２５６１７２号公報（第５頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記のように、従来のＵＳＢシステムでは、マスタ・スレーブの切り替えが発生するごとに、マスタ側のＵＳＢデータ通信装置がスレーブ側のＵＳＢデータ通信装置の装置情報を取得するため、マスタとスレーブが頻繁に切り替わるシステムでは冗長な動作（即ち、装置情報取得のための重複した動作）が多くなる。
【００１０】
また、ＵＳＢ ＯＴＧでは、標準ＵＳＢハブを介してのデータ転送においてマスタ・スレーブの切り替えが行えないという問題がある。また、マスタ・スレーブの切り替え時には、ＵＳＢバスがサスペンド状態となるため、任意のタイミングやアプリケーションに同期してマスタ・スレーブの切り替えを行うという柔軟な設定が行えないという問題がある。
【００１１】
本発明は、マスタ機能とスレーブ機能を選択的に切り替える際の上述の問題を解決することができるデータ通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のデータ通信方法は、マスタ機能とスレーブ機能を選択的に切り替え可能なＵＳＢデータ通信装置のデータ通信方法であって、前記ＵＳＢデータ通信装置に接続される全ての通信装置の装置情報を一括して取得するステップを含む。この構成によれば、ＵＳＢデータ通信装置に接続される全ての通信装置の装置情報を一括して取得することで、一度だけＵＳＢデータ通信に係る装置情報の交換を行うだけで、以後、マスタ、スレーブが切り替わる度にマスタ側のＵＳＢデータ通信装置がスレーブ側から装置情報を取得する必要なくなる。
【００１３】
さらに、前記ＵＳＢデータ通信装置が取得した装置情報を、新たに接続したＵＳＢデータ通信装置に通知するステップを含む。この構成によれば、ＵＳＢのツリー構造で接続されている全てのＵＳＢデータ通信装置が装置情報を共有することができる。
【００１４】
本発明において、前記装置情報はＵＳＢ通信で使用するディスクリプタを含む。この構成によれば、マスタに切り替わったＵＳＢデータ通信装置は、スレーブ側のＵＳＢデータ通信装置の装置情報を取得しなくても、装置情報が保持するディスクリプタ（デバイスディスクリプタ、コンフィギュレーションディスクリプタ、インターフェースディスクリプタ、エンドポイントディスクリプタなど）を使用してスレーブ側のＵＳＢデータ通信装置と通信することができる。
【００１５】
また、本発明において、前記装置情報はＵＳＢ通信で使用するデバイスアドレスを含む。この構成によれば、マスタに切り替わったＵＳＢデータ通信装置は、ＵＳＢ標準リクエストを使用しなくても、装置間で共有するデバイスアドレスを使用することで、デバイスアドレスの値を０以外の値で使用することができる。
【００１６】
さらに、前記装置情報をＵＳＢデータ通信の終了後またはＵＳＢケーブル切断後に消去するステップを含む。この構成によれば、ＵＳＢデータ通信が終了までまたはＵＳＢケーブルが切断されるまでは装置情報の取得を必要とせずにマスタまたはスレーブの切り替えが可能となり、またＵＳＢデータ通信の終了後またはＵＳＢケーブル切断後に装置情報を消去することで、記憶領域を有効に活用することができる。
【００１７】
本発明のデータ通信方法は、マスタ機能とスレーブ機能を選択的に切り替え可能なＵＳＢデータ通信装置のデータ通信方法であって、前記ＵＳＢデータ通信装置に接続されるＵＳＢケーブルのデータ線上に特定パターンを送出して前記ＵＳＢデータ通信装置のマスタまたはスレーブの状態把握、マスタまたはスレーブの切り替え要求を行うステップを含む。また、マスタ機能とスレーブ機能を選択的に切り替え可能なＵＳＢデータ通信装置のデータ通信方法であって、ＵＳＢデータ通信以外のデータ通信により前記ＵＳＢデータ通信装置のマスタまたはスレーブの状態把握、マスタまたはスレーブの切り替え要求を行うステップを含む。この構成によれば、ＵＳＢケーブルのデータ線上の特定パターンやＵＳＢデータ通信以外のデータ通信によりＵＳＢデータ通信装置のマスタまたはスレーブの状態把握並びにマスタ・スレーブの切り替え要求を行うことで、標準ＵＳＢハブを介すことなくマスタまたはスレーブの切り替えを行うことができる。
【００１８】
本発明において、前記マスタまたはスレーブの状態把握並びにマスタ・スレーブの切り替え要求を、スレーブ側のＵＳＢデータ通信装置からマスタ側のＵＳＢデータ通信装置に対して行う。この構成によれば、Ｖｂｕｓなどの制御によりマスタまたはスレーブの切り替え要求が可能となり、全てのＵＳＢデータ通信装置からマスタまたはスレーブの切り替え要求が可能となる。
【００１９】
マスタ機能とスレーブ機能を選択的に切り替え可能なデータ通信方法であって、前記ＵＳＢデータ通信装置毎に設定した順序でマスタまたはスレーブを切り替えてデータ通信を行うステップを含む。さらに、マスタまたはスレーブの切り替えを動的に設定するステップを含む。この構成によれば、ＵＳＢデータ通信装置毎に任意に設定した順序でマスタまたはスレーブの切り替えが可能となるため、任意のタイミングやアプリケーションに同期してマスタまたはスレーブの切り替えを行うことができる。
【発明の効果】
【００２０】
本発明によれば、ＵＳＢデータ通信装置に接続される全ての通信装置の装置情報を一括して取得することで、一度だけＵＳＢデータ通信に係る装置情報の交換を行うだけで、以後、マスタ、スレーブが切り替わる度にマスタ側のＵＳＢデータ通信装置がスレーブ側から装置情報を取得する必要なくなるため、マスタまたはスレーブの切り替えを迅速に行うことができる。
【発明を実施するための最良の形態】
【００２１】
（実施の形態１）
図１は本発明のデータ通信を行うＵＳＢシステムの概略構成を示す図である。ＵＳＢシステムは、ＵＳＢデータ通信装置１００、１２０と、双方のＵＳＢデータ通信装置を接続するＵＳＢケーブル１１０と、で構成され、ＵＳＢプロトコルを用いてＵＳＢデータ通信が実行される。各ＵＳＢデータ通信装置には、ＵＳＢケーブル１１０を接続するためのＭＩＮＩ−ＡＢレセプタクル１３０、１４０が設けられており、ＭＩＮＩ−Ａプラグが挿入される側がマスタ（Ａ−Ｄｅｖｉｃｅ）、ＭＩＮＩ−Ｂプラグが挿入される側がスレーブ（Ｂ−Ｄｅｖｉｃｅ）となる。
【００２２】
図２はＵＳＢデータ通信装置の内部構成を示す図である。ＵＳＢデータ通信装置２００は、ＣＰＵ２１０、記憶媒体２２０、ＵＳＢデータ通信装置の各部を接続するシステムバス２３０、ＵＳＢ部２４０、前述のＭＩＮＩ−ＡＢレセプタクルを含むＵＳＢポート２５０を備える。
【００２３】
ＣＰＵ２１０は、ＵＳＢデータ通信装置２００の制御全般を行うブロックである。記憶媒体２２０は、プログラム及びプログラムで使用する書き換え可能な領域を有するメモリであり、通信相手の装置情報格納領域２２５を含む。
【００２４】
ＵＳＢ部２４０は、更に、ＵＳＢ通信においてマスタのファンクションを担うＨｏｓｔ２４１、スレーブのファンクションを担うＤｅｖｉｃｅ２４２、ＵＳＢバス信号（データ線Ｄ+／Ｄ-、Ｖｂｕｓ、及びＵＳＢケーブルのＩｄ線）の状態の管理、制御を行うＵＳＢバス制御部２４３、で構成される。ＵＳＢデータパケットの送受信は、Ｈｏｓｔ２４１またはＤｅｖｉｃｅ２４２が行う。ＵＳＢデータパケットのデータ線への出力は必ずＵＳＢバス制御部２４３を介して行われる。また、ＵＳＢバス制御部２４３は、Ｈｏｓｔ２４１とＤｅｖｉｃｅ２４２のいずれを使用するかを管理する。送受信に関しては、Ｈｏｓｔ２４１またはＤｅｖｉｃｅ２４２の制御の下、ＵＳＢバス制御部２４３が方向を管理する。
【００２５】
ＵＳＢデータ通信装置２００が、まずマスタとして動作する場合、スレーブのＵＳＢデータ通信装置の装置情報が通信相手の装置情報格納領域２２５に格納される。ＵＳＢ機器の接続は、マスタを中心にツリー状態で接続されているため、マスタのＵＳＢデータ通信装置２００には、接続される装置のすべての装置情報が格納される。格納された装置情報は、マスタのＵＳＢデータ通信装置の装置情報として、接続するスレーブのＵＳＢデータ通信機器にＵＳＢケーブルで接続された別のスレーブ側ＵＳＢデータ通信装置に通知することができる。
【００２６】
次に、ＵＳＢデータ通信装置２００が、まずスレーブとして動作する場合、マスタのＵＳＢデータ通信装置から送信される装置情報が通信相手の装置情報格納領域２２５に格納される。尚、スレーブのＵＳＢデータ通信装置への装置情報の転送はＵＳＢデータ転送で行われるが、それ以外にも後述する別の通信手段によるデータ転送でも行うことができる。スレーブのＵＳＢデータ通信装置への装置情報の通知により、ＵＳＢデータ通信装置間において、ＵＳＢ接続されている機器の装置情報の交換が行われ、装置情報を共有することができる。また、スレーブのＵＳＢデータ通信装置がマスタに切り替わる際、格納されている装置情報を利用してデータ通信を行うことができる。
【００２７】
図３はデータ転送動作の手順を示すシーケンス図である。ＵＳＢデータ通信装置１００にＵＳＢケーブル１１０のＭＩＮＩ−Ａプラグが、ＵＳＢデータ通信装置１２０にＵＳＢケーブル１１０のＭＩＮＩ−Ｂプラグが挿入されると、マスタとスレーブが決定される（ステップＳ１００）。即ち、ＵＳＢデータ通信装置１００のＵＳＢ部２４０はＨｏｓｔ２４１が機能し、ＵＳＢデータ通信装置１２０のＵＳＢ部２４０はＤｅｖｉｃｅ２４２が機能するように設定される。マスタとなったＵＳＢデータ通信装置１００は、スレーブのＵＳＢデータ通信装置１２０の装置情報（デバイス、コンフィギュレーション、インターフェース、エンドポイント、ＯＴＧ、ディスクリプタなど）を、ＥＰ０を用いて取得する（ステップＳ１０１）。更に、マスタのＵＳＢデータ通信装置１００は、自装置の装置情報をスレーブのＵＳＢデータ通信装置１２０へ通知する（スレーブ１０２）。以上の装置情報の交換を行った後、双方のＵＳＢデータ通信装置は、装置間においてＥＰ０以外のＥＰを使用してデータ転送を行うことができる状態となる（ステップＳ１０３）。
【００２８】
既に通信相手となるＵＳＢデータ通信装置の装置情報を保持しているので、ＵＳＢデータ通信中にマスタ・スレーブの切り替えが発生しても（ステップＳ１１０やステップＳ１２０）、マスタとなるＵＳＢデータ通信装置がスレーブのＵＳＢデータ通信装置の装置情報を取得する動作を省略してデータ転送を開始することができる（ステップＳ１１１やステップＳ１２１）。
【００２９】
尚、マスタのＵＳＢデータ通信装置の装置情報がスレーブに通知されるステップ（ステップＳ１０２）では、データ転送で使用するデバイスアドレスの情報も通知されるので、以降（ステップＳ１１１やステップＳ１２１）は通知されたデバイスアドレスを用いてデータ転送を行う。従って、標準リクエストＳｅｔＡｄｄｒｅｓｓを用いて、デバイスアドレスを０以外に変更する手順（ＵＳＢ規格）を省略できる。更に、以降はＥＰ０以外のＥＰを使用するために、標準リクエストＳｅｔＣｏｎｆｉｇｕｒａｔｉｏｎを用いて、Ｃｏｎｆｉｇｕｒａｔｉｏｎの値を０以外の値に変更する手順も省略できる。既にマスタのＵＳＢ通信装置は、スレーブのＵＳＢ通信装置の装置情報を取得しているため、マスタ・スレーブの切り替えが生じた際に、ＵＳＢデータ通信装置間でＣｏｎｆｉｇｕｒａｔｉｏｎの値を０以外で使用するネゴシエーションを行うことで切り替えが可能となるからである。
【００３０】
ここで、データ線を介して転送される特定のパターンについて説明する。ＵＳＢデータ通信装置２００では、ＣＰＵ２１０がＵＳＢ部２４０を制御して、ＵＳＢ規格に沿ったＵＳＢデータパケットの送受信が行われる。ＵＳＢパケット受信時に、ＵＳＢ部２４０はＣＰＵ２１０にデータ受信を通知し、その後ＣＰＵ２１０は受信データパケットを解析する。ＵＳＢ部２４０は、ＵＳＢデータ通信装置がマスタの時はＨｏｓｔ２４１、スレーブの時はＤｅｖｉｃｅ２４２をアクティブにして、ＵＳＢデータパケットの送受信を開始する。
【００３１】
ＵＳＢバス制御部２４３は、ＵＳＢデータ線（Ｄ＋／Ｄ−）が両方Ｈ（両方Ｈは、ＵＳＢ規格では定義されていないパターン）になったことを検出し、ＣＰＵ２１０に通知することができる。ＵＳＢデータ線（Ｄ＋／Ｄ−）が両方Ｈの出力は、ＣＰＵ２１０の要求によりＵＳＢバス制御部２４３が出力する。このように、ＵＳＢデータ通信装置間で、ＵＳＢケーブルのデータ線（Ｄ＋／Ｄ−）を介して転送される特定のパターンを用いて、ＵＳＢデータ通信の終了を示すプロトコルや、ＶｂｕｓをＨからＬにするプロトコル、マスタ・スレーブの切り替え要求／通知を行うプロトコルなどを定義することができる。
【００３２】
ところで、ＵＳＢバス制御部２４３は、ＵＳＢ信号のＶｂｕｓがＨからＬ、Ｉｄ線がＬからＨになることでケーブルの切断を検出する。ＵＳＢバス制御部２４３は、ＵＳＢケーブルの切断を検出するとＣＰＵ２１０にＵＳＢケーブルの切断を通知し、ＣＰＵ２１０は切断処理を実施する。切断処理の１つとして、相手側ＵＳＢデータ通信装置の装置情報が格納されている装置情報格納領域２２５を開放する。ＵＳＢケーブルの切断により不要となった装置情報を削除して格納領域２２５を開放し、必要な装置情報のみを格納することにより、記憶媒体２２０の記憶容量を節約できる。
【００３３】
（実施の形態２）
本発明の実施の形態２に係るＵＳＢシステムの構成は、実施の形態１の図１で示した構成と同じで、ＵＳＢデータ通信装置同士がＵＳＢケーブルで接続された構成となっている。図４は、本発明の実施の形態２におけるＵＳＢシステムの、ＵＳＢデータ通信装置の内部構成を示す図である。実施の形態１におけるＵＳＢシステムのＵＳＢデータ通信装置（図２）と比較して、通信装置３６０が付加された構成となっている。
【００３４】
通信装置３６０は、接続するＵＳＢデータ通信装置間においてＵＳＢ以外の通信手段としての機能を担うブロックで、シリアル通信、Ｂｌｕｅｔｏｏｔｈ、パラレル通信などが可能な装置である。ＵＳＢデータ通信装置３００は、ＣＰＵ３１０により制御される通信装置３６０を介して、接続するＵＳＢデータ通信装置とＵＳＢ以外のデータ転送を行う。  尚、このＵＳＢ以外のデータ転送において、装置情報を交換することも可能であるので、通信相手の機器情報を記録媒体３２０に格納しなくとも、必要なときに通信装置３６０を介して通信相手から取得するように構成してもよい。
【００３５】
また、通信装置３６０は、送受信においてある特定のパターンを検出すると、ＣＰＵ３１０を介さずにＵＳＢバス制御部３４３を制御して、ＵＳＢデータ通信装置３００のマスタ・スレーブの切り替えを行う。
【００３６】
更に、通信装置３６０は、プロトコルを決定することにより、ＵＳＢデータ通信装置のマスタ・スレーブの切り替え制御の他にも、Ｖｂｕｓの制御、マスタまたはスレーブの状態の通知などの制御を行うことができる。例えば、シリアル転送で“０ｘＦＦ”を検出したとき、マスタ・スレーブの切り替えを行うようにＵＳＢデータ通信装置間で決定するなど、ＵＳＢデータ通信装置間において、ＵＳＢデータ通信の終了を示すプロトコル、ＶｂｕｓをＨからＬにするプロトコル、マスタ・スレーブの切り替え要求通知を定義するプロトコルなどを定義すれば、各種の制御を行うことが可能である。
【００３７】
（実施の形態３）
本発明の実施の形態３に係るＵＳＢシステムの構成は、実施の形態１の図１で示した構成と同じで、ＵＳＢデータ通信装置２基がＵＳＢケーブルで接続された構成となっている。図５は、本発明の実施の形態３におけるＵＳＢシステムの、ＵＳＢデータ通信装置の内部構成を示す図である。実施の形態１におけるＵＳＢシステムのＵＳＢデータ通信装置（図２）と比較して、ＵＳＢバス制御タイマ４６０が付加された構成となっている。
【００３８】
ＵＳＢバス制御タイマ４６０は、ＵＳＢデータ通信装置４００がマスタまたはスレーブとして動作する時間を管理する。ＣＰＵ４１０は、ＵＳＢバス制御タイマ４６０に対して、任意にマスタの時間とスレーブの時間を設定してスケジュールすることができる。ＵＳＢバス制御タイマ４６０は、ＵＳＢ部４４０で送受信するＳＯＦ（１ｍｓ）に基づいて時間をカウントする。ＵＳＢデータ通信装置４００がＨｏｓｔ４４１をアクティブにしている時はマスタの時間をカウントし、Ｄｅｖｉｃｅ４４２をアクティブにしている時はスレーブの時間をカウントする。ＣＰＵ４１０は、カウント中に設定を変更することも可能である。
【００３９】
ＵＳＢバス制御タイマ４６０は、設定時間分ＳＯＦをカウントすると、ＵＳＢ部４４０を制御して、ＵＳＢデータ通信装置４００のマスタまたはスレーブの状態を切り替える。  また、ＵＳＢバス制御タイマ４６０は、ＵＳＢ規格で定義される時間より長い時間ＳＯＦを検出できない場合、ＵＳＢバス制御タイマ４６０が保持する内部タイマでＳＯＦのタイムアウトを検出しカウントする。これにより、接続するＵＳＢデータ通信装置間において、ＵＳＢデータ通信装置のマスタまたはスレーブの状態に係わる情報を共有することができ、それぞれのＵＳＢデータ通信装置が同期してマスタ・スレーブの切り替えを行うことができる。つまり、マスタのＵＳＢデータ通信装置がスレーブに、スレーブのＵＳＢデータ通信装置がマスタに切り替わる動作を同時に実行することができる。
【００４０】
また、ＵＳＢ ＯＴＧ規格準拠のＵＳＢデータ通信装置では、ＵＳＢ ＯＴＧ規格で定義されるホストネゴシエーションプロトコルを実行するより、容易にマスタ・スレーブの切り替えを行うことができる。
【００４１】
（実施の形態４）
本発明の実施の形態４に係るＵＳＢシステムの概略構成は、実施の形態１の図１で示した構成と同じで、ＵＳＢデータ通信装置同士がＵＳＢケーブルで接続された構成を基本とする。図６は、本発明の実施の形態４におけるＵＳＢシステムの、ＵＳＢデータ通信装置の内部構成を示す図である。ＵＳＢデータ通信装置５００は、主に、３箇所のＵＳＢ部５１０、５１１、５１２、ＵＳＢデータ装置接続管理部５２０、ＣＰＵ５２５、ＵＳＢデータ線５３０、システムバス５３５、などで構成される。
【００４２】
ＵＳＢデータ装置接続管理部５２０は、相手側装置の種別（標準ホスト、標準デバイス、ＵＳＢ ＯＴＧ準拠装置、本発明のＵＳＢデータ通信装置など）、現在の相手側装置、自装置（ＵＳＢデータ通信装置５００）の状態（マスタまたはスレーブ）、各ＵＳＢ部５１０、５１１、５１２とＵＳＢ信号線５３０との接続などを管理する。
【００４３】
図７は、本発明の実施の形態４におけるＵＳＢシステムの、ＵＳＢデータ通信装置に３箇所設けたＵＳＢ部の内部構成を示す図である。ＵＳＢバス部は、Ｈｏｓｔ５５１、Ｄｅｖｉｃｅ５５２、ＵＳＢ状態制御部５５３、ＵＳＢバス制御部５５４、で構成される。
【００４４】
ＵＳＢバス制御部５５４は、Ｈｏｓｔ５５１またはＤｅｖｉｃｅ５５２がＵＳＢデータ線５３０を介して行うＵＳＢデータパケットの送受信を管理する。ＵＳＢデータ通信装置５００内の各ＵＳＢ部５１０、５１１、５１２は、ＵＳＢデータ線５３０に接続し、外部のＵＳＢデータ通信装置と通信しているＵＳＢ部のうち、ＵＳＢデータ通信装置５００内のどれか一つのＵＳＢ部のＨｏｓｔまたはＤｅｖｉｃｅがＵＳＢバス制御部５４４を制御する。そして、当該ＨｏｓｔまたはＤｅｖｉｃｅのいずれかに接続しているＵＳＢバス制御部５４４が残りのＵＳＢ部のＵＳＢバス制御部を制御し、残りのＵＳＢ部内のＨｏｓｔ、Ｄｅｖｉｃｅは機能しないようにしている。これにより、標準ＵＳＢハブの機能を実現する。ＵＳＢ状態管理部５５３は、ＵＳＢ部５５０の状態（マスタまたはスレーブ）を管理する。
【００４５】
次に、上記のＵＳＢデータ通信装置５００に、標準ホスト、標準デバイス、ＵＳＢ ＯＴＧ規格準拠機器、本発明のＵＳＢデータ通信装置、が接続するそれぞれの場合の動作について説明する。
【００４６】
標準ホストが接続される場合、ＵＳＢ部５５０は、ＵＳＢデータ装置接続管理部５２０に情報を登録し、ＣＰＵ５２５に通知する。ＣＰＵ５２５は、ＵＳＢ部のＤｅｖｉｃｅ５５２を用いて標準ホストとデータ通信を行い、標準ホストの接続スケジュールを決定する。その後、ＵＳＢデータ装置接続管理部５２０に登録して、ＵＳＢ部５５０のＤｅｖｉｃｅ５５２を制御して、データ通信を行う。標準ホストがマスタとして動作できる場合、ＵＳＢデータ装置接続管理部５２０は、ＵＳＢ部５５０とＵＳＢデータ線５３０を接続する。これにより、他に接続するＵＳＢ機器とデータ通信可能となる。スレーブに戻す場合、ＵＳＢデータ装置接続管理部５２０がＵＳＢデータ線５３０を切断する。これにより、ＵＳＢ部５５０のＤｅｖｉｃｅ５５２を制御して、データ通信を行う構成になり、ＣＰＵ５２５の管理となる。
【００４７】
標準デバイスが接続される場合、ＵＳＢ部５５０は、ＵＳＢデータ装置接続管理部５２０に情報を登録し、ＣＰＵ５２５に通知する。マスタがある場合、ＵＳＢデータ装置接続管理部５２０は、当該ＵＳＢ部とＵＳＢデータ線５３０を接続し、マスタがない場合、ＵＳＢデータ装置接続管理部５２０は、当該ＵＳＢ部とＵＳＢデータ線５３０を切断する。
【００４８】
ＵＳＢ ＯＴＧ規格準拠機器が接続される場合、ＵＳＢ部５５０は、ＵＳＢデータ装置接続管理部５２０に情報を登録し、ＣＰＵ５２５に通知する。ＣＰＵ５２５は、ＵＳＢデータ装置接続管理部５２０にマスタまたはスレーブの状態を通知する。ＵＳＢデータ装置接続管理部５２０は、接続可能になった場合、ＵＳＢデータ線５３０にＵＳＢ部を接続する。また、外部のＵＳＢ機器によりＵＳＢデータ線５３０に接続できない場合、ＵＳＢ状態管理部５５３が、ＯＴＧ規格のホストネゴシエーションプロトコルを実施し、ＵＳＢデータ通信装置５００に接続されているＵＳＢデータ通信装置のマスタまたはスレーブの状態を切り替える。マスタ・スレーブの切り替え完了後、ＣＰＵ５２５に通知する。ＣＰＵ５２５が、ＵＳＢデータ装置接続管理部５２０に登録し、ＵＳＢデータ装置接続管理部５２０の管理で、ＵＳＢデータ線５３０にＵＳＢ部を接続する。
【００４９】
ＵＳＢデータ通信装置間でマスタ・スレーブの切り替えが発生した際、ＵＳＢデータ装置接続管理部５２０は、ＵＳＢ ＯＴＧ規格準拠機器が接続されたＵＳＢ部をＵＳＢデータ線５３０から切断する。ＣＰＵ５２５はＵＳＢ部からＯＴＧ規格準拠機器を初期化（接続した状態）して、ＵＳＢデータ装置接続管理部５２０に通知する。
【００５０】
本発明のＵＳＢデータ通信装置が接続される場合、ＵＳＢデータ装置接続管理部５２０に情報を登録し、ＣＰＵ５２５に通知する。ＣＰＵ５２０がスケジュールを決定して、ＵＳＢデータ装置接続管理部５２０に登録する。その後、ＵＳＢケーブルが切断されるまで、ＵＳＢデータ装置接続管理部５２０管理の元、マスタ・スレーブの切り替えを行いながらデータ転送を行う。
【００５１】
以上のように、３以上のＵＳＢデータ通信装置を接続したＵＳＢシステムにおいても、マスタ・スレーブの切り替えを行うことができる。ＵＳＢデータ通信装置の中に従来のＵＳＢ機器（マスターのみ、スレーブのみ）を接続することができるため、用途を限定することなく本発明のＵＳＢデータ通信装置を利用することができる。
【産業上の利用可能性】
【００５２】
本発明のデータ通信方法は、ＵＳＢデータ通信装置に接続される全ての通信装置の装置情報を一括して取得することで、一度だけＵＳＢデータ通信に係る装置情報の交換を行うだけで、以後、マスタ、スレーブが切り替わる度にマスタ側のＵＳＢデータ通信装置がスレーブ側から装置情報を取得する必要なくなるため、マスタまたはスレーブの切り替えを迅速に行うことができるという効果を有し、マスタ機能とスレーブ機能を選択的に切り替え可能なＵＳＢデータ通信装置のデータ通信技術等として有用である。
【図面の簡単な説明】
【００５３】
【図１】ＵＳＢシステムの概略構成を示す図である。
【図２】ＵＳＢデータ通信装置の内部構成を示す図である。
【図３】データ転送動作の手順を示すシーケンス図である。
【図４】ＵＳＢデータ通信装置の内部構成を示す図である。
【図５】ＵＳＢデータ通信装置の内部構成を示す図である。
【図６】ＵＳＢデータ通信装置の内部構成を示す図である。
【図７】ＵＳＢデータ通信装置に３箇所設けたＵＳＢ部の内部構成を示す図である。
【図８】従来のＵＳＢ ＯＴＧ規格準拠のＵＳＢデータ通信装置を接続したＵＳＢシステムの概略構成を示す図である。
【図９】従来のＵＳＢ ＯＴＧ規格準拠のＵＳＢシステムにおけるデータ転送動作の手順を示すシーケンス図である。
【符号の説明】
【００５４】
２００、３００、４００、５００  ＵＳＢデータ通信装置
２３０、３３０、４３０、５３５  システムバス
２４０、３４０、４４０、５５０  ＵＳＢ部
２４１、３４１、４４１、５５１  Ｈｏｓｔ
２４２、３４２、４４２、５５２  Ｄｅｖｉｃｅ
２４３、３４３、４４３、５５４  ＵＳＢバス制御部
３６０  通信装置
３７０  外部Ｉ／Ｆ
４６０  ＵＳＢバス制御タイマ
５２０  ＵＳＢデータ装置接続管理部
５３０  ＵＳＢデータ線
【図１】
2005209057.tif 000003
【図２】
2005209057.tif 000004
【図３】
2005209057.tif 000005
【図４】
2005209057.tif 000006
【図５】
2005209057.tif 000007
【図６】
2005209057.tif 000008
【図７】
2005209057.tif 000009
【図８】
2005209057.tif 000010
【図９】
2005209057.tif 000011