説明

マルチプロセッサデバイスにおけるUSB接続のための装置および方法

複数のプロセッサを有するUSBデバイスにおいて使用するための装置および方法であって、デバイスにおいて共有されたUSBの接続性を可能にする装置および方法が開示される。開示された装置および方法は、ポートへの第2のプロセッサの接続を含む複数のUSB接続をルーティングするように動作可能なUSBハブへの、またはデバイスのUSBポートへの、第1のプロセッサの選択的な結合を可能にする。第1のプロセッサの結合をスイッチングし、第2のプロセッサの選択的な結合のためにハブの電源を選択的にオンおよびオフにすることにより、ポートへのプロセッサの選択的な結合を提供することによって、ワイヤレスネットワーキングのようなテザリングによるネットワーキングを選択的にイネーブルにすることは、デバイスにおける向上した電力の節約を提供する。さらに、ポートへの第1のプロセッサのデフォルトの結合は、第1のプロセッサへのポートのデフォルトの結合を介したプログラミングの能力を提供するだけではなく、USBバッテリー充電器の検出、またはUSB周辺デバイスへの直接の接続性をも可能にする。

【発明の詳細な説明】
【優先権の主張】
【0001】
本特許出願は、2009年11月23日に出願され、「マルチプロセッサデバイスにおけるUSB接続の共有のための方法および装置」と題し、この譲受人に譲渡され、ここでの引用により、ここに明確に組み込まれる、米国仮特許出願番号第61/263,782号の優先権を主張する。
【技術分野】
【0002】
本開示は、一般的に、マルチプロセッサデバイスまたはマルチチップデバイスにおけるユニバーサル・シリアル・バス(USB)接続の共有のための方法および装置に関し、より具体的には、マルチプロセッサデバイスまたはマルチチップデバイスにおいて、テザリングによる高速ネットワーク接続技術のネットワーキングおよびUSBデータ転送がそのデバイスにおいて同時に生じているか否かに基づいて、USB接続を選択的に共有することに関する。
【背景技術】
【0003】
スマートフォンのような通信デバイスであるマルチプロセッサUSBデバイスにおいて、LTEモデムチップのような独立型のモデムチップをアプリケーションプロセッサに組み込むことは、パーソナルコンピュータ(PC)または周辺デバイスへのUSB接続の共有という課題を生ずる。難解なシナリオは、電話が、USBによってPCまたは周辺デバイスに接続されると同時に、テザリングによるネットワークキング(たとえば、ロング・ターム・エボリューション(LTE))のUSB接続性を並行して提供し、一例として、同一のUSBコネクタで、PCと電話との間で、大きなマルチメディアファイルを転送する場合である。たとえば、LTEまたはWi-Fi(登録商標)等の技術は、非常に高いデータレート(下りリンクでは326.4Mbit/sまで、および上りリンクでは86.5Mbit/sまで)を可能にするので、アプリケーションプロセッサを経由してこのデータストリームをルーティング(route)することは難解になる。
【0004】
すべてのIPトラヒックを、モデムチップからアプリケーションプロセッサへとルーティングし、その後、それを、USBを介してPCまたは周辺デバイスへと転送することにより、より低速度のネットワークに関する同様の課題を解決することが知られており、ここで、アプリケーションプロセッサは、デバイスのUSBポートまたはコネクタに直接接続されている、ということに注意すべきである。しかしながら、そのような設計は、LTEシステムにおけるように、ネットワークデータレートが高くなると、適切に調整されない。そのようなケースにおいて、特に、アプリケーションプロセッサと、ネットワークの接続性を提供するモデムチップ(または、さらには、USBポートへのUSBの接続性を要求するデバイスにおける他のチップ)とに対する同時要求がある場合、アプリケーションプロセッサの性能は、結果的に、限られ、または減じられる。
【0005】
他のシステムは、PCへの接続用の1つのUSBポートを共有し、所望の使用例に基づいて、モデムプロセッサまたはアプリケーションプロセッサのいずれかへと、その接続をスイッチすることができる。一例では、そのような設計は、PCへのLTEのテザリングによるネットワーキングと、電話へのマルチメディアコンテンツの転送とが、互いに排他的であることを要求し得る。したがって、2つ以上のプロセッサまたはチップが外部USB通信を要求する、マルチプロセッサデバイスまたはマルチチップデバイスにおける、特にLTEデバイスのような高データレートデバイスのための、改良されたUSBの接続性が必要である。
【発明の概要】
【0006】
一態様によると、マルチプロセッサ・ユニバーサル・シリアル・バス(USB)デバイスが開示される。このデバイスは、アプリケーションプロセッサのような第1のプロセッサと、複数のUSB接続をルーティングするように動作可能なUSBハブと、USBハブに結合された(coupled)ベースバンドプロセッサのような第2のプロセッサと、を含む。さらに、このデバイスは、少なくとも、第1のプロセッサまたはUSBハブのうちの1つにUSBポートを選択的に結合するように構成されたデバイスのUSBポートに結合された第1のスイッチを含む。直接的な、または、ハブを経由した、ポートへの第1のプロセッサの選択的な接続性を提供する、この特定の設計は、第2のプロセッサがUSBポートに結合される必要がある場合にのみ、ハブの電源をオンにする能力を提供するので、マルチプロセッサUSBデバイスにおける電力の節約を向上させる。
【0007】
別の態様によると、マルチプロセッサUSBデバイスにおいてコンポーネントを通信可能に結合するための方法が開示される。この方法は、第1の状態の間に、第1のプロセッサにデバイスのUSBポートを選択的に結合することを含む。この方法は、さらに、第2状態の間に、第1プロセッサおよび少なくとも第2のプロセッサに結合されたUSBハブに、USBポートを選択的に結合することにより、USBハブを経由したUSBポートへの第2のプロセッサの結合をイネーブルにすることを含む。
【0008】
さらなる別の態様によると、マルチプロセッサUSBデバイスにおいてコンポーネントを通信可能に結合するための装置が開示される。この装置は、第1の状態の間に、第1のプロセッサにデバイスのUSBポートを選択的に結合する手段を含む。さらに、この装置は、第2の状態の間に、第1のプロセッサおよび少なくとも第2のプロセッサに結合されたUSBハブに、USBポートを選択的に結合することにより、USBハブを経由したUSBポートへの第2のプロセッサの結合をイネーブルにする手段を含む。
【0009】
さらなる1つの態様によると、コンピュータ可読媒体を含むコンピュータプログラム製品が開示される。この媒体は、コンピュータに、第1の状態の間に、マルチプロセッサUSBデバイスのUSBポートの、デバイスにおける第1のプロセッサへの選択的な結合を制御させるためのコードを含む。この媒体は、また、コンピュータに、第2の状態の間に、第1のプロセッサおよび少なくとも第2のプロセッサに結合されたUSBハブへのUSBポートの選択的な結合を制御することにより、USBハブを経由したUSBポートへの第2のプロセッサの結合をイネーブルにさせるためのコードを含む。
【図面の簡単な説明】
【0010】
【図1】図1は、本装置および方法が利用され得る例示的なワイヤレス通信の構成を示す図である。
【図2】図2は、本開示の方法および装置を利用した通信デバイスのブロック図である。
【図3】図3は、本開示の方法および装置を利用した通信デバイスの別の実現のブロック図である。
【図4】図4は、本開示の方法および装置を利用した通信デバイスのさらなる別の実現のブロック図である。
【図5】図5は、本開示に係る方法の状態図である。
【図6】図6は、マルチプロセッサデバイスにおいてUSB接続を選択的に結合するための例示的な方法のフローチャートである。
【図7】図7は、ワイヤレスデバイスのためのテザリングによるネットワーキングを成し遂げる、マルチプロセッサデバイスにおいてUSB接続を選択的に結合するための別の装置を示す図である。
【詳細な説明】
【0011】
本開示の方法および装置は、少なくとも、そのダウンストリームに向かうポートで、モデムチップとアプリケーションプロセッサ(またはアプリケーションプロセッサを含むチップ)との両方に接続し、そのアップストリームに向かうポートで、デバイスの外部USBポートまたはコネクタに接続するワイヤレスデバイスにおけるUSBハブの組み込みを提供する。さらに、開示されている方法および装置は、LTEネットワーキングのようなテザリングによるネットワーキングが要求されない、または必要とされない場合、USBハブをディスエーブル(disable)にすることができ、アプリケーションプロセッサまたはチップにUSBトラヒックを直接転送(redirect)することができる、1つ以上のスイッチを利用する。このように、本開示は、USBハブの電源を切って、電力リソースを節約し、複数のタイプのUSB充電器のためにUSB充電を提供し、USB接続を介して成し遂げられる緊急プログラミングおよびソフトウェアのアップグレードを改良することができるスキームを提供する。
【0012】
さらに、本開示の装置および方法は、電話での同一のUSBコネクタを介したマルチメディアコンテンツの同期と並行して、USBを介したPCまたはワイヤレスデバイスへのLTEデータの接続性を可能にするように、LTEまたは他の高データレートモデムに、スマートフォンまたは同様に設計されたワイヤレスデバイスに組み込まれることを可能にさせる。この解決策は、メインアプリケーションプロセッサのCPUまたはバスの利用に影響を与えずに、PCにLTEのフルデータレートを提供することができ、メインアプリケーションプロセッサは、CPUに負担のかかる(CPU-intensive)アプリケーションを並行して実行し続けることができる。これは、LTEネットワークを介してPCにデータをダウンロードしている間に、電話で、放送されている映画を見ることを含むことができる。さらに、本装置におけるアナログスイッチの使用は、電力効率のよい動作(power-efficient operation)を可能にする。さらに、本装置および方法は、そのような組み込まれたプラットフォームでのUSB充電の課題に対処する。USBハブをバイパスすることは、複数のUSB充電器タイプの検出を可能にし、より高い充電電流(1.5Aまで)と、その結果、より速い充電時間を可能にする。
【0013】
ここで説明されている技術は、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交FDMA(OFDMA)ネットワーク、シングルキャリアFDMA(SC−FDMA)ネットワーク、等といったさまざまなワイヤレス通信ネットワークにおいて使用されるデバイスのために使用され得る。「ネットワーク」および「システム」という用語は、しばしば、区別なく同義で用いられる。CDMAネットワークは、ユニバーサル地上無線アクセス(UTRA:Universal Terrestrial Radio Access)、cdma2000、等のような無線技術を実現することができる。UTRAは、広帯域−CDMA(W−CDMA)およびロー・チップ・レート(LCR:Low Chip Rate)を含む。cdma2000は、IS−2000、IS−95、およびIS−856規格をカバーする。TDMAネットワークは、移動体通信のための全世界システム(GSM(登録商標):Global System for Mobile Communications)のような無線技術を実現することができる。OFDMAネットワークは、ウルトラ・モバイル帯域幅(UMB:Ultra Mobile Bandwidth)、進化型UTRA(E−UTRA:Evolved UTRA)、IEEE802.11、IEEE802.16(WiMax(登録商標))、IEEE802.20、Flash−OFDM、等といった無線技術を実現することができる。UTRA、E−UTRA、およびGSMは、ユニバーサル・モバイル・テレコミュニケーション・システム(UMTS:Universal Mobile Telecommunication System)の一部である。ロング・ターム・エボリューション(LTE:Long Term Evolution)は、E−UTRAを使用するUMTSの最新版(upcoming release)である。UTRA、E−UTRA、GSM、UMTSおよびLTEは、「第3世代パートナーシップ・プロジェクト」(3GPP:3rd Generation Partnership Project)と称する組織による文書において説明されている。cdma2000は、「第3世代パートナーシップ・プロジェクト2」(3GPP2)と称する組織による文書において説明されている。これらのさまざまな無線技術および規格は、当技術分野において周知である。明確にするために、技術のある特定の態様は、下記においてUMBに関して説明され、UMBの専門用語が、下記の説明の大半で使用される。本開示は、LTE、Wi−FiまたはWiMaxデバイスにおける使用のために説明されているが、当業者は、開示されたコンセプトが、2つ以上のプロセッサまたはチップが外部USB接続を利用し得る、任意の他のマルチプロセッサUSBデバイスに適用されることを理解するだろう。
【0014】
図1は、本方法および装置が用いられ得る多元接続ワイヤレス通信システムの例を示している。アクセスポイント100(AP:access point)(または、eノードBまたは基地局)は、一例としてLTEネットワークのような特定のネットワーク102に接続され、その一部である。アクセス端末104(AT:access terminal)(または、移動デバイス、ワイヤレスデバイス、携帯電話、スマートフォン、またはユーザ機器(UE))は、下りリンク(DL)または順方向リンク106を介してアクセスポイント100と通信し、上りリンク(UL)または逆方向リンク108を介してアクセス端末104から情報を受信する。
【0015】
アクセス端末104は、また、USB接続のようなテザリングによる結合112を介して、PCのような周辺デバイス110と結合され得る。ここで述べられるように、本方法および装置は、ホストまたは周辺デバイス(たとえば、110)への、少なくとも、アプリケーションプロセッサを含むチップ、および、無線リンク(すなわちDL106およびUL108)を介して102のようなネットワークと通信するためのモデムチップ、の選択的なUSB結合を成し遂げる。
【0016】
アクセスポイントは、端末と通信するために使用される固定局であることができ、アクセスポイント、ノードB、または何らかの他の専門用語で呼ばれることができるということに注意すべきである。アクセス端末は、また、アクセス端末、ユーザ機器(UE)、ワイヤレス通信デバイス、端末、アクセス端末、携帯電話、または何らかの他の専門用語で呼ばれることができる。
【0017】
図2は、USB結合204を介して、PCまたは他の周辺デバイス202のようなホストに通信可能に結合されることができるだけでなく、周辺デバイス(図示せず)のためのホストとしての役割を果たすことができる、アクセス端末(AT)のようなワイヤレスデバイス200の一例を示している。図のように、デバイス200は、少なくとも2つのプロセッサまたはチップを含むマルチプロセッサデバイスまたはマルチチップデバイスである。第1のプロセッサまたは第1のプロセッサを含むチップ206は、ワイヤレスデバイス200においてさまざまなアプリケーションを実行するためのアプリケーションプロセッサであることができる。第2のプロセッサまたは第2のプロセッサを含むチップ208は、RF回路209を介してLTEネットワークのようなワイヤレスネットワークに接続するためのベースバンド(BB)プロセッサ(たとえば、モデムチップ)または同様のデバイスであることができる。
【0018】
一態様において、デバイス200は、その中の複数のコンポーネントが、USB接続を介して外部デバイス(たとえば、デバイス202)と通信またはネットワーク接続することができる、マルチプロセッサUSBデバイスである。したがって、デバイス200は、多くの異なるUSBコネクタタイプのうちのいずれか1つ(たとえば、Micro−AB)によって構成され得る、USBポートまたはコネクタ210を含む。さらに、デバイス200は、複数のコンポーネント(たとえば、プロセッサまたはチップ206および208)からUSBポート210への通信(アップストリームとダウンストリームとの両方)をルーティングする、USBハブ212を含む。図2の例において、ハブ212は、その動作が後に説明される第1のスイッチ214を経由して、ポート210に選択的に結合される。一態様において、スイッチ214は、USBバスでの高周波数シグナリングに適合(accommodate)するために、ハイスピードスイッチのような任意の適切なスイッチングデバイスを用いて実現され得る。単なる一例にすぎないが、スイッチ214は、480Mbpsまでのデータレートが可能な、低電力で2ポートの二極双投(DPDT:double-pole, double throw)スイッチである、USB2.0のフェアチャイルド(Fairchild)によるFSUSB40を用いて実現され得る。この例におけるDPDTスイッチの使用は、1つの結合から別の結合への、USBデータのD+およびD−ラインの両方のスイッチングを提供する。アナログスイッチとして実現されようと、または、高周波数シグナリングを扱うことができる他のタイプのスイッチとして実現されようと、所望される高周波数シグナリングを与えることができる他のスイッチも、また、意図される。さらに、ハブ212は、単なる一例にすぎないが、スマート・ミクスド・シグナル・コネクティビティ(SMSC:Smart Mixed-Signal Connectivity)によって製造されたUSB251xハブのような、任意の適切なUSBハブによって実現され得る。
【0019】
一態様において、USBハブ212は、また、一例においてアプリケーションプロセッサであることができる第1のプロセッサ206の制御下で電源がオンまたはオフにされることにより、イネーブルまたはディスエーブルにされることができる。一態様において、電源をオンおよびオフにすることは、プロセッサ206の汎用入出力(GPIO:General Purpose Input Output)を使用して、「ハブ・イネーブル」信号218を停止(または、その状態をスイッチング)し、電源220(たとえば、3.3V低ドロップアウト電圧レギュレータ(LDO:low dropout voltage regulator))を切断(shut off)して、成し遂げられ得る。また、この信号218(または同等物)は、結合またはトレース216を介してプロセッサ206にポート210を直接接続するデフォルトの状態を有する、スイッチ214の状態を変更するために、スイッチ214に同時に送信(deliver)され得ることにも注意すべきである。したがって、USBハブ212の電源がオンにされると、スイッチ214は、ハブ212をUSBポート210に接続し、プロセッサ206からの通信は、プロセッサ208からの通信とともに、結合222を介し、ハブ212を経由してルーティングされる。反対に、ハブ212の電源がオフにされると、それはデフォルトの接続でもあるが、USBポート210は、ハブ212をバイパスし、プロセッサ206に直接結合される。
【0020】
したがって、一態様において、LTEのテザリングによるネットワーキングが要求されない場合、プロセッサ206(またはあるいは、何らかの他のプロセッサ、またはデバイス202のようなデバイスは、モードの変更を開始することができ)、USBハブ212はオフにされ、USBポート210はアプリケーションプロセッサ206に直接結合される。一例において、このモードは、デバイス202のようなデバイスがデバイス200に接続された場合にアプリケーションプロセッサ206がポート210を介して最初に接続されるようになっている、デフォルトの構成であり得る。このように、プロセッサ206は、ハブ212がいつ動作可能かを制御するために使用されることができ、いつ、プロセッサ208のような他のデバイスが、USBポート210を介して、テザリングされているデバイス(たとえば、202)へ同時に通信する必要があるかの知識に基づいて、制御を決定する。さらに、選択的にハブ212の電源をオンにすることのさらなる利点は、デバイス200における電力の節約を向上させる能力である。
【0021】
ある実施形態において、ハブ212は、また、スイッチングのタイミングのために、水晶発振子224または同様のデバイスを用いることができる、ということに注意すべきである。一例において、水晶224は、12/20/24MHzの水晶であり得る。
【0022】
図2の構成において、ハブ212におけるスイッチングは、ハブ212に電力が供給されない場合、トライステートである(tri-stating)ことが可能であると想定されることにさらに注意すべきである。すなわち、プロセッサ206は、プロセッサ206と212とを接続するためのスイッチを必要とせずに、結合を介してハブ212に直接結合されることができる。それでもなお、電源がオフの場合にハブのダウンストリームポートをトライステートにすることができない特定のタイプのハブを用いたいくつかの実現において、代替の実現は、プロセッサ206をハブ212へと選択的に接続するためのさらなる第2のスイッチを含み得る。図3は、そのように構成されたデバイス300を含む、別の例を示している。図3に示されている図2との同一の要素は、同一の参照番号を使用していることに注意されたい。
【0023】
図3に示されているように、デバイス300は、第1のスイッチ214に加えて、図2に示されている直接結合222の代わりにハブ212とAP206との間に結合されている第2のスイッチ302を含む。したがって、スイッチ302は、AP206をハブ212に選択的に結合し得る。電源220をオンおよびオフにスイッチングすることに加え、ハブ・イネーブル信号304(すなわち、図2のGPIO出力信号218)も、図3に示したデフォルトの非結合(unconnected)状態と、プロセッサ208もハブ212を使用している場合にハブ212へのAP206の接続性を提供する代替の状態との間でスイッチ302を動作するために、使用され得る。一態様において、スイッチ214および302は、一例としてUSBスイッチング用にフェアチャイルド・セミコンダクタ(Fairchild Semiconductor)によって製造されたもののような「アナログスイッチ」と呼ばれるものによって実現され得ることに注意すべきである。さらなる態様において、スイッチは、アナログ回路、またはデジタル回路、またはその組み合わせ、のいずれかを用いて実現され得ることに注意すべきである。
【0024】
一態様において、ポート210と、プロセッサまたはチップ206とを直接接続する結合またはトレース216は、短い物理長を有するように構成され得ることに注意すべきである。たとえば、一例において、トレース216の長さは10mm未満であることができる。一部分において、より短い長さのトレースは、物理トレースで生じる信号損失を最小限にすることに役立つ。
【0025】
本開示の構成は、また、電話での同一のUSBコネクタを介したマルチメディアコンテンツの同期と並行して、USBを介したPCへのLTEデータの接続性を可能にすることができるように、LTEモデムがスマートフォンの設計に組み込まれることを可能にする。この解決策は、メインアプリケーションプロセッサのCPUまたはバスの利用に影響を与えずに、PCにLTEのフルデータレートを提供することができ、メインアプリケーションプロセッサは、CPUに負担のかかる(CPU-intensive)アプリケーションを並行して実行し続けることができる。たとえば、ユーザは、LTEネットワークを介してPCに電子メールをダウンロードしている間に、電話で、放送されている映画を見ることができる。
【0026】
あるいは、アナログスイッチ214および302は、USBハブ212とともに、1つのパッケージまたはチップに組み込まれ得ることが意図される。したがって、たとえば、図3は、共通のパッケージに、スイッチ214および302と、ハブ212とを含んだ、または組み込んだ、この代替のパッケージまたはチップ306を示している。さらなる別の代替例において、パッケージまたはチップ306におけるすべてのコンポーネントが、AP206のようなプロセッサまたはチップパッケージに組み込まれ得ることに注意すべきである。
【0027】
別の態様において、図2または図3の構成は、LTE電話のようなデバイスの工場ソフトウェアプログラミング(factory software programming)に対しても利点を有する。典型的なデバイスにおいて、工場ソフトウェアプログラミングは、NANDフラッシュメモリ(たとえば、NAND/eMMC組み込みメモリ)のようなメモリが、空である(empty)か、または壊れている(corrupted)場合に、それをプログラミングするために、BootROMで開始されるだろう。そのようなプログラミングは、ホストデバイス(たとえば、PC202)からUSBポート210を経由した入力を介して、アプリケーションプロセッサ(206)およびベースバンドプロセッサ(208)のために、別個に実行される。したがって、図2または図3の構成では、AP206は、少なくともスイッチ214およびトレース216を介して、デフォルトで、USBコネクタまたはポート210にルーティングされているので、最初にプログラミングされるだろう。AP206のプログラミングの後に、一例において、AP206は、ベースバンド(BB)プロセッサまたはチップ208の利用可能性を定期的にチェックすることができる。BBプロセッサ208が利用可能でない場合、これはBBプロセッサ208がクラッシュしている(crashed)こと、または、フラッシュメモリのプログラミングが要求されていることを示し得る。この場合、AP206は、GPIO信号304を介してUSBハブ212をオンにし、アナログスイッチがハブにルーティングするように変更する(すなわち、少なくとも、ハブ212をUSBポート210に直接結合するようにスイッチ214を介してルーティングする)。さらなるシナリオにおいて、AP206は、フラッシュメモリのプログラミングを開始する前に、ハブ212をイネーブルにすることができる。これは、システムにおけるすべてのプロセッサが、ハブ212を介して同時にフラッシュされることを可能にし、減少した工場プログラミング時間を提供する。別の具体例において、プログラミング後、USBホスト202は、ベースバンドプロセッサ208に接続し、プロセッサ206および208のためのソフトウェアのプログラミングまたはメモリのダンプを、別々に開始することができるだろう。
【0028】
さらなる態様において、AP206は、ソフトウェアのアップグレードの場合、USBハブ212へのユーザ起動のスイッチング(user-initiated switching)を可能にするように構成されることができる。特に、この機能は、電源投入時にUSBハブをイネーブルにするための、不揮発性メモリ(non-volatile memory)におけるデバッグフラグ(すなわち、フラッシュメモリでの永続的なフラグ)として実現され得る。これは、ベースバンドプロセッサ208に、PCでの別個の診断モニタポートとしてエニュメレーションする(enumerate)ことを可能にさせることができ、プログラミングツールは、ソフトウェアのアップデートを開始することができる。また、不揮発性メモリにおけるUSBハブのデバッグフラグがイネーブルにされた場合、アプリケーションプロセッサとベースバンドプロセッサ(206、208)の両方が、USBを介して診断モニタを使用することができるということに注意すべきである。そのような場合、PCは、2つの別個のUSBデバイスに遭遇し、いくつかの実現においては、2つのシリアルポートに遭遇するだろう。PC診断モニタリングツールは、一方のまたは両方のシリアルポートに取り付けられることができる。
【0029】
さらなる態様において、図2および図3の構成は、LTEのテザリングによるネットワーキングを改良するのに有用である。LTEのテザリングによるネットワークキングをイネーブルにするために、AP206は、ワイヤレスデバイス300または接続されたPC204のいずれかで、LTEのテザリングによるネットワーキングをイネーブルにするために使用される、ユーザインターフェース(UI)メニューをユーザに提示するように構成され得る。図3の例によると、LTEのテザリングによるネットワーキングのオプションが選択された場合、AP206は、イネーブル信号304を介してUSBハブ212をイネーブルにし、ベースバンドプロセッサ208は、ダイヤルアップネットワーキングまたはRNDIS(リモート・ネットワーク・ドライバ・インターフェース仕様:Remote Network Driver Interface Specification)機能、またはUSBリンクによってIPパケットを転送することができる任意の他の機能を有する、複合USBデバイスとしてエニュメレーションする。これは、ハブをイネーブルにするための同一の永続的なデバッグフラグを潜在的に使用する、永続的な構成として実現され得る。
【0030】
LTEのテザリングによるネットワーキングが必要とされない場合、AP206は、USBハブ212をオフにし、USBハブ212をバイパスしてデバイスのUSBポート210に直接接続するようアナログスイッチ214および302をプログラミングするように構成されることができる。一態様において、これは、永続的な構成またはデバッグフラグによって無効にされる(overridden)ことができる。しかしながら、LTEのテザリングによるネットワーキングを常にイネーブルにさせておくことは、USBハブ212での余分な電力の消費ゆえに、推奨されないということに注意すべきである。さらに、典型的なUSBハブのチップはそれらのアップストリームに向かうポートでのUSB充電器の検出をサポートしないので、標準のダウンストリームポート(ホスト/ハブ)の充電器タイプのみが検出されるであろうことから、LTEのテザリングによるネットワーキングをイネーブルにさせておくことは、USB充電を制限する。したがって、USBウォール・チャージャー(USB Wall Charger)は、ハブ212がイネーブルにされている場合は使用されることができない。
【0031】
さらなる態様において、AP206は、その、NAND、NOR、eMMC(組み込みマルチメディア・カード(Embedded Multimedia Card))、SD(セキュア・デジタル)、SATA(シリアル・アドバンスト・テクノロジー・アタッチメント(Serial Advanced Technology Attachment))ドライブ、および他のタイプのメモリを含む、リムーブバルメモリまたは内部メモリとの(to or from)、ユーザコンテンツの同期を可能にするように構成され得る。これは、AP206で実行されるハイレベル・オペレーティング・システム(HLOS:high level operating system)に依存して、USB周辺機器マス・ストレージ・クラス(USB peripheral mass storage class)、UASP(USBアタッチドSCSIプロトコル(USB Attached SCSI Protocol))クラス、MTP(メディア転送プロトコル(Media Transfer Protocol))、またはMTPz(ズーン用のマイクロソフト社所有のMTPの拡張(Microsoft proprietary MTP extensions for Zune))を使用して、実現され得る。
【0032】
さらなる別の態様において、AP206は、図2または図3の構成を用いて、GPSチップ(図示せず)からUSBを介してGPSフィックス(GPS fixes)を提供することができる。特に、AP306は、USBポート210を介してPCホストへと定期的なGPSフィックスを送るために、USBを介したNMEA(全米舶用電子機器協会(National Marine Electronics Association))をイネーブルにすることができる。AP206におけるNMEAポート(図示せず)は、また、PC202からのGPSテストコマンドを開始するために用いられるだろう。いくつかの態様によると、ベースバンドプロセッサ208は、GPSに関連したUSB機能のために用いられ得る。
【0033】
別の態様において、本開示の装置および方法は、また、共通の供給電圧を有する組み込まれたプラットフォーム(図2または図3のデバイス200または300において示されたコンポーネントは、組み込まれた1つのプラットフォームを含むことができ、または、部分的に別個に、または全体として、実現されることもできるということに注意すべきである)等での、USB充電の課題に対処することができる。特に、図2および図3の構成は、デフォルトの接続がポート210からのAP206との直接接続(たとえば、トレース216)である場合、USBウォール・チャージャーの検出を可能にするという利点を有する。AP206は、同様に、デバイスのバッテリーのUSB充電を実現または制御するように構成されることができ、USB充電器タイプの検出、および空になった(dead)バッテリーを充電する能力を含むことができる。説明のために、図4は、USBハブおよび関連づけられた結合のために、図2または図3の構成のいずれかを利用し得るワイヤレスデバイス400を示している。
【0034】
当技術分野において周知であるように、複数のタイプのUSB充電器がある。第1のタイプの例は、USBウォール・チャージャーのような専用USB充電器である。充電器のこの第1のタイプは、一般的に、550mA前後から1.5Aまでの充電電流を供給することができる。USB充電の第2のタイプの別の例は、標準ダウンストリームUSBポート充電であり、この場合、USB PC(たとえば、204)またはUSBホストが充電電流を供給し、それは、一般的に、500mAまでである。充電のさらに別のタイプは、900mAまたは1.5Aを供給することができるエンハンストPCまたはハブを用いた充電ダウンストリームポートである。USB充電器および検出メカニズムの他のタイプは、たとえば、USB−IFバッテリー充電仕様において定義されたエンハンスメントにしたがって、アプリケーションプロセッサで実現されることができるということにさらに注意すべきである。さらに、APは、デバイスの動作およびバッテリーの充電のためにホストから900mAまで得ることをデバイスに可能にさせる、USB3.0の仕様を実現することができる。
【0035】
充電または充電器の上記のタイプの各々において、AP206のUSB PHY(物理レイヤ)において実現される、USB充電器の各タイプの認識に携わるハードウェア検出メカニズムがある。図2および図3の特定の構成ゆえに、USBハブ212は、デフォルトでオフにされており、USB結合216が、ポート210から、直接、AP206へと、より具体的には、AP206のUSB PHYへと、USB信号をルーティングするだろう。ポート210でのUSBケーブル接続により、AP206は、結合216によって受信されたUSB信号(たとえば、差分D+およびD−信号)を介して充電器の検出を実行するように構成されることができる。一態様において、最初にスイッチ214を用いてUSBハブ212をバイパスするデフォルトの構成は、アプリケーションプロセッサ206によるUSB充電器タイプのデフォルトの最初の検出を可能にする。
【0036】
さらに示されているように、ポート210は、バッテリー406を充電するために、少なくともAP206と電力マネージメント回路404(たとえば、Qualcomm PMIC)との両方に、結合またはバス402を介して、USBバス電圧(たとえば、VBUS_CONN)を結合する。動作において、AP206によって実行された充電器の検出に基づいて、AP206は、また、検出された充電器のタイプにしたがってバッテリー406を充電するために、結合408を介して電力マネージャー404にシグナリングする。AP206は、結合402を介してUSBバス電圧に結合されるので、プロセッサは、バッテリー406が空であっても電力が供給され得るということにも注意すべきである。さらに、図2、図3および図4の構成は、また、ポート210からAP206との直接接続がなされ得るので、USBホストモード動作をサポートする。さらに、図2,図3および図4の構成は、別のUSB周辺デバイスに接続された場合、周辺機器からホストへと役割をスイッチングすることが可能なUSBデバイスである、USB OTG(オン・ザ・ゴー:On-The-Go)デバイスをサポートする。
【0037】
図5は、図2、図3または図4における200、300または400のようなコンパウンドUSBデバイスまたはマルチプロセッサデバイスにおける選択的なUSB接続の共有のための例示的な動作を示す状態図500である。示されているように、第1の初期状態502において、デバイスのUSBポート(たとえば、210)は、第1のプロセッサ(たとえば、206)に選択的に結合される。先に述べたように、一態様において、スイッチ214および302のデフォルトの状態は、初期状態においてこの結合を生ずる。マルチプロセッサデバイスがデフォルトの状態502である場合、動作は、たとえば、第1のプロセッサ(たとえば、AP206)と、USBポート210への外部デバイス接続との間での直接的なUSB信号通信を含み得る。さらに、USBハブ(たとえば、212)は、デフォルトとしてオフにされており、ハブが動作不可能なので、第1プロセッサ(たとえば、AP206)へのUSBポート210の直接結合と、より低い電力消費を可能にする。
【0038】
状態504によって理解され得るように、マルチプロセッサデバイスは、USBキーボード、サムドライブ、外部USBハブ、等といった周辺デバイスが、USBポート210に結合され得る場合、状態502からUSBホストモードへと入り、すると、そのデバイスは、(単数または複数の)周辺機器に対するホストになるように構成され得る。周辺デバイスの検出は、たとえば、USBコネクタのIDピンが接地された場合の検出を通して、状態502または504のいずれかにおいて、AP206によって実行され得る。デバイスは、周辺デバイスが切断された場合、状態502へと戻ることができ、それは、一例として、IDピンがもはや接地されていない(すなわち、フロート電圧である)場合に検出される。この能力は、ハブ212が電源オフ状態で維持されているので、デバイスにおける、より低い電力使用を提供するということに注意すべきである。
【0039】
デバイスが状態502である間に実行され得る別の動作は、ポート210へのUSBデバイスの接続を通して成し遂げられることができる、充電器タイプまたはポートを第1のプロセッサを用いて決定することを含み得る。この動作は、専用充電器(たとえば、USBの専門用語における「専用充電ポート」(Dedicated charging port)、または同様の機能性の同等物)を決定すること、または、PCまたは同様のホストデバイスが、USBポートへ、または、USBハブ(ここでは両方の可能性を示すために「ホスト/ハブ」とも呼ばれる)を介して、接続された場合、標準ダウンストリームUSBポートから充電することとを含むことができる。標準ダウンストリームUSBポート充電は、USBバッテリー充電仕様にしたがって「標準ダウンストリームポート」(Standard Downstream Port)と呼ばれることができ、または、USBホスト/ハブデバイス充電器とみなされることができる。さらに、検出され得る他のUSB充電は、他では「充電ダウンストリームポート」(Charging Downstream Port)として知られている、USBエンハンストホストデバイス充電であり、エンハンストホスト/ハブデバイスのいずれかからのものであり得る。さらに、状態502における他の動作は、第1のプロセッサおよび/または関連づけられたメモリのソフトウェアプログラミングだけでなく、第2のプロセッサのその後のプログラミングをも含み得る。
【0040】
一態様によると、状態502での動作中、第1のプロセッサは、LTEのテザリングによるネットワーキングのようなテザリングによるネットワーキングの必要性をモニタリングすることができ、それは、少なくともベースバンドプロセッサ208のような第2のプロセッサの接続性を可能にするためにUSBハブがオンにされることを要求するだろう。別の態様において、第1のプロセッサは、テザリングによるネットワーキングをイネーブルにすること(enablement)を可能にするために、デバイスのユーザにユーザインターフェース(UI)メニューを提示するように構成され得る。このオプションが選択された場合、第1のプロセッサは、USBハブをイネーブルにし、第2のプロセッサ(たとえば、ベースバンドプロセッサ208)は、通信デバイス/抽象制御モデルのためのクラス定義(Class Definition for Communication Devices/Abstract Control Model(CDC/ACM))、通信デバイス/イーサネット(登録商標)制御モデルのためのクラス定義(Class Definition for Communication Devices/Ethernet(登録商標) Control Model(CDC/ECM))、通信デバイス/ネットワーク制御モデルのためのクラス定義(Class Definition for Communication Devices/Network Control Model(CDC/NCM))、通信デバイス/イーサネットエミュレーションモデルのためのクラス定義(Class Definition for Communication Devices/Ethernet Emulation Model(CDC/EEM))またはリモート・ネットワーク・ドライバ・インターフェース仕様(Remote Network_Driver_Interface_Specification(RNDIS))を含むが、他のタイプのインターフェースが使用されることもできる、USBを介したIP(インターネットプロトコル)通信を可能にするUSB機能を有するスタンドアロンUSBデバイスまたは複合USBデバイスとしてエニュメレーションするだろう。
【0041】
さらに、マルチプロセッサデバイスは、USBを介して第1のプロセッサ(たとえば、AP206)にベンダーに特有(vender-specific)のコマンドを送ることにより、一例ではQMI(クゥアルコム・メッセージング・インターフェース(Qualcomm Messaging Interface))コマンドを用いて、PCホストによりイネーブルにされることもできる。さらに、PCホストによるこの特定のイネーブリング(enabling)は、ハブをイネーブルにするための同一の永続的なデバッグフラグを潜在的に使用する永続的な構成として実現され得る。
【0042】
テザリングによるネットワーキングが要求または要望された場合、第1のプロセッサは、GPIO218または304のような信号を発することができ、デバイスに、少なくとも第1のスイッチ(たとえば、214)、および、あるいはUSBハブへの第1のプロセッサの結合をも成し遂げる第2のスイッチ(たとえば、302)の動作により、USBポート(たとえば、210)がUSBハブ(たとえば、212)に選択的に結合される状態506へと入らせるようにする。さらに、USBハブがイネーブルにされ、それにより、ハブに結合された少なくとも第2のプロセッサ(たとえば、ベースバンドプロセッサ208)が、USBポートに選択的に結合されるようにする。テザリングによるネットワーキングが、状態506でもはや所望されなくなった場合、第1のプロセッサは、状態の変化をどのように成し遂げるかの一例として、GPIO信号をデ・アサート(de-assert)にする、または停止することによって、デフォルトの状態502へと戻ることを開始することもできる。状態506において実行される動作は、先に述べたように、標準のハブ/ホスト、またはエンハンストハブ/ホストのいずれかのUSBホストバッテリー充電動作を含むこともできる。
【0043】
さらに、バッテリー充電器タイプの検出が状態502で生じた場合、結果として、分岐した状態が、検出された充電器のタイプに依存して生じ得る。たとえば、検出された充電器が専用充電器である場合、専用バッテリー充電器はUSBのテザリングによる通信を要求しないので、デバイスは、専用バッテリー充電が実行される状態508へと進み、そのままであることができる。状態502へと戻ることは、図5に示されているように専用充電器が切断された場合に生じるだろう。
【0044】
あるいは、PCホストまたはエンハンストPC充電ポートからの充電といった、標準のUSB充電器が検出された場合、第1のプロセッサは、USBホスト(またはハブ)からのバッテリー充電を示す状態510への移行によって示されているように、その充電器のタイプにしたがって、バッテリー充電を実行するように、電力マネージメント回路(たとえば、404)に指示することができる。あるいは、バッテリー充電は、また、図4に示されているような直接のUSB VBUS接続を介して、またはUSBハブ212を経由して、のいずれかで実行されることができる。図5は状態510が別個の状態であることを示しているが、そこで実行されるバッテリーの充電は、デバイスが状態502において動作しているか、または状態510において動作しているかどうかにかかわらず、連続して生じ得る。このように、状態510のバッテリー充電は、状態502または状態506における場合のデバイスの動作と別々に、および/または同時に、動作することができる。
【0045】
さらに注意すべきは、一態様において、図5は、USBポート(210)に接続されたデバイスが切断された場合にはいつでも、そのデバイスが、専用充電器、USB周辺デバイス、USBホスト充電ポートであろうと、または、テザリングによるネットワーキングを成し遂げるUSB外部デバイスであろうと、デバイスの状態は、デフォルトの状態502に戻るであろうことを示している。これは、デフォルトの状態が、AP206へのポート210の直接接続だけでなく、USBハブ212の電源切断状態をも確実にし、それが、そのデバイスのためのより低い電力消費という結果をもたらすという点において有益である。
【0046】
図6は、コンパウンドUSBデバイスまたはマルチプロセッサデバイスにおいてUSB接続を選択的に結合するための例示的な方法600のフローチャートを示す。方法600は、ブロック601から始まり、それは、マルチプロセッサデバイスのUSBポート(たとえば、ポート210)とのUSB接続がなされていない、デフォルトの切断された状態である。一例において、ブロック601は、USBハブ210とのAP206のデフォルトの接続が存在し、USBハブ212に電源が投入されておらず、それによって、電力消費を低減する、図5における状態502の典型であり得る。
【0047】
ブロック601の後、フローは、ブロック602へと進むことができ、外部USBデバイスまたはUSBホストデバイスが、ワイヤレスデバイスまたはスマートフォンのようなデバイスのUSBポートに接続される。USBポートへの外部デバイス/ホストデバイスの接続の後、フローは、USB信号が、USBポートから、第1のプロセッサ、または第1のプロセッサを含む第1のチップへと供給される、ブロック604へと進む。特に、処理604は、第1のプロセッサ、または第1のプロセッサを含む第1のチップへの、USBポートのデフォルトの結合に基づいている。たとえば、上述したように、図2または図3の構成は、アプリケーションプロセッサまたはプロセッサを含むチップ206とのハブ210のデフォルトの結合を示している。この結合は、一例では、トレース216を介する。さらに、ブロック604の処理は、USBホストモードでポート210に接続されることができる、外部USB周辺デバイスのタイプを検出することを含むことができる。たとえば、デバイス(たとえば、スマートフォン)は、USBサムドライブ、キーボード、またはオーディオヘッドセットのようなUSBデバイスに対するUSBホストとしての役割を果たすことができる。たとえば、検出は、USBコネクタでのIDピンが接地された場合の検出を通して、AP206により実行されることができる。図6に示されていないが、デバイスは、その後、デバイスの切断が検出され、IDピンがもはや接地されていない(すなわち、フロートである)場合、初期状態(ブロック601)へと戻ることができる。
【0048】
信号が第1のプロセッサによって読み取られた後、フローは、決定ブロック606へと進み、ここで、方法600は、USB信号が、専用充電器がUSBポートに接続されていることを示すかどうか、を決定する。専用充電器が接続されている場合、フローは、専用充電が実行されるブロック608へと進み、USB専用充電器が切断されるまで、さらなる処理は実行されない。あるいは、専用充電器が接続されていない場合、フローは、ブロック610へと進み、そこでは、また、他の充電器タイプ(たとえば、USBホストデバイス充電)が検出されることができ、その充電の制御は検出されたタイプに基づいている。たとえば、充電器のタイプは、PCまたはエンハンストPCのようなUSBホストデバイスであり得る。
【0049】
ブロック606およびブロック610における充電器の検出は、方法600のための単なるオプションに過ぎず、一態様において、方法600は、以下に述べられるように、ブロック612〜618の残りの処理を含むのみであり得ることに、ここではさらに注意すべきである。
【0050】
決定ブロック612において、アプリケーションプロセッサ206のような第1のプロセッサまたはチップは、ベースバンドプロセッサ(たとえば、208)のような第2のプロセッサがUSBポートに結合されるように要求されるかどうかを、定期的にモニタリングし、決定する。そうでない場合、フローは、ブロック612へとループして戻り続け、それにより、USBポートが第1のプロセッサに直接接続され、USBハブはオフのままである、デフォルトの構成を維持する。この状態の一例は、図5の状態図に先に示した状態502である。
【0051】
決定ブロック612において、第1プロセッサ(たとえば、206)が、少なくとも第2のプロセッサがテザリングによるネットワーキングのために要求されると決定した場合、フローは、ブロック614へと進み、たとえば、第1のプロセッサがUSBハブをオンにし、少なくとも第1のスイッチに、USBポートをUSBハブに直接結合させるようにする。たとえば、この処理は、電源220へとGPIO信号218または304を発することだけでなく、第1のスイッチ214ならびに図3の例におけるスイッチ302をスイッチングすることによって影響され得る。それによって、結果として生じる接続は、ハブ212に接続されたポート210を含み、プロセッサ206、208を含む第1および第2のプロセッサまたはチップは、これらのデバイスによる、ポート210、および最終的にはPC202のようなホストまたは周辺デバイスとの通信を可能にするために、USBハブ212と通信可能に結合される。
【0052】
ブロック614の処理の結果として生じる状態は、一例として、図5に示された状態508であり得る。USBハブおよびスイッチが動作された後、フローは、第2のプロセッサがUSBポートから切り離されることができるかどうかの決定がなされ得る決定ブロック616へと進む。ブロック616における決定は、アプリケーションプロセッサ206によって実現または実行され、第2のプロセッサがテザリングによるネットワーキングのために必要とされるかどうかをチェックし続けるために、定期的に実行されることができる。テザリングによるネットワーキングが要求される限り、フローは、テザリングによるネットワーキングがもはや所望されなくなるときまで、USBハブがアクティブまたはイネーブルにされた状態で、ブロック616へとループして戻る。ブロック616のチェック処理は、アプリケーションプロセッサ206によって成し遂げられ得るが、プロセッサ208または別のプロセッサからの入力を用いて実現されることもできるということに注意すべきである。
【0053】
第2のプロセッサがテザリングによるネットワーキングのためにもはや必要ないとの決定がなされると、フローは、ブロック616からブロック618へと進み、アプリケーションプロセッサ206は、USBハブをオフにすることを、たとえば、GPIO出力をアサートにすること、またはこの機能を実行するための同様のメカニズムを介して、開始する。さらに、少なくとも第1のスイッチ(たとえば、214)は、状態をスイッチし、USBポート210がUSBハブから切り離されるようにし、第1のプロセッサまたは第1のプロセッサを含むチップ(たとえば、AP206)へのUSBポート210の直接結合へと戻すようにさせる。例として、ブロック618におけるこの動作または処理は、図5に示したように、状態506から状態502へと戻る変更によって理解され得る。
【0054】
例示的なデバイスにおけるUSB動作の一態様では、ハブ212のようなUSBハブがオフにされた場合、USBポート210からのアプリケーションプロセッサの一時的な切断が結果として生じ得る。したがって、たとえば、ポート210はPCホストに接続され、アプリケーションプロセッサ206は(トレース216を介して)再び接続を検出し、再接続するであろう。したがって、図6の例には示されていないが、一態様において、第1のプロセッサがUSB接続をアクティブに使用しているか否かが決定されると、ブロック616からブロック618への移行は、また、ブロック616において調整され得るということにも注意すべきである。第1のプロセッサがUSB接続をアクティブに使用している場合、デバイスは、その後、第1のプロセッサがUSB接続をアクティブに使用しなくなった場合にのみ、ブロック618へと進むことができる。そうでなければ、第1のプロセッサは、USB接続からの突然の解除(sudden removal)に遭遇する可能性があり、それは、ことによると、失敗またはエラーを引き起こし得る。
【0055】
ブロック618の後、フローは、ついで、ブロック601によって示されたデフォルトの切断された状態へと戻ることができる。このフローは、USBホスト(たとえば、PC)または接続がポート210にもはや存在しないという決定がなされた場合、生じ得る。示されていない代替例において、フローは、ハブはオフにされ得るが、USBホストまたは他のUSB接続がポート210になおも存在する場合、ブロック618からブロック612へと戻ることができ、アプリケーションプロセッサが、ワイヤレスデバイスのシステムを再度モニタリングし、たとえば、テザリングによるネットワーキングおよび少なくとも第2のプロセッサまたはチップの結合が再度要求された場合に、さらなる動作がハブ212を再度要求し得る。
【0056】
図7は、たとえば、ホストまたは周辺デバイスとのUSB接続を介してワイヤレスデバイスのためのテザリングによるネットワーキングを成し遂げる、マルチプロセッサデバイスにおいてUSB接続を選択的に結合するための別の装置700を示している。装置700は、ワイヤレスデバイスまたはスマートフォンのようなデバイスにおいてUSBポートから受信されたUSB信号を決定する手段702を含む。さらに、手段702は、第1のプロセッサへのためのUSBのデフォルトの結合の間に、USB信号を決定するために第1のプロセッサチップを利用する。手段702の実現の例として、図2または図3に示された、プロセッサ206または少なくともその一部、ならびに、少なくとも、第1のプロセッサにUSBポートを結合するためのスイッチ214およびトレース216は、1つの実現であることができる。
【0057】
装置700は、また、通信バス704、または装置700のさまざまな手段またはモジュール間の通信に影響を及ぼす同様の装置を含む。示されているように、装置700は、図5に示された状態502のような第1の状態の間に、第1のプロセッサチップにUSBポートを選択的に結合する手段706を含む。さらに、装置700は、また、選択的にUSBポートにUSBハブを直接結合し、(図3のケースでは選択的にそのようにされている)第1のプロセッサチップおよび少なくとも第2のプロセッサまたは第2のプロセッサを含むチップに結合されたUSBハブをオンにすることにより、USBハブを経由したUSBポートへの第2のプロセッサの結合をイネーブルにする、手段707を含む。手段706および707の1つの実現の例は、GPIO出力信号218または304の制御下のスイッチ214および電源220を含む。手段706および手段707のためのそのような実現が限定的ではないこと、および、当業者が、ハブの電源を制御するのではなくUSBハブに直接シグナリングするような同等の手段が可能であること、または図2および図3に示されているようなアナログスイッチングの代わりにハイスピードデジタルスイッチングもまた実現され得ることを理解するということが注意されるべきである。さらに、手段706および707は、いつテザリングによるネットワーキングが要求されるかを決定し、第1のプロセッサチップへ、または直接USBハブへ、のいずれかと、USBポートとの間で、結合をスイッチングさせるだけでなく、USBハブがオンまたはオフにされるようにする、プロセッサAP206のようなプロセッサを含むことができる。
【0058】
さらに、装置700は、たとえば、装置700が利用され得るモバイルワイヤレスデバイスのためのバッテリー充電スキームまたはバッテリー充電器タイプを決定する手段708を、代替例において含むことができる。手段708は、図4においてトレース402によって示されているように、ポート210からアプリケーションプロセッサ206へのVBUS接続ならびにアプリケーションプロセッサ206によって実現されることができるが、それらに限定されない。手段708と相補的であるのが、装置700が使用されるモバイルまたはワイヤレスデバイスのバッテリーを充電する手段710である。例として、手段710は、図4に示されている電力マネージメントユニット404のような電力マネージメントユニットまたは電力制御ユニット、または電力マネージメント機能を達成するための任意の同等のデバイスによって実現され得る。示されていないが、バッテリー712を充電する電源が手段710に接続され、それは、手段708によって決定されたバッテリー充電タイプにしたがってバッテリー712を充電するために使用される。
【0059】
一態様において、装置700は、また、緊急プログラミングする手段714を含むことができる。例として、この緊急プログラミングは、アプリケーションプロセッサ6によって、より具体的には、アプリケーションプロセッサ206へのUSBポート210のデフォルトの結合によりPC202のような周辺またはホストデバイスによるプログラミングをイネーブルにすることによって、影響を及ぼされ得る。
【0060】
さらに、装置700は、アプリケーションプロセッサ206、ベースバンドプロセッサ208、デジタル信号プロセッサ、汎用プロセッサ、またはそれらの任意の組み合わせのうちの1つ以上によって実現され得る、1つ以上のプロセッサ716を含み得る。さらに、装置700のさまざまな手段によって実現される処理のうちの1つ以上を実行または制御するための、1つのプロセッサまたは複数のプロセッサ216によって実行可能な、コンピュータで実現可能な命令またはコードを記憶するためのメモリ718が含まれる。
【0061】
上記を考慮すると、本開示は、電話での同一のUSBコネクタを介したマルチメディアコンテンツの同期と並行して、USBを介したPCへのLTEデータの接続性を可能にすることができるように、LTEモデムがスマートフォンの設計に組み込まれることを可能にする。この解決策は、メインアプリケーションプロセッサのCPUまたはバスの利用に影響を与えずに、PCにLTEのフルデータレートを提供することができ、メインアプリケーションプロセッサは、CPUに負担のかかる(CPU-intensive)アプリケーションを並行して実行し続けることができる。これは、LTEネットワークを介してPCに電子メールをダウンロードしている間に、電話で、放送されている映画を見ることを含むことができる。アナログスイッチの設計は、電力効率のよい動作(power-efficient operation)を可能にする1つの解決策である。さらに、本装置および方法は、そのような組み込まれたプラットフォームでのUSB充電の課題に対処する。USBハブをバイパスすることは、複数のUSB充電器タイプの検出を可能にし、より高い(すなわち、USBバッテリー充電仕様に依存して1.5Aまたはそれよりも高い)充電電流と、その結果、より速い充電時間を可能にする。さらなる利点は、USBバスを介してより一層高いデータレートを可能にするであろう、プライマリプロセッサおよび/またはセカンダリプロセッサの各々でのUSB3.0の組み込みにより実現されることができる。この場合、開示されたシステムは、USB3.0の能力があるハブを組み込むことができる。
【0062】
開示された処理におけるステップの特定の順序または階層は、単に例示的なアプローチの一例にすぎないことが理解されるべきである。設計の優先性に基づいて、処理におけるステップの特定の順序または階層が、本開示の範囲内のままでありながら並べ替えられ得るということが理解されるべきである。付属の方法の請求項は、例示的な順序で、さまざまなステップのエレメントを提示しているが、提示された特定の順序または階層に限定されることを意図しない。
【0063】
当業者は、情報および信号が、さまざまな異なる技術および技法のうちのいずれかを使用して表され得ることを理解するだろう。たとえば、上記説明を通して言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光場または光粒子、またはそれらの任意の組み合わせによって表されることができる。
【0064】
当業者は、ここに開示された例に関連して説明されたさまざまな例示的な論理ブロック、モジュール、回路、およびアルゴリズムのステップが、電子ハードウェア、コンピュータソフトウェア、または両者の組み合わせとして実現され得ることを、さらに理解するだろう。ハードウェアとソフトウェアのこの互換性を明確に示すために、さまざまな例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、それらの機能の観点で一般的に上述されている。そのような機能がハードウェアとして実現されるか、ソフトウェアとして実現されるかは、システム全体に課された特定の用途および設計上の制約に依存する。当業者は、特定の用途ごとにさまざまな手法で、説明された機能を実現することができるが、そのような実現の決定は、本発明の範囲から逸脱するものと解釈されるべきではない。
【0065】
ここで開示された例に関連して説明された、さまざまな例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲートアレイ(FPGA)、または他のプログラマブル論理デバイス、離散ゲートまたはトランジスタ論理、離散ハードウェアコンポーネント、またはここで説明された機能を実行するように設計されたそれらの任意の組み合わせを用いて、実現または実行されることができる。汎用プロセッサは、マイクロプロセッサであることができるが、代替例において、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであることができる。プロセッサは、また、コンピューティングデバイスの組み合わせとして、たとえば、DSPと、1つのマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと結合された1つ以上のマイクロプロセッサとの組み合わせ、または任意の他のそのような構成として、実現されることもできる。
【0066】
ここで開示された例に関連して説明された方法またはアルゴリズムのステップは、ハードウェアで直接的に、プロセッサによって実行されるソフトウェア・モジュールで、または両者の組み合わせで具現化されることができる。ソフトウェア・モジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または当技術分野で周知の任意の他の形態の記憶媒体中に存在することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み出し、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替例において、記憶媒体は、プロセッサと一体化され得る。プロセッサおよび記憶媒体は、ASIC中に存在することができる。ASICは、ユーザ端末に存在することができる。あるいは、プロセッサおよび記憶媒体は、ユーザ端末中に離散コンポーネントとして存在することができる。
【0067】
「例示的」という用語は、本明細書では「例、事例、または実例としての役割を果たす」という意味で用いられる。「例示的」なものとしてここに説明される任意の例は、必ずしも、他の例よりも好ましい、または利点を有するものと解釈されるべきではない。
【0068】
開示された例の先の説明は、本発明を製造または使用することをいずれの当業者にも可能にさせるために提供されている。これらの例に対するさまざまな変更は、当業者に容易に理解され、ここで定義された一般的な原理は、本発明の精神または範囲から逸脱せずに、他の例に適用されることができる。このように、本発明は、ここに示された例に限定されることは意図しておらず、ここに開示された原理および新規な特徴と一致する最も広い範囲が付与されるべきである。

