(58)【調査した分野】(Int.Cl.,DB名)
前記第1のコンタクトを介して応答が受信されない場合に、前記制御回路が、前記複数のコンタクトのうちの第2のコンタクトを介して前記コマンドを送信するように更に構成されていることを特徴とする請求項1又は2に記載の電子デバイス。
前記第1のコネクタがレセプタクルコネクタであり、前記第2のコネクタがプラグコネクタであることを特徴とする請求項1乃至6のいずれか1項に記載の電子デバイス。
前記応答で受信された前記第2のコネクタ内のコンタクトの設定に関する前記情報が複数のビットを含むことを特徴とする請求項1乃至10のいずれか1項に記載の電子デバイス。
前記応答で受信された前記第2のコネクタ内のコンタクトの設定に関する前記情報が、コマンド応答フィールドと、それに続くペイロードフィールドと、それに続く巡回冗長検査フィールドとを含むことを特徴とする請求項11に記載の電子デバイス。
プラグコネクタを挿入可能な内部空洞を画定する筐体と、前記内部空洞の第1の内面に沿って配置された第1の複数の電気コンタクトとを有するレセプタクルコネクタを設定する方法であって、前記プラグコネクタは第2の複数の電気コンタクトを有し、前記方法は、
前記内部空洞に前記プラグコネクタが挿入されたことを、前記レセプタクルコネクタに結合された第1のデバイスによって検出するステップであって、前記第1の複数の電気コンタクトの各コンタクトが前記第2の複数の電気コンタクトの対応するコンタクトと物理的に接触している、ステップと、
前記検出に応じて、前記第1のデバイスにより、前記第1の複数の電気コンタクトのうちの1つ以上のコンタクトを設定するための設定情報を要求する、複数のビットを有するコマンドを、前記第1の複数の電気コンタクトから第1のコンタクトを介して第2のデバイスに送信するステップと、
前記第1のデバイスにより、前記設定情報を受信するステップと、
前記第1のデバイスにより、前記設定情報に基づいて前記第1の複数の電気コンタクトの少なくとも一部に内部接続を設定するステップとを含むことを特徴とする方法。
【発明を実施するための形態】
【0013】
本発明の実施形態は、概して、コネクタに関する。より詳細には、本発明の特定の実施形態は、1つのコネクタの別のコネクタに対する向きを判定するための技術を提供する。いくつかの実施形態において、アクセサリ側つまり「プラグ」コネクタは、ホスト側つまり「レセプタクル」コネクタに2つ以上の向きで挿入し得る。この場合、本明細書に記載されている技術は、レセプタクルコネクタに対するプラグコネクタの正確な向きを判定する方法を提供し得る。
【0014】
本発明のいくつかの実施形態は、接続されたアクセサリから受信する情報に基づいてホスト側コネクタのコンタクトを動的に設定する技術を提供する。
【0015】
本発明の特定の実施形態は、ホスト側コネクタに対するアクセサリ側コネクタの向きを判定し、判定された向きとアクセサリから受信した情報とに基づいてホスト側コネクタを設定するシステム及び方法を提供する。
【0016】
図1Aは、本発明の一実施形態に係るプラグコネクタ100(つまり、アクセサリ側コネクタ100)を示す。プラグコネクタ100は例示的なもので、本明細書では、本発明の様々な実施形態を説明するために使用されている。当業者には、プラグコネクタ100以外のその他多くの形態及び種類のコネクタが使用でき、本明細書に記載されている技術が、プラグコネクタ100の特性を有する任意のプラグコネクタに適用されることが理解されよう。いくつかの実施形態において、プラグコネクタ100はホストデバイスに接続し得るアクセサリに関連付けることができる。
【0017】
プラグコネクタ100は、本体102と、タブ部104を含む。ケーブル106は、本体102とタブ部104に取り付けられ、本体102から長手方向に離れて、コネクタ100の長さに対して平行な方向に延在する。タブ104は、嵌合時に対応するレセプタクルコネクタに挿入できる大きさであって、第1の主表面104a上に形成された第1のコンタクト領域108aと、表面104aの反対側の第2の主表面104b(
図1Aには図示せず)に形成された第2のコンタクト領域108b(同様に、
図1Aには図示せず)を含む。表面104a、104bは、タブの遠位端から、タブ104が対応するレセプタクルコネクタに挿入された場合にレセプタクルコネクタの筐体又はレセプタクルコネクタが組み込まれているポータブル電子デバイスに当接するスパイン109まで延在する。タブ104はまた、第1の主表面104aと第2の主表面104bとの間に延在する、相対する第1の側面104c及び第2の側面104d(図示せず)を含む。1つの特定の実施形態において、タブ104は、幅が約6.6mm、厚さが約1.5mmで、約7.9mmの挿入深さ(タブ104の先端からスパイン109までの距離)を有する。
【0018】
タブ104が対応するレセプタクルコネクタに挿入された場合に、領域108a又は108b内のコンタクト112がレセプタクルコネクタ内の対応するコンタクトに電気的に接続されるように、複数のコンタクト112をコンタクト領域108a及びコンタクト領域108bのそれぞれに形成し得る。いくつかの実施形態において、コンタクト112は、最初、嵌合時に、レセプタクルコネクタのコンタクトと接触した後、最終的な望ましい接触位置に到達する前に、払拭動作でレセプタクルコネクタのコンタクトを過ぎて更にスライドする、自洗式ワイピングコンタクトである。
【0019】
一例として、1つの実施形態において、IDモジュールが、コネクタ100のコンタクトと動作可能に接続されたIC内で具現化されている。IDモジュールは、嵌合時にホストデバイスと通信し得るコネクタ及び/又はそれに関連付けられるアクセサリ/アダプタに関する識別及び設定情報でプログラムし得る。別の例として、ホストデバイス上の回路を使用して認証ルーチン、例えば、公開鍵暗号方式ルーチンを実行するようにプログラムされた認証モジュールを、コネクタ100に動作可能に接続されたIC内で具現化し得る。IDモジュール及び認証モジュールは、同一のIC内又は異なるIC内で具現化し得る。更に別の例として、IC113a又は113bのいずれか1つの中で電流調整器を具現化し得る。電流調整器は、ポータブル電子デバイスのバッテリを充電する電力を送ることができるコンタクトに動作可能に接続でき、入力電圧に関係なく、また、入力電圧が一時的に変動した場合でさえ、定電流を保証するためにかかるコンタクトを介して送られる電流を調整し得る。ICの機能を、
図4を参照して以下で更に説明する。
【0020】
ボンディングパッド115もまた、PCB107の端部付近の本体102内に形成し得る。各ボンディングパッドは、領域108a及び108b内のコンタクト又はコンタクト対と接続し得る。配線(図示せず)をボンディングパッドにはんだ付けして、コンタクトからコネクタ100に関連付けられるアクセサリ内の回路までの電気的接続を確立し得る。しかし、いくつかの実施形態においては、ボンディングパッドは必要なく、代わりに、コネクタ100のコンタクト及び構成要素とアクセサリ内の他の回路との間の全ての電気的接続は、回路が接続されているPCB上の配線を通じて、及び/又はアクセサリ内の複数のPCB間の相互接続によって製作される。
【0021】
タブ104の構造及び形状は、ステンレス鋼又は別の硬い導電材料で製作し得る接地リング105によって画定される。コネクタ100は、接地コンタクトの役割も果たす接地リング105の側部に湾曲ポケットとして形成されている保持構造部114a、114b(図示せず)を含む。本体102は、本体内の特定の構成要素を目視できるように透明な形(点線で示す)で
図1Aに示されている。図示のように、本体102内では、プリント配線基板(PCB)107がコネクタ100の遠位端に向かってコンタクト領域108aと108bとの間を接地リング105の中まで延在している。特定用途向け集積回路(ASIC)チップ113a及び113bなどの1つ以上の集積回路(IC)が、コネクタ100に関する情報を提供し、及び/又は認証、識別、コンタクト設定及び電流又は電力調整などの特定の機能を実行するように、PCB107に動作可能に接続されている。
【0022】
図1Bは、プラグコネクタ100の正面図を示す。この正面図はキャップ120を示す。キャップ120は、金属又はその他の導電材料で製作でき、コネクタ100の遠位端からコネクタの側部に沿って本体102に向かって延在し、コンタクト領域108a及び108bに形成されたコンタクト112をX及びY方向に全体的又は部分的に囲み得る。いくつかの実施形態において、キャップ120は、接地してコネクタ100のコンタクト112で生じ得る干渉を最小限に抑えることができ、したがって、接地リング、例えば、
図1Aに示す接地リング105と呼ぶことができる。コンタクト112
(1)〜112
(N)はコンタクト領域108a内に配置でき、追加のコンタクト114
(1)〜114
(N)をタブ104の反対側表面上の領域108b内に配置し得る。いくつかの実施形態において、Nは2〜8であり得る。コンタクト112
(1)〜112
(N)及び114
(1)〜114
(N)は、デジタル信号及びアナログ信号並びに電力及び接地を含む多種多様な信号を伝送するために使用し得る。
【0023】
図1Cは、コンタクト112、114とこれらのコンタクト配置を示す概略断面図である。コンタクト112、114は、図示のように、PCB 150のいずれかの側に実装し得る。いくつかの実施形態において、反対側のコンタクト、例えば、112
(1)と114
(1)は、例えば、ビアを使って、PCB 150を介して互いに短絡又は電気的に接続して、インラインコネクタ設計を創出し得る。他の実施形態において、全てのコンタクトは、任意のコンタクト間の接続がない状態で独立しているか、又は、これらのコンタクトは、コンタクト間で他の接続構成を有し得る。各コンタクトが独立しており任意の他のコンタクトと接続されていない場合、異なるレセプタクルコネクタ、例えば、
図2Cのコネクタ250を使用できる。コンタクト112、114は、銅、ニッケル、真鍮、金属合金又はその他の任意の適当な導電材料から製作し得る。プラグコネクタ100を2つの向きのいずれかで対応するレセプタクルコネクタに挿入できるように、間隔は、前側及び後側のそれぞれのコンタクトの間、及びコンタクトと180度対称のコネクタの縁部との間で一定である。
【0024】
コネクタ100がレセプタクルコネクタと正しく係合している場合、コンタクト112
(1)〜112
(N)又は114
(1)〜114
(N)のそれぞれは、レセプタクルコネクタの対応するコンタクトと電気的接続の状態にある。
【0025】
図1Dは、上記の
図1Cに関連して説明されているように、本発明の1つの特定の実施形態に係るコネクタ100のピンアウト構成を示す。
【0026】
図1Dで示されているピンアウトは、電気的に接続されて接続されたホストデバイスへの電力伝送専用の単一コンタクトとして機能する4個のコンタクト112(4)、112(5)、114(4)、及び114(5)を含む。コネクタ100はまた、アクセサリIDコンタクト112(8)及び114(8)と、アクセサリ電力コンタクト112(1)及び114(1)と、4対で配列された8個のデータコンタクトとを含む。4対のデータコンタクトは、(a)112(2)及び112(3)、(b)112(6)及び112(7)、(c)114(2)及び114(3)、(d)114(6)及び114(7)であってもよい。ホスト電力コンタクト112(4)、112(5)、114(4)及び114(5)は、電力を、コネクタ100に関連付けられるアクセサリからコネクタ100を介してアクセサリに接続されたポータブル電子デバイスに伝送し得る。ホスト電力コンタクトは、電子デバイス又はホストデバイスの妥当な電力要求量を処理し得る大きさであり、例えば、アクセサリから3〜20ボルトを伝送してコネクタ100に接続されたポータブル電子デバイスを充電するように設計し得る。この実施形態において、ホスト電力コンタクト112(4)、112(5)、114(4)及び114(5)は、電力を接地リング105の側面からできるだけ遠ざけることによってシグナルインテグリティを高めるために、コンタクト領域108a、108bの中心に配置される。
【0027】
アクセサリ電力コンタクト112(1)及び114(1)は、電力を電子デバイス(つまり、ホストデバイス)からアクセサリに供給するアクセサリ電力信号用に使用し得る。アクセサリ電力信号は、典型的には、ホスト電力コンタクト112(4)及び112(5)を介して受信された信号のホスト電力より低い電圧信号、例えば、5ボルト以上に対して3.3ボルトである。アクセサリIDコンタクトは、ホストデバイスがアクセサリを認証することを可能にし、アクセサリが以下でより詳細に説明されているアクセサリの能力に関する情報をホストデバイスに伝達することを可能にする通信チャネルを提供する。
【0028】
4対のデータコンタクト(a)112(2)及び112(3)、(b)112(6)及び112(7)、(c)114(2)及び114(3)、(d)114(6)及び114(7)を使用して、いくつかの異なる通信プロトコルのうちの1つ以上を使ったホストとアクセサリとの間の通信を可能にし得る。例えば、データコンタクト112(2)と112(3)は、電力コンタクトに隣接した一方の側に配置され、データコンタクト112(6)と112(7)は電力コンタクトに隣接しているがもう一方の側に配置される。コンタクトの同様の配置を、PCBの他の表面上のコンタクト114についてみることができる。アクセサリ電力コンタクトとアクセサリIDコンタクトは、コネクタの各端部に配置される。データコンタクトは、アクセサリIDコンタクトを介して送信されるどの信号よりも2〜3桁早い速度で動作する高速データコンタクトであり得、アクセサリIDコンタクトは、アクセサリID信号を、本質的に、高速データラインに送られるDC信号のように見せる。したがって、データコンタクトを電力コンタクトとIDコンタクトとの間に配置すると、DC信号又は本質的なDC信号に指定されたコンタクト間にデータコンタクトを挟むことによってシグナルインテグリティが高まる。
【0029】
図1Eは、本発明の別の特定の実施形態に係るコネクタ101のピンアウト構成を示す。
【0030】
コネクタ101はまた、コネクタ100と同様にリバーシブルコネクタである。換言すれば、コネクタ101がホストデバイスの対応するコネクタと嵌合する向きに基づいて、表面108a又は108b上のそれぞれのコンタクトがホストデバイスの対応するコネクタ内のコンタクトと物理的及び電気的に接触する。
図1Eに示すように、コネクタ101は、PCB 150の上面に配置された8個のコンタクトと、PCB 150の下面に配置された8個のコンタクトを有し得る。
【0031】
コネクタ101は、アクセサリIDコンタクトとして機能してアクセサリとポータブル電子デバイスとの間で識別信号を伝送できる2個のコンタクト112(1)及び114(4)を含む。コンタクト112(1)及び114(4)は、
図1Eに示すように、互いに電気的に接続されている。コネクタ101は、4対のデータコンタクト、(a)112(2)及び112(3)、(b)112(6)及び112(7)、(c)114(2)及び114(3)、(d)114(6)及び114(7)を有し得る。この特定の実施形態において、対向するデータコンタクト、例えば、112(2)及び114(2)は、
図1Eに示すように、PCB150を介して互いに電気的に接続されている。コネクタ101は、互いに電気的に接続し得るホスト電力コンタクト112(4)又は114(5)を更に含んでもよい。ホスト電力コンタクト112(4)又は114(5)は、コネクタ101と嵌合するホストデバイスに電力を伝送し得る。例えば、プラグコネクタ101は、ホストデバイスに電力を供給するように設計されている電源システムの一部であり得る。この場合、コンタクト112(4)又は114(5)のいずれかが、例えば、ホストデバイス内のバッテリを充電するために、電源からホストデバイスに電力を伝送し得る。
【0032】
コネクタ101は、例えば、PCB 150を介して、互いに電気的に接続し得るアクセサリ電力コンタクト112(5)及び114(8)を更に含んでもよい。アクセサリ電力コンタクトはホストデバイスから接続されたアクセサリに電力を伝送する。例えば、いくつかの場合、ホストデバイスに接続されたアクセサリは、電源を内蔵しておらず、ホストデバイスから電力を得ることがある。この場合、ホストデバイスは、ホストデバイスの対応するコネクタに対するコネクタ101の向きによって、アクセサリコンタクトのいずれかを介してアクセサリに電力を供給できる。コネクタ101は、互いに電気的に接続された2個の接地コンタクト112(8)及び114(1)を更に含み得る。接地コンタクトは、コネクタ101の接地経路を提供する。
【0033】
図2Aは、本発明の一実施形態に係るレセプタクルコネクタ200を示す。レセプタクルコネクタ200は、空洞204を画定し空洞内にN個のコンタクト206
(1)〜206
(N)を収容する筐体202を含む。動作中、プラグコネクタ100(又は、コネクタ101)などのコネクタプラグを空洞204に挿入して、コンタクト112
(1)〜112
(N)又は114
(1)〜114
(N)をそれぞれのコンタクト206
(1)〜206
(N)に電気的に接続し得る。各レセプタクルコネクタコンタクト206
(1)〜206
(N)は、レセプタクルコネクタ200が収容されている電気的/ホストデバイスに関連付けられる回路に、そのそれぞれのプラグコンタクトを電気的に接続する。例えば、レセプタクルコネクタ200は、ポータブルメディアデバイスの一部であり得、メディアデバイスに関連付けられる電子回路は、筐体202の外部に延在するコンタクト206
(1)〜206
(N)の先端を、ポータブルメディアデバイス内のプリント配線基板(PCB)にはんだ付けすることによってレセプタクル200に電気的に接続される。コネクタ200は、薄くできるように1つの側面のみにコンタクトを含むことに留意されたい。他の実施形態において、コネクタ200は、それぞれの側面にコンタクトを有してもよい。
【0034】
図2Bは、本発明の一実施形態に係るレセプタクルコネクタ200の断面図を示す。図示のように、いくつかの実施形態において、追加のコンタクト208
(1)及び208
(2)がコンタクト206
(1)〜206
(N)の両方の端部に配置されている。コンタクト208
(1)及び208
(2)は、プラグコネクタが空洞204に完全に挿入されているかどうかを検出するために、又は、プラグコネクタ100(又はコネクタ101)のコンタクト112(又は、114)がレセプタクルコネクタ200のコンタクト206に物理的に接続される点まで挿入されているかどうかを検出するために使用し得る。いくつかの実施形態において、コンタクト208
(1)及び208
(2)はまた、プラグコネクタがレセプタクルコネクタから切り離されているかどうかを検出するためにも使用できる。いくつかの実施形態において、コンタクト208は、プラグコネクタが空洞204内の特定の距離を越えて挿入された場合、プラグコネクタ100のキャップ120と接触し得る。いくつかの実施形態において、コンタクト208は、コンタクト112がコンタクト206と確実に物理的に接続している場合にのみ、プラグコネクタの接地リングと接触するように配置されている。いくつかの実施形態において、コンタクト208がプラグコネクタの接地リングに接続する場合、接続を示す信号が生成され得る。
【0035】
いくつかの実施形態において、レセプタクルコネクタは、空洞204の上側と底側の両方にコンタクトを有してもよい。
図2Cは、上部にコンタクト207
(1)〜207
(N)を、底部にコンタクト206
(1)〜206
(N)を含むレセプタクルコネクタ251の断面図を示す。いくつかの実施形態において、上側と底側に電気的に絶縁されたコンタクトを有するプラグコネクタは、
図2Cのレセプタクルコネクタ251を使用し得る。
【0036】
いくつかの実施形態において、レセプタクルコネクタは、上記の説明における空洞204の内側の1つの側のみにコンタクト206
(1)〜(N)を有し得る。特定の実施形態において、レセプタクルコネクタ250は、
図2Dに示すように、8個のコンタクト206
(1)〜206
(8)を有し得る。これらのコンタクトの一部又は全ては、プラグコネクタ上で利用できる信号によって、いくつかの機能のうちの1つを実行するように設定し得る。プラグコネクタ100(又は、コネクタ101)は、レセプタクルコネクタ250に関連付けられるホストデバイスと協働するように設計されたいくつかのアクセサリのうちの任意の1つに関連付けられ得る。例えば、プラグコネクタ100(又は、コネクタ101)は、プラグコネクタのコンタクト、例えば、106
(1)〜106
(N)上で利用可能な信号がオーディオ及び関連の信号を含む場合、オーディオ専用のアクセサリに関連付けることができる。プラグコネクタ100(又は、コネクタ101)が、ビデオアクセサリなどのより複雑なアクセサリに関連付けられている他の場合、プラグコネクタのコンタクトはオーディオ、ビデオ、及び関連信号を伝送し得る。したがって、レセプタクルコネクタ250が様々な異なる種類の信号で動作できるようにするために、レセプタクルコネクタ250のコンタクト206
(1)〜(8)は、プラグコネクタ100(又は、コネクタ101)から利用できる信号に基づいて設定可能とし得る。
【0037】
図2Dに示す特定の実施形態において、レセプタクルコネクタ250は、2個の接続検出コンタクト208
(1)及び208
(2)に加えて、8個のコンタクト206
(1)〜(8)を有する。接続検出コンタクト208
(1)及び208
(2)の動作は、
図2Bに関連して上述されている。コンタクト206
(1)〜(8)のうちの一部又は全ては、例えば、
図4に示すように、多くの可能な信号のうちの1つを伝送するようにコンタクトを設定し得る関連スイッチを有してもよい。しかし、説明を簡単にするため、コンタクト206
(8)に接続した1つのスイッチ220のみを
図2Dに示す。コンタクト206
(1)〜206
(8)のうちのその他のいくつかのコンタクトは、それぞれ、そのコンタクトに接続された類似のスイッチ220を有し得ることに留意されたい。
図2Dに示すように、スイッチ220は、プラグコネクタの構成によって信号S
(1)〜S
nのうちの任意の1つを伝送するようにコンタクト206
(8)を設定するために使用し得る。
【0038】
特定の実施形態において、コンタクト206
(1)は、識別バスピン(ACC_ID)であってもよく、アクセサリに機能を実行させ、コマンドに固有のホストデバイスに対して応答させるように動作可能なコマンドを伝達するように設定し得る。このコマンドは、様々なコマンド(例えば、コネクタピンを識別し、識別されたコネクタピンを介して通信するために複数の通信プロトコルのうちの1つを選択する要求、アクセサリの状態を設定する要求、及びアクセサリの状態を取得する要求)のうちの任意の1つ以上のコマンドであってよい。コンタクト206
(1)はまた、あるいは代替的に、ホストデバイスからアクセサリ(例えば、Acc_Pwr)に電力を伝送するように構成され得る。例えば、コンタクト206
(1)は、別のコンタクト(接地コンタクト、例えば、コンタクト206
(8)など)と電圧差を生じるようにホストデバイス内の正(又は、負)電圧源に接続し得る。
【0039】
特定の実施形態において、コンタクト206
(2)及び206(3)は第1の対のデータコンタクト(DP1/DN1)を形成し得る。このデータコンタクトは、(a)USB差動データ信号、(b)非USB差動データ信号、(c)UART送信信号、(d)UART受信信号、(e)デジタルデバッグ入/出力信号、(f)デバッグクロック信号、(g)オーディオ信号、(h)ビデオ信号などの様々な信号のうちの1つ以上の信号を伝送するように構成され得る。
【0040】
特定の実施形態において、コンタクト206
(4)は、受信電力(例えば、接地ピンなどの別のコンタクトに対する正電圧)をレセプタクルコネクタ200が関連するホストデバイスに(例えば、アクセサリ内又はアクセサリに接続されている電源から)伝送し得る。また、コンタクト206
(5)は、上記のコンタクト206
(1)と同様に、識別バスピン(ACC_ID)として機能し得る。コンタクト206
(5)はまた、あるいは代替的に、接続されたプラグコネクタ100(又は、コネクタ101)のレセプタクルコネクタ200に対する向きによって、ホストデバイスからアクセサリ(例えば、Acc_Pwr)に電力を伝送するように構成され得る。
【0041】
特定の実施形態において、コンタクト206
(6)及び206
(7)は、第2の対のデータピン(DP2/DN2)を形成し得、それぞれ、(a)USB差動データ信号、(b)非USB差動データ信号、(c)UART送信信号、(d)UART受信信号、(e)デジタルデバッグ入/出力信号、(f)デバッグクロック信号、(g)オーディオ信号、(h)ビデオ信号などの様々な信号のうちの1つ以上の信号を伝送するように構成され得る。
【0042】
特定の実施形態において、コンタクト206
(8)は、接地ピンであってもよく、それ以外の場合は、ホストデバイスに供給される又はホストデバイスから供給される電力に対してボルテージポテンシャルをもたらすようにコンタクト206
(1)、206
(4)、及び206
(5)より低いボルテージポテンシャルで提供できる。
【0043】
いくつかの実施形態において、タブ104は、プラグコネクタ100(又は、コネクタ101)のレセプタクル200への第1の向きと第2の向きの両方での挿入を可能にする180度対称の2方向設計を有する。
図3A及び
図3Bは、コネクタ100(又は、コネクタ101)がコネクタ200と嵌合し得る異なる向きを示す模式図である。
図3Aに示すように、コネクタ100(又は、コネクタ101)は、コネクタ100(又は、コネクタ101)のコンタクト112が、コネクタ200のコンタクト206と接続できる位置でコネクタ200と嵌合し得る。説明の適用上、これを第1の向きと呼ぶことができる
。
【0044】
図2E及び
図2Fは、本発明の2つの異なる実施形態に係る、レセプタクルコネクタのピンアウト構成を示す。1つの実施形態において、レセプタクルコネクタ200は、
図1Dのコネクタ100のピンアウトに一致する
図2Eに示すピンアウトを有し、別の実施形態において、レセプタクルコネクタ200は、
図1Eのコネクタ101のピンアウトに一致する
図2Fに示すピンアウトを有する。
図2E及び
図2Fのそれぞれにおいて、ACC1ピン及びACC2ピンは、プラグコネクタの挿入の向きによって、プラグコネクタのアクセサリ電力(ACC_PWR)ピンかアクセサリID(ACC_ID)ピンのいずれかに嵌合するように設定され、データAコンタクトの対は、プラグコネクタのデータ1コンタクトの対かデータ2コンタクトの対のいずれかに嵌合するように設定され、P_IN(電力受信)ピンは、プラグコネクタのホスト電力コンタクトに嵌合するように設定される。更に、
図2Fのピンアウトにおいて、GNDコンタクトは、プラグコネクタ内のGNDコンタクトと嵌合するように設定される。
【0045】
いくつかの実施形態において、コネクタ100(又は、コネクタ101)は、
図3Bに示すようにコネクタ200と第2の向きで嵌合し得る。第2の向きにおいて、コネクタ100(又は、コネクタ101)のコンタクト114は、コネクタ200のコンタクト206と接続される。
図3A及び
図3Bに示すように、第2の向きは、第1の向きから180度回転された方向であり得る。しかし、可能な向きはこれらに限られない。例えば、コネクタ100(又は、コネクタ101)が正方形のコネクタで、コネクタ200が対応する正方形である場合、コネクタ100(又は、コネクタ101)は、4つの可能な向きのうちの1つの向きでコネクタ200と嵌合し得る。したがって、当業者には、当該コネクタについて2つ以上の向きが可能であり得ることが理解されよう。
【0046】
図4は、本発明の一実施形態に係るシステム400のブロック図である。システム400は、電子デバイス/ホストデバイス402を含む。ホストデバイス402は、PC、PDA、携帯型コンピュータデバイス、メディアプレーヤ、ポータブル通信機器、ラップトップコンピュータ、タブレットコンピュータ等であってよい。ホストデバイス402は、マイクロコントローラ412と、マイクロコントローラ402に接続されたコネクタ404とを含む。コネクタ404は、例えば、
図2Aのコネクタ200として実装し得る。ホストデバイス402は、マイクロコントローラ412に加えて、その他の構成要素を含み得ることを留意されたい。しかし、追加の構成要素については、本明細書に記載されている実施形態とは直接に関係がないので、説明を明確にするためにここでは省略する。
【0047】
マイクロコントローラ412は、1つ以上の集積回路、1つ以上のシングルコア又はデュアルコアプロセッサ等を使って実装し得る。いくつかの実施形態において、マイクロコントローラ412は、コネクタ404に接続されたアクセサリ側コネクタの向きを検出するための方向検出回路420を含み得る。
【0048】
コネクタ404は、例えば、
図2Aのコネクタ200として実装し得る。コネクタ404は、複数のコンタクト206
(1)〜206
(N)を有してもよい。コネクタ404のコンタクトの一部には、コネクタ406がコネクタ404と嵌合する向きを含むがそれに限定されないいくつかの要因に基づいていくつかの機能のうちの1つを割り当てることができる。換言すれば、コネクタ404内のコンタクトを多重化することによって、複数の異なる機能を実行し得る。コネクタ404内の各コンタクトは、デバイス402に配置されたいくつかの回路に電気的に接続される。
図4に示すように、コネクタ404のいくつかのコンタクトはスイッチ1〜Nに接続される。いくつかの実施形態において、検出された向きによって、スイッチ1〜Nは、これらのコンタクトがいくつかの機能の1つを実行するように設定し得る。例えば、これらの機能には、差動データ信号、USB電力及び/又はデータ、UART送信及び/又は受信、テストポート、デバッグポート、動作電力等が含まれる。各スイッチは、関連するコンタクトが多くの可能な信号の1つを伝送するように設定するために使用し得る。プラグコネクタ406の構成を以下に説明する。
【0049】
システム400はまた、コネクタ404と嵌合する対応コネクタであり得るコネクタ406を含む。例えば、コネクタ404がレセプタクルコネクタである場合、コネクタ406は、対応するプラグコネクタであってよい。いくつかの実施形態において、コネクタ406は、例えば、上記のコネクタ100(又は、コネクタ101)として実装し得る。コネクタ406は、デバイス402と併用するように設計されているアクセサリに関連付けられ得る。コネクタ406はまた、いくつかのコンタクトを有してもよい。コネクタ406がコネクタ404と物理的に嵌合されている場合、コネクタ406の少なくとも1つのセットのコンタクトは、コネクタ404内のコンタクトに物理的及び電気的に接続される。この結果、コネクタ406内のコンタクトがコネクタ404を介してデバイス402に電気的に接続される。上記の通り、コネクタ406はリバーシブルなので、コンタクト112
(1)から112
(N)がコネクタ404のコンタクト206
(1)〜206
(N)に電気的に接続されるか、又はコンタクト114
(1)から114
(N)が、コネクタ404のコンタクト206
(1)〜206
(N)と電気的に接続される。しかし、デバイス402は、コネクタ406のどのコンタクトセットがコネクタ404内のコンタクトに接続されているか認識しない可能性がある。所定のアクセサリについては、関連するコネクタ406の各コンタクトは、それに関連付けられた、予め定義された機能を有することができる。上記の通り、コネクタ406が伝送する信号の種類は、関連付けられたアクセサリの種類によって決まる。例えば、コネクタ406が、充電/同期ケーブルに関連付けられている場合、コネクタ406のコンタクトは、とりわけ、少なくとも電力信号及び通信信号を伝送し得る。したがって、コネクタ406がコネクタ404と嵌合されている場合、コネクタ406内の各コンタクトが伝送する情報を予め定義し得る。この情報は、ホストデバイス402がコネクタ404のコンタクト206
(1)〜206
(N)を適正に設定できるように、ホストデバイス402に送信され得る。したがって、コネクタ404と406とが嵌合する前に、コネクタ404のコンタクトは「フローティングモード」になる。換言すれば、コネクタ404のコンタクトは、ホストデバイス402内の他の回路から絶縁される。
【0050】
したがって、コネクタ404のコンタクト206
(1)〜206
(N)を設定する前に、コネクタ406のコネクタ404に対する向きを理解することが有益である。換言すれば、コンタクト、例えば、コネクタ406の112
(1)から112
(N)又は、114
(1)から114
(N)の2セットのうちのどちらが、コネクタ404のコンタクト206
(1)〜206
(N)に現在接続されているかを理解することが有益である。これを判定するために、本明細書で方向検出と称するプロセスを実行し得る。
【0051】
しかし、方向検出プロセスを開始する前に、デバイス402において、コネクタ406がコネクタ404に確実に嵌合されていること、つまり、両方のコネクタの少なくともいくつかのコンタクトが互いに物理的に接触していることを確かめる必要がある。これによって、2つのコネクタが適正に嵌合されていること、及び、潜在的なフローティング、部分的な接続、又は電力コンタクトの非接続によるアーク発生若しくは短絡のリスクが低いことを確実にする。コネクタ404と406との間の物理的嵌合を判定するために、本明細書で接続検出と称するプロセスを実行し得る。
【0052】
ホストデバイスがアクセサリとの通信を開始できる前に、プラグコネクタとレセプタクルコネクタが互いに物理的に接続又は「嵌合」されているかどうかを判定することは有益であり得る。上記の通り、レセプタクルコネクタ、例えば、コネクタ404は、レセプタクルコネクタ内の他のコンタクトより奥にある、接続検出コンタクト、例えば、
図2Bに示すコンタクト208
(1)を有する。この接続検出コンタクトは、
図4で「Con Detect」として示されており、ラストメイク/ファーストブレークタイプのコンタクトである。換言すれば、プラグコネクタ406がレセプタクルコネクタ404に嵌合された場合、接続検出コンタクトはコネクタ406の任意の部分と物理的に接触するコネクタ404内の最後のコンタクトである。嵌合解除シーケンスの間、この接続検出コンタクトは、コネクタ406から物理的に係合離脱するコネクタ404内の最初のコンタクトである。いくつかの実施形態において、接続検出コンタクトは、信号線414を介してマイクロコントローラ412に接続される。コネクタ406がコネクタ404と嵌合されていない場合、信号線414は、マイクロコントローラ412によって論理「ハイ」の状態に保持される。したがって、信号線414が論理「ハイ」の状態である限り、ホストデバイスは、コネクタ404に嵌合されているコネクタはないと判断し得る。
【0053】
コネクタ406がコネクタ404に嵌合されている場合、コネクタ406の接地リング、例えば、
図1のキャップ120は、コネクタ406の空洞内を特定の距離移動した後で、接続検出コネクタと物理的に接触する。これによって、信号線414は論理「ハイ」の状態から論理「ロー」の状態に変わる。マイクロコントローラ412は信号線414の状態のこの変化を検出し、コネクタ406がコネクタ404と物理的に接続されたと判定する。いくつかの実施形態において、これら2個のコネクタの物理的設計に基づき、信号線414が論理「ロー」の状態になった場合、プラグコネクタ内の他のコンタクトもまたレセプタクルコネクタ内の対応するコンタクトと物理的に接続していると判断され得る。いくつかの実施形態において、この嵌合が検出されることによって、以下で説明されているように、方向検出、アクセサリ認証、コンタクト設定などの更なるプロセスが開始される。
【0054】
いくつかの実施形態において、接続検出コンタクトは、切断検出にも使用し得る。いくつかの実施形態において、害を及ぼす可能性のある許可されていないアクセサリからデバイス402を保護するために、デバイス402内の全てのスイッチ、例えば、スイッチ1〜N及びスイッチOD1及びOD2は、接続検出の前は開状態に保持される。同様に、コネクタ406が切断されると、有害な信号がデバイス402に伝送されないようにこれらのスイッチが「開」状態に戻されることが好ましい。
【0055】
コネクタ406がコネクタ404から嵌合解除又は切断された場合、接続検出コンタクトは、コネクタ406との物理的接続を失う最初のコンタクトである(これがラストメイク/ファーストブレークタイプコンタクトであることを思い出していただきたい)。接続検出コンタクトがコネクタ406から物理的に切断されると、信号線414が論理「ハイ」の状態に戻る。マイクロコントローラ412はこの状態の変化を検出し、コネクタ406がコネクタ404から切断されたと判断する。この判定に基づいて、マイクロコントローラは1つ以上のスイッチを作動させて「開」状態にし、プラグコネクタの対応するコンタクトのいずれかがこれらの電源をオンにした場合の潜在的なアーク発生及び短絡の危険からデバイス402の内部回路を保護し得る。
【0056】
後にコネクタ406が再びコネクタ404に嵌合されると、デバイス402は上記の接続検出プロセスを再び実行し得る。
【0057】
上記の通り、いくつかの実施形態において、アクセサリ側コネクタ、例えば、コネクタ406は、ホスト側コネクタ、例えば、コネクタ404と2つ以上の向きで嵌合し得る。このような場合、ホストデバイスとアクセサリとの間で信号を適正にルーティングするためにホスト側コネクタに対するアクセサリ側コネクタの向きを判定することが好ましい。
【0058】
いくつかの実施形態において、向きを判定するために、コネクタ404内の1つ以上のコンタクトを使用し得る。上記の通り、コネクタ404のそれぞれのコンタクトを制御するマイクロコントローラ412内の全てのスイッチは、初めは「開」状態である。
図4の実施形態において、OD1及びOD2として示されている2つのコンタクトを使用して向きを判定し得る。方向検出プロセスとコンタクト設定プロセスを説明するために、例えば、コネクタ404のコンタクト206
(1)〜206
(N)からコンタクト206
(1)(
図4で「OD2」として示す)及び206
(8)(
図4で「OD1」として示す)を選ぶことができるとする。これらのコンタクトOD1及びOD2は、それぞれ、対応するスイッチ416及び418にそれぞれ接続される。コネクタ404の任意の他のコンタクトもまた選択でき、コンタクト206
(1)及び206
(8)は単に技術を説明するために使用されていることを理解されたい。コンタクトOD1及びOD2はまた、コンタクト206
(1)〜206
(N)と同様に、いくつかの機能のうちの1つを実行するように構成され得る。いくつかの実施形態において、コンタクトOD1及びOD2は、先ず、向きの検出に使用され、次に、方向検出が完了した後で、特定の他の機能、例えば、アクセサリとホストデバイスとの間の通信信号の伝送、及び/又はホストデバイスからアクセサリへのアクセサリ電力の伝送を実行するように構成され得る。いくつかの実施形態において、コネクタ404内のコンタクト206
(1)〜206
(N)は、方向検出プロセスが完了するまでフローティング状態であってよい。この状況における「フローティング」は、コンタクト206
(1)〜206
(N)が、方向検出の前に何の機能も割り当てられず、非アクティブ又は絶縁された状態にあることを意味する。これは、スイッチ1〜Nのうちの1つ以上のスイッチを「開」状態にすることによって達成し得る。
【0059】
いくつかの実施形態において、方向検出回路420は、コンタクトOD1及びOD2に接続でき、コンタクトOD1及びOD2をモニタしてこれらのコンタクトのいずれかでの特定の信号又は予想される信号の存在を検出し得る。方向検出回路420は、コンタクトOD1及びOD2のいずれかを介してコマンドを送信し、そのコマンドに対する応答を検出し得る。これについては以下で詳細に説明する。
【0060】
いくつかの実施形態において、システム400は、IDモジュール408を含み得る。IDモジュール408は、特定の機能を実行するようにプログラムされた特定用途向け集積回路(ASIC)チップ、例えば、
図1Aのチップ113a又は113bのうちの1つとして実装し得る。いくつかの実施形態において、IDモジュール408は、ホストデバイス402に接続するアクセサリ内に配置し得る。他の実施形態において、IDモジュール408は、コネクタ406の一体部品であり得、例えば、
図1Aに示すように、コネクタ406の筐体内に配置し得る。いくつかの実施形態において、IDモジュール408は、コンタクトOD2を介してホストデバイス402からコマンドを受信し、そのコマンドに対して同じコンタクトOD2を介して所定の応答を返すことができる。いくつかの実施形態において、IDモジュール408は、コネクタ406と密着して一体化し得る。換言すれば、IDモジュール408及びコネクタ406は、デバイス402と協働するように構成されたアクセサリ内に配置し得る。したがって、アクセサリがケーブルである場合、コネクタ406とIDモジュール408は、ケーブルの一部であり得る。いくつかの実施形態において、IDモジュール408は、関連付けられたコネクタ406のコンタクトに関連する設定情報を含み得る。ホストデバイス402との接続に成功すると、IDモジュール408は、以下で説明されているように設定情報をホストデバイス402に提供する。
【0061】
いくつかの実施形態において、システム400はまた、アクセサリハードウェア410も含み得る。アクセサリハードウェア410は、デバイス402と共に動作可能に設計されたアクセサリのプロセッサ及びその他の関連回路であり得る。いくつかの実施形態において、アクセサリはデバイス402に電力を供給し、他の実施形態において、アクセサリはデバイス402から電力の供給を受け得る。アクセサリハードウェア410は、アクセサリの種類及び機能によって異なる。
【0062】
本明細書に記載されているシステム構成と構成要素は説明上のものであり、変更や修正が可能であることが認識されよう。デバイス及び/又はアクセサリは、本明細書で具体的に説明されていない他の構成要素を含み得る。更に、デバイス及びアクセサリは、本明細書において特定のブロックを参照して説明されているが、これらのブロックは説明の都合上定義されたものであって、構成部品の特定の物理的構成を意味することを意図していないことが理解されよう。更に、ブロックは、物理的に異なる構成要素に対応する必要はない。ブロックは、例えば、プロセッサをプログラムすることによって、又は適正な制御回路を設けることによって様々な動作を実行するように構成でき、様々なブロックは、初期の構成を取得する方法によって再構成が可能であるか又は不可能であり得る。本発明の実施形態は、回路とソフトウェアとの任意の組み合わせを使って実装される電子デバイスを含む様々なデバイスにおいて実現し得る。
【0063】
本発明の一実施形態において、動作中、コネクタ406がコネクタ406に物理的に嵌合されている状態で、コネクタ404の接続検出コンタクトがコネクタ406の接地リング部分に物理的に接触すると、信号線414がその状態を論理「ハイ」から論理「ロー」に変更する。この状態の変化により、コネクタ406が、ここで、コネクタ404に接続されていることをデバイス402に知らせる。この後、マイクロコントローラ412が方向検出動作を開始する。
【0064】
コネクタ406は、コネクタ406内の1つのコンタクト、例えば、上記のコンタクトOD1又はOD2のうちの1つに対応し得るIDコンタクト422が識別信号を伝送するように構成されている。アクセサリ識別信号を伝送するコンタクトが識別されると、デバイス402は、コネクタ406のコネクタ404に対する向きを判定することができる。また、
図3A及び
図3Bに関連して上記で説明されているように、コネクタ406は2つ以上の向きでコネクタ404に嵌合し得る。また、上記のように、方向検出プロセスを説明するために、コネクタ404のコンタクトOD1又はOD2のいずれかをコネクタ406のIDコンタクト422に接続することを検討した。その結果、1つの向きにおいて、IDコンタクト422は、コネクタ404のコンタクトOD2に接続でき、第1の向きから180度回転した第2の向きにおいて、IDコンタクト422は、コネクタ404のコンタクトOD2に接続し得る。コンタクトOD1及びOD2のどちらがIDコンタクト422に接続されているかを判定するために次のプロセスを使用し得る。
【0065】
コネクタ406がコネクタ404に嵌合されていると判定されると、スイッチ416又はスイッチ418のいずれかが閉じられ、その閉じられたスイッチに対応するコンタクトが「アクティブ」になる。換言すれば、閉じたスイッチに関連付けられたコンタクトは、ここで、コネクタ406内の対応するコンタクトと電気的に接続している。上記のように、スイッチ416と418は両方とも、コネクタ404とコネクタ406が最初に互いに嵌合された場合に「開」状態にある。スイッチ416が最初に閉じられた場合を検討する。この場合、関連するOD2コンタクト上に電力信号又はその他の有害な信号が現れないようにスイッチ418は開の状態で維持される。
図4に示されている場合、スイッチ416を閉じると、コンタクトOD1が、コネクタ406を介してアクセサリ電力線に電気的に接続される。(
図4の点線で示されているように)コネクタ406がどの向きでコネクタ404に接続されたかによって、コンタクトOD1はまたIDモジュール408にも接続されていることを理解されよう。しかし、方向検出プロセスを説明するために、
図4では、コンタクトOD2がIDモジュール408に接続されている場合にコンタクトOD1がアクセサリ電力線に接続されていることを想定している。
【0066】
スイッチ416が閉じられると、マイクロコントローラ412は、例えば、OD回路420を使用し、OD1コンタクトを介してコマンドを送信する。OD回路420は、この後、OD1コンタクト上のコマンドに対する特定の及び/又は予期される応答に「傾注する」。いくつかの実施形態において、このコマンドはIDモジュール408だけが解釈でき、IDモジュール408は、解釈した後でコマンドに対する応答を生成する。しかし、この例において、OD1コンタクトはアクセサリ電力線に接続されており、IDモジュール408に接続されていない。したがって、IDモジュール408は、コマンドを受信せず、そのため、コマンドに対する応答を生成しない。結果として、OD回路420は、コマンドに対する応答をOD1コンタクトを介して受信しない。
【0067】
所定の時間が経過した後でOD回路420がOD1コンタクト上で応答を検出しない場合、マイクロコントローラ412は、OD1コンタクトがアクセサリ側のIDモジュール408に接続されていないと判断し、スイッチ416を開く。その後、マイクロコントローラ412は、スイッチ418を閉じる。これによって、コンタクトOD2はIDコンタクト422を介してIDモジュール408に電気的に接続される。この後、OD回路420は、上記と同じコマンドをOD2コンタクトを介して送信する。OD2コンタクトがIDモジュール408に接続されているので、IDモジュール408は、コマンドを受信すると、応答を生成し、OD2コンタクトを介してマイクロコントローラ412に送信する。この応答は、OD回路420によって検出される。したがって、マイクロコントローラ412は、OD2コンタクトがIDモジュール408に接続されていることを認識し、OD2コンタクトに接続されている線をアクセサリ通信線(例えば、
図1EのACC_ID)として指定する。したがって、本発明者の例では、コンタクト206
(1)又は206
(8)の1つがアクセサリ通信信号を伝送し、もう1つのコンタクトがアクセサリ電力コンタクト(例えば、
図1EのACC_PWR)として指定され得る。アクセサリ通信コンタクト及びアクセサリ電力コンタクトの位置/配置に基づいて、ホストデバイス402は、コネクタ406のコネクタ404に対する向きを判定し得る。
【0068】
図5は、本発明の一実施形態に係る、アクセサリ側コネクタのホスト側コネクタに対する向きを判定するプロセス500のフローチャートである。プロセス500は、例えば、
図4のホストデバイス402によって実行し得る。
【0069】
ブロック502では、ホストデバイスは、アクセサリの(第1の)コネクタとホストデバイスの(第2の)コネクタとの接続を検出し得る。換言すれば、ホストデバイスは、アクセサリコネクタが、例えば、そのコネクタのコネクタ検出コンタクトを介して、ホストデバイスのコネクタと物理的に接続されていることを検出し得る。アクセサリコネクタがホストデバイスのコネクタと物理的に接続されていることをホストデバイスが判定すると、ブロック504において、ホストデバイスはマイクロコントローラ経由で、ホストデバイスのコネクタ(例えば、上記OD1コンタクト)の第1のコンタクト(例えば、
図4のOD1)を介してコマンドを送信する。例えば、ホストデバイスは、以下で
図7Aを参照して説明されているIDコマンドを送信し得る。ホストデバイスは、このコマンドを送信すると、アクセサリからのこのコマンドに対する応答を待つ。ブロック506では、ホストデバイスは、コマンドに対する応答がアクセサリから第1のコンタクトを介して受信されたかどうかをチェックする。第1のコンタクトを介して応答が受信されると、ホストデバイスは、ブロック508において、アクセサリコネクタのホストデバイスのコネクタに対する向きを判定する。例えば、応答に基づいて、ホストデバイスは、ホストデバイスのコネクタのどちらのコンタクトがアクセサリ側コネクタのIDモジュールに接続されているかを認識し、したがって、そのコンタクトをIDバスライン又はアクセサリ通信線として指定し得る。IDバスライン/コンタクトを認識すると、ホストデバイスは、アクセサリコネクタが差しこまれている向きを判定する。ホストデバイスは、向きを認識すると、ブロック510で、判定された向きに基づいて第2のコネクタの残りのコンタクトを設定し得る。
【0070】
ブロック506でホストデバイスがコマンドに対する応答を受信しなかった場合、ホストデバイスは、ブロック512で、ホストデバイスのコネクタの第2のコンタクト(例えば、
図4のOD2)を介して同じコマンドを送信し得る。ブロック514で、ホストデバイスは、そのコマンドに対する有効な応答がIDモジュールから第2のコンタクトを介して受信されたか再度チェックし得る。有効な応答が受信された場合、プロセス500は上記の通りブロック508及び510に進み、これに応じて、ホストデバイスは、ホストデバイスの(第2の)コネクタ内の残りのコンタクトを設定する。ブロック514で応答が受信されない場合、プロセスはブロック504に戻り、ホストデバイスが再び第1のコンタクトを介して同じコマンドを送信する。したがって、ホストデバイスは、第1の及び第2のコンタクトのうちの1つを介して有効な応答を受信するまで、コマンドを交互に第1のコンタクト及び第2のコンタクトを介して送信する。いくつかの実施形態において、プロセス500は、特定の時間又は特定の回数の試みの後でタイムアウトになるようにプログラムし得る。
【0071】
図5で説明されている具体的なステップは、本発明の一実施形態に係る、向きを判定するための特定の方法を提供するものであることが認識されるであろう。代替的実施形態によると、ステップの他のシーケンスもまた実行し得る。例えば、本発明の代替的実施形態では上記のステップを異なった順序で実行し得る。更に、
図5で説明されている個々のステップは、その個々のステップにおいて適切な様々な順序で実行し得る複数の副ステップを含んでもよい。更に、特定の用途によって、ステップを追加したり削除したりしてもよい。特に、いくつかの実施形態においては、複数のステップを省略し得る。当業者であれば、多くの変形、修正、及び代替案を認識するであろう。
【0072】
本発明の特定の実施形態は、ホスト側コネクタのコンタクトを動的に設定する技術を提供する。コンタクトの設定は、初めにアクセサリ側コネクタの向きを判定することなく行い得る。いくつかの実施形態において、ホストデバイスは、上記のように、アクセサリにコマンドを送信し得る。コマンドに対する応答には、アクセサリ側コネクタのコンタクト割当/構成に関する情報を含み得る。アクセサリは、このコンタクト割当情報を後述のパケットと類似の応答パケットでホストデバイスに提供し得る。コマンドと応答の詳細は、
図7A及び
図7Bに関連して後述する。コンタクト設定情報に加えて、アクセサリはまた、例えば、IDモジュール408を介して、アクセサリ、アクセサリ識別子等の設定情報をホストデバイスに送信することもできる。
【0073】
いくつかの実施形態において、アクセサリ設定情報は、とりわけ、アクセサリの種類、アクセサリが提供/要求する信号の種類等を含み得る。例えば、アクセサリは、コネクタ406の各コンタクトが伝送するように設定された信号に関する情報を提供し得る。例えば、第1のコンタクトは電力信号を伝送し得、第2のコンタクトはデータ信号を伝送し得る、など。マイクロコントローラ412は、このコンタクト設定情報をアクセサリから受信すると、コネクタ404内の対応するコンタクトに関連付けられたスイッチ1〜Nを作動させ、コネクタ406内の対応するコンタクトと同じ信号を伝送するように、かかるコンタクトを設定し得る。
【0074】
ホストデバイス内のコンタクト設定は、アクセサリ側コネクタの方向検出とは独立して生じ得ることに留意されたい。例えば、アクセサリ側コネクタ、例えば、コネクタ406は、単一方向のみでコネクタ404と接続し得る。この場合、コネクタ406のコネクタ404に対する向きを判定する必要がない。接続が完了すると、アクセサリは、コネクタ406に関するコンタクト設定情報をホストデバイスに送信し得る。その後、ホストデバイスは、コネクタ406の設定に合うようにホストデバイスのコネクタ404のコンタクトを設定し得る。したがって、いくつかの実施形態において、コンタクト設定は、最初に方向検出を実行することなく行い得る。
【0075】
コネクタ404内のコンタクトが正しく設定されると、デバイス402とアクセサリとの間で連続した電気的リンクが確立され、デバイス402が実質的にアクセサリと通信できる、例えば、コマンドとデータのやり取り、アプリケーションプログラムの実行等ができる。
【0076】
図6は、本発明の一実施形態に係る、コネクタのコンタクトを設定するためのプロセス600のフローチャートである。プロセス600は、例えば、
図4のデバイス402によって実行し得る。
【0077】
ホストデバイスは、先ず、ホスト側コネクタとアクセサリ側コネクタとの間の物理的接続を検出する(ブロック602)。一実施形態において、ホストデバイスは、上記の接続検出コンタクトを使用して物理的接続を判定し得る。2つのコネクタが物理的に接続されると、ホストデバイスは、アクセサリ側コネクタのコンタクトに関する設定情報を提供するようにアクセサリにコマンドを送信し得る(ブロック604)。いくつかの実施形態において、ホストデバイスはこの情報を要求する必要がなく、2つのコネクタ間の物理的接続が判定されると、アクセサリが自動的にこの情報を提供し得る。ホストデバイスは、コンタクト設定情報をアクセサリから受信する(ブロック606)。コンタクト設定情報により、ホストデバイスは、アクセサリ側コネクタ内の各コンタクトに関連付けられた機能を判定できる。この情報に基づき、ホストデバイスは、対応するアクセサリ側コネクタのコンタクトの機能に一致するようにホスト側コネクタのコンタクトを設定する(ブロック608)。いくつかの実施形態において、ホストデバイスは、適当な機能をホスト側コネクタ内の一部のコンタクトに付与するように
図4に示すスイッチ1〜Nを作動させ得る。
【0078】
いくつかの実施形態において、アクセサリは、コンタクト設定情報をホストデバイスに送信しない場合さえもある。代わりに、ホストデバイスが、例えば、アクセサリ識別子に基づいて、ホストデバイスに接続されているアクセサリの種類を判定し得る。アクセサリの種類を判定すると、ホストシステムは、ルックアップテーブルを参照して、アクセサリ側コネクタのコンタクト設定を判定し、それに基づいてホスト側コネクタのコンタクトを設定し得る。この場合、ルックアップテーブルは、各アクセサリに関連付けられた一意のアクセサリ識別子を使用して索引付できる様々なアクセサリ側コネクタに関するコンタクト設定情報を含み得る。
【0079】
図6で説明されている具体的なステップは、本発明の一実施形態に係る、コンタクトを設定するための特定の方法を提供するものであることが認識されるであろう。また、代替的実施形態によると、ステップの他のシーケンスもまた実行し得る。例えば、本発明の代替的実施形態では上記のステップを異なった順序で実行し得る。更に、
図6で説明されている個々のステップは、その個々のステップにおいて適切な様々な順序で実行し得る複数の副ステップを含んでもよい。更に、特定の用途によって、ステップを追加したり削除したりしてもよい。特に、いくつかの実施形態においては、複数のステップを省略し得る。当業者であれば、多くの変形、修正、及び代替案を認識するであろう。
【0080】
いくつかの実施形態において、アクセサリ側コンタクトの設定は、初期の設定情報が提供された後でアクセサリによって変更し得る。これは、アクセサリが2つの異なる機能、例えば、USB及びUARTを実行できる場合に起こり得る。最初に、アクセサリは、アクセサリ側コネクタのコンタクトをUSB信号用に設定されていると指定して、その情報をホストに伝達し得る。その後、ホストは、アクセサリ側コネクタのコンタクトと一致するように、ホスト側コネクタのコンタクトを設定し得る。その後、動作中に、アクセサリがアクセサリ側コネクタのコンタクトを今度はUART信号を伝送するように変更すると想定する。この場合、アクセサリは新しい設定情報をホストデバイスに送信し、ホストデバイスは、新しい設定に一致するように、ホスト側コネクタのコンタクトの設定を動的に変更し得る。
【0081】
上記のように、IDモジュールは、マイクロコントローラからコマンドを受信すると、所定の応答をマイクロコントローラに送り返す。
図7A及び
図7Bは、本発明の一実施形態に係る、コマンド及び応答シーケンスを示す。
【0082】
図7Aは、本発明の一実施形態に係る、マイクロコントローラがOD1線又はOD2線を介して送信し得るコマンドシーケンス700の構造を示す。コマンドシーケンス700は、ブレークパルス702を含み得る。いくつかの実施形態において、ブレークパルス702は、コマンドがマイクロコントローラによって送信されていることをIDモジュールに知らせるために、及び/又はコマンドの開始を知らせるために使用し得る。いくつかの実施形態において、ブレークパルスの持続時間はプログラム可能であってよい。いくつかの実施形態において、ブレークパルス702は、IDモジュールがマイクロコントローラからコマンドを受信できるようにIDモジュールを既知の状態にリセットする。ブレークパルス702の後にコマンド704が続いてもよい。いくつかの実施形態において、コマンド704は、8〜16ビットを含み得る。いくつかの実施形態において、コマンド704の後にNバイトのペイロード706が続いてもよい。他の実施形態において、コマンド704はペイロードなしに送信し得る。向きを検出する目的で、コマンド704の後に16ビット以下のペイロード706が続いてもよい。この場合、ペイロード706は、マイクロコントローラに関連付けられた一意の識別子を含み得る。IDモジュールはこの一意の識別子を使ってマイクロコントローラ及び/又はデバイスを認識し、コマンド704に対する応答を作成し得る。例えば、この一意の識別子は、デバイスが、電話、メディアプレーヤ、又は、例えば、タブレットコンピュータ、又はデバッグアクセサリのパーソナルコンピュータデバイスであることをIDモジュールに知らせ得る。
【0083】
いくつかの実施形態において、ペイロード706(又は、コマンド704)の後に巡回冗長検査(CRC)シーケンス708が続いてもよい。CRCは、生のコンピュータデータに対する偶発的な変更を検出することを意図したエラー検出コードであり、一般的に、デジタルネットワーク及び記憶装置で使用されている。これらのシステムのデータ入力ブロックには、コンテンツの多項式除法の剰余から導き出された短いチェック値が添付されている。検索すると、計算が繰り返され、チェック値が一致しない場合は、想定されるデータ破壊に対して是正措置を講じ得る。いくつかの実施形態において、CRCシーケンス708は、8次の多項式関数X
8+X
7+X
4+1を使って生成し得る。いくつかの実施形態において、CRC708の後に、コマンドシーケンスの終了を知らせる別のブレークパルス702が続いてもよい。このブレークパルスは、マイクロコントローラがコマンドと、該当があれば、関連データの送信を終了し、応答を受信できる状態にあることをIDモジュールに知らせる。IDモジュールのみがこのコマンドを解釈し応答できることが理解されよう。したがって、コマンドシーケンス700がIDモジュールに接続されていないラインを介して送信された場合、ホストデバイス内のマイクロコントローラはそのコマンドに対する応答を受信しない。いくつかの実施形態において、コマンドは、応答がホストデバイスから受信されない場合はタイムアウトになり得る。この場合、マイクロコントローラは、ラインがIDモジュールに接続されておらず、したがって、IDバスラインではないものと判断する。
【0084】
当業者であれば、コマンドシーケンス700は例示的なものにすぎず、デバイスと、IDモジュールを含むアクセサリとの間の通信の特定要件によって、
図7Aに示されるもの以外の情報を多かれ少なかれ含むものと認識されよう。
【0085】
IDモジュールは、コマンドシーケンス700を受信すると、
図7Bに示す応答シーケンス720を送信し得る。応答シーケンス720は、コマンド応答722を含み得る。コマンド応答722は、コマンド704に対する所定の応答であってもよい。例えば、接続されたデバイスの種類に関係なく、各IDモジュールは、デバイスからのコマンド704の受信に応じて同じコマンド応答722を生成し得る。応答シーケンス720はまた、48ビット以下の長さであり得るペイロード724を含んでもよい。いくつかの実施形態において、ペイロード724は、IDモジュールが組み込まれたアクセサリに関連付けられた識別子、例えば、アクセサリの通し番号を含み得る。いくつかの実施形態において、ペイロード724はまた、アクセサリの種類などのアクセサリに関連する設定情報、デバイスと通信するためにアクセサリが必要とする様々な信号等を含み得る。いくつかの実施形態において、ペイロード724は、アクセサリ側コネクタ内の各コネクタに関連付けられた機能に関する情報を含み得る。例えば、4ビット以下を使用してOD1スイッチ及びOD2スイッチに付与する機能を表示し得る。いくつかの実施形態において、ペイロード724内の2対以下の2ビットで、N=4である場合のスイッチ1〜Nの設定方法、又は換言すれば、スイッチ1〜Nに関連付けられたコンタクトに付与される機能をマイクロコントローラに知らせ得る。設定されると、各スイッチはコネクタ404内の様々なコンタクトをデバイス402内の他の回路に接続する。追加のスイッチには追加のビットが使用され、システムが拡張可能であることが理解されよう。したがって、マイクロコントローラは、コマンド応答を受信すると、上記の様々なスイッチ1〜N、OD1及びOD2の設定方法を認識する。いくつかの実施形態において、ペイロード724の後にCRC 726が続いてもよい。CRC 726は、CRC 708と類似であり得る。いくつかの実施形態において、コマンドシーケンス700を送信し、応答シーケンス720を受信するための総時間は約3ミリ秒である
。
【0086】
図4を再度参照すると、いくつかの実施形態において、コネクタ406がコネクタ404から物理的に取り外され/切り離されると、デバイス402はコネクタ検出414を介して取り外しを検出し、その結果、マイクロコントローラ412は全てのスイッチ1〜Nを「開」状態にする。例えば、論理「ハイ」が信号線414上で所定時間以上の間検出されると、マイクロコントローラはコネクタ406がコネクタ404から切り離されたものと判断し、デバイス402にその旨を指示し得る。いくつかの実施形態において、上記の所定時間は20マイクロ秒〜100マイクロ秒である。
【0087】
上記の実施形態は、互いに独立し得る。例えば、方向検出は、コンタクト設定を伴わずに実行し得る。方向検出は、全てのコンタクトが固定された機能を有している場合に有用であり得、アクセサリ側コネクタがどの向きでホスト側コネクタに接続されているかを判定するのみが望ましい。また、別の実施形態において、コンタクト設定は、ホスト側コネクタに対するアクセサリ側コネクタの向きを最初に判定することなく実行し得る。例えば、いくつかの実施形態において、2つのコネクタは単一方向でのみ嵌合し得る。この場合、向きを判定する必要がなく、接続と同時に、ホストデバイスがアクセサリ側コネクタに基づいてホスト側コネクタのコンタクトを設定し得る。
【0088】
本発明の更に別の実施形態において、コンタクト設定は、アクセサリ側コネクタのホスト側コネクタに対する向きに従い、その向きに基づいて実行し得る。例えば、2つのコネクタを2つ以上の向きで互いに嵌合し得る場合、1つのコネクタの別のコネクタに対する向きを(例えば、上記の技術を使用して)先ず判定し、その後で、判定した向きに基づいてコンタクトを設定することが有益な場合がある。
【0089】
図8Aは、本発明の一実施形態に係る、ホスト側コネクタ250に嵌合されたアクセサリ側コネクタ100(又はコネクタ101)を示す断面図である。
図8Aに示すように、コネクタ100のコンタクト114(1)は、コネクタ250のコンタクト206(1)に接触している。コネクタ100はリバーシブルであり、少なくとも2つの向きでコネクタ250と嵌合し得る。
図8Aで示す向きに加えて、コネクタ100はまた、
図8Bで示す別の向きでコネクタ250と嵌合し得る。別の向きで、コネクタ100のコンタクト112(8)は、コネクタ250のコンタクト206(1)に接触している。したがって、この2つの向きにおいて、コネクタ100の2つの異なるコンタクトがコネクタ250の同じコンタクトに接続し得ることが分かる。したがって、この場合、いずれかのコンタクトを設定する前に、先ず、コネクタ100が嵌合されている向きを判定することが有益である。例えば、一部のコンタクトは電力を伝送し得るので、ホスト側コネクタの間違ったコンタクトが電力を伝送できるように設定すると不都合である。
【0090】
この実施形態において、コネクタ100が、例えば、上記の接続検出コンタクトを使って、コネクタ250に物理的に接続されていることが確認されると、ホストデバイスは、コネクタ100がコネクタ250と嵌合されている向きを判定しようと試みる。換言すれば、ホストデバイスは、コネクタ100のどのコンタクトがコネクタ250のコンタクトと実際に物理的に接続されているかを判定する。ホストデバイスは、向きを判定すると、その情報とコネクタ100のコンタクト設定情報を使ってコネクタ250のコンタクトを設定し得る。
【0091】
図9A及び
図9Bは、本発明の一実施形態に係る、コネクタのコンタクトの向きを判定し設定するためのプロセス900のフローチャートを示す。プロセス900は、例えば、
図4のホストデバイス402によって実行し得る。
【0092】
上記のように、ホストデバイスがそのホスト側コネクタを介してどのアクセサリにも接続されていない場合、ホスト側コネクタのコンタクトを制御する全てのスイッチは「開」状態になり、全てのコンタクトが非アクティブ/絶縁状態になる。これは、ホストデバイスが不要信号を受信できないようにしてホストデバイスを損傷から保護するためである。ブロック902で、ホストデバイスは、例えば、ホスト側コネクタ内の接続検出コンタクトを使って、アクセサリ側コネクタがホスト側コネクタに物理的に嵌合されていることを判定する。2つのコネクタの物理的嵌合の検出に応じて、ホストデバイスは、ブロック904で、向きの検出に使用するホスト側コネクタの第1のコンタクトに関連付けられたスイッチを閉じる。この結果、第1のコンタクトがアクティブになり、又は換言すれば、これで第1のコンタクトを介してホストデバイスとアクセサリとの間に連続した接続経路が存在するようになる。
【0093】
その後、ホストデバイスはブロック906で第1のコンタクトを介してアクセサリにコマンドを送信する。いくつかの実施形態において、このコマンドは、アクセサリから特定の情報を要求し得る。第1のコンタクトを介してコマンドを送信した後、ホストデバイスはブロック908でアクセサリからの応答の受信を待つ。この後、ホストデバイスは、ブロック910でアクセサリから応答が受信されたかどうかチェックする。ホストデバイスは、第1のコンタクト上でアクセサリから応答を受信すると、その第1のコンタクトをアクセサリ通信信号を伝送するコンタクトとして指定する。上記のように、ホストデバイスが送信するコマンドは、アクセサリ内又はアクセサリ側コネクタ内のIDモジュールだけが解釈し得る。したがって、応答が第1のコンタクト上で受信されたという事実は、第1のコンタクトがアクセサリ内のIDモジュールに接続されていることを意味する。
【0094】
第1のコンタクトがアクセサリ側コネクタのアクセサリ通信コンタクトに接続されていることが確認されると、ホストデバイスは、ブロック912でアクセサリ側コネクタのホスト側コネクタに対する向きを判定し得る。換言すれば、ホストデバイスはここで、アクセサリ側コネクタのどのコンタクトがホスト側コネクタのコンタクトと物理的に接続しているかを認識する。第1のコンタクトを介してアクセサリから受信された応答は、アクセサリ側コネクタの各コンタクトに関連付けられた機能を特定する情報を含む。ブロック914で、ホストデバイスは、アクセサリから受信した情報を分析し、アクセサリ側コネクタの各コンタクトに関連付けられた機能を判定する。この情報と以前に判定された方向情報に基づき、ホストデバイスはここで、アクセサリ側コネクタと一致させるために、ホスト側コネクタのどのコンタクトにどの機能が割り当てられるかを認識する。これを達成するために、ホストデバイスは、ブロック916で、ホスト側コネクタの1つ以上のコンタクトに関連付けられたスイッチを作動させ、判定された機能を実行できるようにコンタクトを設定する。
【0095】
しかし、ブロック910で、ホストデバイスがアクセサリから何の応答も受信しない場合、ホストデバイスは第1のスイッチを開にし、
図9Bに示すようにブロック918で第1のコンタクトを非アクティブにする。その後、ブロック920で、ホストデバイスは第2のコンタクトに関連付けられた第2のスイッチを閉じて、第2のコンタクトをアクティブにする。ブロック922で、ホストデバイスは同じコマンドを第2のコンタクトを介して送信し、アクセサリからの応答を待つ。ブロック924で第2のコンタクトを介してアクセサリから応答が受信されると、プロセス900は、ステップ912へと続く。ブロック924でホストデバイスがアクセサリから応答を受信しなかった場合、ホストデバイスはブロック928で、第2のスイッチを開にし、第2のコンタクトを非アクティブにする。その後、プロセス900はステップ904に戻り、第1のコンタクトが再びアクティブにされる。
【0096】
ホストデバイスは、第1のコンタクトと第2のコンタクトを、交互に、アクティブにし、アクティブなコンタクトを介してコマンドを送信しアクセサリからの応答を待つことができる。いくつかの実施形態において、ホストデバイスは、アクセサリから応答を受信するまでこのプロセスを無限に繰り返し得る。他の実施形態において、所定の時間が経過した後、ホストはプロセス900を停止し、エラーを報告し得る。いくつかの実施形態において、向きの判定に使用された第1のコンタクトと第2のコンタクトは、予め決定されてホストデバイスにプログラムされる。他の実施形態において、第1のコンタクト及び/又は第2のコンタクトは動的に選択し得る。
【0097】
図9A及び
図9Bで説明されている具体的なステップは、本発明の一実施形態に係る、向きを判定しコンタクトを設定するための特定の方法を提供するものであることが認識されるであろう。代替的実施形態によると、ステップの他のシーケンスもまた実行し得る。例えば、本発明の代替的実施形態では上記のステップを異なった順序で実行し得る。更に、
図9A及び
図9Bで説明されている個々のステップは、その個々のステップにおいて適切な様々な順序で実行し得る複数の副ステップを含んでもよい。更に、特定の用途によって、ステップを追加したり削除したりしてもよい。特に、いくつかの実施形態においては、複数のステップを省略し得る。当業者であれば、多くの変形、修正、及び代替案を認識するであろう。
【0098】
回路、論理モジュール、プロセッサ及び/又はその他の構成要素は、本明細書において、様々な動作を実行するように「設定」されているものとして説明し得る。当業者には、そのような設定が、実装に応じて、具体的な構成要素の設計、セットアップ、相互接続、及び/又はプログラミングを通じて達成することができ、また、同様に実装に応じて、構成された構成要素を、異なる動作のために再構成可能とする場合も、又は再構成可能としない場合もあることが理解されるであろう。例えば、適切な実行可能コードを提供することによって、プログラム可能プロセッサを構成することができ、論理ゲートと他の回路素子とを適切に接続することによって、専用論理回路を構成することができる、などである。
【0099】
更には、上述の実施形態は、具体的なハードウェア及びソフトウェアの構成要素に言及する場合があるが、当業者には、ハードウェア及び/又はソフトウェアの構成要素の、異なる組み合わせも使用することができ、ハードウェアの形態で実装されているとして説明される特定の動作はまた、ソフトウェアの形態でも実装することができ、又は逆も同様であることが理解されるであろう。
【0100】
本発明の様々な機能が組み込まれたコンピュータプログラムは、様々な永続的なコンピュータ可読記憶媒体にコード化することができ、好適な媒体としては、磁気ディスク又はテープ、コンパクトディスク(CD)又はDVD(デジタル汎用ディスク)などの光学的記憶媒体、フラッシュメモリなどが挙げられる。プログラムコードでコード化されるコンピュータ可読記憶媒体は、対応デバイスと共にパッケージ化するか、又は他のデバイスとは別個に提供することができる。更には、プログラムコードは、インターネットを含めた、様々なプロトコルに準拠する有線ネットワーク、光ネットワーク、及び/又は無線ネットワークを介して、コード化して送信することができるため、例えばインターネットダウンロードを介して、配信が可能となる。
【0101】
それゆえ、本発明は、特定の実施形態に関して説明されているが、本発明は、以下の特許請求の範囲内での、全ての修正形態及び均等物を包含することを意図するものであることが理解されるであろう。