(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-22
(45)【発行日】2023-01-05
(54)【発明の名称】USBマルチホストエンドポイントリフレクタハブ
(51)【国際特許分類】
G06F 13/38 20060101AFI20221223BHJP
G06F 13/42 20060101ALI20221223BHJP
G06F 13/36 20060101ALI20221223BHJP
G06F 13/10 20060101ALI20221223BHJP
G06F 13/14 20060101ALI20221223BHJP
H04L 12/28 20060101ALI20221223BHJP
【FI】
G06F13/38 320A
G06F13/38 350
G06F13/42 310
G06F13/36 310E
G06F13/10 310E
G06F13/14 330C
H04L12/28 200Z
(21)【出願番号】P 2018545413
(86)(22)【出願日】2017-08-16
(86)【国際出願番号】 US2017047130
(87)【国際公開番号】W WO2018035215
(87)【国際公開日】2018-02-22
【審査請求日】2020-07-22
(32)【優先日】2016-08-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】397050741
【氏名又は名称】マイクロチップ テクノロジー インコーポレイテッド
【氏名又は名称原語表記】MICROCHIP TECHNOLOGY INCORPORATED
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(72)【発明者】
【氏名】シェッティ, サントシュ
(72)【発明者】
【氏名】アドゥスミリ, スワループ
(72)【発明者】
【氏名】マンガラパンディアン, パラガシュ
(72)【発明者】
【氏名】ナラシムハン, ラクシュミ
(72)【発明者】
【氏名】ボーム, マーク
【審査官】田名網 忠雄
(56)【参考文献】
【文献】国際公開第2015/047945(WO,A1)
【文献】特表2008-536225(JP,A)
【文献】特開2005-122372(JP,A)
【文献】米国特許第08447890(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/00
G06F 13/10-13/14
G06F 13/20-13/42
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
USBデバイスが、ホストまたはスレーブデバイスのいずれか一方であることの制約なく通信するために、USBマルチホストエンドポイントリフレクタハブを動作させる方法であって、前記USBマルチホストエンドポイントリフレクタハブは、USBハブコントローラ論理と、制御回路と、第1の外部下流ポートと、マルチホストエンドポイントリフレクタとを備え、前記USBハブコントローラ論理は、上流ポートと複数の内部下流ポートとを備え、前記マルチホストエンドポイントリフレクタは、第1のマルチプレクサと、前記第1のマルチプレクサおよび前記USBハブコントローラ論理に結合された少なくとも1つのポートマルチプレクサと
、第1のネットワーク制御モデルデバイスと、第2のネットワーク制御モデルデバイスとを備え、前記USBマルチホストエンドポイントリフレクタハブが給電された後、前記USBハブコントローラ論理は、前記上流ポートに接続される第1のUSBホストへの接続を可能にし、前記方法は、
前記第1のUSBホストが、前記第1の外部下流ポート上でデバイスモードにある第1のUSB OTG Bデバイスをエニュメレートするステップと、
前記第1のUSBホストが、前記第1のUSB OTG Bデバイスに、第2のUSBホストになるためのコマンドを発行するステップと、
前記
制御回路が、前記第2のUSBホストと前記USBハブコントローラ論理の前記複数の内部下流ポートのうちの第1の内部下流ポートとの間に前記マルチホストエンドポイントリフレクタを電気的に挿入するステップと、
前記第1のUSBホストが、前記第1のUSB OTG Bデバイスが前記第1の外部下流ポートから接続解除されていることを検出するステップであって、前記第1のUSBホストは、次いで、
前記複数の内部下流ポートのうちの前記第1の
内部下流ポートに接続される
前記第
1のネットワーク制御モデルデバイスを検出する、ステップと
を含み、
前記第1のUSBホストは、
前記第1のネットワーク制御モデルデバイス
に接続され、前記第2のUSBホストは、前記第2のネットワーク制御モデルデバイス
に接続され、前記第1のUSBホストおよび前記第2のUSBホストの各々は、データ通信を提供するための対のデータラインを備え、それによって、
前記第1のUSBホストの前記対のデータラインを介して提供される前記第1のUSBホストから前記第1のネットワーク制御モデルデバイスのOUTエンドポイントへの任意のデータは、前記第2のUSBホストに接続される前記第2のネットワーク制御モデルデバイスのINエンドポイント上のINトランザクションへの応答として
、前記マルチホストエンドポイントリフレクタによって返送され、
前記第2のUSBホストの前記対のデータラインを介して提供される前記第2のUSBホストから前記第2のネットワーク制御モデルデバイスのOUTエンドポイントへの任意のデータは、前記第1のUSBホストに接続される前記第1のネットワーク制御モデルデバイスのINエンドポイント上のINトランザクションへの応答として
、前記マルチホストエンドポイントリフレクタによって返送され、それによって、前記第1のUSBホストと前記第2のUSBホストとの間の間接的な
データ通信を可能に
し、前記第1のUSBホストの前記対のデータラインと前記第2のUSBホストの前記対のデータラインとの間のUSB通信リンクを確立し、
前記第1のマルチプレクサおよび前記少なくとも1つのポートマルチプレクサは、前記USB通信リンクを切り替える、方法。
【請求項2】
前記第1のUSBホストが、第2の外部下流ポート上で第2のUSBデバイスをエニュメレートするステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記制御回路が、前記第2のUSBホストと
前記USBハブコントローラ論理の前記複数の内部下流ポートのうちの前記第1の内部下流ポートとの間に前記
マルチホストエンドポイントリフレクタを電気的に挿入するステップは、前記制御回路が、前記第1のマルチプレクサおよび前記少なくとも1つのポートマルチプレクサを制御することにより、前記第2のUSBホストと前記USBハブコントローラ論理の前記複数の内部下流ポートのうちの前記第1の内部下流ポートとの間に前記マルチホストエンドポイントリフレクタを電気的に挿入するステップを含む、請求項1に記載の方法。
【請求項4】
ユニバーサル・シリアル・バス(USB)マルチホストエンドポイントリフレクタハブであって、
第1のUSBホストに結合するために適合される上流ポートと、
複数の内部下流ポートと前記上流ポートとに結合される
USBハブコントローラ論理と、
前記
USBハブコントローラ論理の前記複数の内部下流ポートのうちの第1の内部下流ポートに結合されるマルチホストエンドポイントリフレクタであって、前記マルチホストエンドポイントリフレクタは、
第1のマルチプレクサと、
前記第1のマルチプレクサと前記
USBハブコントローラ論理とに結合される少なくとも1つのポートマルチプレクサと、
前記少なくとも1つのポートマルチプレクサを通して前記第1のマルチプレクサまたは前記
USBハブコントローラ論理の前記複数の内部下流ポートのうちの第2の内部下流ポートと結合される
第1の外部下流ポートであって、前記
第1の外部下流ポートは、少なくとも1つのUSBデバイスまたは第2のUSBホストに結合するために適合される、少なくとも1つの外部下流ポートと
を備える、マルチホストエンドポイントリフレクタと
を備え、前記USBマルチホストエンドポイントリフレクタハブは、請求項1~3のいずれか一項に記載の方法を実施するように構成されている、USBマルチホストエンドポイントリフレクタハブ。
【請求項5】
前記第2のUSBホストおよび/または少なくとも1つのUSBデバイスは、USB On―The―Go(OTG)デバイスである、請求項4に記載のUSBマルチホストエンドポイントリフレクタハブ。
【請求項6】
前記第1のUSBホストは、USB On―The―Go(OTG)Aデバイスであり、前記少なくとも1つのUSBデバイスは、USB OTG Bデバイスである、請求項4~5のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
【請求項7】
前記USB OTG Aデバイスは、自動車用ディスプレイヘッドユニットである、請求項6に記載のUSBマルチホストエンドポイントリフレクタハブ。
【請求項8】
前記USB OTG Bデバイスは、スマートフォンである、請求項6に記載のUSBマルチホストエンドポイントリフレクタハブ。
【請求項9】
前記少なくとも1つのUSBデバイスは、USB大容量記憶装置である、請求項4~5のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
【請求項10】
前記少なくとも1つのUSBデバイスは、各々が別個に反映される様々なデバイスクラスの複数のインターフェースまたはエンドポイントを含有する複合USBデバイスである、請求項4~5のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
【請求項11】
前記USBデバイスは、デュアルロールデバイスである、請求項4~5のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
【請求項12】
前記マルチホストエンドポイントリフレクタは、前記第1のマルチプレクサと、前記少なくとも1つのポートマルチプレクサとの間に結合される前記第2のネットワーク制御モデルデバイスと、前記第1のマルチプレクサと前記
USBハブコントローラ論理との間に結合される前記第1のネットワーク制御モデルデバイスとを備え、前記第1のマルチプレクサは、前記第2のネットワーク制御モデルデバイスを前記第1のネットワーク制御モデルデバイスと結合するように動作可能である、請求項4~5のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
【請求項13】
複数の外部下流ポートをさらに備え、前記複数の外部下流ポートの各々は、それぞれのポートマルチプレクサと結合される、請求項4~5のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、USBデバイスの相互接続に関し、より具体的には、USBマルチホストエンドポイントリフレクタハブに関する。
【背景技術】
【0002】
USB(ユニバーサル・シリアル・バスの略)は、コンピュータと電子デバイスとの間の接続、通信、および電力供給のためにバス内で使用される、ケーブル、コネクタ、通信プロトコルを定義する、1990年代半ばに開発された業界規格である。これは、現在、USB Implementers Forum(USB IF)によって開発されている。USBは、コンピュータ周辺装置(キーボードと、ポインティングデバイス、デジタルカメラ、プリンタ、ポータブルメディアプレーヤ、ディスクドライブ、およびネットワークアダプタとを含む)が通信し、かつ電力を供給するためのパーソナルコンピュータへの接続を規格化するために設計された。これは、スマートフォン、PDA、およびビデオゲームコンソール等の他のデバイス上で一般的になりつつある。USBは、事実上、パラレルポート等の種々のより初期のインターフェースならびにポータブルデバイスのための別個の充電器に取って代わりつつある。
【0003】
USBへの断続的なアップグレートおよび改善は、USB2.0、USB3.0、USB3.1、USB Type―C、およびUSB On―The―Go(OTG)をもたらしている。継続的なアップグレードおよび改善が、新しい技術および用途が見出されるにつれて、成されている。USBは、周知であり、コンピュータおよび他の電子デバイスと広く併用されている。USB OTGは、デジタルオーディオプレーヤまたはモバイルフォン等のUSBデバイスが、ホストとして作用することを可能にし、USBフラッシュドライブ、デジタルカメラ、マウス、またはキーボード等の他のUSBデバイスが、それらに取り付けられることを可能にする、2001年後半に初めて使用された仕様である。USB OTGの使用は、それらのデバイスが、ホストとクライアント(スレーブ)との役割の間を交互に切り替えることを可能にする。例えば、モバイルフォンは、ホストデバイスとして、リムーバブル媒体から読み出し得るが、ホストコンピュータに接続されるとき、USB大容量記憶装置として自己を存在させ得る。
【0004】
USB OTGは、2つのUSBデバイスが接続されるときは必ず、それらのうちの1つが、USB OTGホストであり、それらが通信リンクを確立するという、マスタとスレーブ役との両方を実施するデバイスの概念を導入する。リンクを制御するデバイスは、マスタまたはホストと呼ばれる一方で、他方は、スレーブまたは周辺装置と呼ばれる。
図1は、2点間リンク(ケーブル)を使用してUSB OTG Bデバイスに接続される、USB On―The―Go(OTG)Aデバイスを示す。USB OTG Aデバイス102は、自動車用ヘッドユニット、例えば、自動車の統合されたグラフィックディスプレイおよびオーディオシステムであってもよく、USB OTG Bデバイス104は、自動車用USB OTG Aデバイス102を用いて表示および制御されるその情報コンテンツを有し得る、スマートフォンであってもよい。
【0005】
しかしながら、USB OTGは、2点間リンクであり、
図2に示されるように、USB OTG Aデバイス102とUSB OTG Bデバイス104との間にUSBハブを挿入することは、標準USBハブ下流ポートが、OTGの役割交換をサポートしていないため、サポートされていない。具体的な自動車用モバイルコネクティビティ用途、例えば、ディスプレイスクリーンミラーリングでは、USBハブ206の下流ポートの1つに接続されるUSBデバイスは、OTGデバイス104である。スマートフォンと自動車用ディスプレイとの間でスクリーンミラーリングが動作するために、モバイル(スマートフォン)デバイス104は、役割を変更し、かつUSBホストにならなければならない。この機能性は、標準USBハブによってサポートされていないため、2つのオプション、すなわち、1)USB OTG AデバイスとUSB OTG Bデバイスとの間にUSBハブを有していないことか、または2)USB上流ポートと下流ポートとの交換を可能にするフレックスハブを使用することが存在する。オプション2は、それが、DSポート役割を上流(US)ポートに交換することによって下流(DS)ポート上にUSBホストを有するという問題を解決していないため、有用ではなく、先行USポート(自動車用ヘッドユニット102に接続される)が、次いで、DSポートになる。但し、これは、自動車用ヘッドユニット102が、任意の他の下流USBデバイスに対するコネクティビティを損うことを引き起こす。複数のUSB接続デバイスが、ともに動作し、かつ自動車用ディスプレイヘッドユニット102によって、表示および/もしくは制御される、自動車用モバイルコネクティビティ環境では、これは許容され得ない。
【発明の概要】
【課題を解決するための手段】
【0006】
したがって、複数のUSBデバイスを接続し、それらを上流(ホスト)デバイスまたは下流(スレーブ)デバイスのうちのいずれか一方、または両方として機能させ、他のUSBデバイス、すなわち、上流(ホスト)または下流(スレーブ)のいずれか一方と通信させる必要性が存在する。
【0007】
ある実施形態によると、ユニバーサル・シリアル・バス(USB)デバイスが、ホストまたはスレーブデバイスのいずれか一方であることの制約なく通信するための方法は、USBハブコントローラに給電するステップであって、USBハブコントローラは、それに接続される第1のUSBホストにコネクティビティをルーティングするステップと、第1のUSBホストを伴う第1の下流(DS)ポート上でデバイスモードにある第1のUSB OTG Bデバイスをエニュメレートするステップと、第1のUSB OTG Bデバイスに、第2のUSBホストになるためのコマンドを発行するステップと、第2のUSBホストとUSBハブコントローラの第1の内部デバイスポートとの間にエンドポイントリフレクタを挿入するステップと、第1のDSポート上でのデバイス接続解除を検出するステップであって、第1のUSBホストは、次いで、それに接続されるネットワーク制御モデル(NCM)デバイスを参照するステップとを含んでもよく、第1のUSBホストおよび第2のUSBホストは、複数のNCMデバイスを参照し、それによって、第1のUSBホストおよび第2のUSBホストの非制御エンドポイントは、ミラーリングされてもよく、それによって、第1のUSBホストおよび第2のUSBホスト間の間接的な通信を可能にする。
【0008】
さらなる実施形態によると、本方法は、第1のUSBホストを伴う第2のDSポート上で第2のUSBデバイスをエニュメレートするステップを含んでもよい。本方法のさらなる実施形態によると、第2のUSBホストとUSBハブコントローラの第1の内部デバイスポートとの間にエンドポイントリフレクタを挿入するステップは、マルチプレクサを使用して、第2のUSBホストとUSBハブコントローラの第1の内部デバイスポートとの間にブリッジを挿入するステップを含んでもよい。
【0009】
別の実施形態によると、ユニバーサル・シリアル・バス(USB)デバイスが、ホストまたはスレーブデバイスのいずれか一方であることの制約なく通信するための方法は、第1のUSB上流(US)ポートを提供するステップと、複数の下流(DS)ポートを提供するステップと、複数のDSポートの第1のものに結合される内部USBネットワーク制御モデル(NCM)エンドポイントリフレクタを提供するステップとを含んでもよく、NCMエンドポイントリフレクタは、第1のUSB USポートに結合される第1のUSBホストからのコマンドに応じて挿入されてもよい。
【0010】
本方法のさらなる実施形態によると、複数のDSポートは、第1のUSポートに反映されてもよい。本方法のさらなる実施形態によると、複数のUSBホストおよび複数のUSBデバイスは、複数のDSポートに結合され、その同時の動作を提供してもよい。
【0011】
さらに別の実施形態によると、ユニバーサル・シリアル・バス(USB)マルチホストエンドポイントリフレクタハブは、USBホストに結合するために適合される、上流(US)ポートと、複数の第1の下流(DS)ポートとUSポートとに結合される、ハブコントローラ論理と、ハブコントローラ論理に結合される、マルチホストエンドポイントブリッジと、マルチホストエンドポイントブリッジに結合される、第1のマルチプレクサと、第1のマルチプレクサとハブコントローラ論理とに結合される、少なくとも1つのマルチプレクサと、少なくとも1つのUSBデバイスまたはUSBホストに結合するために適合される、少なくとも1つの第2の下流(DS)ポートとを備えてもよい。
【0012】
さらなる実施形態によると、USBホストは、USB On―The―Go(OTG)デバイスであってもよい。さらなる実施形態によると、少なくとも1つのUSBデバイスは、USB OTGデバイスであってもよい。さらなる実施形態によると、USBホストは、USB On―The―Go(OTG)Aデバイスであってもよく、少なくとも1つのUSBデバイスは、USB OTG Bデバイスであってもよい。さらなる実施形態によると、OTGデバイスAは、自動車用ディスプレイヘッドユニットであってもよい。さらなる実施形態によると、OTGデバイスBは、スマートフォンであってもよい。さらなる実施形態によると、少なくとも1つのUSBデバイスは、USB大容量記憶装置であってもよい。さらなる実施形態によると、ホストは、組み込まれたホストであってもよい。さらなる実施形態によると、少なくとも1つのUSBデバイスは、それぞれが、別個に反映される、様々なデバイスクラスの複数のインターフェースまたはエンドポイントを含有する、複合USBデバイスであってもよい。さらなる実施形態によると、USBデバイスは、デュアルロールデバイスであってもよい。さらなる実施形態によると、エンドポイントリフレクタは、プログラム可能であってもよく、複数のUSBエンドポイントタイプをエミュレートし、かつホスト間のUSBデバイスクラスタイプのそれぞれを反映するために適合されてもよい。
【0013】
さらに別の実施形態によると、ユニバーサル・シリアル・バス(USB)マルチホストエンドポイントリフレクタハブは、上流(US)ポートと複数の第1の下流(DS)ポートとを有する、USBハブと、通信デバイスクラス(CDC)ネットワーク制御モデル(NCM)エンドポイントリフレクタ媒体アクセス制御(MAC)アドレススイッチであって、複数のUSB NCMデバイスと、複数のUSB NCMデバイスに結合される第1のマルチプレクサとを備え得るスイッチと、複数のUSB NCMデバイスとUSBハブの複数の第1のDSポートとに結合される、第2の複数のマルチプレクサと、第2の複数のマルチプレクサの個別のものに結合され、かつ複数のUSBホストとスレーブデバイスとに結合するために適合される、複数の第2のDSポートとを備えてもよい。
【0014】
さらなる実施形態によると、USBホストは、USB On―The―Go(OTG)デバイスであってもよい。さらなる実施形態によると、USBスレーブデバイスは、USB OTGデバイスであってもよい。さらなる実施形態によると、USBホストは、USB On―The―Go(OTG)Aデバイスであってもよく、USBスレーブデバイスは、USB OTG Bデバイスであってもよい。さらなる実施形態によると、OTGデバイスAは、自動車用ディスプレイヘッドユニットであってもよい。さらなる実施形態によると、OTGデバイスBは、スマートフォンであってもよい。さらなる実施形態によると、USBスレーブデバイスは、USB大容量記憶装置であってもよい。さらなる実施形態によると、ホストは、組み込まれたホストであってもよい。さらなる実施形態によると、少なくとも1つのUSBデバイスは、それぞれが個別に反映される、様々なデバイスクラスの複数のインターフェースまたはエンドポイントを含有する、複合USBデバイスであってもよい。さらなる実施形態によると、USBデバイスは、デュアルロールデバイスであってもよい。さらなる実施形態によると、エンドポイントリフレクタデバイスは、プログラム可能であってもよく、複数のUSBエンドポイントタイプをエミュレートし、かつホスト間のUSBデバイスクラスタイプのそれぞれを反映するために適合されてもよい。
【0015】
別の実施形態によると、ユニバーサル・シリアル・バス(USB)マルチホストエンドポイントリフレクタハブは、上流(US)ポートと少なくとも1つの第1の下流(DS)ポートとを有する、USBハブと、USポートに結合され、かつ第1のUSBホストに結合するために適合される、第1のマルチプレクサと、少なくとも1つのDSポートに結合され、第2のUSBホストまたはUSBデュアルロールデバイスに結合するために適合される、第2のマルチプレクサであって、第1のコマンドは、USBハブが、デュアルロールデバイスをその第2のホスト役に変更させる第2のコマンドまたは第1のコマンドに基づいて、インまたはアウトに切り替えられることを可能にする、第2のマルチプレクサと、第1のマルチプレクサと第2のマルチプレクサとの間に結合される、マルチホストエンドポイントリフレクタと、第1のマルチプレクサおよび第2のマルチプレクサならびにマルチホストエンドポイントリフレクタに結合され、かつそれらを制御する、制御論理とを備えてもよく、マルチホストエンドポイントリフレクタは、エンドポイントを直接第1のホストに反映するために適合されてもよい。
【0016】
さらなる実施形態によると、第1のホストおよび第2のホスト間のコネクティビティは、USBホスト/デバイス、USBデバイス/デバイス、およびUSBデバイス/ホストコネクティビティから成る群から選択されてもよい。さらなる実施形態によると、少なくとも1つのDSポートは、USBハブが、バイパスされ得、もはやUSBホストに接続され得ないとき、少なくとも1つの充電ポートに復帰してもよい。
本発明は、例えば、以下を提供する。
(項目1)
ユニバーサル・シリアル・バス(USB)デバイスが、ホストまたはスレーブデバイスのいずれか一方であることの制約なく通信するための方法であって、前記方法は、
USBハブコントローラに給電するステップであって、前記USBハブコントローラは、それに接続される第1のUSBホストにコネクティビティをルーティングする、ステップと、
前記第1のUSBホストを伴う第1の下流(DS)ポート上でデバイスモードにある第1のUSB OTG Bデバイスをエニュメレートするステップと、
前記第1のUSB OTG Bデバイスに、第2のUSBホストになるためのコマンドを発行するステップと、
前記第2のUSBホストと前記USBハブコントローラの第1の内部デバイスポートとの間にエンドポイントリフレクタを挿入するステップと、
前記第1のDSポート上でのデバイス接続解除を検出するステップであって、前記第1のUSBホストは、次いで、それに接続されるネットワーク制御モデル(NCM)デバイスを参照する、ステップと
を含み、
前記第1のUSBホストおよび第2のUSBホストは、複数のNCMデバイスを参照し、それによって、前記第1のUSBホストおよび第2のUSBホストの非制御エンドポイントは、ミラーリングされ、それによって、前記第1のUSBホストと第2のUSBホストとの間の間接的な通信を可能にする、方法。
(項目2)
前記第1のUSBホストを伴う第2のDSポート上で第2のUSBデバイスをエニュメレートするステップをさらに含む、項目1または3のいずれかに記載の方法。
(項目3)
前記第2のUSBホストと前記USBハブコントローラの前記第1の内部デバイスポートとの間に前記エンドポイントリフレクタを挿入する前記ステップは、マルチプレクサを使用して、前記第2のUSBホストと前記USBハブコントローラの前記第1の内部デバイスポートとの間にブリッジを挿入するステップを含む、項目1に記載の方法。
(項目4)
ユニバーサル・シリアル・バス(USB)デバイスが、ホストまたはスレーブデバイスのいずれか一方であることの制約なく通信するための方法であって、前記方法は、
第1のUSB上流(US)ポートを提供するステップと、
複数の下流(DS)ポートを提供するステップと、
前記複数のDSポートの第1のものに結合される内部USBネットワーク制御モデル(NCM)エンドポイントリフレクタを提供するステップと
を含み、
前記NCMエンドポイントリフレクタは、前記第1のUSB USポートに結合される第1のUSBホストからのコマンドに応じて挿入される、方法。
(項目5)
前記複数のDSポートは、前記第1のUSポートに反映される、項目4に記載の方法。
(項目6)
複数のUSBホストおよび複数のUSBデバイスは、前記複数のDSポートに結合され、その同時の動作を提供する、項目5に記載の方法。
(項目7)
ユニバーサル・シリアル・バス(USB)マルチホストエンドポイントリフレクタハブであって、
USBホストに結合するために適合される上流(US)ポートと、
複数の第1の下流(DS)ポートと前記USポートとに結合されるハブコントローラ論理と、
前記ハブコントローラ論理に結合されるマルチホストエンドポイントブリッジと、
前記マルチホストエンドポイントブリッジに結合される第1のマルチプレクサと、
前記第1のマルチプレクサと前記ハブコントローラ論理とに結合される少なくとも1つのマルチプレクサと、
少なくとも1つのUSBデバイスまたはUSBホストに結合するために適合される少なくとも1つの第2の下流(DS)ポートと
を備える、ハブ。
(項目8)
前記USBホストは、USB On―The―Go(OTG)デバイスである、項目7または9―17のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目9)
前記少なくとも1つのUSBデバイスは、USB OTGデバイスである、項目7―8または10―17のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目10)
前記USBホストは、USB On―The―Go(OTG)Aデバイスであり、前記少なくとも1つのUSBデバイスは、USB OTG Bデバイスである、項目7―9または13―17のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目11)
前記OTGデバイスAは、自動車用ディスプレイヘッドユニットである、項目10に記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目12)
前記OTGデバイスBは、スマートフォンである、項目10に記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目13)
前記少なくとも1つのUSBデバイスは、USB大容量記憶装置である、項目7―12または14―17のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目14)
前記ホストは、組み込まれたホストである、項目7―13または15―17のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目15)
前記少なくとも1つのUSBデバイスは、それぞれが別個に反映される様々なデバイスクラスの複数のインターフェースまたはエンドポイントを含有する複合USBデバイスである、項目7―14または16―17のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目16)
前記USBデバイスは、デュアルロールデバイスである、項目7―15または17のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目17)
前記エンドポイントリフレクタは、プログラム可能であり、複数のUSBエンドポイントタイプをエミュレートし、かつ前記ホスト間の各USBデバイスクラスタイプを反映するために適合される、項目7―16のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目18)
ユニバーサル・シリアル・バス(USB)マルチホストエンドポイントリフレクタハブであって、
上流(US)ポートと複数の第1の下流(DS)ポートとを有するUSBハブと、
通信デバイスクラス(CDC)ネットワーク制御モデル(NCM)エンドポイントリフレクタ媒体アクセス制御(MAC)アドレススイッチであって、
複数のUSB NCMデバイスと、
前記複数のUSB NCMデバイスに結合される第1のマルチプレクサと
を備える、スイッチと、
前記複数のUSB NCMデバイスと前記USBハブの前記複数の第1のDSポートとに結合される、第2の複数のマルチプレクサと、
前記第2の複数のマルチプレクサの個別のものに結合され、かつ複数のUSBホストとスレーブデバイスとに結合するために適合される、複数の第2のDSポートと
を備える、ハブ。
(項目19)
前記USBホストは、USB On―The―Go(OTG)デバイスである、項目18または20―28のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目20)
前記USBスレーブデバイスは、USB OTGデバイスである、項目18―19または21―28のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目21)
前記USBホストは、USB On―The―Go(OTG)Aデバイスであり、前記USBスレーブデバイスは、USB OTG Bデバイスである、項目18―20または24―28のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目22)
前記OTGデバイスAは、自動車用ディスプレイヘッドユニットである、項目21に記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目23)
前記OTGデバイスBは、スマートフォンである、項目21に記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目24)
前記USBスレーブデバイスは、USB大容量記憶装置である、項目18―23または25―28のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目25)
前記ホストは、組み込まれたホストである、項目18―24または26―28のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目26)
前記少なくとも1つのUSBデバイスは、それぞれが個別に反映される様々なデバイスクラスの複数のインターフェースまたはエンドポイントを含有する複合USBデバイスである、項目18―25または27―28のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目27)
前記USBデバイスは、デュアルロールデバイスである、項目18―27または28のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目28)
前記エンドポイントリフレクタは、プログラム可能であり、複数のUSBエンドポイントタイプをエミュレートし、かつ前記ホスト間の各USBデバイスクラスタイプを反映するために適合される、項目18―27のいずれかに記載のUSBマルチホストエンドポイントリフレクタ。
(項目29)
ユニバーサル・シリアル・バス(USB)マルチホストエンドポイントリフレクタハブであって、
上流(US)ポートと少なくとも1つの下流(DS)ポートとを有するUSBハブと、
前記USポートに結合され、かつ第1のUSBホストに結合するために適合される第1のマルチプレクサと、
前記少なくとも1つのDSポートに結合され、第2のUSBホストまたはUSBデュアルロールデバイスに結合するために適合される第2のマルチプレクサであって、第1のコマンドは、前記USBハブが、デュアルロールデバイスをその第2のホスト役に変更させる、第2のコマンドまたは前記第1のコマンドに基づいて、インまたはアウトに切り替えられることを可能にする、第2のマルチプレクサと、
前記第1のマルチプレクサと第2のマルチプレクサとの間に結合されるマルチホストエンドポイントリフレクタと、
前記第1のマルチプレクサおよび第2のマルチプレクサならびに前記マルチホストエンドポイントリフレクタに結合され、かつそれらを制御する制御論理と
を備え、
前記マルチホストエンドポイントリフレクタは、エンドポイントを前記第1のホストに直接反映するために適合される、ハブ。
(項目30)
前記第1のホストと第2のホストとの間のコネクティビティは、USBホスト/デバイス、USBデバイス/デバイス、およびUSBデバイス/ホストコネクティビティから成る群から選択される、項目29または31のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
(項目31)
前記少なくとも1つのDSポートは、前記USBハブが、バイパスされ、もはやUSBホストに接続されないとき、少なくとも1つの充電ポートに復帰する、項目29または31のいずれかに記載のUSBマルチホストエンドポイントリフレクタハブ。
【図面の簡単な説明】
【0017】
本開示のより完全な理解は、以下に挙げられる説明を添付図面と併せて参照することによって得られ得る。
【0018】
【
図1】
図1は、従来技術による、2点間リンクを使用してUSB OTG Bデバイスに接続されるUSB On―The―Go(OTG)Aデバイスの概略ブロック図を図示する。
【
図2】
図2は、従来技術による、USBハブを使用して、USB OTG BデバイスおよびUSB大容量記憶に接続される、USB On―The―Go(OTG)Aデバイスの概略ブロック図を図示する。
【
図3】
図3は、本開示の特定の例示的実施形態による、USBマルチホストエンドポイントリフレクタハブの概略ブロック図を図示する。
【
図4】
図4は、本開示の別の特定の例示的実施形態による、USBマルチホストエンドポイントリフレクタハブの概略ブロック図を図示する。
【
図5】
図5は、本開示のさらに別の特定の例示的実施形態による、ハブバイパスを伴うUSBマルチホストエンドポイントリフレクタの概略ブロック図を図示する。
【0019】
本開示は、種々の修正および代替形態が可能であるが、その特定の例示的実施形態が、図面に示され、本明細書において詳細に説明されている。しかしながら、特定の例示的実施形態の本明細書での説明は、本明細書に開示される特定の形態への開示を限定することが意図されていないことを理解されたい。
【発明を実施するための形態】
【0020】
本開示の教示によると、マルチホストエンドポイントリフレクタは、複数のUSBホスト間における、それらに接続されるUSBデバイスを通した通信の方法を可能にし、1つのUSBホストからのデータは、相補的方向のエンドポイント間のUSBデバイスにわたって、1つまたはそれを上回る付加的USBホストにルーティングされる。マルチホストエンドポイントリフレクタは、USBハブコントローラと統合されてもよく、USB複合デバイスを形成し、マルチホストエンドポイントリフレクタハブを形成してもよい。USBマルチホストエンドポイントリフレクタハブは、USB OTG Bデバイスがホスト役に遷移した後に、OTG Bデバイスとの間にデータブリッジを提供することによって、USB OTG Bデバイスが、要求に応じてホストになることを可能にし、その間、すでにホストである任意の他のOTG Aデバイスは、そのホスト役をスレーブ役に変更することを要求されない。したがって、複数のOTGホストデバイスが、同一の相互接続システムハブ上で共存してもよく、かつその間で通信してもよい。
【0021】
USB仕様は、単一のUSBホストおよびホストに接続される複数のUSBデバイスに重点を置いている。これは、USBホストが、トランザクションを、ホストコントローラと、ホストと接続デバイスとの間のデータフローとによってスケジューリングされるように、USBデバイスに発行する、ホストセントリック通信を可能にする。しかしながら、USBデバイスは、それが望むようにはデータをホストに転送することはできず、ホストがUSBデバイスに適切なトランザクションを発行するまで待機しなければならない。
【0022】
USB On―The―Go(OTG)仕様は、USBデバイスが、要求に応じてUSBホストの役割を担い、故に、USBデータフローの制御をさらに掌握することを可能にすることを有効にするが、OTGモデルは、デバイスがホスト役に変更することと同時に、デフォルトホストがデバイス役に変更するように要求する。
【0023】
本開示の教示によると、複数のUSBホスト間における、それらに接続されるUSBデバイスを通した通信が、可能にされ得、USBホストからのデータは、相補的方向のエンドポイント間のUSBデバイスにわたって、ルーティングされる。これらのUSBデバイスが、USBハブの下流ポートに接続され得ることが可能であるが、以下においてより完全に説明されるように、ハブの有無は、通信の基本的方法を改変するものではない。
【0024】
本開示の教示の実装を使用することによって、2つまたはそれを上回るUSBネットワーク制御モデル(NCM)デバイス(例えば、NCM1およびNCM2)は、2つの異なるUSBホスト、例えば、ホスト1およびホスト2に内部的に接続され、ホスト1は、データを、NCM1データインターフェースのBulk OUTエンドポイントに送信し、これは、NCM2のBulk INエンドポイントに反映され、ホスト2によって発行されるBulk INトランザクションによって読み出されるであろう。同様に、ホスト2は、データを、NCM2データインターフェースのBulk OUTエンドポイントに送信し、これは、NCM1データインターフェースのBulk INエンドポイントに返送され、ホスト1によって発行されるBulk INトランザクションによって読み出されるであろう。通信チャネルは、USBホストA<―>USBデバイスA1<―>USBデバイスB1<―>USBホストBのように見えるであろう。故に、USBホストAに送信される任意のデータは、USBデバイスA1およびB1を通して、最終的にUSBホストBに到達するであろう。同様に、USBホストBから送信される任意のデータは、最終的にUSBホストAに到達するであろう。
【0025】
本開示の教示による、他の可能な実装によると、USBクラスデバイス(USB大容量記憶、またはUSBオーディオ等のような)は、異なるUSBホストに接続され、USBデバイスの任意のOUTエンドポイント内で受信されたデータは、設計が要求するように、任意のUSBデバイスの任意のINエンドポイント上に内部的に反映され得、それによって、2つのUSBホスト間における、それらに接続されるUSBデバイスを通した、間接的通信チャネルを可能にする。上記の実施例で説明されるように、そのような反映のために選択された、エンドポイント数/エンドポイント転送タイプ/インターフェース数/エンドポイントの代替設定は、USB仕様によって変動し得、本明細書で検討される。
【0026】
本開示の種々の実施形態によると、OTG Bデバイスが、ホストになることを要求するとき、エンドポイントリフレクタは、それがホスト役に遷移した後に、OTG Bデバイスとの間に挿入されてもよく、その間、すでにホストである任意の他のOTG Aデバイスは、そのホスト役をスレーブ役に変更することを要求されない。したがって、複数のOTGホストデバイスが、同一の相互接続システムハブ上で共存してもよく、かつ相互に通信してもよい。また、非OTG USBホストおよびスレーブは、それとともに共存してもよく、ホスト、スレーブ、OTG、または非OTGであるかどうかにかかわらず、全ての接続されるUSBデバイスと通信することができ得る。
【0027】
ここで、図面を参照すると、例示的実施形態の詳細が、図式的に図示される。図面内の同様の構成要素は、同様の番号によって表され、類似構成要素は、異なる小文字の添字を伴う同様の番号によって表されるであろう。
【0028】
図3を参照すると、本開示の特定の例示的実施形態による、USBマルチホストエンドポイントリフレクタハブの概略ブロック図が、描写される。概して、番号300によって表される、USBマルチホストエンドポイントリフレクタハブは、上流(US)ポート303および複数の下流(DS)ポート304を備える、ハブコントローラ論理306と、マルチホストエンドポイントリフレクタ310と、制御回路312と、第1のマルチプレクサ316と、第2のマルチプレクサ324と、第3のマルチプレクサ330と、第4のマルチプレクサ336と、第1のDSポート326と、第2のDSポート332と、第3のDSポート338とを備えてもよい。USポート303は、OTGデバイスであってもなくてもよい、USBホスト302に結合されてもよく、第1のDSポート326は、USB OTG Bデバイス328、例えば、OTG対応スマートフォンに結合されてもよく、第2の下流ポート332は、未取付の状態であってもよく、第3のDSポート338は、USBデバイス340、例えば、大容量記憶装置に結合されてもよい。
図3に示されるUSBデバイスは、実施例にすぎず、任意の数および/または組み合わせのホストならびに/もしくはスレーブUSBデバイスが、示されている数を上回り得るまたは下回り得る数のDSポートに接続されてもよい。USBデバイスは、OTGまたは非OTGのいずれか、またはそれらの任意の組み合わせであってもよい。
【0029】
図3に示されるように、USBマルチホストエンドポイントリフレクタハブ300の動作は、以下のようであってもよい。給電後に、USBハブコントローラ論理306は、コネクティビティをUSBホスト302にルーティングし、これは、次いで、第1のDSポート326上でデバイスモードにあるUSB OTG Bデバイス328をエニュメレートし、また、第3のDSポート338上でUSBデバイス340(標準スレーブ)もエニュメレートする。USBエニュメレーションプロセスの完了後に、USB OTG Aホスト302は、USB OTG Bデバイス328に、スレーブからホストに役割を変更するためのコマンドを発行する。その後に、USB OTG Aホスト302は、制御ソフトウェアによって取り扱われる、ハブコントローラ306に、コマンドを発行する。この制御ソフトウェアは、次いで、マルチプレクサ324および316を制御し、エンドポイントリフレクタ310を、USB OTG Bデバイス328とUSBハブコントローラ論理306内の内部デバイスポート304bとの間に挿入する。このエンドポイントリフレクタ310が挿入された後に、USBホスト302は、DSポート326上でデバイス接続解除を参照し、USBホスト302はまた、次いで、エンドポイントリフレクタ310が取り付けられたDS1ポート326で、新しいNCM(イーサネット(登録商標)アダプタ)デバイスを参照する。ここで、ホストモードにある、USB OTG Bデバイス328もまた、それに取り付けられたNCM(イーサネット(登録商標)アダプタ)デバイスを参照する。前述のステップが講じられた後に、ここで、両方ともUSBホストである、USBホスト302およびUSB OTG Bデバイス328は、それらに接続されるUSB NCMデバイスを参照する。これらのUSBデバイスの非制御エンドポイントは、ミラーリングされ、USBホストから任意のNCMデバイスのOUTエンドポイントへの任意のデータは、他のホストに接続される他のNCMデバイスの個別の対にされたINエンドポイント上のINトランザクションへの応答として返送され、それによって、2つのホストデバイス302と328との間における間接的通信を可能にするであろう。
【0030】
図4を参照すると、本開示の別の特定の例示的実施形態による、USBマルチホストエンドポイントリフレクタハブの概略ブロック図が描写される。概して、番号400によって表される、USBマルチホストエンドポイントリフレクタハブは、上流(US)ポートと複数の下流(DS)ポートとを有する、USBハブ406と、USB NCMデバイス414、418、420、422を備え得る、通信デバイスクラス(CDC)ネットワーク制御モデル(NCM)ブリッジ媒体アクセス制御(MAC)アドレススイッチ(以下において「NCMブリッジ」)410と、マルチプレクサ416とを備えてもよい。USB NCMデバイス422、420、および418は、個別のDSポート426、432、および438にも結合される、個別のマルチプレクサ424、430、および436に結合されてもよい。USBハブ406のUSポートは、USBホスト402に結合されてもよく、USBハブ406のDSポートは、個別のマルチプレクサ424、430、および436を通して、個別のDSポート426、432、および438に結合されてもよい。DSポート426、432、および438は、個別のUSBデバイス428、434、および440に結合されてもよい。これらのUSBデバイス428、434、および440は、OTGまたは非OTG USBデバイスであってもよく、ホストまたはスレーブUSBデバイスのいずれか一方であってもよい。したがって、複数のUSBホストデバイスは、間接的に(それ故に、把握せずに)相互ならびに複数のUSBスレーブデバイスと通信してもよい。
【0031】
USBマルチホストエンドポイントリフレクタハブ400は、ハブ406のUSポートと、ハブ406のDSポート426、432、および438のうちの任意のものとの間のUSBホスト/デバイス、デバイス/デバイス、およびデバイス/ホストコネクティビティを可能にする。これらのDSポート426、432、および438に結合されるUSBホストは、OTG対応であることを要求されず、デバイスからホストへの役割交換は要求されないが、USBハブ406は、役割交換を要求するUSB OTGデバイスと協働することができる。本概念は、USBハブの複数の下流ポート上での同時CARPLAYサポートをサポートする。USBマルチホストエンドポイントリフレクタハブ400は、USBハブ406が、USBホストモードで動作する、Appleフォンまたは任意のスマートフォンが、ハブDSポート上に接続されることをサポートすることを可能にする。
図4に示されるように、USBマルチホストエンドポイントリフレクタハブ400は、ハブ406のDSポート0上に内部USB NCMエンドポイントブリッジを実装してもよい。Appleフォンまたは複数の電話機は、ハブ406のDSポートに接続されてもよく、USBマルチホストエンドポイントリフレクタハブ400は、USBホスト0 402からの明示的コマンドに応じて、具体的DSポート上でのDSブリッジ機能を可能にする。USBマルチホストエンドポイントリフレクタハブ400は、複数のDSポートを単一のUSポートに同時にブリッジしてもよい。USBマルチホストエンドポイントリフレクタハブ400は、DSポート上の複数のUSBホストおよびデバイスの同時の動作をサポートする。USBマルチホストエンドポイントリフレクタハブ400は、USBマルチホストエンドポイントリフレクタ(
図3を参照)を実装することによって、USBホスト上のいかなるカスタムドライバの必要性をも排除する。通常動作モードにおいて、USBマルチホストエンドポイントリフレクタ310は、ハブ406のDSポート0上に接続されてもよく、したがって、DSポート1、2、および3のみが、マルチホストコントローラ400上で使用可能であり(示されるように)、マルチホストコントローラ400は、ホスト0 402からの明示的コマンドに応じて、NCMブリッジ410を挿入する。したがって、複数のUSBホストが、USBハブ406を通して接続されてもよい。
【0032】
図5を参照すると、本開示の別の特定の例示的実施形態による、ハブバイパスを伴うUSBマルチホストエンドポイントリフレクタの概略ブロック図が描写される。概して、番号500によって表される、ハブバイパスを伴うUSBマルチホストエンドポイントリフレクタは、上流(US)ポートおよび1つの下流(DS)ポートを有する、USBハブ506と、マルチホストエンドポイントリフレクタ510とを備えてもよい。マルチホストエンドポイントリフレクタ510は、個別の上流(US)ポートおよび下流(DS)ポート503および504にも接合される、個別のマルチプレクサ550および554に結合されてもよい。USBハブ506のUSポート503は、USBホスト502に結合されてもよく、USBハブ506のDSポートは、個別のUSBデバイス556に結合されてもよい。USBデバイス556は、OTGまたは非OTG USBデバイスであってもよく、ホストまたはスレーブUSBデバイスのいずれか一方であってもよい。したがって、複数のUSBホストデバイスは、間接的に(それ故に、把握せずに)相互ならびに複数のUSBスレーブデバイスと通信してもよい。
【0033】
ハブバイパス500を伴うUSBマルチホストエンドポイントリフレクタは、USBデバイス556が、USBデバイスとして動作するとき、通常のUSB仕様定義ハブとして機能することを提供し、これは、本明細書でデフォルト状態と称されるであろう。USBホスト0 502からのコマンドに応じて、USBデバイス556は、その動作をホストモードに変更し、マルチプレクサ550および554は、制御論理512によって制御され、USBハブ506をバイパスし、マルチホストエンドポイントリフレクタ510を通して、USBホスト502とUSBホスト556との間のUSBホスト/デバイス、USBデバイス/デバイス、およびUSBデバイス/ホストコネクティビティを可能にする、マルチホストエンドポイントリフレクタ510を可能にする。
【0034】
ハブバイパス500を伴うUSBマルチホストエンドポイントリフレクタの別の実施形態では、ハブコントローラ論理506は、複数のUSBデバイスを可能にする、複数のDSポートを有する。それらのUSBデバイスは、ハブ506が、デフォルト状態で動作しているとき、USB仕様対応デバイスとして機能するであろう。USBホスト0(502)からのコマンドに応じて、デバイス556は、動作をホストモードに変更し、マルチプレクサ550および554は、制御論理512によって切り替えられ、ハブ506をバイパスし、マルチホストエンドポイントリフレクタ510を通して、USBホスト502とUSBホスト556との間のUSBホスト/デバイス、USBデバイス/デバイス、およびUSBデバイス/ホストコネクティビティを可能にする、マルチホストエンドポイントリフレクタ510を可能にする。これが発生するとき、ハブ506の他のDSポートは、BC1.2専用充電ポート(DCP)モードに復帰し、ホスト0 502またはホスト1 556のいずれとも能動的に通信しないUSBデバイスのために、DC充電を提供するであろう。