(57)【要約】【課題】ＵＳＢホスト装置とＵＳＢ周辺装置との間でデータ送受信を行いつつ、他のＵＳＢ周辺装置間で直接的なデータ送受信を行う。【解決手段】複数のＵＳＢ周辺装置のそれぞれにダウンストリームポートを介してデータ送受信を中継するＵＳＢハブ装置は、任意のダウンストリームポートを互いにダイレクト接続する機能を有するハブリピーターを備える。ＵＳＢハブ装置は、ダイレクト接続リクエストを受けると、リクエストで指定されたダウンストリームポートに任意に互いにダイレクト接続する指示をハブリピーターに行い、ＳＯＦパケットを受信すると、全てのダウンストリームポートにＳＯＦパケットを中継伝送し、指定されたダウンストリームポートとＵＳＢホスト装置に接続するアップストリームポートとのリンクを切断し、指定されたダウンストリームポートを任意に互いにダイレクト接続できるようにする。【選択図】  図１
2004328262.tif 000002
【特許請求の範囲】
【請求項１】
ダウンストリームポートを介して複数のＵＳＢ周辺装置のそれぞれに対してデータ送受信を中継するＵＳＢハブ装置において、
任意のダウンストリームポートを互いにダイレクト接続する機能を有するハブリピーターと、
ＵＳＢホスト装置からのダイレクト接続リクエストに応じて特定のグループのダウンストリームポートに対して任意に互いにダイレクト接続するように前記ハブリピーターに指示するハブコントローラと
を備えたＵＳＢハブ装置。
【請求項２】
前記ハブリピーターは、ＵＳＢホスト装置からのダイレクト接続リクエストを受けた後、前記ＵＳＢホスト装置から発行されるフレーム同期用のＳＯＦパケットをすべてのＵＳＢ周辺装置に中継伝送することを特徴とする請求項１記載のＵＳＢハブ装置。
【請求項３】
前記ハブリピーターは、ＳＯＦパケットの中継伝送を完了した後、前記ＵＳＢホスト装置に接続するアップストリームポートと特定のグループのＵＳＢ周辺装置に接続するダウンストリームポートとの間のリンクを切断することを特徴とする請求項２記載のＵＳＢハブ装置。
【請求項４】
前記ハブリピーターは、ＳＯＦパケットの中継伝送を完了した後、ダイレクト接続が有効であることを示すＤＣＮパケットをダイレクト接続の対象となっているＵＳＢ周辺装置に対して送出することを特徴とする請求項２記載のＵＳＢハブ装置。
【請求項５】
前記ハブリピーターは、ダイレクト接続の対象となっているＵＳＢ周辺装置に対するデータが前記ＵＳＢホスト装置から送られてきた場合に、これにＮＡＫ応答することを特徴とする請求項３記載のＵＳＢハブ装置。
【請求項６】
ダイレクト接続の対象となっているＵＳＢ周辺装置に接続する任意のダウンストリームポートを、電気的インタフェースをとるための回路を介さずに互いにダイレクト接続することを特徴とする請求項３記載のＵＳＢハブ装置。
【請求項７】
クライアントとしてデータの送受信を制御するＵＳＢ周辺コントローラと、
ＵＳＢシステムにおけるデータ送受信の最小単位であるトランザクション処理を実行するＵＳＢホスト機能を有し、ＵＳＢホスト装置を介することなく他のＵＳＢ周辺装置と直接にホストとしてデータの送受信を行う場合に前記ＵＳＢ周辺コントローラに代わってデータの送受信を制御するＵＳＢホストコントローラと
を備えたＵＳＢ周辺装置。
【請求項８】
前記ＵＳＢホストコントローラが有するＵＳＢホスト機能は、トークンパケット送信機能、データパケット送受信機能及びハンドシェークパケット送受信機能からなる一連のトランザクション処理、並びにこの一連のトランザクション処理に対するエラーハンドリング機能を含むことを特徴とする請求項７記載のＵＳＢ周辺装置。
【請求項９】
前記ＵＳＢ周辺コントローラは、ＵＳＢホスト権限付与コマンドを受信した場合、動作を停止すると共に前記ＵＳＢホストコントローラを動作させ、他のＵＳＢ周辺装置との間でデータ送受信を行うことを特徴とする請求項７記載のＵＳＢ周辺装置。
【請求項１０】
ＵＳＢホスト装置とＵＳＢ周辺装置の各々との間でデータ送受信を行うステップと、
前記ＵＳＢホスト装置からのダイレクト接続リクエストに応じて特定のＵＳＢ周辺装置に接続するダウンストリームポートを任意に互いにダイレクト接続するステップと、
ダイレクト接続に係るＵＳＢ周辺装置間で前記ＵＳＢホスト装置を介することなくデータ送受信を直接に行うステップと、
を有することを特徴とするデータ送受信方法。
【請求項１１】
ダイレクト接続に係るＵＳＢ周辺装置の内で特定のＵＳＢ周辺装置においてＵＳＢホスト権限付与コマンドを受信し、この特定のＵＳＢ周辺装置をホストとして他のいずれかのダイレクト接続に係るＵＳＢ周辺装置とデータ送受信を直接に行うことを特徴とする請求項１０記載のデータ送受信方法。
【請求項１２】
ダイレクト接続リクエストに応じて任意に互いにダイレクト接続されるダウンストリームポートのグループを複数配置し、各グループにおいて前記ＵＳＢホスト装置を介することなくデータ送受信を直接に行うことを特徴とする請求項１０記載のデータ送受信方法。
【請求項１３】
各グループのダイレクト接続されるダウンストリームポートを同一のＵＳＢハブ装置に接続することを特徴とする請求項１２記載のデータ送受信方法。
【請求項１４】
各グループのダイレクト接続されるダウンストリームポートを互いに異なるＵＳＢハブ装置に接続することを特徴とする請求項１２記載のデータ送受信方法。
【請求項１５】
ダイレクト接続リクエストに応じて任意に互いにダイレクト接続されるダウンストリームポートの一部を１つのＵＳＢハブ装置に接続し、他のダウンストリームポートを他方のＵＳＢハブ装置に接続することを特徴とする請求項１０記載のデータ送受信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パーソナルコンピュータなどのユニバーサル・シリアル・バス（ＵＳＢと略す）ホスト装置を頂点としたＵＳＢシステムにおけるＵＳＢハブ装置、ＵＳＢ周辺装置及びデータ送受信方法に関し、特にＵＳＢホスト装置を介することなくＵＳＢ周辺装置間で直接にデータ送受信を行うようにしたＵＳＢハブ装置、ＵＳＢ周辺装置及びデータ送受信方法に関する。
【０００２】
【従来の技術】
従来、ＵＳＢホスト装置を介することなくＵＳＢ周辺装置間で直接的にデータ送受信を行う方法として、ＵＳＢ規格団体が策定したＵＳＢ  Ｏｎ−Ｔｈｅ−Ｇｏ（以下、ＯＴＧと略す）と呼ばれる規格がある。
【０００３】
図１２は、第１の従来技術であり、このＵＳＢ  ＯＴＧ規格に基づき互いに接続されるＵＳＢ  ＯＴＧ装置及びＵＳＢ周辺装置のモデル図を示す。
【０００４】
図１２に示すＵＳＢ  ＯＴＧ装置７１はＵＳＢ  ＯＴＧの機能を搭載する一方のＵＳＢ周辺装置であり、ＯＴＧトランシーバ７１１，ＯＴＧコントローラ７１２，ホストコントローラ７１３及びデバイスコントローラ７１４を備える。また、他方のＵＳＢ周辺装置７２は、トランシーバ７２１及びデバイスコントローラ７２２を備える。ＵＳＢ  ＯＴＧ装置７１はＵＳＢ  ＯＴＧの機能を搭載するので、ＵＳＢホスト装置を介することなくＵＳＢ  ＯＴＧ装置７１とＵＳＢ周辺装置７２とは互いに１対１に接続可能であり、ＵＳＢ  ＯＴＧ装置７１とＵＳＢ周辺装置７２との間でデータ送受信が行われる。
【０００５】
また、第２の従来技術として、特許文献１では、ＵＳＢハブ装置を内蔵するデータ送受信装置が開示される。この特許文献１では、データ送受信装置がＵＳＢホスト装置との切断を検出したとき、データ送受信装置自身がＵＳＢホスト装置として機能し、データ送受信装置の複数のポートに接続する複数のＵＳＢ周辺装置との間でのデータ送受信を提供する技術が提案されている。詳しくは、ＵＳＢハブ装置がＵＳＢホストとの切断を検出すると、これをデータ送受信装置のＣＰＵに通知する。ＣＰＵはこの通知を受けると、ＵＳＢポートに接続するＵＳＢ周辺装置に対応する制御プログラム、すなわちドライバプログラムをロードし、ＵＳＢ周辺装置間のデータ送受信を中継する。
【０００６】
なお、本発明に関連した先行技術文献としては、以下のものがある。
【０００７】
【特許文献１】
特開２００１−１３４５２８公報
【特許文献２】
特開２０００−１８３９３９公報（請求項１乃至５，図１乃至３）
【０００８】
【発明が解決しようとする課題】
しかしながら、図１２に示す第１の従来技術には以下のような問題があった。
【０００９】
このモデルでは、一方のＵＳＢ周辺装置がＵＳＢ  ＯＴＧの機能を搭載することによりＵＳＢ  ＯＴＧ装置７１として動作し、ＵＳＢホスト装置を介することなく一方のＵＳＢ周辺装置（つまり、ＵＳＢ  ＯＴＧ装置７１）と他方のＵＳＢ周辺装置７２との間での直接的なデータ送受信を実現することができるが、従来のようなＵＳＢホスト装置を頂点としたツリー形状のバストポロジーを維持した状態でＵＳＢ周辺装置間でのデータ送受信を行うことができない。その理由は、ＵＳＢ  ＯＴＧはそもそも１対１の通信モデルのみを対象としている規格であるためである。
【００１０】
また、特許文献１に記載される第２の従来技術には以下のような２つの問題があった。
【００１１】
第１の問題点は、データ送受信装置がＵＳＢホスト装置と切断された場合、データ送受信装置に接続されるいずれのＵＳＢ周辺装置も切断されたＵＳＢホスト装置とのデータ送受信を行うことができなくなってしまうことである。これでは、ＵＳＢホスト装置とＵＳＢ周辺装置との間でデータ送受信を行いつつ、他のＵＳＢ周辺装置間での直接のデータ送受信が行えない。この理由は、ＵＳＢホスト装置を介することなくＵＳＢ周辺装置間で直接のデータ送受信を行うためには、すべてのＵＳＢ周辺装置をＵＳＢホスト装置に対し切断しなければならないからである。
【００１２】
第２の問題点は、ＵＳＢ周辺機器間のデータ送受信を中継するデータ送受信装置の規模が大きくなってしまうことである。その理由は、このデータ送受信装置にはＵＳＢハブ装置が内蔵されていることに加えて、データ送受信装置は各ＵＳＢ周辺装置に対応した制御プログラム、オペレーティングシステムなどのソフトウェアを格納するための大容量メモリ、ＣＰＵ、表示部及び入力部などのハードウェアを必要とするからである。
【００１３】
特許文献２の発明では、ＵＳＢデバイス間のデータ転送は、ハブ装置に疑似ホスト機能を搭載し、この疑似ホスト機能が送信元デバイスからのデータを一時的に受信し、そして送信元デバイスに対して送信する方法がとられている。しかしながら、この特許文献２では、ハブ装置配下の複数組みのデバイス間でデータ転送を行いたい場合に、ハブ装置がボトルネックになることが明らかであり、デバイス間での直接のデータ転送をスムーズに行うことができないという問題がある。
【００１４】
本発明は上記の問題点に鑑みてなされたものであり、ＵＳＢホスト装置と一部のＵＳＢ周辺装置との間でデータ送受信を行いつつ、他のＵＳＢ周辺装置間で直接的なデータ送受信を行うようにしたＵＳＢハブ装置、ＵＳＢ周辺装置及びデータ送受信方法を提供することを第１の目的とする。
【００１５】
また、本発明は、ＵＳＢ周辺装置間での直接的なデータ送受信を中継する簡単な構成のＵＳＢハブ装置を提供することを第２の目的とする。
【００１６】
【課題を解決するための手段】
この発明に係るＵＳＢハブ装置は、複数のＵＳＢ周辺装置に接続する任意のダウンストリームポートを互いにダイレクト接続する機能を有するハブリピーターと、ＵＳＢホスト装置からのダイレクト接続リクエストに応じて特定のグループのダウンストリームポートに対して任意に互いにダイレクト接続するようにハブリピーターに指示するハブコントローラとを備えたものである。
【００１７】
この発明に係るＵＳＢ周辺装置は、クライアントとしてデータの送受信を制御するＵＳＢ周辺コントローラと、ＵＳＢシステムにおけるデータ送受信の最小単位であるトランザクション処理を実行するＵＳＢホスト機能を有し、ＵＳＢホスト装置を介することなく他のＵＳＢ周辺装置と直接にホストとしてデータの送受信を行う場合にＵＳＢ周辺コントローラに代わってデータの送受信を制御するＵＳＢホストコントローラとを備えたものである。
【００１８】
この発明に係るデータ送受信方法は、ＵＳＢホスト装置とＵＳＢ周辺装置の各々との間でデータ送受信を行うステップと、ＵＳＢホスト装置からのダイレクト接続リクエストに応じて特定のＵＳＢ周辺装置に接続するダウンストリームポートを任意に互いにダイレクト接続するステップと、ダイレクト接続に係るＵＳＢ周辺装置間でＵＳＢホスト装置を介することなくデータ送受信を直接に行うステップとを有することを特徴とする。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照しつつ詳細に説明する。
【００２０】
［実施形態１］
以下、本発明のＵＳＢハブ装置、ＵＳＢ周辺装置及びＵＳＢ周辺装置間のデータ送受信方法の第１の実施形態を図面を用いて説明する。図１は本発明の第１の実施形態によるＵＳＢハブ装置の構成図である。図２はＵＳＢハブ装置のハブリピーター１１の構成図であり、図２（ａ）は通常状態におけるハブリピーター１１を示し、図２（ｂ）はダイレクト接続状態におけるスイッチを示す図である。図３は本発明の第１の実施形態によるＵＳＢ周辺装置の構成図であり、図４は本発明の第１の実施形態によるＵＳＢハブ装置、ＵＳＢ周辺装置及びＵＳＢ周辺装置の間で行われるデータ送受信を時系列に示す図である。
【００２１】
図１に示すように、ＵＳＢハブ装置１は、通常、自身が内蔵するハブリピーター１１により、アップストリームポート１５と複数のダウンストリームポート１６−１、１６−２、１６−３、１６−４（場合に応じて、参照番号１６で総称する）との間を双方向に中継する。ＵＳＢハブ装置１はアップストリームポート１５を介してＵＳＢホスト装置３とデータ送受信を行い、ダウンストリームポート１６を介してＵＳＢ周辺装置２−１、２−２、２−３、２−４（場合に応じて、参照番号２で総称する）のそれぞれとデータ送受信を行う。本実施形態では、４個のダウンストリームポートが配置されるが、５個以上または３個以下のダウンストリームポートであっても良い。
【００２２】
ＵＳＢトランシーバ１３はアップストリームポート１５とのＵＳＢ規格に準拠した電気的インタフェースをとる。ＵＳＢトランシーバ１４−１、１４−２、１４−３、１４−４（場合に応じて、参照番号１４で総称する）はダウンストリームポート１６とのＵＳＢ規格に準拠した電気的インタフェースをとる。
【００２３】
図２（ａ）に示すように、ハブリピーター１１は、リンクスイッチ１１１と、ダイレクト接続用スイッチ１１２と、リンクスイッチ１１１及びダイレクト接続用スイッチ１１２の動作を制御するＤＣＮコントロールタイマ１１３とを有する。
【００２４】
リンクスイッチ１１１は、ダウンストリームポート１６間でのダイレクト接続中にＵＳＢホスト装置３からＵＳＢハブ装置１へ送信される信号がダイレクト接続の対象であるダウンストリームポート１６へ中継伝送されないようにスイッチ群を有する。ダイレクト接続期間外である通常状態においては、ＤＣＮコントロールタイマ１１３の制御の下で、リンクスイッチ１１１の全てのスイッチはオン状態（接続状態）に設定され、各ダウンストリームポート１６とアップストリームポート１５とは接続状態に設定される。
【００２５】
一方、たとえばダウンストリームポート１６−１、１６−２、１６−３がダイレクト接続の対象でありダウンストリームポート１６−４がダイレクト接続の対象でない場合には、ＤＣＮコントロールタイマ１１３の制御の下でダウンストリームポート１６−１、１６−２、１６−３に対応するリンクスイッチ１１１のスイッチはオフ状態（非接続状態）に設定され、ダウンストリームポート１６−１、１６−２、１６−３のそれぞれとアップストリームポート１５との間の接続は切断される。また、ダウンストリームポート１６−４に対応するリンクスイッチ１１１のスイッチはオン状態に維持され、アップストリームポート１５との間の接続は維持される。
【００２６】
ダイレクト接続用スイッチ１１２は良く知られるマトリクススイッチから構成され、任意のダウンストリームポート１６どうしをダイレクト接続できる機能を有する。通常状態においては、ＤＣＮコントロールタイマ１１３の制御の下で全ての接続ポイントはオフ状態（図２（ａ）において白丸で示す）に設定され、ＵＳＢホスト装置３から送信される信号がダイレクト接続用スイッチ１１２のそれぞれのスイッチを経由して対応するダウンストリームポート１６へ送られるように設定されている。一方、ＵＳＢ周辺装置２−１、２−３間でダイレクト通信しＵＳＢ周辺装置２−２、２−４間でダイレクト通信する場合には、図２（ｂ）に示すように、ＤＣＮコントロールタイマ１１３の制御の下でダイレクト接続用スイッチ１１２の一部のスイッチがオン状態（図２（ｂ）において黒丸で示す）に設定され、ダウンストリームポート１６−１、１６−３間をダイレクト接続し、ダウンストリームポート１６−２、１６−４間をダイレクト接続する。
【００２７】
ＵＳＢホスト装置３はダイレクト接続の対象となる一群のダウンストリームポート１６を指定するダイレクト接続リクエストコマンドを発行し、ハブコントローラ１２は、このダイレクト接続リクエストコマンドに応じて、指定されたダウンストリームポート１６のグループ内で任意に互いにダイレクト接続可能になるようにハブリピーター１１のＤＣＮコントロールタイマ１１３に対して指示を行う。
【００２８】
また、指定されたダウンストリームポート１６に接続するＵＳＢ周辺装置２の中でホストとして機能するＵＳＢ周辺装置２を特定するために、ＵＳＢホスト装置３は、ダイレクト接続におけるＵＳＢホストの権限を与えるＵＳＢホスト権限付与リクエストコマンドを発行し、ＵＳＢハブ装置１を介して特定のＵＳＢ周辺装置２に送付する。
【００２９】
ハブリピーター１１は、ＵＳＢホスト装置３から発行されるフレーム同期用のＳＯＦパケットを検出する機能と、ダイレクト接続の対象となっているダウンストリームポート１６に対して、ダイレクト接続中であることを通知するためのダイレクト接続通知信号（以下、ＤＣＮパケットとする）を送出する機能を有する。
【００３０】
次に、図３に示されるＵＳＢ周辺装置の構成を説明する。図３において、各ＵＳＢ周辺装置２は、通常のＵＳＢ周辺コントローラ２１と、簡易的なＵＳＢホスト装置としての機能を有するＵＳＢホストコントローラ２２と、ダウンストリームポート１６とのＵＳＢ規格に準拠した電気的インタフェースをとるＵＳＢトランシーバ２３と、データ処理を行うコンピュータ回路２４とを有する。
【００３１】
各ＵＳＢ周辺装置２では、ＵＳＢ周辺コントローラ２１またはＵＳＢホストコントローラ２２のいずれか一方のみが動作し、ＵＳＢ周辺装置２がクライエントとして機能する場合には、ＵＳＢ周辺コントローラ２１のみが動作する。例えば、ＵＳＢ周辺装置２がＵＳＢホスト装置３とのデータ送受信を行う通常の場合にはＵＳＢ周辺コントローラ２１のみが動作する。また、ＵＳＢホスト装置３からＵＳＢホスト権限付与リクエストコマンドを受けると、ＵＳＢ周辺コントローラ２１でＵＳＢホスト権限付与リクエストコマンドを認識し、ＵＳＢ周辺コントローラ２１は動作を止めると共にＵＳＢホストコントローラ２２を動作させ、ＵＳＢ周辺装置２は簡易的なＵＳＢホスト装置として機能する。
【００３２】
ＵＳＢ周辺装置２がクライエントとして機能している場合、アップストリームポートを介してＤＣＮパケットを受信すると、ＵＳＢ周辺コントローラ２１でＤＣＮパケットを認識する。また、ホストとして機能しているＵＳＢ周辺装置２でＤＣＮパケットを受信した場合、ＵＳＢホストコントローラ２２でＤＣＮパケットを認識する。
【００３３】
一般的なＵＳＢホスト装置は通常パーソナルコンピュータからなり、ＵＳＢ規格に準拠しているあらゆるＵＳＢ周辺装置との接続及びデータ送受信を行える能力を持っていなければならない。しかしながら、本実施形態において、簡易的なＵＳＢホスト装置として機能するＵＳＢ周辺装置２が他のＵＳＢ周辺装置２とのデータ送受信を行う場合、データ送受信の相手となるＵＳＢ周辺装置２が持つ機能的特徴、たとえばエンドポイント数、エンドポイント番号、各エンドポイントのデータ転送方向、パケットサイズなどが予め分かっている。
【００３４】
そのため、簡易的なＵＳＢホスト装置として機能するＵＳＢ周辺装置２は、一般的なＵＳＢホスト装置に求められるような、新規ＵＳＢ周辺装置を検出した場合のドライバインストール機能（プラグアンドプレイ機能）、複数のトランザクションのスケジューリング機能、フレームコントロール機能、電力の供給・管理機能などのような高度な機能を必要としない。この意味で、ＵＳＢ周辺装置２が有するＵＳＢホストコントローラ２２は、他のＵＳＢ周辺装置との間でデータ送受信が実現できる最低限度の機能を有すればよい。最低限度の機能とは、ＵＳＢシステムにおけるデータ送受信の最小単位であるトランザクションを実行できる能力である。具体的には、トークンパケットの生成及び送信、これに続くデータパケットの生成及び送信並びに受信、そしてハンドシェークパケットの生成及び送信並びに受信などの一連のトランザクション処理と、パケット個々に対するエラーハンドリング機能、トランザクションタイムアウト、シーケンスエラーなどの一連のトランザクション処理に対するエラーハンドリング処理機能である。
【００３５】
なお、ＵＳＢシステムにおけるトランザクション処理、及びこれに係るエラーハンドリング処理の詳細については、ＵＳＢ規格によって定義される。
【００３６】
次に、図１に示されるＵＳＢハブ装置１の動作について説明する。
【００３７】
まず、ＵＳＢホスト装置３からのダイレクト接続の要求を受けていない場合、ＵＳＢハブ装置１は自身が内蔵するハブリピーター１１により、アップストリームポート１５と複数のダウンストリームポート１６との間を双方向に中継する。
【００３８】
その後、ＵＳＢハブ装置１がＵＳＢホスト装置３からのダイレクト接続リクエストコマンドを受けると、このリクエストコマンドはハブリピーター１１を介してハブコントローラ１２に送られ、ハブコントローラ１２はダイレクト接続リクエストコマンドを認識する。次いで、ハブコントローラ１２はダイレクト接続リクエストコマンドで指定されるダウンストリームポート１６のグループ内で任意に互いにダイレクト接続可能になるようにハブリピーター１１のダイレクト接続用スイッチ１１２に対してＤＣＮコントロールタイマ１１３を介して設定指示を行う。ただし、この時点では、あくまでもダイレクト接続の指示を行っただけであって、実際にダイレクト接続されるわけではない。
【００３９】
図４を参照すると、フレーム１において、特定のＵＳＢ周辺装置２にダイレクト接続におけるＵＳＢホストの権限を与えるＵＳＢホスト権限付与リクエストコマンドＲＥＱ１をＵＳＢホスト装置３からＵＳＢハブ装置１へ発行する。ＵＳＢハブ装置１はこのＵＳＢホスト権限付与リクエストコマンドＲＥＱ１を特定されたＵＳＢ周辺装置２に中継伝送する。この第１の実施形態では、ＵＳＢ周辺装置２−１にＵＳＢホスト権限付与リクエストコマンドＲＥＱ１が中継伝送され、ＵＳＢ周辺装置２−１は簡易的なＵＳＢホスト装置として機能する。
【００４０】
次いで、フレーム１において、ＵＳＢホスト装置３からＵＳＢハブ装置１へダイレクト接続リクエストコマンドＲＥＱ２及び付加情報が送出される。リクエストコマンドＲＥＱ２及び付加情報はハブリピーター１１を介してハブコントローラ１２へ送られる。付加情報には、ダイレクト接続対象のダウンストリームポート１６（またはＵＳＢ周辺装置２）のグループ情報及びＵＳＢハブ装置１でのＳＯＦパケット受信からＤＣＮパケット送信までの間隔情報が含まれる。このケースでは、一例として、ダウンストリームポート１６−１、１６−２、１６−３を１つのグループとしてダイレクト接続するようリクエストしている。当然ながら、フレーム１が終了するまではＵＳＢホスト装置３はすべてのＵＳＢ周辺装置２との間で通常のデータ送受信を行うことができる。
【００４１】
ここで、ＵＳＢホスト権限付与リクエストコマンドＲＥＱ１とダイレクト接続リクエストコマンドＲＥＱ２との関係は、リクエストコマンドＲＥＱ１、ＲＥＱ２の発行順序は守る必要はあるが、図４で示したように同一フレームでリクエストコマンドＲＥＱ１、ＲＥＱ２を発行する必要はない。また、ＵＳＢホスト装置３からダイレクト接続リクエストコマンドＲＥＱ２を出力するタイミング、及びＵＳＢホスト権限を与える対象のＵＳＢ周辺装置２の選択はアプリケーションによるものとし、ここで規定されるものではない。
【００４２】
次いで、ダイレクト接続のリクエストを受けた後、ＵＳＢハブ装置１がＵＳＢホスト装置３から発行されるフレーム同期用のＳＯＦパケットを検出すると、フレーム２において、ハブリピーター１１はＳＯＦパケットをすべてのダウンストリームポート１６に中継伝送するとともに、ハブリピーター１１のＤＣＮコントロールタイマ１１３はリセットされカウントを起動する。また、ハブコントローラ１２は間隔情報にもとづきＤＣＮパケット送出時刻を設定し、このＤＣＮパケット送出時刻をＤＣＮコントロールタイマ１１３へ伝える。ＤＣＮコントロールタイマ１１３は、カウント値がＤＣＮパケット送出時刻になった時点で、ダイレクト接続対象に関するグループ情報にしたがってリンクスイッチ１１１及びダイレクト接続用スイッチ１１２へオン・オフ制御信号を送り、リンクスイッチ１１１及びダイレクト接続用スイッチ１１２を所望のオン・オフ状態にする。
【００４３】
そのため、ハブリピーター１１は、ダイレクト接続の対象となっている各ダウンストリームポート１６とアップストリームポート１５とのリンクを切断するとともに、ダイレクト接続の対象となっているダウンストリームポート１６のグループ内で任意に互いにダイレクト接続可能にする。この切断動作は、ＵＳＢホスト装置３からＳＯＦパケットにつづく別のパケットが出力された場合に、これをダイレクト接続のサービス対象であるダウンストリームポート１６―１、１６−２、１６−３に伝送してしまうことを防ぐためである。また、ＵＳＢシステムにおけるパケット送受信は、フレームを基本として行われるため、すべてのＵＳＢ周辺機器はＵＳＢホストが発行するＳＯＦパケットに同期して動作する必要がある。なお、この切断動作は、ＳＯＦパケットの中継伝送後に行うＤＣＮパケットの送出後から現フレームの終了までであるダイレクト接続有効期間中に行われる。
【００４４】
したがって、本実施形態のＵＳＢハブ装置１においても、ＵＳＢホスト装置３からのＳＯＦパケットをダイレクト接続の対象となっているダウンストリームポート１６−１、１６−２、１６−３に対しても中継伝送することで、ＵＳＢシステム全体におけるフレーム同期を維持することを保証している。
【００４５】
また、ダウンストリームポート１６―１、１６−２、１６−３を１つのグループとしてダイレクト接続するようリクエストコマンドＲＥＱ２及び付加情報がＵＳＢハブ装置１に送信されるので、ＵＳＢホスト装置３とダイレクト接続対象ではないＵＳＢ周辺装置２−４との間で通信を行うことができる。
【００４６】
図５は、本実施形態のＵＳＢシステムにおけるＳＯＦパケットの伝播の様子を示したモデル図である。ダイレクト接続の設定状況に関係なく、ＳＯＦパケットは、ＵＳＢハブ装置１を含むすべてのＵＳＢ周辺装置２に伝播される。
【００４７】
ＳＯＦパケットをダウンストリームポート１６に中継伝送し終わった段階で、ハブリピーター１１は、ダイレクト接続の対象となっているダウンストリームポート１６―１、１６−２、１６−３に対して、ダイレクト接続中であることを通知するためにＤＣＮパケットを送出する。ここで、ハブリピーター１１はＳＯＦパケット受信からＤＣＮパケット送信までの間隔をＵＳＢホスト装置３から受信した間隔情報にしたがって設定する。この時点で、ダイレクト接続の対象となっているダウンストリームポート１６―１、１６−２、１６−３は、すでにアップストリームポート１５とのリンクを切断されているため、もしＳＯＦパケットにつづいて別のパケットがＵＳＢホスト装置３から発行されていたとしても、ハブリピーター１１からのＤＣＳパケットと衝突することを防ぐことができる。ハブリピーター１１は、ＤＣＮパケットの送出完了までの間に、ダイレクト接続用スイッチ１１２を制御して、ハブコントローラ１２による予め設定された内容にしたがって、当該ダウンストリームポート１６どうしをダイレクト接続する。
【００４８】
一方、ＤＣＮパケットを受信したＵＳＢ周辺装置２−１は、自身のアップストリームポートが他のＵＳＢ周辺装置２とダイレクト接続されていることが保証されている。この時点で、ＵＳＢ周辺装置２−１はＵＳＢホスト機能をイネーブルとして、必要に応じて他のＵＳＢ周辺装置２とのデータ送受信を行うことができる。つまり、ＵＳＢ周辺装置２−１のＵＳＢホストコントローラ２２が動作し、ＵＳＢ周辺装置２−１は簡易的なＵＳＢホスト装置として機能する。
【００４９】
図４を参照すると、フレーム２において、ＵＳＢホスト装置３からＳＯＦパケットが発行された直後にＵＳＢハブ装置１からＵＳＢ周辺装置２−１、２−２、２−３に対してＤＣＮパケットが発行される。一方、ＵＳＢ周辺装置２−４はＵＳＢホスト装置３からのダイレクト接続リクエストコマンドでの指定を受けていないので、ＵＳＢ周辺装置２−４にはＤＣＮパケットが送信されていない。
【００５０】
ＤＣＮパケットを受信した以降、ＵＳＢ周辺装置２−１、２−２、２−３のそれぞれは、当該フレームの終了までダイレクト接続有効期間として、ＵＳＢ周辺装置２−１、２−２、２−３間での直接的なデータ送受信が許される。ただし、ＵＳＢシステムにおける通信モデルでは、必ずホストとして機能するＵＳＢホスト装置とクライアントとして機能するＵＳＢ周辺装置という主従関係の上でデータ送受信が行われるため、完全に自由なデータ送受信が行えるわけではない。したがって、予めどのＵＳＢ周辺装置２がダイレクト接続有効期間中にＵＳＢホストとして動作する権限を持つかどうか決定しておく必要がある。この手続きは、前述したとおりフレーム１でのＵＳＢホスト権限付与リクエストコマンドＲＥＱ１によって事前に行われている。このケースでは一例として、ＵＳＢ周辺装置２−１がＵＳＢホストとしての権限が与えられ、ＵＳＢ周辺装置２−２またはＵＳＢ周辺装置２−３とフレーム２においてデータ送受信する。
【００５１】
さらに、本実施形態では、例えばフレーム３において、ダイレクト接続解除リクエストコマンドＲＥＱ３がＵＳＢホスト装置３からＵＳＢハブ装置１に対して発行される。この場合、ハブリピーター１１を介してハブコントローラ１２にリクエストコマンドＲＥＱ３が送られ、ハブコントローラ１２はダイレクト接続解除リクエストコマンドＲＥＱ３を認識する。この認識に基づき、ハブコントローラ１２の制御の下でハブリピーター１１は、次のフレームからＤＣＮパケットの送出を中止し、ＵＳＢシステムにおけるダイレクト接続が終了する。ここで、ＵＳＢホスト装置３から出力されるダイレクト接続解除リクエストコマンドＲＥＱ３のタイミングは、アプリケーションによるものとし、ここで規定するものではない。
【００５２】
図６はダイレクト接続期間におけるパケットの伝播の様子を示すモデル図である。ダイレクト接続期間（例えばフレーム２またはフレーム３）においては、ダイレクト接続の対象であるＵＳＢ周辺装置２−１、２−２、２−３の間で、ＵＳＢ周辺装置２−１を一時的なＵＳＢホストとして直接的なデータ送受信がなされる。一方、ＵＳＢホスト装置３、ＵＳＢハブ装置１及びＵＳＢ周辺装置２−４の間では、ダイレクト接続の範囲内のデータ送受信とは独立して、トランザクション、すなわちデータ送受信が行われる。
【００５３】
図７はダイレクト接続期間における否定応答（ＮＡＫ）を示すモデル図である。ダイレクト接続期間中は、ダイレクト接続対象であるＵＳＢ周辺装置２−１、２−２、２−３とＵＳＢホスト装置３とのリンクが切断される。したがって、もしＵＳＢホスト装置３からＵＳＢ周辺装置２−１、２−２、２−３のいずれかの装置宛にトランザクションパケットが送信されたとしても、ＵＳＢ周辺装置２−１、２−２、２−３はトランザクションパケットに応答することができない。ＵＳＢシステムにおいて、無応答はエラーとして解釈されてしまう。これを回避するため、図７に示したように、ダイレクト接続期間中は、ＵＳＢ周辺装置２−１、２−２、２−３に対してのトランザクションパケットが発行されたことをＵＳＢハブ装置１のハブリピーター１１が検出し、ハブリピーター１１はネガティブアクノレッジメント（ＮＡＫ）ハンドシェークをもって応答する。これにより、ダイレクト接続期間中のＵＳＢホスト装置３における無用なエラー発生を防ぐことができる。
【００５４】
以上のように、この実施形態１によれば、第１の効果として、ＵＳＢホスト装置３と一部のＵＳＢ周辺装置２間の接続を維持したまま、残りのＵＳＢ周辺装置２間で直接的なデータ送受信が実現できる。その理由は、ＵＳＢハブ装置１に任意のダウンストリームポート１６をダイレクト接続できるダイレクト接続用スイッチ１１２を設け、ダイレクト接続用スイッチ１１２の動作により、ダイレクト接続の対象となっている各ダウンストリームポート１６とアップストリームポート１５とのリンクのみが切断され、ダイレクト接続の対象となっていないダウンストリームポート１６とアップストリームポート１５とのリンクの接続は維持されるからである。
【００５５】
また、第２の効果として、ＵＳＢハブ装置１の構成を簡易にすることができる。その理由は、ＵＳＢ周辺装置２に簡易的なＵＳＢホスト機能を設けているからである。
【００５６】
また、第３の効果として、ＵＳＢホスト装置３の負荷を低減することができる。その理由は、ＵＳＢ周辺装置２どうしが互いに直接的にデータ送受信を行うため、ＵＳＢホスト装置３が介在する必要がないためである。
【００５７】
また、第４の効果として、ＵＳＢシステム全体として、スループットが向上する。なぜなら、ＵＳＢ周辺装置２間のデータ送受信をＵＳＢホスト装置３が介在して行うという従来の場合は、一旦ＵＳＢホスト装置３がデータソースのＵＳＢ周辺装置２からデータを受信し、そしてＵＳＢホスト装置３からデータディスティネーションとなる他のＵＳＢ周辺装置２に対してデータを送信するという、２度のデータ送受信処理が必要となり、その分バスのトラフィックを消費することになる。一方、本実施形態によるダイレクト接続によれば、ダイレクト接続の対象となっているＵＳＢ周辺装置２とＵＳＢホスト装置３とのリンクを一時的に切断し、ＵＳＢホスト装置３から独立した形でＵＳＢ周辺装置２間のデータ送受信が行われるためにＵＳＢシステム全体のバストラフィックを全く消費しなくなるからである。
【００５８】
［実施形態２］
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。
【００５９】
図８は本発明の第２の実施形態によるＵＳＢハブ装置の構成図であり、図８（ａ）はＵＳＢハブ装置の構成を示す図であり、図８（ｂ）はＵＳＢレシーバの構成図である。
【００６０】
図８（ａ）及び図８（ｂ）に示すように、それぞれのＵＳＢレシーバ１４は、ダウンストリームポート１６との電気的インタフェースをとるためのドライバ及びレシーバを有するドライバ・レシーバ回路１４１と、ダウンストリームポート１６とハブリピーター１１との間をドライバ・レシーバ回路１４１を介して接続するかドライバ・レシーバ回路１４１を介さないで接続するかを選択する選択スイッチ１４２とを有する。また、それぞれのＵＳＢ周辺装置２も同じ機能を有するドライバ・レシーバ回路及び選択スイッチ（図示省略）を備える。
【００６１】
非ダイレクト接続期間中は、選択スイッチ１４２はａ端子を選択し、ドライバ・レシーバ回路１４１を介してダウンストリームポート１６とハブリピーター１１とは接続する。一方、ダイレクト期間中は、選択スイッチ１４２はｂ端子を選択し、ドライバ・レシーバ回路１４１を介すことなくダウンストリームポート１６とハブリピーター１１とはトランスペアレントに接続する。
【００６２】
これにより、たとえばユニバーサル・アシンクロナス・レシーバ／トランスミッタ（ＵＡＲＴ）やインター・インテグレイテッド・サーキット（Ｉ２Ｃ）などのＵＳＢ規格以外の２線式インタフェースによって、ＵＳＢ周辺装置間のデータ送受信を実現することができる。
【００６３】
【実施例】
次に、本発明の第１の実施形態または第２の実施形態における実施例について図面を参照して詳細に説明する。
【００６４】
［実施例１］
図９は図１または図８で示した単一のＵＳＢハブ装置１に対して複数のダイレクト接続のグループを設定した場合の例を示したモデル図である。なお、ここでのＵＳＢハブ装置の個数及び段数、そしてＵＳＢ周辺装置の数は、一例を示すものであって、限定されるものではない。
【００６５】
第１の実施例では、ダイレクト接続を利用したさまざまなＵＳＢシステムの実施例を説明する。図９に示す第１の実施例では、ＵＳＢホスト装置３からＵＳＢハブ装置１に対して、ＵＳＢ周辺装置２−１、２−２、２−３と、ＵＳＢ周辺装置２−４、２−５と、ＵＳＢ周辺装置２−６、２−７とをそれぞれダイレクト接続グループとして設定している。また、ＵＳＢホスト装置３から、それぞれのグループに対して、１つずつＵＳＢホスト権限を持つＵＳＢ周辺装置を指定することができる。
【００６６】
以上のように、第１の実施例によれば、１個のＵＳＢハブ装置１に接続される複数のダイレクト接続グループを設定することができる。
【００６７】
［実施例２］
図１０は図１または図８で示したＵＳＢハブ装置１をＵＳＢホスト装置３に対し複数個並列に接続した場合の例を示すモデル図である。なお、ここでのＵＳＢハブ装置の個数及び段数、そしてＵＳＢ周辺装置の数は、一例を示すものであって、限定されるものではない。
【００６８】
図１０に示すように、ＵＳＢホスト装置３からそれぞれのＵＳＢハブ装置１−１、１−２、１−３に対して、個別にダイレクト接続を指定している。この場合も、図９に示す実施例と同様にそれぞれのグループに対して、１つずつ個別にＵＳＢホスト権限を持つＵＳＢ周辺装置を指定することができる。
【００６９】
以上のように、この第２の実施例によれば、複数のＵＳＢハブ装置のそれぞれにおいてダイレクト接続グループを設定することができる。
【００７０】
［実施例３］
図１１は図１または図８で示したＵＳＢハブ装置１をカスケード接続した場合の例を示すモデル図である。なお、ここでのＵＳＢハブ装置の個数及び段数、そしてＵＳＢ周辺装置の数は、一例を示すものであって、限定されるものではない。
【００７１】
図１１に示すように、ＵＳＢホスト装置３に対しＵＳＢハブ装置１−１、１−２がカスケード接続される。この実施例において、１段目に位置するＵＳＢハブ装置１−１は、ＵＳＢホスト装置３からの制御により、ダウンストリームポート１６−２、１６−３、１６−４がダイレクト接続に設定される。
【００７２】
図示しているとおり、ダウンストリーム１６−４には、２段目のＵＳＢハブ装置１−２が接続されており、ＳＯＦパケットにつづいて、ＵＳＢハブ装置１−１からＤＣＮパケットが送出される。ＳＯＦパケット及びＤＣＮパケットは、ＵＳＢハブ装置１−２によって、ＵＳＢ周辺装置２−４、２−５、２−６に中継伝送される。そもそもＵＳＢハブ装置とは、基本的にアップストリームポートと各ダウンストリームポートとを単純に中継伝送するものであるため、ＵＳＢハブ装置１−２自体はダイレクト接続が設定されていなくてもこのように動作する。この結果、ＵＳＢ周辺装置２−２、２−３、２−４、２−５、２−６は、カスケード接続されたＵＳＢハブ装置１−１、１−２を介してダイレクト接続できる。また、ＵＳＢハブ装置１−１のダウンストリームポート１６−１、１６−５については、ダイレクト接続の対象外であるため、これに接続するＵＳＢ周辺装置２−１、２−７については、ＵＳＢホスト装置３との間で、通常のＵＳＢシステムにおけるデータ送受信が行われる。この例ではＵＳＢハブ装置１を２段としているが２段に限定するものではない。
【００７３】
以上のように、この第３の実施例によれば、ＵＳＢハブ装置が多段に接続された状態においても、ＵＳＢ周辺装置２間で直接的なデータ送受信が可能である。
【００７４】
【発明の効果】
以上のように、このＵＳＢハブ装置の発明によれば、複数のＵＳＢ周辺装置に接続する任意のダウンストリームポートを互いにダイレクト接続する機能を有するハブリピーターと、ＵＳＢホスト装置からのダイレクト接続リクエストに応じて特定のグループのダウンストリームポートに対して任意に互いにダイレクト接続するようにハブリピーターに指示するハブコントローラとを備えるように構成したので、ＵＳＢホスト装置とＵＳＢ周辺装置との間でデータ送受信を行いつつ、他のＵＳＢ周辺装置間で直接的なデータ送受信を行うことができる。
【００７５】
このＵＳＢ周辺装置の発明によれば、クライアントとしてデータの送受信を制御するＵＳＢ周辺コントローラと、ＵＳＢシステムにおけるデータ送受信の最小単位であるトランザクション処理を実行するＵＳＢホスト機能を有し、ＵＳＢホスト装置を介することなく他のＵＳＢ周辺装置と直接にホストとしてデータの送受信を行う場合にＵＳＢ周辺コントローラに代わってデータの送受信を制御するＵＳＢホストコントローラとを備えるように構成したので、ＵＳＢホスト装置とＵＳＢ周辺装置との間でデータ送受信を行いつつ、他のＵＳＢ周辺装置間で直接的なデータ送受信を行うことができる。また、ＵＳＢ周辺装置はＵＳＢホスト機能を有するので、ＵＳＢ周辺装置間での直接的なデータ送受信を中継するＵＳＢハブ装置の構成を簡単にすることができる。
【００７６】
この発明に係るデータ送受信方法は、ＵＳＢホスト装置とＵＳＢ周辺装置の各々との間でデータ送受信を行うステップと、ＵＳＢホスト装置からのダイレクト接続リクエストに応じて特定のＵＳＢ周辺装置に接続するダウンストリームポートを任意に互いにダイレクト接続するステップと、ダイレクト接続に係るＵＳＢ周辺装置間でＵＳＢホスト装置を介することなくデータ送受信を直接に行うステップとを有するようにしたので、ＵＳＢホスト装置とＵＳＢ周辺装置との間でデータ送受信を行いつつ、他のＵＳＢ周辺装置間で直接的なデータ送受信を行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態によるＵＳＢハブ装置の構成図である。
【図２】ＵＳＢハブ装置のハブリピーターの構成図である。
【図３】本発明の第１の実施形態によるＵＳＢ周辺装置の構成図である。
【図４】本発明の第１の実施形態によるＵＳＢハブ装置、ＵＳＢ周辺装置及びＵＳＢ周辺装置の間で行われるデータ送受信を時系列に示す図である。
【図５】第１の実施形態のＵＳＢシステムにおけるＳＯＦパケットの伝播の様子を示したモデル図である。
【図６】第１の実施形態によるダイレクト接続期間におけるパケットの伝播の様子を示すモデル図である。
【図７】第１の実施形態によるダイレクト接続期間における否定応答（ＮＡＫ）を示すモデル図である。
【図８】本発明の第２の実施形態によるＵＳＢハブ装置の構成図である。
【図９】本発明の第１の実施例における複数のダイレクト接続のグループを設定した場合の例を示したモデル図である。
【図１０】本発明の第２の実施例におけるＵＳＢハブ装置をＵＳＢホスト装置に対し複数個並列に接続した場合の例を示すモデル図である。
【図１１】本発明の第３の実施例におけるＵＳＢハブ装置をカスケード接続した場合の例を示すモデル図である。
【図１２】ＵＳＢ  ＯＴＧ規格に基づき互いに接続されるＵＳＢ  ＯＴＧ装置及びＵＳＢ周辺装置のモデル図を示す。
【符号の説明】
１−１，１−２，１−３  ＵＳＢハブ装置
２，２―１，２−２，２−３，２−４，２−５，２−６，２−７，２−（ｎ−１），２−ｎ  ＵＳＢ周辺装置
３  ＵＳＢホスト装置
１１  ハブリピーター
１３  ＵＳＢトランシーバ
１４，１４−１，１４−２，１４−３，１４−４  ＵＳＢトランシーバ
１５  アップストリームポート
１６，１６−１，１６−２，１６−３，１６−４  ウンストリームポート
２１  ＵＳＢ周辺コントローラ
２２  ＵＳＢホストコントローラ
２４  コンピュータ回路
１１１  リンクスイッチ
１１２  ダイレクト接続用スイッチ
１１３  ＤＣＮコントロールタイマ
１４１  ドライバ・レシーバ回路
１４２  選択スイッチ
【図１】
2004328262.tif 000003
【図２】
2004328262.tif 000004
【図３】
2004328262.tif 000005
【図４】
2004328262.tif 000006
【図５】
2004328262.tif 000007
【図６】
2004328262.tif 000008
【図７】
2004328262.tif 000009
【図８】
2004328262.tif 000010
【図９】
2004328262.tif 000011
【図１０】
2004328262.tif 000012
【図１１】
2004328262.tif 000013
【図１２】
2004328262.tif 000014