(57)【要約】【課題】デュアルロールデバイスのＵＳＢホストとＵＳＢデバイス間の切り換えを容易に行う【解決手段】ＵＳＢデバイスまたはＵＳＢホストとして機能するデュアルロールデバイスを含む複数のＵＳＢ機器を結合するハブ機能１１０と、デュアルロールデバイスの接続時の機能を判断するデバイス制御機能１２０と、前記機能の判断結果に基づいてハブ機能１１０に接続されたデュアルロールデバイスをＵＳＢデバイスとＵＳＢホスト間で切り換えるバス管理機能１３０手段とを備える。【選択図】  図１
2004157604.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢデバイスまたはＵＳＢホストとして機能するデュアルロールデバイスを含む複数のＵＳＢ機器をハブを介して結合する場合に、前記デュアルロールデバイスの接続時の機能を判断し、前記デュアルロールデバイスをＵＳＢデバイスとＵＳＢホスト間で切り換えることを特徴とするＵＳＢ機器制御方法。
【請求項２】
請求項１記載のＵＳＢ機器制御方法において、ＵＳＢホストが接続されているハブにＵＳＢホストとして機能するデュアルロールデバイスを接続した場合、前記デュアルロールデバイスに対してＵＳＢホストからＵＳＢデバイスへの切り換えを行い、前記切り換えを前記ＵＳＢホストに通知することを特徴とするＵＳＢ機器制御方法。
【請求項３】
請求項１記載のＵＳＢ機器制御方法において、ハブに接続された全てのデュアルロールデバイスがＵＳＢデバイスとして機能する場合、前記デュアルロールデバイスからのセッション開始要求手順を検出し、セッション開始要求手順を開始したデュアルロールデバイスをＵＳＢホストに切り換えることを特徴とするＵＳＢ機器制御方法。
【請求項４】
請求項１記載のＵＳＢ機器制御方法において、４本線のＵＳＢケーブルを介してＵＳＢホストをハブに接続した場合、前記ハブに接続されていた全てのデュアルロールデバイスに対してＵＳＢデバイスへの切り換えを行い、前記切り換えを前記ＵＳＢホストに通知することを特徴とするＵＳＢ機器制御方法。
【請求項５】
請求項１記載のＵＳＢ機器制御方法において、ＵＳＢホストが接続されているハブに４本線のＵＳＢケーブルを介してＵＳＢデバイスを接続した場合、前記ＵＳＢデバイスの接続を前記ＵＳＢホストに通知することを特徴とするＵＳＢ機器制御方法。
【請求項６】
請求項１記載のＵＳＢ機器制御方法において、ＵＳＢ機器が接続されているポートの状態あるいはＵＳＢデータ線のＤ＋またはＤ−の状態変化に基づいて前記デュアルロールデバイスの接続時の機能を判断し、前記デュアルロールデバイスをＵＳＢデバイスとＵＳＢホスト間で切り換えることを特徴とするＵＳＢ機器制御方法。
【請求項７】
請求項１記載のＵＳＢ機器制御方法において、ハブに接続されているＵＳＢホストからの特定の要求を検出して、複数のデュアルロールデバイスをＵＳＢデバイスとＵＳＢホスト間で切り換えることを特徴とするＵＳＢ機器制御方法。
【請求項８】
請求項１から７のいずれか一項記載のＵＳＢ機器制御方法を実施するＵＳＢ機器制御装置。
【請求項９】
請求項８記載のＵＳＢ機器制御装置において、
ＵＳＢデバイスまたはＵＳＢホストとして機能するデュアルロールデバイスを含む複数のＵＳＢ機器を結合するハブと、
前記デュアルロールデバイスの接続時の機能を判断するデバイス制御手段と、
前記機能の判断結果に基づいて前記ハブに接続されたデュアルロールデバイスをＵＳＢデバイスとＵＳＢホスト間で切り換えるバス管理手段とを備えることを特徴とするＵＳＢ機器制御装置。
【請求項１０】
請求項９記載のＵＳＢ機器制御装置において、前記デバイス制御手段は、ＵＳＢホストとＵＳＢデバイス間の通信を行う機能と、ＵＳＢホストとしてデータ通信を行う機能と、セッション開始要求手順の検出および開始ならびにホスト交換手順を実行する機能を備えることを特徴とするＵＳＢ機器制御装置。
【請求項１１】
請求項９または１０記載のＵＳＢ機器制御装置において、少なくともＯＴＧ追加規格で定義されたＵＳＢケーブルの受け口を１つ以上備え、ＵＳＢハブとして機能することを特徴とするＵＳＢ機器制御装置。
【請求項１２】
請求項１から７のいずれか一項記載のＵＳＢ機器制御方法を実施するプログラム。
【請求項１３】
請求項１２記載のプログラムおよび請求項８から１１のいずれか一項記載のＵＳＢ機器制御装置を備える半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＵＳＢ追加規格であるＯＴＧ規格に準拠したＵＳＢ機器（デュアルロールデバイス機器）の制御方法及び装置に関するものである。
【０００２】
【従来の技術】
標準ＵＳＢハブ装置は、ＵＳＢケーブルを用いて、ＵＳＢホストと、複数のＵＳＢデバイスとを接続して、ＵＳＢデータ通信を行う。図５は標準ＵＳＢハブ装置の構成を示す図である。図５において、標準ＵＳＢハブ装置５００は、ＨＵＢ機能５１０を用いることで、ＵＳＢホスト５２０と複数のＵＳＢデバイス（図５の場合２台）とを接続してＵＳＢデータ通信を行う。ＵＳＢデバイス５５１、５５２に対する電力の供給は、ＵＳＢホスト５５０からの電力５４０を利用する。ＵＳＢホスト５２０および複数のＵＳＢデバイスを有するＵＳＢシステムは、特許文献１等にも記載されている。
【０００３】
【特許文献１】
特開２００１−２５６１７２号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、ＵＳＢ追加規格であるＯＴＧ規格に準拠したＵＳＢ機器が接続された場合、従来の標準ＵＳＢハブ装置では、ＯＴＧ規格で定義されているセッション開始要求手順（Ｓｅｓｓｉｏｎ  Ｒｅｑｕｅｓｔ  Ｐｒｏｔｏｃｏｌ）、ホスト交換手順（Ｈｏｓｔ  Ｎｅｇｏｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）に対応していないため、ＵＳＢホストまたはＵＳＢデバイスとして機能するデュアルロールデバイスを、ＵＳＢホストからＵＳＢデバイスまたはＵＳＢデバイスからＵＳＢホストへ切り替えることができず、ＵＳＢデバイスまたはＵＳＢホストに交代するにはＵＳＢ機器を外す必要があった。
【０００５】
本発明は、上記事情に鑑みてなされたものであって、ＯＴＧ規格に準拠したＵＳＢ機器を接続した際のＵＳＢホストとＵＳＢデバイス間の切り換えを容易に行うことができるＵＳＢ機器制御方法および装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
請求項１記載のＵＳＢ機器制御方法は、ＵＳＢデバイスまたはＵＳＢホストとして機能するデュアルロールデバイスを含む複数のＵＳＢ機器をハブを介して結合する場合に、前記デュアルロールデバイスの接続時の機能を判断し、前記デュアルロールデバイスをＵＳＢデバイスとＵＳＢホスト間で切り換えることを特徴とする。この構成によれば、ハブに接続したデュアルロールデバイスをハブから外すことなくＵＳＢデバイスとＵＳＢホスト間で容易に切り換えることができる。
【０００７】
請求項２記載のるＵＳＢ機器制御方法は、請求項１記載のＵＳＢ機器制御方法において、ＵＳＢホストが接続されているハブにＵＳＢホストとして機能するデュアルロールデバイスを接続した場合、前記デュアルロールデバイスに対してＵＳＢホストからＵＳＢデバイスへの切り換えを行い、前記切り換えを前記ＵＳＢホストに通知することを特徴とする。この構成によれば、すでに接続されているＵＳＢ機器の接続状態に基づいて、デュアルロールデバイスをＵＳＢホストとＵＳＢデバイス間で切り換えることができる。
【０００８】
請求項３記載のＵＳＢ機器制御方法は、請求項１記載のＵＳＢ機器制御方法において、ハブに接続された全てのデュアルロールデバイスがＵＳＢデバイスとして機能する場合、前記デュアルロールデバイスからのセッション開始要求手順を検出し、セッション開始要求手順を開始したデュアルロールデバイスをＵＳＢホストに切り換えることを特徴とする。この構成によれば、すでに接続されているＵＳＢ機器の接続状態に基づいて、デュアルロールデバイスをＵＳＢホストとＵＳＢデバイス間で切り換えることができる。
【０００９】
請求項４記載のＵＳＢ機器制御方法は、請求項１記載のＵＳＢ機器制御方法において、４本線のＵＳＢケーブルを介してＵＳＢホストをハブに接続した場合、前記ハブに接続されていた全てのデュアルロールデバイスに対してＵＳＢデバイスへの切り換えを行い、前記切り換えを前記ＵＳＢホストに通知することを特徴とする。この構成によれば、従来のＵＳＢ機器をＵＳＢホストとして接続した場合でも、ＵＳＢデータ通信を行うことができる。
【００１０】
請求項５記載のＵＳＢ機器制御方法は、請求項１記載のＵＳＢ機器制御方法において、ＵＳＢホストが接続されているハブに４本線のＵＳＢケーブルを介してＵＳＢデバイスを接続した場合、前記ＵＳＢデバイスの接続を前記ＵＳＢホストに通知することを特徴とする。この構成によれば、従来のＵＳＢ機器をＵＳＢデバイスとして接続した場合でも、ＵＳＢデータ通信を行うことができる。
【００１１】
請求項６記載のＵＳＢ機器制御方法は、請求項１記載のＵＳＢ機器制御方法において、ＵＳＢ機器が接続されているポートの状態あるいはＵＳＢデータ線のＤ＋またはＤ−の状態変化に基づいて前記デュアルロールデバイスの接続時の機能を判断し、前記デュアルロールデバイスをＵＳＢデバイスとＵＳＢホスト間で切り換えることを特徴とする。この構成によれば、デュアルロールデバイスの接続時の機能を、ＵＳＢ機器が接続されているポートの状態あるいはＵＳＢデータ線のＤ＋またはＤ−の状態変化に基づいて判断することで高い精度での判断が可能となる。
【００１２】
請求項７記載のＵＳＢ機器制御方法は、請求項１記載のＵＳＢ機器制御方法において、ハブに接続されているＵＳＢホストからの特定の要求を検出して、複数のデュアルロールデバイスをＵＳＢデバイスとＵＳＢホスト間で切り換えることを特徴とする。この構成によれば、機器間で認識可能な特有の要求を用いることで、ＵＳＢデバイスとＵＳＢホスト間の切り換えを円滑に行うことができる。
【００１３】
請求項８記載のＵＳＢ機器制御装置は、請求項１から７のいずれか一項記載のＵＳＢ機器制御方法を実施することを特徴とする。この構成によれば、ＵＳＢ機器制御装置において、デュアルロールデバイスをＵＳＢデバイスとＵＳＢホスト間で切り換えことができる。
【００１４】
請求項９記載のＵＳＢ機器制御装置は、請求項８記載のＵＳＢ機器制御装置において、ＵＳＢデバイスまたはＵＳＢホストとして機能するデュアルロールデバイスを含む複数のＵＳＢ機器を結合するハブと、前記デュアルロールデバイスの接続時の機能を判断するデバイス制御手段と、前記機能の判断結果に基づいて前記ハブに接続されたデュアルロールデバイスをＵＳＢデバイスとＵＳＢホスト間で切り換えるバス管理手段とを備えることを特徴とする。この構成によれば、従来のハブに追加して新たにデバイス制御手段およびバス管理手段を設けることで、デュアルロールデバイスの接続状態を判断してＵＳＢデバイスとＵＳＢホスト間で切り換えることができる。
【００１５】
請求項１０記載のＵＳＢ機器制御装置は、請求項９記載のＵＳＢ機器制御装置において、前記デバイス制御手段は、ＵＳＢホストとＵＳＢデバイス間の通信を行う機能と、ＵＳＢホストとしてデータ通信を行う機能と、セッション開始要求手順の検出および開始ならびにホスト交換手順を実行する機能を備えることを特徴とする。この構成によれば、ＯＴＧ規格に準拠したＵＳＢ機器との間でＵＳＢデータ通信を行うことができる。
【００１６】
請求項１１記載のＵＳＢ機器制御装置は、請求項９または１０記載のＵＳＢ機器制御装置において、少なくともＯＴＧ追加規格で定義されたＵＳＢケーブルの受け口を１つ以上備え、ＵＳＢハブとして機能することを特徴とする。この構成によれば、ＯＴＧ追加規格で定義されたＵＳＢケーブルを介して接続されたＵＳＢ機器を集結させるハブとして機能させることができる。
【００１７】
請求項１２記載のプログラムは、請求項１から７のいずれか一項記載のＵＳＢ機器制御方法を実施するプロことを特徴とする。この構成によれば、デュアルロールデバイスをＵＳＢデバイスとＵＳＢホスト間で切り換える動作をソフトウェアで実現することができる。
【００１８】
請求項１３記載の半導体集積回路は、請求項１２記載のプログラムおよび請求項８から１１のいずれか一項記載のＵＳＢ機器制御装置を備えることを特徴とする。この構成によれば、デュアルロールデバイスをＵＳＢデバイスとＵＳＢホスト間で切り換える動作をハードウェアとソフトウェアの組み合わせで実現することができる。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
（実施の形態１）
図１は、本発明の実施の形態１に係るＵＳＢ機器制御装置の構成を示す図である。図１に示すＵＳＢ機器制御装置１００は、図５に示した標準ＵＳＢハブ装置５００に対してデバイス制御機能１２０およびバス管理機能１３０を追加したものである。デバイス制御機能１２０は、ポートＡＢ（１４１、１４２、１４３）に接続されるデュアルロールデバイス１８１、１８２、１８３の接続時と現在の状態（ＵＳＢホストまたはＵＳＢデバイス）および接続順番を管理する接続状態管理機能１２１と、ＯＴＧ規格のセッション開始要求手順（ＳＲＰ：Ｓｅｓｓｉｏｎ  Ｒｅｑｕｅｓｔ  Ｐｒｏｔｏｃｏｌ）の検出とホスト交換手順（ＨＮＰ：Ｈｏｓｔ  Ｎｅｇｏｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を実行するＯＴＧ管理機能１２２、１２３、１２４とを備える。ＯＴＧ管理機能１２２、１２３、１２４は、ＵＳＢホストおよびＵＳＢデバイスとして動作するデュアルロールデバイスである。
【００２０】
バス管理機能１３０は、ＯＴＧ対応のＵＳＢケーブルのＩＤ線の信号を読み取ることにより、デュアルロールデバイス１８１、１８２、１８３が、ＵＳＢホストまたはＵＳＢデバイスとして接続されたかを検出するとともに、デュアルロールデバイス１８１、１８２、１８３の電力制御、サスペンド検出機能、ＰＣ（パーソナルコンピュータ）などＵＳＢホストにしかなり得ないＵＳＢ機器の接続／切断の検出およびＨＵＢ機能１１０に接続する機能を有する。ＨＵＢ機能１１０は、接続されたＵＳＢケーブルのＵＳＢデータ線をＵＳＢホスト用、ＵＳＢデバイス用のデータ線に切り替える機能を有する。
【００２１】
また、バス管理機能１３０は、ＵＳＢ機器制御装置１００に接続されたデュアルロールデバイス１８１、１８２、１８３の接続状態（ＵＳＢホストまたはＵＳＢデバイス）を判別し、その結果を制御線１７０を介して、デュアルロールデバイス毎にデバイス制御機能１２０に通知する。接続されたデュアルロールデバイス１８１、１８２、１８３の状態はＵＳＢケーブルのＶｂｕｓ端子の状態（Ｈ、Ｌ）で判断でき、デュアルロールデバイスがＵＳＢホストとして接続された場合は、ＵＳＢケーブルのＶｂｕｓ端子のＨ（ハイレベル）を検出して判断する。また、デュアルロールデバイスがＵＳＢデバイスとして接続された場合は、ＵＳＢケーブルのＩＤ端子（Ｌ固定）で判断する。
【００２２】
（実施の形態１−１）
以下、複数のデュアルロールデバイスがＵＳＢホストしてＵＳＢ機器制御装置１００に接続される場合について説明する。デバイス制御機能１２０は、ＵＳＢケーブルの接続状態（ＵＳＢホストまたはＵＳＢデバイス）を検出すると、接続状態管理機能１２１にデュアルロールデバイスの接続状態を記録する。最初にＵＳＢホストとして接続されたデュアルロールデバイスをＵＳＢホストとして、デバイス制御機能１２０の制御のもとで、バス管理機能１３０がホスト用のデータ線１９０に切り替える。
【００２３】
他のホストとして接続されたデュアルロールデバイスは、ホスト交換手順（ＨＮＰ）が実行されるまでＯＴＧ管理機能が管理する。ホスト交換手順（ＨＮＰ）が実行されるとき、デバイス制御機能１２０は、バス管理機能１３０を制御して、デバイス制御機能１２０に接続されているＵＳＢデータ線１６１、１６２、１６３をデバイス用のデータ線１９１、１９２、１９３に切り替える。
【００２４】
（実施の形態１−２）
以下、デュアルロールデバイス１８１、１８２、１８３が、全てＵＳＢデバイスとしてＵＳＢ機器制御装置１００に接続された場合について説明する。デバイス制御機能１２０は、ＵＳＢケーブルの接続を検出すると、接続状態管理機能１２１にデュアルロールデバイスの接続状態を記録する。デバイス制御機能１２０は、接続状態管理機能１２１に記録後、バス管理機能１３０にＵＳＢバス信号のＶｂｕｓがＨになるように制御線１７０を介して制御する。
【００２５】
ＵＳＢ機器制御装置１００とデュアルロールデバイス間がＵＳＢケーブルで接続されると、デュアルロールデバイスとＯＴＧ管理機能がＵＳＢデータ通信を開始する。ＯＴＧ管理機能１２２、１２３、１２４はそれぞれ対応するデュアルロールデバイス１８１、１８２、１８３とＵＳＢデータ通信を行う。
【００２６】
デュアルロールデバイスとＯＴＧ管理機能間で通信可能な状態（Ｅｐ０以外も通信できる状態）が確立したとき、デバイス制御機能１２０は、バス管理機能１３０に対応するＵＳＢバスのＶｂｕｓをＬにするように制御する。デュアルロールデバイスからセッション開始要求手順（ＳＲＰ）が開始されたとき、デバイス制御機能１２０は、バス管理機能１３０に、ＵＳＢバス信号のＶｂｕｓをＨにするように制御線１７０を介して制御する。さらに、セッション開始要求手順（ＳＲＰ）を開始したデュアルロールデバイスを管理するＯＴＧ管理機能が、バス管理機能１３０を制御しながらホスト交換手順（ＨＮＰ）を実行する。また、デバイス制御機能１２０の制御のもとで、セッション開始要求手順（ＳＲＰ）を伝達したデータ線をホスト用のデータ線１９０に変更する。変更後、デバイス制御機能１２０は、セッション開始要求手順（ＳＲＰ）を伝達しなかったデュアルロールデバイスのデータ線を使用されていないデバイス用のデータ線１９１、１９２、１９３に切り替える。
【００２７】
例えば、デュアルロールデバイス１８１とＯＴＧ管理機能１２２との間で、セッション開始要求手順（ＳＲＰ）が実行された場合、デュアルロールデバイス１８１については、ポートＡＢ１用のＵＳＢデータ線１６１を切断し、ホスト用のデータ線１９０に切り替える。デュアルロールデバイス１８２、１８３については、ポートＡＢ２、３用のＵＳＢデータ線１６２、１６３を切断し、デバイス用のデータ線１９１、１９２に切り替える。但し、複数のデュアルロールデバイスから同時にセッション開始要求手順（ＳＲＰ）が実行されたとき、ポートＡＢ（１４１、１４２、１５３）の優先度もしくは接続状態管理機能が管理する接続順番、初期の接続状態で判断する。
【００２８】
（実施の形態１−３）
以下、デュアルロールデバイス１８１、１８２、１８３の内、１台をＵＳＢホスト、その他をＵＳＢデバイスとしてＵＳＢデータ通信を行う場合として、例えば、ポートＢ（１４３）に、実際にＵＳＢホストでしか動作できないＵＳＢホスト１８０（例えば、ＰＣ）が接続される場合の動作について説明する。
【００２９】
バス管理機能１３０は、ポートＢのＶｂｕｓ１６５を検出し、デバイス制御機能１２０に通知する。通知後、デバイス制御機能１２０は、バス管理機能１３０に対し、現在デュアルロールデバイス用に使用しているデータ線１９１、１９２、１９３をポートＡＢ用のＵＳＢデータ線１６１、１６２、１６３に切り替えさせ、かつポートＢ用のＵＳＢデータ線１６０をホスト用のデータ線１９０に接続するように制御する。デバイス制御機能１２０は、デュアルロールデバイス１８１、１８２、１８３がＵＳＢデバイスとして動作することを確認して、デバイス用のデータ線１９１、１９２、１９３に切り替える。
【００３０】
ＵＳＢホスト１８０が切断されたとき、この切断をバス管理機能１３０が検出し、デバイス制御部１２０に制御線１７０を介して通知する。デバイス制御機能１２０は、デバイス用のデータ線１９１、１９２、１９３を、ポートＡＢ用のＵＳＢデータ線１６１、１６２、１６３に切り替える。また、デュアルロールデバイス１８０、１８１、１８２、１８３のいずれかをＵＳＢホストに切り替え、かつＵＳＢデータ線１６１、１６２、１６３に対応するデバイス用のデータ線１９１、１９２、１９３に切り替える。切り替え制御は、実施の形態１−１、１−２と同様に行う。また、デュアルロールデバイス１８０、１８１、１８２、１８３のＵＳＢホストの選択は、ポートＡＢ１４１、１４２、１４３の優先度もしくは接続状態管理機能１２１が管理する接続順番、初期の接続状態で判断する。但し、ＵＳＢホストになるデュアルロールデバイスがない場合、実施の形態１−１のように、ＵＳＢケーブルのＶｂｕｓをＬにして、デュアルロールデバイスからのセッション開始要求手順（ＳＲＰ）の実行でＵＳＢホストを決定することもできる。
【００３１】
（実施の形態１−４）
以下、デュアルロールデバイス間で、ＵＳＢホストとＵＳＢデバイスを切り替える場合について説明する。バス管理機能１３０は、ＵＳＢホスト１８０からのＵＳＢサスペンド信号を検出すると、デバイス制御機能１２０に制御線１７０を介して通知する。デバイス制御機能１２０は、接続されているデュアルロールデバイス１８１、１８２、１８３をＯＴＧ管理機能とＵＳＢデータ通信できるように、バス管理機能１３０を制御し、デバイス用のデータ線１９１、１９２、１９３を、ポートＡＢ用のＵＳＢデータ線１６１、１６２、１６３に切り替える。
【００３２】
デバイス制御機能１２０は、デバイス制御機能１２０の接続状態管理機能１２１で管理する状態（接続されているポートの状態）と、デュアルロールデバイスからのデータ線の状態（Ｄ＋／Ｄ−）の変化を比較し、ＵＳＢホストとなるデュアルロールデバイスを検出し、バス管理機能１３０を制御して、ＵＳＢホストとなるデュアルロールデバイスのＵＳＢデータ線（ポートＡＢ用のＵＳＢデータ線１６１、１６２、１６３のいずれか１つ）を、ホスト用のデータ線１９０に切り替える。
【００３３】
また、残りのデュアルロールデバイスがＵＳＢデバイスとして動作することを確認して、対応するデバイス用のデータ線１９１、１９２、１９３に切り替える。切り替え制御は、実施の形態１−１、１−２のように行う。
【００３４】
ＵＳＢホストとなるデュアルロールデバイスの検出方法は、デュアルロールデバイス１８１、１８２、１８３でＵＳＢホストとなり得る機器が複数存在した場合、ポートＡＢ（１４１、１４２、１４３）の優先度もしくは接続状態管理機能１２１が管理する接続順番、初期の接続状態で判断する。但し、ＵＳＢホストとしかなり得ないＵＳＢ機器が接続されている場合は、デバイス制御機能１２０はデータ線の切り替えを行わない。
【００３５】
（実施の形態１−５）
以下、デュアルロールデバイスがＵＳＢホストとして接続されて、ＵＳＢケーブルの電源（Ｖｂｕｓ  ）がＬになった場合について説明する。バス管理機能１３０は、ホストの電源がＬになったことを検出すると、デバイス制御機能１２０に、制御線１７０を介して通知する。その後、デバイス制御機能１２０は、全てのデュアルロールデバイスのデータ線をＯＴＧ管理機能と通信できるようにデータ線をポートＡＢ用のＵＳＢデータ線１６１、１６２、１６３に切り替えるようにバス管理機能１３０を制御する。その後、実施の形態１−１〜１−４と同様に、ＵＳＢホストおよびＵＳＢデバイスとなるデュアルロールデバイスを制御する。
【００３６】
（実施の形態１−６）
デバイス用のデータ線１９１、１９２、１９３、ポートＡＢ用のＵＳＢデータ線１６１、１６２、１６３、バス信号１５０、１５１、１５２、ポートＡＢ１（１４１）、ＡＢ２（１４２）、ＡＢ３（１４３）、ポートＢおよびこれらに対応するＯＴＧ管理機能を追加することで、デュアルロールデバイスの接続台数を任意に増設することが可能になる。
【００３７】
以上のように、実施の形態１によれば、デュアルロールデバイスをＵＳＢホスト、ＵＳＢデバイスに容易に切り替えることができる。
【００３８】
（実施の形態２）
図２は、本発明の実施の形態２に係るＵＳＢ機器制御装置の構成を示す図である。図２に示すＵＳＢ機器制御装置２００は、図５に示した標準ＵＳＢハブ装置５００に対してデバイス制御機能２２０、バス管理機能２３０およびバス管理機能２３０から取り出される電源線（Ｖｂｕｓ）であるポートＡのＶｂｕｓ２６６が追加されている。ＵＳＢ機器制御装置２００は、デュアルロールデバイス２８１を接続するポートＡＢ１と、ＵＳＢホスト２８０を接続するポートＢと、ＵＳＢホスト２８０を接続するポートＢと、ＵＳＢホスト２８２を接続するポートＡとを備える。デバイス制御機能２２０は、デュアルロールデバイス２８１の接続時と現在の状態および接続順番を管理する接続状態管理機能２２１と、ＯＴＧ規格のセッション開始要求手順（ＳＲＰ）の検出と、ホスト交換手順（ＨＮＰ）を実行するＯＴＧ管理機能２２２とを備える。ＵＳＢ機器制御装置２００の基本的な動作は、電力の供給を除いて実施の形態１と同様である。
【００３９】
以下、ＵＳＢホスト２８０（例えば、ＰＣ）とＵＳＢデバイス２８２（例えば、デジタルカメラ、プリンタ）間でデータ通信を行う場合を説明する。デバイス制御機能２２０は、ＵＳＢホスト２８０の接続を検出すると、バス管理機能２３０に対し、ＵＳＢホストからのポートＢのＶｂｕｓ２６５を利用して、ポートＡのＶｂｕｓ  ２６６に電源を供給するように制御する。  但し、バス管理機能２３０は、ＵＳＢホストからのポートＢのＶｂｕｓ２６５からの電力（電圧、電流）が足りない場合は、自己が内蔵する電源を利用して電力を付加することができる。
【００４０】
ＵＳＢホストからのポートＢのＶｂｕｓ２６５を利用した電力の供給が途切れたとき（切断されたとき）、バス管理機能２３０が、ポートＢのＶｂｕｓ２６５の電圧変化によってＵＳＢホスト２８０の切断を検出し、制御線２７０を介してデバイス制御機能２２０に通知する。その後、デバイス制御機能２２０は、ポートＡのＶｂｕｓ電力供給を停止するようにバス管理機能２３０を制御する。
【００４１】
（実施の形態２−２）
以下、デュアルロールデバイス２８１が初期接続状態でＵＳＢデバイスとして接続され、ＵＳＢデバイス２８２（例えば、デジタルカメラ、プリンタ）とデータ通信を行う場合を説明する。
【００４２】
ＵＳＢデバイスがＵＳＢホストに切り替わったとき、ＵＳＢ機器制御装置２００のデバイス制御機能２２０がデュアルロールデバイス２４１に対し、ホスト交換手順（ＨＮＰ）を実行して、デュアルロールデバイス２８１をＵＳＢホストに切り替える。また、バス管理機能２３０に対し、自己が内蔵する電源からポートＡ（２４４）のＶｂｕｓに電力を供給するように制御する。ホスト用のデータ線をポートＡＢ用のＵＳＢデータ線２６１に切り替えたとき、デバイス制御機能２２０は、バス管理機能２３０に対し、ポートＡのＶｂｕｓ２６６の電力供給を停止するように制御する。
【００４３】
（実施の形態２−３）
以下、デュアルロールデバイス２８１が初期接続状態でＵＳＢホストとして接続されて、ＵＳＢデバイス（例えば、デジタルカメラ、プリンタ）とデータ通信を行う場合を説明する。ＵＳＢ拡張装置２００のバス管理機能２３０が、デバイス制御機能２２０の制御のもとで、ポートＡＢ１用のＵＳＢデータ線２６１をホスト用のデータ線２９０に切り替える。また、バス管理機能２３０に対し、デュアルロールデバイスからの電力２５０（Ｖｂｕｓ）もしくは自己が内蔵する電源からポートＡのＶｂｕｓ２６６に電力を供給するように制御する。電力の供給元は、バス管理機能２３０が判断するものとする。ホスト用のデータ線をポートＡＢ用のＵＳＢデータ線２６１に切り替えたとき、デバイス制御機能２２０は、バス管理機能２３０に対し、ポートＡのＶｂｕｓ２６６の電力供給を停止するように制御する。
【００４４】
（実施の形態２−４）
ポートＡのＶｂｕｓ２６６、ポートＡ２４４およびデバイス用のデータ線２９１をＵＳＢ機器制御装置２００に追加することで、従来のＵＳＢハブ装置と同様にＵＳＢデバイスの接続台数を増やすことができる。
【００４５】
実施の形態２によれば、従来通りにＵＳＢデバイスを接続してもＵＳＢデータ通信を行うことができる。
【００４６】
（実施の形態３）
図３は、本発明の実施の形態３に係るＵＳＢ機器制御装置の構成を示す図である。図３にＵＳＢ機器制御装置３００は、図５に示した標準ＵＳＢハブ装置５００に対してデバイス制御機能３２０およびバス管理機能３３０が追加されている。ＵＳＢ機器制御装置３００は、デュアルロールデバイス３８１を接続するポートＡＢ１（３４１）と、デュアルロールデバイス３８２を接続するポートＡＢ２（３４２）と、デュアルロールデバイス３８３を接続するポートＡＢ３（３４３）とを備える。また、ＨＵＢ機能３１０は、ホスト切替検出機能３１５を備える。ＵＳＢ機器制御装置３００の基本的な動作は、ホスト切替検出機能３１５の機能を除いて実施の形態１と同様である。
【００４７】
以下、ホスト切替検出機能３１５の機能について説明する。ＯＴＧ規格に準拠したＵＳＢ機器は、接続するＵＳＢ機器を指定できる。そのため、ＵＳＢ機器制御装置とデュアルロールデバイス間で特定の要求（ＵＳＢパケットデータ、例えばベンダーリクエスト）をやり取りする機能としてホスト切替検出機能３１５を追加する。
【００４８】
これにより、ホスト切替検出機能３１５は、次にＵＳＢホストとして動作するデュアルロールデバイス、ＵＳＢケーブルのＶｂｕｓのＬ出力およびＵＳＢ機器制御装置とホスト交換手順（ＨＮＰ）の実行などの情報を検出できる。
【００４９】
ホスト切替検出機能３１５は、上記のいずれかの情報を検出すると、デバイス制御機能３２０に制御線３７５を介して検出した情報を通知する。また、ホスト切替検出機能３１５は、デバイス制御機能３２０の制御のもとで、ＵＳＢホストとして動作するデュアルロールデバイスに対して応答することができる。
【００５０】
これにより、デバイス制御機能３２０は、接続状態を判断でき、データ線３９０、３９１、３９２とポートＡＢ用のＵＳＢデータ線３６１、３６２、３６３を円滑に切り替えることができる。
【００５１】
実施の形態３によれば、デュアルロールデバイスの機能（ＵＳＢホスト、ＵＳＢデバイス）を円滑に切り替え、ＵＳＢデータ通信を行うことができる。
【００５２】
（実施の形態４）
図４は、ＵＳＢ機器接続状態の管理やＵＳＢ機器の接続／切断の検出およびセッション開始要求手順（ＳＲＰ）検出などのイベントをソフトウェアで検出する場合の処理を示すフローチャートである。実施の形態１、２、３において上記イベントをソフトウェアで検出することによって、ＵＳＢ機器制御装置１００、２００、３００に接続されるデュアルロールデバイスのＵＳＢホストあるいはＵＳＢデバイスへの切り替えをプログラムで実施することができる。
【００５３】
例えば、図３のデュアルロールデバイス３８１がホスト、デュアルロールデバイス３８２，３８３がＵＳＢデバイスとして動作しているとき、デュアルロールデバイス３８１からＵＳＢ機器制御装置３００に対して、デュアルロールデバイス３８１をＵＳＢホストに切り替える特定の要求が送出されると、ＵＳＢ機器制御装置３００は図４に示すフローチャートに従って動作する。
【００５４】
Ｓ４１０で特定の要求を解読し、Ｓ４２０でその要求が実施できるか否かを確認する。要求が実施できない場合は、Ｓ４４０に遷移して実施できないことをデュアルロールデバイス３８１に通知する。要求が実施できる場合は、Ｓ４３０に遷移して実施できることをデュアルロールデバイス３８１に通知する。
【００５５】
通知後、Ｓ４３１に遷移して、実施の形態３に従って、デュアルロールデバイス３８１をＵＳＢデバイスに切り替える。また、デュアルロールデバイス３８２をＵＳＢホストに切り替える。これにより、ＵＳＢホストとＵＳＢデバイス間でＵＳＢデータ通信を行うことができる。
【００５６】
実施の形態４によれば、プログラムでＵＳＢ機器制御装置１００に接続されるＵＳＢ機器の状態（ＵＳＢデバイスあるいはＵＳＢホスト）を制御することができる。
【００５７】
（実施の形態５）
実施の形態１から４のいずれかを組み合わせることで、ＯＴＧ規格に対応したＵＳＢハブ装置として、デュアルロールデバイスに対して、ＵＳＢホストおよびＵＳＢデバイスを容易に切り替えることができる。
【００５８】
【発明の効果】
以上のように本発明によれば、ハブに接続したデュアルロールデバイスをハブから外すことなくＵＳＢデバイスとＵＳＢホスト間で容易に切り換えることができる。従来のＵＳＢホスト、ＵＳＢデバイスが混在した場合でも、ＵＳＢホスト、ＵＳＢデバイスを認識したＵＳＢデータ通信が可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係るＵＳＢ機器制御装置の構成を示す図。
【図２】本発明の実施の形態２に係るＵＳＢ機器制御装置の構成を示す図。
【図３】本発明の実施の形態３に係るＵＳＢ機器制御装置の構成を示す図。
【図４】本発明の実施の形態４に係るＵＳＢ機器制御方法を示すフローチャート。
【図５】従来のＵＳＢハブ装置の構成を示す図。
【符号の説明】
１００、２００、３００  ＵＳＢ機器制御装置
１１０、２１０、３１０  ＨＵＢ機能
１２０、２２０、３２０  デバイス制御機能
１２１、２２１、３２１  接続状態管理機能
１２２、１２３、１２４、２２２、３２２、３２３、３２４  ＯＴＧ管理機能
１３０、２３０、３３０  バス管理機能
１８０、２８０、２８２  ＵＳＢホスト
１８１、１８２、１８３、２８１、３８１、３８２、３８３  デュアルロールデバイス
３１５  ホスト切替検出機能
【図１】
2004157604.tif 000003
【図２】
2004157604.tif 000004
【図３】
2004157604.tif 000005
【図４】
2004157604.tif 000006
【図５】
2004157604.tif 000007
【手続補正書】
【提出日】平成15年1月16日(2003.1.16)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
【発明が解決しようとする課題】
しかしながら、ＵＳＢ追加規格であるＯＴＧ規格に準拠したＵＳＢ機器が接続された場合、従来の標準ＵＳＢハブ装置では、ＯＴＧ規格で定義されているセッション開始要求手順（Ｓｅｓｓｉｏｎ  Ｒｅｑｕｅｓｔ  Ｐｒｏｔｏｃｏｌ）、ホスト交換手順（Ｈｏｓｔ  Ｎｅｇｏｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）に対応していないため、ＵＳＢホストまたはＵＳＢデバイスとして機能するデュアルロールデバイスを、ＵＳＢホストとＵＳＢデバイス間（ＵＳＢホストからＵＳＢデバイスへまたはＵＳＢデバイスからＵＳＢホストへ）で切り替えることができず、ＵＳＢデバイスまたはＵＳＢホストに交代するにはＵＳＢ機器を外す必要があった。