【特許請求の範囲】
【請求項1】
マルチプロセッサ・ユニバーサル・シリアル・バス(USB)デバイスであって、
第1のプロセッサと、
複数のUSB接続をルーティングするように動作可能なUSBハブと、
前記USBハブに結合された第2のプロセッサと、
前記デバイスのUSBポートに結合され、前記第1のプロセッサまたは前記USBハブのうちの1つに前記USBポートを選択的に結合するように構成された、少なくとも第1のスイッチと
を含むデバイス。
【請求項2】
前記デバイスのデフォルトの状態は、少なくとも、前記第1のプロセッサに前記USBポートを結合する前記第1のスイッチと、ディスエーブルにされた前記USBハブとを含む、請求項1に記載のデバイス。
【請求項3】
前記第1のプロセッサは、前記第1のスイッチを制御するように構成されている、請求項1に記載のデバイス。
【請求項4】
前記第1のプロセッサは、前記USBハブを選択的にイネーブルまたはディスエーブルにするように構成されている、請求項1に記載のデバイス。
【請求項5】
USBハブ電源をさらに含み、前記第1のプロセッサは、前記USBハブ電源をオンおよびオフにスイッチングすることによって、それぞれ、前記USBハブを選択的にイネーブルまたはディスエーブルにするように構成されている、請求項4に記載のデバイス。
【請求項6】
少なくとも前記USBハブおよび前記第1のプロセッサに結合された第2のスイッチをさらに含み、前記第2のスイッチは、前記第1のスイッチと同時に動作し、前記USBハブに前記第1のプロセッサを選択的に結合するように構成されている、請求項1に記載のデバイス。
【請求項7】
前記第2のスイッチは、前記第1のプロセッサによって制御される、請求項6に記載のデバイス。
【請求項8】
前記デバイスに電力を供給するバッテリーを充電するように構成された電力マネージャーユニットをさらに含み、
前記第1のプロセッサは、さらに、
前記電力マネージャーユニットに電力を供給する、前記USBポートに接続されたUSBバッテリー充電器のタイプを検出し、
前記検出されたUSB充電器のタイプに基づいて前記バッテリーを充電するように前記電力マネージャーユニットにシグナリングする
ように構成されている、請求項1に記載のデバイス。
【請求項9】
前記USBバッテリー充電器のタイプは、専用充電器と、USBホスト/ハブデバイス充電器と、USBエンハンストホスト/ハブデバイス充電器とのうちの1つを含む、請求項8に記載のデバイス。
【請求項10】
前記第1および第2のスイッチのうちの少なくとも1つが、共通のパッケージに前記USBハブとともに組み込まれている、請求項6に記載のデバイス。
【請求項11】
前記第1プロセッサは、前記USBポートがデフォルトの構成において前記第1のスイッチを介して前記第1のプロセッサに結合される場合、緊急プログラミングされるように構成され、その後、前記USBハブを選択的にオンにして、前記USBポートおよびUSBハブを介して前記第2のプロセッサの緊急プログラミングをイネーブルにする、請求項1に記載のデバイス。
【請求項12】
前記デバイスはさらに、前記第2のプロセッサを介したワイヤレスネットワークへのワイヤレスのテザリングによるネットワーキングが可能なワイヤレス通信デバイスを含む、請求項1に記載のデバイス。
【請求項13】
前記ワイヤレス通信デバイスは、ロング・ターム・エボリューション(LTE)のワイヤレスネットワークで動作するように構成されている、請求項12に記載のデバイス。
【請求項14】
前記第1のプロセッサは、アプリケーションプロセッサを含み、前記第2のプロセッサは、ベースバンドプロセッサを含む、請求項1に記載のデバイス。
【請求項15】
マルチプロセッサUSBデバイスにおいてコンポーネントを通信可能に結合するための方法であって、
第1の状態の間に、第1のプロセッサに前記デバイスのUSBポートを選択的に結合にすることと、
第2の状態の間に、前記第1プロセッサおよび少なくとも第2のプロセッサに結合されたUSBハブに前記USBポートを選択的に結合することにより、前記USBハブを経由した前記USBポートへの前記第2のプロセッサの結合をイネーブルにすることと
を含む方法。
【請求項16】
前記第1の状態は、前記第1のプロセッサへの前記USBポートの結合と、ディスエーブルにされた前記USBハブとを含む前記デバイスのデフォルトの状態である、請求項15に記載の方法。
【請求項17】
前記第1および第2の状態の間をスイッチングするために、前記USBハブを選択的にイネーブルまたはディスエーブルすることをさらに含む、請求項15に記載の方法。
【請求項18】
前記第1の状態において前記第1のプロセッサに前記USBポートを、前記第2の状態において前記USBハブに前記USBポートを、選択的に結合することは、前記第1のプロセッサまたは前記USBハブのいずれかの間で、前記USBポートを結合するように少なくとも第1のスイッチを制御することを含む、請求項15に記載の方法。
【請求項19】
前記第1の状態において前記第1のプロセッサに、および前記第2の状態において前記USBハブに、前記USBポートを選択的に結合することは、さらに、
前記第1のプロセッサおよび前記USBハブを選択的に結合するために、前記USBハブと前記第1のプロセッサとの間に結合された第2のスイッチを制御することであって、前記第2のスイッチの前記制御は、前記第2のスイッチを前記第1のスイッチと同時に動作するように構成されている、制御すること
を含む、請求項18に記載の方法。
【請求項20】
バッテリー充電のために前記デバイスに電力を供給する、前記USBポートに接続されたUSBバッテリー充電器のタイプを検出することと、
前記検出されたUSB充電器のタイプに基づいて前記バッテリーを充電することと
をさらに含む、請求項15に記載の方法。
【請求項21】
前記USBバッテリー充電器のタイプは、専用充電器と、USBホスト/ハブデバイス充電器と、USBエンハンストホスト/ハブデバイス充電器とのうちの1つを含む、請求項20に記載の方法。
【請求項22】
前記デバイスの動作の前に、前記USBポートに接続された周辺デバイスから、前記第1の状態の間に、前記第1のプロセッサを緊急プログラミングすることをさらに含む、請求項15に記載の方法。
【請求項23】
前記第2のプロセッサを介してワイヤレスネットワークとワイヤレスでネットワーキングすることと、
前記デバイスが前記第2の状態である場合、前記第2のプロセッサおよびUSBハブを使用して、前記USBポートに接続されたUSBホストのための前記ワイヤレスネットワークとのテザリングによるネットワーキングを実行することと
をさらに含む、請求項15に記載の方法。
【請求項24】
前記デバイスは、ロング・ターム・エボリューション(LTE)のワイヤレスネットワークで動作するように構成されている、請求項23に記載の方法。
【請求項25】
前記第1のプロセッサは、アプリケーションプロセッサを含み、前記第2のプロセッサは、ベースバンドプロセッサを含む、請求項15に記載の方法。
【請求項26】
マルチプロセッサUSBデバイスにおいてコンポーネントを通信可能に結合するための装置であって、
第1の状態の間に、第1プロセッサに前記デバイスのUSBポートを選択的に結合する手段と、
第2の状態の間に、前記第1プロセッサおよび少なくとも第2のプロセッサに結合されたUSBハブに前記USBポートを選択的に結合することにより、前記USBハブを経由した前記USBポートへの前記第2のプロセッサの結合をイネーブルにする手段と
を含む、装置。
【請求項27】
前記第1の状態は、前記第1のプロセッサへの前記USBポートの結合と、ディスエーブルにされた前記USBハブとを含む、前記デバイスのデフォルトの状態である、請求項26に記載の装置。
【請求項28】
前記第1および第2の状態の間をスイッチングするために、前記USBハブを選択的にイネーブルまたはディスエーブルにする手段をさらに含む、請求項26に記載の装置。
【請求項29】
前記第1の状態において前記第1のプロセッサに前記USBポートを選択的に結合する手段、および前記第2の状態において前記USBポートに前記USBハブを選択的に結合する手段は、前記第1のプロセッサおよび前記USBハブのうちの1つに前記USBポートを結合するように少なくとも第1のスイッチを制御する手段を含む、請求項26に記載の装置。
【請求項30】
前記第1の状態において前記第1のプロセッサに前記USBポートを選択的に結合する手段、および前記第2の状態において前記USBポートに前記USBハブを選択的に結合する手段は、さらに、
前記第1のプロセッサおよび前記USBハブを選択的に結合するために、前記USBハブと前記第1のプロセッサとの間に結合された第2のスイッチを制御する手段であって、前記第2のスイッチの前記制御は、前記第2のスイッチを前記第1のスイッチと同時に動作するように構成されている、制御する手段と
を含む、請求項29に記載の装置。
【請求項31】
バッテリー充電のために前記デバイスに電力を供給する、前記USBポートに接続されたUSBバッテリー充電器のタイプを検出する手段と、
前記検出されたUSB充電器のタイプに基づいて前記バッテリーを充電する手段と
をさらに含む、請求項26に記載の装置。
【請求項32】
前記USBバッテリー充電器のタイプは、専用充電器と、USBホスト/ハブデバイス充電器と、USBエンハンストホスト/ハブデバイス充電器とのうちの1つを含む、請求項31に記載の装置。
【請求項33】
前記デバイスの動作の前に、前記USBポートに接続された周辺デバイスから、前記第1の状態の間に、前記第1のプロセッサを緊急プログラミングする手段をさらに含む、請求項26に記載の装置。
【請求項34】
前記第2のプロセッサを介してワイヤレスネットワークとワイヤレスでネットワーキングする手段と、
前記デバイスが前記第2の状態である場合、前記第2のプロセッサおよびUSBハブを使用して、前記USBポートに接続されたUSBホストのための、前記ワイヤレスネットワークとのテザリングによるネットワーキングを実行する手段と
をさらに含む、請求項26に記載の装置。
【請求項35】
前記デバイスは、ロング・ターム・エボリューション(LTE)のワイヤレスネットワークで動作するように構成されている、請求項26に記載の装置。
【請求項36】
前記第1のプロセッサは、アプリケーションプロセッサを含み、前記第2のプロセッサは、ベースバンドプロセッサを含む、請求項26に記載の装置。
【請求項37】
コンピュータに、第1の状態の間に、マルチプロセッサUSBデバイスのUSBポートの、前記デバイスにおける第1のプロセッサへの選択的な結合を制御させるためのコードと、
コンピュータに、第2の状態の間に、前記第1のプロセッサおよび少なくとも第2のプロセッサに結合されたUSBハブへの前記USBポートの選択的な結合を制御することにより、前記USBハブを経由した前記USBポートへの前記第2のプロセッサの結合をイネーブルにさせるためのコードと
を含むコンピュータ可読媒体
を含むコンピュータプログラム製品。
【請求項38】
前記第1の状態は、前記第1のプロセッサへの前記USBポートの結合と、ディスエーブルにされた前記USBハブとを含む、前記デバイスのデフォルトの状態である、請求項37に記載のコンピュータプログラム製品。
【請求項39】
前記コンピュータ可読媒体は、さらに、コンピュータに、前記第1および第2の状態の間をスイッチングするために前記USBハブを選択的にイネーブルまたはディスエーブルにすることを制御させるためのコードを含む、請求項37に記載のコンピュータプログラム製品。
【請求項40】
前記第1の状態における前記第1のプロセッサへの前記USBポートの選択的な結合、および前記第2の状態における前記USBポートへの前記USBハブの選択的な結合を制御するための前記コードは、コンピュータに、前記第1のプロセッサおよび前記USBハブのうちの1つに前記USBポートを結合するように、少なくとも第1のスイッチを制御させるためのコードを含む、請求項37に記載のコンピュータプログラム製品。
【請求項41】
前記第1の状態における前記第1のプロセッサへの前記USBポートの選択的な結合、および前記第2の状態における前記USBポートへの前記USBハブの選択的な結合を制御するための前記コードは、コンピュータに、前記第1のプロセッサおよび前記USBハブを選択的に結合するために、前記USBハブと前記第1のプロセッサとの間に結合された第2のスイッチを制御させるためのコードを含み、前記第2のスイッチの前記制御は、前記第2のスイッチを前記第1のスイッチと同時に動作するように構成されている、請求項40に記載のコンピュータプログラム製品。
【請求項42】
前記コンピュータ可読媒体は、さらに、
コンピュータに、バッテリー充電のために前記デバイスに電力を供給する、前記USBポートに接続されたUSBバッテリー充電器のタイプを検出させるためのコードと、
コンピュータに、前記検出されたUSB充電器のタイプに基づいて前記バッテリーを充電する電力マネージャーを制御させるためのコードと
を含む、請求項37に記載のコンピュータプログラム製品。
【請求項43】
前記USBバッテリー充電器のタイプは、専用充電器と、USBホスト/ハブデバイス充電器と、USBエンハンストホスト/ハブデバイス充電器とのうちの1つを含む、請求項42に記載のコンピュータプログラム製品。
【請求項44】
前記コンピュータ可読媒体は、さらに、
コンピュータに、前記第2のプロセッサを使用したワイヤレスネットワークとのワイヤレスネットワーキングを制御させるためのコードと、
コンピュータに、前記デバイスが前記第2の状態にある場合、前記第2のプロセッサおよび前記USBハブを使用した前記USBポートに接続されたUSBホストのための前記ワイヤレスネットワークとのテザリングによるネットワーキングを制御させるためのコードと
を含む、請求項37に記載のコンピュータプログラム製品。
【請求項45】
前記デバイスは、ロング・ターム・エボリューション(LTE)のワイヤレスネットワークで動作するように構成されている、請求項37に記載のコンピュータプログラム製品。
【請求項46】
前記第1のプロセッサは、アプリケーションプロセッサを含み、前記第2のプロセッサは、ベースバンドプロセッサを含む、請求項37に記載のコンピュータプログラム製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2013−511787(P2013−511787A)
【公表日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2012−541153(P2012−541153)
【出願日】平成22年11月23日(2010.11.23)
【国際出願番号】PCT/US2010/057743
【国際公開番号】WO2011/063379
【国際公開日】平成23年5月26日(2011.5.26)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】