【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
例えば、デュアルロールデバイス１８１とＯＴＧ管理機能１２２との間で、セッション開始要求手順（ＳＲＰ）が実行された場合、デュアルロールデバイス１８１については、ポートＡＢ１用のＵＳＢデータ線１６１を切断し、ホスト用のデータ線１９０に切り替える。デュアルロールデバイス１８２、１８３については、ポートＡＢ２、３用のＵＳＢデータ線１６２、１６３を切断し、デバイス用のデータ線１９１、１９２に切り替える。但し、複数のデュアルロールデバイスから同時にセッション開始要求手順（ＳＲＰ）が実行されたとき、ポートＡＢ（１４１、１４２、１４３）の優先度もしくは接続状態管理機能が管理する接続順番、初期の接続状態で判断する。


【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
ＵＳＢホスト１８０が切断されたとき、この切断をバス管理機能１３０が検出し、デバイス制御部１２０に制御線１７０を介して通知する。デバイス制御機能１２０は、デバイス用のデータ線１９１、１９２、１９３を、ポートＡＢ用のＵＳＢデータ線１６１、１６２、１６３に切り替える。また、デュアルロールデバイス１８１、１８２、１８３のいずれかをＵＳＢホストに切り替え、かつＵＳＢデータ線１６１、１６２、１６３に対応するデバイス用のデータ線１９１、１９２、１９３に切り替える。切り替え制御は、実施の形態１−１、１−２と同様に行う。また、デュアルロールデバイス１８１、１８２、１８３のＵＳＢホストの選択は、ポートＡＢ１４１、１４２、１４３の優先度もしくは接続状態管理機能１２１が管理する接続順番、初期の接続状態で判断する。但し、ＵＳＢホストになるデュアルロールデバイスがない場合、実施の形態１−１のように、ＵＳＢケーブルのＶｂｕｓをＬにして、デュアルロールデバイスからのセッション開始要求手順（ＳＲＰ）の実行でＵＳＢホストを決定することもできる。