(57)【要約】アクセサリデバイスのためのリバーシブルコネクタが説明される。１以上の実施形態において、ホストコンピューティングデバイスのアクセサリのためのコネクタケーブルは、コネクタケーブルのヘッドが、いずれかの向き（ストレート又はリバース）で、ホストコンピューティングデバイスの対応するポートに挿し込まれ得るように、構成されている。ホストコンピューティングデバイスは、コネクタの割り当てられたピンに関連付けられた信号をサンプリングして、アクセサリポートへのコネクタの接続を検出し、コネクタの向きを確認するよう構成されている。ホストコンピューティングデバイスのコントローラは、コネクタの挿し込みの際にこれらの割り当てられたピンを介して伝達された信号の高値及び低値の組合せを用いて、異なるタイプのデバイスを識別し、コネクタケーブルの向きを解決することができる。次いで、ホストコンピューティングデバイスの切り替えメカニズムは、それに応じて信号を自動的にルーティングするように構成され得る。
2017523509.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピューティングデバイスにより実行される方法であって、
前記ホストコンピューティングデバイスのポートへのコネクタの接続を、前記コネクタにおいて割り当てられた一対の検出ピンを介して伝達された信号に基づいて検出する検出ステップと、
前記信号に基づいて、前記ポートへの前記コネクタの前記接続の向きを確認する確認ステップであって、前記信号は、前記一対の検出ピンについての論理状態の組合せを示す、確認ステップと、
前記の確認された向き及び前記論理状態の組合せに応じて信号をルーティングするように、前記ホストコンピューティングデバイスの切り替えメカニズムを構成する構成ステップと、
を含む方法。
【請求項２】
前記検出ステップは、
前記一対の検出ピンを介して伝達された前記信号をともにサンプリングするステップと、
前記一対の検出ピンを介して取得された値を組み合わせて、前記論理状態の組合せを導出するステップと、
を含む、請求項１記載の方法。
【請求項３】
前記一対の検出ピンを介して伝達された前記信号をともにサンプリングすることは、前記信号を並列にサンプリングすることを含む、請求項２記載の方法。
【請求項４】
前記一対の検出ピンは、ホットプラグ検出と、デバイス認証、電力交換、及び信号ルーティング制御のための通信と、をサポートするためのインタフェースを形成する、請求項１記載の方法。
【請求項５】
前記インタフェースは、接続されたアクセサリデバイスのデバイスタイプ及び前記接続の前記向きに基づいて、異なる信号ルーティングオプションの間で且つ異なる通信技術の間で切り替えるよう構成可能である、請求項４記載の方法。
【請求項６】
前記論理状態の組合せは、前記コネクタを介して接続されたアクセサリデバイスが、１ワイヤデバイスであるか又は２ワイヤデバイスであるかを示す、請求項１記載の方法。
【請求項７】
前記構成ステップは、前記の確認された向きに応じてストレート信号経路又はリバース信号経路を生じさせるように、前記ホストコンピューティングデバイスのスイッチ及びマルチプレクサについての位置を指示するステップを含む、請求項１記載の方法。
【請求項８】
前記構成ステップは、前記ホストコンピューティングデバイスの指示の下でアクセサリデバイスの信号切り替えコンポーネントを介する信号ルーティングのセットアップを生じさせるためのコマンドを、前記アクセサリデバイスに送信するステップをさらに含む、請求項７記載の方法。
【請求項９】
前記確認ステップは、
前記コネクタの割り当てられた検出ピンに関連付けられた信号をサンプリングして、アクセサリデバイスのデバイスタイプを、１ワイヤデバイス又は２ワイヤデバイスとして判定するステップと、
前記デバイスタイプが前記１ワイヤデバイスである場合、前記のサンプリングされた信号から直接的に、前記接続の前記向きを判定するステップと、
前記デバイスタイプが前記２ワイヤデバイスである場合、前記アクセサリデバイスにより提供されたクレデンシャルを使用して、前記向きを示す前記検出ピンについての正当性状態を確立する認証シーケンスを通じて、前記向きを解決するステップと、
を含む、請求項１記載の方法。
【請求項１０】
ホストコンピューティングデバイスであって、
１以上のマイクロコントローラと、
アクセサリデバイスのためのコネクタに接続可能なアクセサリポートと、
命令を記憶している１以上のコンピュータ読み取り可能な媒体であって、前記命令が、前記１以上のマイクロコントローラにより実行されたときに、前記命令は、前記ホストコンピューティングデバイスに、
前記コネクタに組み込まれた一対の検出ピンを介して、前記アクセサリポートへの前記コネクタの挿し込みを検出する動作と、
前記一対の検出ピンを介して伝達された、高論理状態と低論理状態との論理状態の組合せを取得する動作と、
前記論理状態の組合せに基づいて、前記アクセサリデバイスのデバイスタイプを、１ワイヤデバイス又は２ワイヤデバイスとして判定する判定動作と、
前記アクセサリポートに挿し込まれた前記コネクタの向きを確認する確認動作であって、
前記デバイスタイプが前記１ワイヤデバイスである場合、前記論理状態の組合せから直接的に、前記向きを判定する動作と、
前記デバイスタイプが前記２ワイヤデバイスである場合、前記一対の検出ピンを介して前記アクセサリデバイスの１以上のアイデンティティレジスタのレジスタ値をサンプリングして、前記向きを示す正当性状態を確立する動作と、
を含む確認動作と、
前記デバイスタイプ及び前記の確認された向きに応じて信号ルーティングをセットアップするセットアップ動作と、
を含む複数の動作を実行させる、１以上のコンピュータ読み取り可能な媒体と、
を備えたホストコンピューティングデバイス。
【請求項１１】
前記１ワイヤデバイスは、単一ライン上に組み合わされるＲＸ／ＴＸを介して通信するデバイスであり、前記２ワイヤデバイスは、別々のＲＸライン及びＴＸラインを使用して通信するデバイスである、請求項１０記載のホストコンピューティングデバイス。
【請求項１２】
前記セットアップ動作は、前記の確認された向きに応じてストレート信号経路又はリバース信号経路において信号をルーティングするように、切り替えメカニズムを構成する動作を含む、請求項１０記載のホストコンピューティングデバイス。
【請求項１３】
前記判定動作は、検出ケースに対する可能な論理状態の組合せのマッピングを参照して、前記デバイスタイプを識別する動作を含む、請求項１０記載のホストコンピューティングデバイス。
【請求項１４】
前記命令は、さらに、前記ホストコンピューティングデバイスに、前記アクセサリデバイスにより提供されたクレデンシャルをサンプリングして、前記アクセサリデバイスが、前記ホストコンピューティングデバイスとのインタラクションについて認可される認可デバイスであるか又は前記ホストコンピューティングデバイスとのインタラクションが制限されるサポートされていないデバイスであるかを判定する動作を実行させる、請求項１０記載のホストコンピューティングデバイス。
【請求項１５】
前記命令は、前記ホストコンピューティングデバイスの前記１以上のマイクロコントローラに対応するファームウェアを介して実装されており、前記１以上のマイクロコントローラは、前記ホストコンピューティングデバイスのプライマリ処理システムとは独立して動作するよう構成されている、請求項１０記載のホストコンピューティングデバイス。
【発明の詳細な説明】
【図面の簡単な説明】
【０００１】
詳細な説明が、添付の図面を参照して記載される。図面において、参照符号の最も左の数字（群）は、その参照符号が最初に現れる図面を識別するものである。説明及び図面における異なる例での同じ参照符号の使用は、類似アイテム又は同一アイテムを示し得る。図面に表されるエンティティは、１以上のエンティティを示し得るものであり、したがって、説明において、単数形のエンティティ又は複数形のエンティティが、置き換え可能に参照され得る。
【図１】本明細書に記載の技術を使用するよう動作可能な、例示的な実装における環境の図。
【図２】図１の例示的なコンピューティングデバイス及びアクセサリデバイスをより詳細に示す図。
【図３】１以上の実施形態に従った、アクセサリポートへのアクセサリのリバーシブル接続についての例示的なシナリオを示す図。
【図４】１以上の実施形態に従った、コネクタのピンの配置の例示的な表現を示す図。
【図５】１以上の実施形態に従った例示的な手順を示す図。
【図６】１以上の実施形態に従った別の例示的な手順を示す図。
【図７】本明細書に記載の技術の実施形態を実装するために任意のタイプのコンピューティングデバイスとして実装され得る例示的なデバイスの様々なコンポーネントを含む例示的なシステムを示す図。
【発明を実施するための形態】
【０００２】
概要
今日、ラップトップ及びタブレット等のモバイルコンピューティングデバイスは、様々なタイプのアクセサリデバイスをサポートし、ユニバーサルシリアルバス（ＵＳＢ）又は他の通信技術を用いて様々なタイプのアクセサリデバイスに接続するよう構成され得る。しかしながら、アクセサリのための従来のコネクタ、ポート、及びコネクタケーブルは、１つの向きでの接続のために設計されている。したがって、ユーザは、しばしば、間違った向きで接続しようと試みることがあり、これは、ユーザにとって苛立たしいものであるのみならず、コネクタ、ポート、及びコネクタコードに損耗及び／又は損傷をもたらし得る。
【０００３】
アクセサリデバイスのためのリバーシブルコネクタ技術が説明される。１以上の実施形態において、ホストコンピューティングデバイスのアクセサリのためのコネクタケーブルは、コネクタケーブルのヘッドが、いずれかの向き（ストレート（straight）又はリバース（reverse））で、ホストコンピューティングデバイスの対応するポートに挿し込まれ得るように、構成されている。ホストコンピューティングデバイスは、コネクタの割り当てられたピンに関連付けられた信号をサンプリングして、アクセサリポートへのコネクタの接続を検出し、コネクタの向きを確認するよう構成されている。次いで、ホストコンピューティングデバイスの切り替えメカニズムは、その向きに応じて信号を自動的にルーティングするよう構成され得る。１つのアプローチにおいて、コネクタの一対の「検出」ピンが、ホットプラグ検出に専用である。ホストコンピューティングデバイスのコントローラは、コネクタの挿し込みの際にこれらの２つの検出ピンを介して伝達された、高論理状態と低論理状態との組合せを用いて、異なるタイプのデバイス（例えば、２ワイヤデバイスと１ワイヤデバイスと）を識別し、コネクタケーブルの向きを解決することができる。これらの２つの検出ピンに関連付けられたラインが、（例えば、並列に又は順に）ともにサンプリングされ得、これら２つのラインについて取得された値が、一緒に組み合わされて、デバイスのタイプ及び／又はコネクタの向きを示す組合せ（combined）論理状態が導出され得る。次いで、コントローラは、デバイスのタイプ及び向きに応じて信号ルーティングをセットアップするよう動作することができる。そうするために、コントローラは、ストレート信号経路又はリバース信号経路を適切に生じさせるように、ホスト及び／又は接続されたアクセサリのスイッチ及びマルチプレクサについての位置を指示するよう構成され得る。
【０００４】
以下の説明において、本明細書に記載の技術を使用することができる例示的な環境及びデバイスが最初に記載される。次いで、前記の例示的な環境において前記のデバイスによって実行され得るだけでなく、他の環境において他のデバイスによっても実行され得る例示的な手順及び詳細が説明される。したがって、前記の例示的な手順及び詳細の実装は、前記の例示的な環境／デバイスに限定されるものではなく、前記の例示的な環境／デバイスは、前記の例示的な手順及び詳細に限定されるものではない。
【０００５】
例示的な動作環境
図１は、本明細書に記載の技術を使用するよう動作可能な、例示的な実装における環境１００の図である。図示される環境１００は、インタフェース１０６を介してアクセサリデバイス１０４に物理的に且つ通信可能に接続される例示的なホストコンピューティングデバイス１０２を含む。ホストコンピューティングデバイス１０２は、様々な態様で構成され得る。例えば、ホストコンピューティングデバイス１０２は、携帯電話機、図示されるタブレットコンピュータ等といった、モバイル使用のために構成され得る。したがって、ホストコンピューティングデバイス１０２は、十分なメモリリソース及び処理リソースを有するフルリソースデバイスから、限られたメモリリソース及び／又は処理リソースを有する低リソースデバイスに至るデバイスの形態をとることができる。ホストコンピューティングデバイス１０２はまた、ホストコンピューティングデバイス１０２に１以上の動作を実行させるソフトウェアに関連し得る。
【０００６】
ホストコンピューティングデバイス１０２は、例えば、入力／出力モジュール１０８を含むものとして図示されている。入力／出力モジュール１０８は、ホストコンピューティングデバイス１０２の入力の処理及び出力の提供に関連する機能を表す。入力デバイスのキーや、ジェスチャを識別して、アクセサリデバイス１０４、及び／又はディスプレイデバイス１１０のタッチスクリーン機能を介して認識され得るジェスチャに対応する動作を実行させるためにディスプレイデバイス１１０により表示される仮想キーボードのキー等に対応する機能に関連する入力等の多種多様な入力が、入力／出力モジュール１０８により処理され得る。したがって、入力／出力モジュール１０８は、キー押下、ジェスチャ等を含む入力のタイプの間の境界（division）を認識して利用することにより、多種多様な入力技術をサポートすることができる。
【０００７】
キーボード、ゲームコントローラ、楽器を模擬するための構成、電力アダプタ、ドッキングステーション、ＵＳＢハブ、外部バッテリ、これらの構成の組合せ等といった、アクセサリデバイス１０４についての様々な構成が意図されている。したがって、アクセサリデバイス１０４は、多種多様な機能をサポートするために、多種多様な構成をとることができる。異なるアクセサリデバイスが、異なる時間に、ホストコンピューティングデバイスに着脱可能に接続され得る。
【０００８】
前述したように、アクセサリデバイス１０４は、この例において、インタフェース１０６を介してホストコンピューティングデバイス１０２に物理的に且つ通信可能に接続される。異なるタイプのインタフェース１０６を形成するために、可撓性ヒンジ、磁気連結デバイス、一体化された通信ポート及び通信接触部材、機械的連結突出部材、スロット、及び／又はくぼみ部材を個々に又は組み合わせて使用する等、様々なタイプのインタフェース１０６及びコネクタが意図されている。１つの例において、インタフェース１０６は、対応するコネクタ及び／又はコネクタコードを介してアクセサリデバイスへの接続を可能にするよう構成されたアクセサリポート（例えば、通信ポート）を表し得る。上記で説明した技術及び以下で説明する技術に従うと、アクセサリポート及び対応するコネクタは、ポートへのコネクタのリバーシブル接続を可能にするよう設計される。少なくともいくつかの実施形態において、インタフェース１０６は、本明細書で説明するように、アクセサリデバイス１０４の認証及び制御のための通信を可能にするよう構成される。例えば、ホストコンピューティングデバイス１０２は、アクセサリデバイス１０４の存在／接続を検出したことに応じて、インタフェースを介して、アクセサリデバイスのクレデンシャル（例えば、アクセサリのアイデンティティを示すデータ）、信号、及び、能力に関する他のデータを受信することができる。インタフェースはまた、上記で説明し以下で説明するように、電力の交換と電力管理及び制御機能を実装して更新するためのメッセージの通信とのために、電力結合（power  coupling）を提供することができる。
【０００９】
図１にさらに示されるように、ホストコンピューティングデバイス１０２は、本明細書に記載の電力管理コントラクト（contract）技術の態様を実装するよう構成された電力コントローラ１１２を含み得る。詳細には、電力コントローラ１１２は、アクセサリのアイデンティティに基づいて電力管理のための設定を処理すること、ホストとアクセサリとの間の制御メッセージの交換を円滑にすること、異なる電源を管理すること及び異なる電源間で切り替えること、規定された且つ／又は選択された電力管理スキームを実装すること、バッテリ寿命を管理すること等を含む、電力管理のための様々な動作を実行する機能を表す。電力コントローラ１１２は、さらに、壁ソケット、外部バッテリ、電源ユニット、又は他の電源等の適切な外部電源１１６を介してデバイスに電力を供給するよう構成された電力アダプタ１１４（本明細書において電源ユニット（ＰＳＵ）とも呼ばれる）との接続及び通信を円滑にすることができる。電力コントローラ１１２は、適切な状況においては、アクセサリデバイスにも電力を供給するよう動作可能であり得る。すなわち、電力コントローラ１１２は、ホストコンピューティングデバイスとアクセサリデバイスとの間の電力交換を含め、ホストコンピューティングデバイスと認可されたアクセサリデバイスとに対して一緒に、電力動作を管理することができる。
【００１０】
電力コントローラ１１２は、ハードウェア、ソフトウェア、ファームウェア、及び／又はこれらの組合せにより実装され得る。限定ではなく例として、ホストコンピューティングデバイス１０２は、電力コントローラ１１２に関連して本明細書で説明する様々な機能を実装するよう構成されたマイクロコントローラ又は他の適切なハードウェアロジックデバイスを含み得る。電力コントローラ１１２は、したがって、適切なハードウェアロジックデバイスに関連付けられたファームウェア又はロジックを表し得る。追加的又は代替的に、電力コントローラ１１２は、デバイスの処理システムとこの処理システムを介して実行可能／動作可能な１以上のプログラムモジュールとにより実装されてもよい。
【００１１】
電力アダプタ１１４は、複数のモードで選択的に動作し、複数の電力レベルをコンピューティングデバイスに供給するよう構成され得る。特定の時間において供給される電力のレベルは、対応するレベルの電力を電力アダプタ１１４に供給させるように電力コントローラ１１２により構成されて電力アダプタ１１４に送信される入力、通知、又は他の適切なフィードバックに基づき得る。電力交換状態に応じて、電力アダプタ１１４は、コンピューティングデバイスに接続されているときに、ホスト及びアクセサリの一方又は両方に関連付けられたバッテリを充電すること、ホスト及びアクセサリの一方又は両方の動作をサポートするために電力を供給すること、及び、ホスト及びアクセサリのジョイント充電及びジョイント動作のために外部電源１１６からの電力を別途供給すること、を様々な組合せで行うことができる。電力コントローラ１１２を介して実装される電力スキームは、アクセサリのアイデンティ、電力交換状態、電源の利用可能性等に応じて、システムコンポーネント（例えば、ホスト、アクセサリ、及びアダプタ）の間の電力のフローを制御するよう構成され得る。アクセサリデバイスのための電力管理コントラクトを実装するための電力コントローラ１１２及び電力アダプタ１１４の動作に関するさらなる詳細は、以下の説明において見出すことができる。
【００１２】
図２は、例示的なホストコンピューティングデバイス１０２及びアクセサリデバイス１０４を、概括的に２００でより詳細に示している。図２において、ホストコンピューティングデバイス１０２は、電力コントローラ１１２を有するものとして示され、電力コントローラ１１２は、１以上のマイクロコントローラ２０２（マイクロ処理ユニット（μＰ）とも呼ばれる）により提供されるものとして示されている。ホストコンピューティングデバイス１０２は、１以上の内部バッテリ等の関連付けられた電源２０４をさらに含む。アクセサリデバイス１０４も、１以上のマイクロコントローラ２０６及びそれぞれの電源２０８を含み得る。電源２０８は、アクセサリデバイス１０４の内部にある１以上のバッテリ（例えば、アクセサリバッテリ）として構成され得、したがって、ホストコンピューティングデバイス１０２に対する外部バッテリとみなされ得る。
【００１３】
例示的なマイクロコントローラ（μＰ）は、指定されたタスクの予め定められたセットを実行するよう設計されたハードウェアデバイス／システムを表す。マイクロコントローラは、処理コンポーネント、Ｉ／Ｏデバイス／周辺デバイス、様々なタイプのメモリ（ＲＯＭ、ＲＡＭ、フラッシュ、ＥＥＰＲＯＭ）、プログラマブルロジック等の自己充足型（self-contained）リソースを有するそれぞれのオンチップシステム／回路を表し得る。異なるマイクロコントローラは、ハードウェアにより少なくとも部分的に実装される組み込みアプリケーション／機能を実装し、対応するタスクを実行するよう構成され得る。詳細には、例示的なマイクロコントローラ２０２、２０６は、汎用処理システムの動作外のデバイス認証及び電力管理とホストコンピューティングデバイス又はアクセサリデバイスの他のアプリケーション／コンポーネントとのためのタスクの実行を可能にする。概して、マイクロコントローラの電力消費量は、デバイスのために汎用処理システムを動作させることと比較して低い。
【００１４】
したがって、マイクロコントローラを介して実装されるコンポーネントは、ホストコンピューティングデバイスの「プライマリ」処理システムを動作させることとは独立して、且つ／又は、オペレーティングシステムをブート／実行することなく若しくは他のデバイスコンポーネント及びアプリケーションを使用することなく、比較的低い電力を使用して動作することができる。すなわち、マイクロコントローラは、処理システム及び他のデバイスコンポーネント（例えば、デバイスメモリ、ネットワークインタフェース、ディスプレイデバイス等）を動作させる必要なく若しくはこれらに電力を供給する必要なく、且つ／又は、コンピューティングデバイスを完全に起動若しくはウェークアップすることなく、低電力モードで、いくつかの電力管理タスクを実行するよう動作することができる。
【００１５】
ホストコンピューティングデバイス１０２は、アクセサリポート２１０を介して異なるアクセサリデバイスに接続可能であり得る。アクセサリポート２１０は、ホストコンピューティングデバイスと様々なアクセサリとの間の物理的通信接続を実現するための機能を表す。例えば、アクセサリをホストコンピューティングデバイスに接続し、制御信号、データ、及び電力の交換を可能にするために、アクセサリポート２１０に対応するコネクタ２１１が使用され得る。図示される例において、コネクタ２１１は、アクセサリインタフェース２１０に関連付けられた対応するポートに着脱可能に挿し込まれ得るコネクタコードとして示されているが、図１に関連して説明した可撓性ヒンジ、続く図面に関連して説明するドッキングステーションへの接続、及び／又は、別の適切なインタフェースとコネクタとの組合せ等の他のタイプの接続も意図されている。本明細書に記載の技術に従うと、コネクタ２１１及び対応するポートは、コネクタ／ポートの組合せのリバーシブル接続／挿し込みをサポートするよう構成され得る。
【００１６】
図２に示されるように、上記で説明した技術及び以下で説明する技術に従うと、ホストの電源２０４とアクセサリの電源２０８との間で電力交換が生じ得る。いくつかの実施形態において、電力交換は、図１に示される電力アダプタ１１４を介して、外部バッテリとして構成された外部電源１１６との間でも生じ得る。すなわち、ホストに対応するバッテリ／電源と、アクセサリインタフェースを介して接続されたアクセサリのバッテリ／電源と、外部電源と、の間で、３通りの電力交換が生じ得る。概して、ホストと、１以上の接続されたデバイス（アダプタ／アクセサリ／周辺デバイス）と、の間の電力交換は、ホストから１以上の接続されたデバイスのうちの１以上のデバイスへと且つ１以上の接続されたデバイスのうちの１以上のデバイスからホストへと行ったり来たりに（例えば、双方向に）、且つ／又は、ホストを介して、接続されたデバイス間で直接的に（例えば、デバイスからデバイスへと）、生じ得る。
【００１７】
したがって、電力交換は、いくつかのシナリオにおいて、アクセサリポート２１０を介して生じ得る。ホストコンピューティングデバイスに供給される電力は、ホストを動作させる（例えば、システムロードをサービスする）ために、且つ／又は、電源２０４（例えば、内部バッテリ）の充電レベルを維持するために、使用され得る。加えて、ホストに供給される電力は、動作をサポートするために、且つ／又は、電源２０８（例えば、外部バッテリ）を充電するために、アクセサリデバイス１０４に直接的又は間接的に供給され得る。さらに、電力は、ホストコンピューティングデバイス１０２及び／又はアクセサリデバイス１０４から、ホストコンピューティングデバイスに直接的に接続され得る、且つ／又は、図２に示されるように、アクセサリデバイス１０４を介してシステムに接続され得る１以上の周辺デバイス２１２に、分配され得る。例えば、１以上の実施形態において、アクセサリデバイスは、様々な周辺デバイス２１２が接続され得る複数のユニバーサルシリアルバス（ＵＳＢ）ポート及び／又は他のタイプの接続ポートを提供するハブ等の周辺デバイスハブの機能を提供するよう構成され得る。周辺デバイス２１２は、少しの例を挙げると、周辺ディスプレイデバイス、プリンタ、スキャナ、オーディオデバイス、カメラ、記憶デバイス、ネットワークアダプタ等の様々なデバイスを含み得る。
【００１８】
ホストコンピューティングデバイス１０２及びアクセサリデバイス１０４の両方は、壁ソケット又は別の電源に接続されたそれぞれの電力アダプタ１１４の使用を介して等、外部電源１１６を使用するよう構成され得ることに留意されたい。それぞれの電力アダプタ１１４を介してアクセサリデバイス１０４に直接的に供給される電力は、ホストコンピューティングデバイス１０２に直接的に供給される電力と同等に、ホストとアクセサリとの間で、使用、共用、及び／又は交換され得る。
【００１９】
ホストコンピューティングデバイスは、さらに、様々な形で、電力スキーム２１４及びセキュリティモジュール２１６を実装するよう構成され得る。図示される例において、電力スキーム２１４は、電力コントローラ１１２を介して実装されるものとして示されている。この例において、電力スキーム２１４は、ホストコンピューティングデバイス１０２に関連付けられるファームウェアとして構成される。例えば、電力スキーム２１４は、マイクロコントローラ２０２、電力コントローラ１１２、又は他の適切なハードウェアロジックデバイスに関連付けられたファームウェアを表し得る。代替的に、電力スキーム２１４は、ハードウェア、ソフトウェア、ファームウェア、及び／又はロジックデバイスの任意の適切な組合せを用いたスタンドアロンモジュールとして実装されてもよい。
【００２０】
電力スキーム２１４は、上記で説明し以下で説明する電力管理コントラクト技術に加えて、他の電力管理機能を実装する機能を表す。詳細には、電力スキーム２１４は、電力アダプタ１１４、ホストコンピューティングデバイス１１２、及びアクセサリデバイス１０４の間の電力フローを一緒に管理するよう構成され得る。限定ではなく例として、これは、例えば、コンポーネントに関連付けられたバッテリを選択的に充電するように；バッテリ、処理システム、及びコンポーネントの間で電力を交換するように；ホスト及びアクセサリについてシステムロードをサービスするために電力を供給するように、電力フローを制御することを含み得る。そうするために、電力スキーム２１４は、システムの様々なコンポーネントの間の電力管理コントラクト２１８を確立、施行、及び更新する機能を提供することができる。この機能は、様々な態様で構成され得るシステムコンポーネント間の、電力管理に関するメッセージを送信及び受信するためのサポートを含み得る。例えば、このようなメッセージは、ホスト及びアクセサリのそれぞれのコントローラにより認識可能なパルス信号パターンとして構成され得る。少しの例を挙げると、集積回路間（Ｉ２Ｃ）プロトコル、シリアルペリフェラルインタフェース（ＳＰＩ）、ユニバーサル非同期レシーバ／トランスミッタ（ＵＡＲＴ）メッセージング、パケットベースの通信、及びオブジェクトベースのメッセージを使用する等の様々な適切なメッセージングプロトコル及び対応するメッセージフォーマットが意図されている。さらに、近距離無線通信、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＷｉＦｉ（登録商標）、ＲＦＩＤにおいて使用されるＲＦプロトコル等の無線メッセージングプロトコルやセルラ通信プロトコルが使用され得る。
【００２１】
電力管理コントラクト２１８は、異なるデバイス及びシナリオのために電力交換方向及び電流制限を指定することを含むがこれに限定されない、電力管理についての動作制約を規定するよう構成される。さらに、電力管理コントラクト２１８についての設定は、ホスト又はアクセサリにより観測された状態に基づいて、リアルタイムに変更され得る。したがって、電力管理コントラクト２１８についての初期設定又はデフォルト設定は、異なるアクセサリに関連付けられ得、適切なコントラクトが、そのような異なるアクセサリの初期接続及び認可の際にアクティブ化され得る。初期にアクティブ化された電力管理コントラクト２１８は、その後に、システムコンポーネントのバッテリについての相対充電率（ＲＳＯＣ：relative  states  of  charge）、サービスされている電力ロード、ホスト及び／又はアクセサリに接続されている周辺デバイス２１２の数、システムコンポーネントのための電源の利用可能性、電力供給特性、処理負荷等を含むがこれらに限定されない状態に基づいて変更され得る。したがって、アクセサリ及び／又は周辺デバイスがシステムに接続されるときに電力交換についての動作制約を固定するのではなく、本明細書に記載の電力管理コントラクトは、ホストにアクセサリが接続されている間の任意の時間における状態の変化に応じて、そのような制約に対する動的な調整を可能にするよう設計される。「リアルタイム」の状態に基づく、電力管理コントラクト２１８についての初期設定のそのような変更は、アクセサリデバイス及び／又はホストコンピューティングデバイスにより開始され得る。
【００２２】
セキュリティモジュール２１６は、アクセサリデバイスがホストコンピューティングデバイスに取り付けられた／接続されたときにアクセサリデバイスを識別及び／又は認証するよう動作可能な機能を表す。セキュリティモジュール２１６は、多種多様な認証技術を実装するよう構成され得る。一般的に言うと、セキュリティモジュール２１６は、アクセサリデバイス１０４に関連付けられたクレデンシャル２２０（例えば、デバイスＩＤ／パスワード、英数字コード、識別レジスタ値等）が取得されて検証される認証シーケンスを実行する。１つのアプローチにおいて、セキュリティモジュール２１６は、アクセサリポートへのコネクタ２１１のリバーシブル接続のための技術をサポートする機能を提供するよう構成される。例えば、セキュリティモジュール２１６は、アクセサリポートへのコネクタの挿し込みを検出し、コネクタ２１１の検出ピンをサンプリングして、検出ピンについての値に応じて、コネクタの向きを、ストレートである又はリバースであるとして確認し、且つ／又は、サンプリングに基づいて、異なるタイプのデバイス及び／又は通信プロトコルを識別する、１以上のマイクロコントローラ２０２の機能を表し得る。異なるタイプのデバイスを識別することは、別々のＲＸライン及びＴＸラインを使用する２ワイヤデバイスと、ＲＸ／ＴＸが単一ライン又は単一チャネル上に組み合わされる１ワイヤデバイスと、を識別することを含み得る。さらに、セキュリティモジュール２１６は、確認された向き及び／又はデバイスのタイプに基づいて、それに応じて信号ルーティングをセットアップする機能を表し得る。
【００２３】
さらに、図２におけるアクセサリデバイス１０４は、要求時認証のためにセキュリティモジュール２１６に提供され得る例示的なクレデンシャル２２０を含むものとして示されている。クレデンシャルが正当である場合（例えば、アクセサリデバイスが、関連付けられた特権を有する認識済みのデバイスである場合）、認証は、成功であるとみなされ、アクセサリデバイス１０４は、電力コントローラ１１２を介する電力交換と、ホストコンピューティングデバイス１０２との他のインタラクションと、について認可され得る。さらに、クレデンシャル２２０は、認可されたデバイスについて保持されている電力管理コントラクト設定に関連付けられ得、したがって、認証が成功すると、異なるデバイスについてのそのような設定（例えば、初期設定又はデフォルト設定）をルックアップしてアクティブ化するために使用され得る。一方、クレデンシャルが正当ではない場合、ホストコンピューティングデバイス１０２とのアクセサリデバイス１０４のインタラクションは、様々な形で制限され得る、且つ／又は防止され得る。したがって、セキュリティモジュール２１６は、認可されていない且つ／又はサポートされていないデバイスが、効率的でない且つ／又は安全でないものであり得る方法で電力を供給／使用することを防止することができる。
【００２４】
例示的な動作環境、システム、及びデバイスについて上記にて検討した。次いで、アクセサリデバイスのためのリバーシブルコネクタを実装するための技術に関するさらなる詳細を含む、例示的なデバイス、手順、及びシナリオについて検討する。
【００２５】
リバーシブルコネクタの詳細
図３は、１以上の実施形態に従った、アクセサリポートへのコネクタのリバーシブル接続についての例示的なシナリオを、概括的に３００で示している。この例において、ストレート向き及びリバース向きの両方におけるコネクタ２１１の代表図が示されている。前述したように、本明細書に記載のリバーシブルコネクタのための技術は、コネクタ２１１の専用検出ピンと、それらの検出ピンを介して形成される対応する回路／信号と、に依拠し得る。１つのアプローチにおいて、一対の検出ピンが、ホットプラグ検出と、デバイス認証、電力交換、信号ルーティング制御等のための通信と、をサポートするために、インタフェース１０６に対して使用される。インタフェース１０６は、異なる信号ルーティングオプション（例えば、ストレート／リバース）の間で且つ異なる通信技術（１ワイヤ／２ワイヤ）の間で切り替えるために、デバイスのタイプ及び／又はコネクタの向きに基づいて構成可能である。
【００２６】
ここで、ピンＡ３０２（本明細書において「ＨＰＤ１Ａ」とも呼ばれる）及びピンＢ３０４（本明細書において「ＨＰＤ１Ｂ」とも呼ばれる）を含む一対の検出ピンが図示されている。一対の検出ピンが示されているが、一般的に言うと、２以上の検出ピンが、アクセサリのホットプラグ検出のために割り当てられ得、検出ピンを介して伝達された／読み取られた信号に基づく、コネクタの向き及びデバイスのタイプの解決を容易にするためにサンプリングされ得る。図示される例において、ピンＡ３０２及びピンＢ３０４が、コネクタ２１１のヘッドの相対する端に且つ／又はコネクタ２１１の相対するサイドに概して配置されるものとして示されている。異なる通信プロトコル、バス、及び高速信号をサポートするための様々な他のピン３０６も、コネクタ２１１に組み込まれる。例えば、認証／電力交換／制御のためのピンを提供することに加えて、コネクタ２１１は、ＵＳＢ、オーディオ／ビデオ信号、ディスプレイポート、ネットワーク通信等をサポートするためのピンを提供することができる。概して、これらのピンは、高速ピンペア群として配置される。ピン３０２、３０４、３０６は、ホストコンピューティングデバイスのアクセサリポート２１０に含まれる相補型ピンのセット３０８と嵌合するよう構成される。
【００２７】
図示される配置において、ピンＡ３０２及びピンＢ３０４は、「ストレート」向きにおいて、ホストコンピューティングデバイス１０２のアクセサリポート２１０に関連付けられたＲＸピン及びＴＸピンとそれぞれ嵌合するよう構成される。この配置において、ＲＸ信号は、ピンＡ３０２を介して伝達され得、ＴＸ信号は、ピンＢ３０４を介して伝達され得る。コネクタが、図３において示される「リバース」向きをとるように反転される又は裏返しにされると、ピンＢ３０４は、ＲＸピンと嵌合し、ピンＡは、ＴＸピンと嵌合する。すなわち、これらのピン接続は、物理的に位置を変える。裏返しのための是正がない場合、ＲＸ／ＴＸは、クロスしてしまうであろう。
【００２８】
しかしながら、ホストコンピューティングデバイスは、信号ルーティングを「適正化する」ための切り替えメカニズム３１０を含み得る、又は、そのような切り替えメカニズム３１０を利用することができる。切り替えメカニズムは、コネクタの向きにかかわらず、信号が同じエンドポイント間で効果的に通信されるように、信号のルーティングを制御するよう動作可能な機能を提供する。切り替えメカニズム３１０は、コネクタの向きに基づいて、且つ／又は、特定のタイプのデバイスに合わせて、システムについての信号経路を選択的に変更して、アクセサリポート及び／又は対応するインタフェースを構成するために、使用される。したがって、例えば、コネクタが、図３に示される「リバース」向きにある場合でも、切り替えメカニズム３１０は、依然としてＲＸ信号がピンＡ３０２を介して伝達されるとともにＴＸ信号がピンＢ３０４を介して伝達されるように、信号ルーティングを変更するよう動作することができる。例えば、切り替えメカニズム３１０は、信号経路に対する制御を可能にするための１以上のマルチプレクサ３１２及び／又はスイッチ３１４を含み得る。切り替えメカニズム３１０、マルチプレクサ３１２、及びスイッチ３１４が、ホストコンピューティングデバイスのコンポーネントとして図示されているが、いくつかの信号経路を選択的に切り替えるために使用されるマルチプレクサ３１２及びスイッチ３１４は、ホストコンピューティングデバイスの切り替えメカニズム３１０、マルチプレクサ３１２、及びスイッチ３１４に加えて、又はこれらに代えて、アクセサリデバイス１４０に関連付けられてもよい。この場合、ホストコンピューティングデバイス１０２は、ホストコンピューティングデバイスの指示の下でアクセサリの信号切り替えコンポーネントを介する信号ルーティングのセットアップを生じさせるためのコマンドを、アクセサリに送信するよう動作することができる。
【００２９】
図４は、コネクタ２１１のコネクタヘッド４０２についてのピンの例示に過ぎない配置の詳細を示す代表例を、概括的に４００で示している。この例において、コネクタは、４０個のピンを含む。ピンＡ３０４及びピンＢ３０４が、コネクタヘッド４０２の相対する端に且つコネクタ２１１の相対するサイドにあるものとして図示されている。この例において、ピンＡ３０２及びピンＢ３０４はそれぞれ、「ＨＰＤ１Ａ」及び「ＨＰＤ１Ｂ」としてラベル付けされている。ラベル「ＨＰＤ１Ａ」及びラベル「ＨＰＤ１Ｂ」は、本文書において、用語「ピンＡ」及び用語「ピンＢ」と置き換え可能に使用されている。例えば、ＵＳＢ３、ＵＳＢ２、電力交換等のためのピンを含む、異なるタイプの信号及びデータを伝達するための様々な他のピン３０６も、コネクタヘッド４０２内に配置されている。図３及び図４において示され説明される例示的なピン配置は、例示的な例として意図されるに過ぎず、本明細書に記載の技術に従って使用され得るピンの配置及びコネクタ構成を限定するよう意図されるものではない。アクセサリデバイスのためのリバーシブルコネクタに関連する技術に関するさらなる詳細が、以下の例示的な手順に関連して説明される。
【００３０】
例示的な手順
以下の説明は、前述したシステム及びデバイスを使用して実施され得る技術を示している。本手順の各々の態様は、ハードウェア、ファームウェア、ソフトウェア、又はこれらの組合せにより実装され得る。本手順は、１以上のデバイスにより実行される動作を表すブロックのセットとして示されるが、必ずしも、それぞれのブロックによる動作を実行するために示される順番に限定されるものではない。以下の説明の諸部分において、図１の例示的な動作環境１００及び図２〜図４の例示的なデバイス及びシナリオが参照され得る。本手順の態様は、リバーシブルコネクタ２１１をサポートするために１以上のマイクロコントローラ２０２を含む又は利用する、図２の例示的なホストコンピューティングデバイス１０２等の適切に構成されたコンピューティングデバイスにより実行され得る。追加的又は代替的に、本手順の態様は、１以上のマイクロコントローラ２０６を含む又は利用する、図２の例示的なアクセサリデバイス１０４等のアクセサリデバイスを介して実行されてもよい。
【００３１】
図５は、信号ルーティングが、リバーシブルコネクタの向きに応じてセットアップされる例示的な手順５００を示している。ホストコンピューティングデバイスのアクセサリポートへの、アクセサリデバイスのためのコネクタの接続が検出され、ここで、コネクタ及びアクセサリポートは、アクセサリポートへのコネクタのリバーシブル接続をサポートするよう構成されている（ブロック５０２）。例えば、ホストコンピューティングデバイス１０２に関連付けられた１以上のマイクロコントローラ２０２は、アクセサリポート２１０への様々なデバイスの接続を認識するよう構成され得る。検出は、様々な形で生じ得る。１つのアプローチにおいて、１以上のマイクロコントローラ２０２は、コネクタ２１１がアクセサリインタフェース２１０に成功裡に取り付けられたときにアクセサリデバイスにより送信される信号を検出することができる。信号は、論理状態、電圧入力信号、パルスパターン、静的レジスタ値等を含み得る。代替的に、ホストコンピューティングデバイス１０２は、アクセサリポート２１０をポーリングして、例えば、検出ラインをモニタリングし、アクセサリに対応するレジスタ値を読み取ることにより、デバイスがアクセサリポート２１０に取り付けられたとき又はアクセサリポート２１０から取り外されたときを判定するよう構成されてもよい。取り付けは、アクセサリに関連付けられたアイデンティティ及び／又はデバイスタイプに加えて、コネクタの向きを判定するためのさらなる処理を開始させ得る。次いで、ホストとアクセサリとの間の１以上の通信インタフェース及び／又は信号ルーティングラインが、アクセサリのタイプ及びコネクタの向きに合うよう構成され得る。
【００３２】
詳細には、アクセサリデバイスの取り付けの後、アクセサリポートへのコネクタの接続の向きが確認される（ブロック５０４）。向きは、様々な方法により解決され得る。概して、向きは、本明細書に記載の検出ピン上でサンプリングされた信号に基づいて判定される。コネクタの接続の際に伝達される特定の値及び／又はパターンが、デバイスのタイプに加えてコネクタの向きを示す。次いで、ホストコンピューティングデバイスの切り替えメカニズムが、向きに応じて信号を自動的にルーティングするように構成される（ブロック５０６）。例えば、ホストコンピューティングデバイスの１以上のマイクロコントローラ２０２は、コネクタ２１１の確認された向きに基づいて信号経路を設定するように、前述したようなやり方で切り替えメカニズム３１０を構成するよう動作することができる。これは、切り替えメカニズム３１０に関連付けられたマルチプレクサ３１２及びスイッチ３１４の位置決めを含み得る。追加的又は代替的に、マイクロコントローラ２０２は、アクセサリデバイス１０４のマイクロコントローラ２０６と通信して、コネクタの向きをアクセサリデバイスに通知し、且つ／又は、コネクタの向きに応じて適切な信号ルーティングをセットアップするようにアクセサリ側の切り替えメカニズムを再構成するよう、アクセサリデバイス１０４に指示してもよい。このようにして、信号経路についてのエンドポイントは、コネクタの向きにかかわらず、同じであり続けることができる。したがって、コンシューマは、いずれかの向き（ストレート又はリバース）のリバーシブルケーブルを介してアクセサリをホストデバイスに挿し込むことができ、システムは、向きを自動的に認識して、信号が混合されないことを確実にする。
【００３３】
１以上の実施形態において、専用検出ピンが、本明細書で記載したように、ホットプラグ検出及び向きの解決のために使用され得る。検出は、検出ラインに印加される電圧（例えば、５Ｖ）と、印加された電圧に応じて取得される／読み取られる、ピンについての対応する論理状態（例えば、高（high）＝１又は低（low）＝０）と、に基づき得る。検出ラインについての論理状態の異なる可能な組合せは、各検出ケースがデバイスのタイプ及び／又はコネクタ２１１の向きに対応する検出ケースのセットに関連付けられ得る。検出ピンに関連付けられたラインが、（例えば、並列に又は順に）ともにサンプリングされ得、異なるラインについて取得された値が、一緒に組み合わされて、デバイスのタイプ及び／又はコネクタの向きを示す組合せ論理状態が導出され得る。したがって、対応する検出ケースに対する論理状態の組合せ（又は、他のクレデンシャル／アクセサリ識別子）のマッピングを反映するテーブル、ファイル、データベース、又は他のデータ構造が確立され得る。動作中、１以上のマイクロコントローラ２０２は、検出ピンをモニタリングし、各検出ラインについての値を取得することができる。マイクロコントローラ２０２は、対応する検出ケースに対する可能な論理状態の組合せのマッピングを利用して、デバイスのタイプ及びコネクタの向きを解決することができる。
【００３４】
デバイスのタイプに関して、論理状態の組合せは、ホストが異なるタイプのデバイスを識別することを可能にするメカニズムを提供する。詳細には、検出された論理状態の組合せは、デバイスが、ＲＸとＴＸとが組み合わされた単一ラインを介して通信し得る１ワイヤデバイスであるか、又は、ＲＸ及びＴＸについて２つの異なるラインを使用する２ワイヤデバイスであるか、を示す。１ワイヤデバイスは、基本的な電力アダプタ又は外部バッテリ等の、複雑な通信方式を使用しない、相対的に単純で低コストのデバイスであり得る。２ワイヤデバイスは、ドッキングステーション、マルチメディアアクセサリ等といった、進化したインタフェース、高速通信、及び／又は複数のタイプのデータ／プロトコルを伴う機能を提供するデバイスであり得る。
【００３５】
ＨＰＤ１Ａ及びＨＰＤ１Ｂ（例えば、ピンＡ３０２及びピンＢ３０４）等の、ホットプラグ検出のために割り当てられる一対の検出ピンの場合、例えば、高−高、高−低、低−高、及び低−低といった、４つの可能な論理状態の組合せが存在する。これらの論理状態は、デバイスのタイプ（例えば、１ワイヤ又は２ワイヤ）を示し、コネクタの向きを直接的又は間接的に解決するためにも使用され得る。詳細には、接続されたアクセサリが存在しない場合には、ピンＨＰＤ１Ａ及びＨＰＤ１Ｂの両方がアサートされない（例えば、低状態にある）。アクセサリデバイスがホストに接続されると、ＨＰＤ１Ａ及びＨＰＤ１Ｂについての状態の特定の組合せにより、アクセサリタイプが判定される。１ワイヤデバイスに関して、高状態がアサートされたラインが判定され得る。したがって、１ワイヤデバイスについての論理状態の組合せは、コネクタの向きも反映し、向きを確認するために直接的に使用され得る。２ワイヤデバイスに関して、両方のラインが高状態を有し、したがって、論理状態の組合せは、向きを解決するには不十分であり得る。したがって、２ワイヤデバイスの向きを確認するために、以下で説明するように、さらなる処理が実行され得る。
【００３６】
検出ピンＨＰＤ１Ａ及びＨＰＤ１Ｂに関して、以下は、検出ケースに対する可能な論理状態の組合せの例示的なマッピングを示すテーブルを示している。
【００３７】
【表１】
2017523509.tif 000003
上記テーブルによれば、値（１，１）（高−高）は、２ワイヤアクセサリを示し、値（１，０）（高−低）は、リバース向きの１ワイヤアクセサリを示し、値（０，１）（低−高）は、リバース向きの１ワイヤアクセサリを示し、値（０，０）（低−低）は、アクセサリが取り付けられていないことを示す。テーブル１の例等のマッピングを使用してデバイスタイプを判定した後、デバイスの認証／認可を実行し、デバイスの特定のアイデンティティ及び／又は能力を判定し（１ワイヤと２ワイヤとの判定とは異なる）、信号を適切にルーティングするようにホスト及び／又はアクセサリの切り替えメカニズムをセットアップするために、さらなる処理が実行され得る。
【００３８】
例えば、１ワイヤデバイスに関して、デバイスを識別して認可するために、サンプリングが、アサートされたピン（ＨＰＤ１Ａ又はＨＰＤ１Ｂのいずれか）を介して実行され得る。これは、前述したように、様々な異なる認証技術を伴い得る。認証は、ホスト／マイクロコントローラが、特定のアクセサリアイデンティティに基づいて、サポートされていないアクセサリを認識し、サポートされていないアクセサリについての特定の構成情報を判定して、それに応じてインタフェース及び信号ルーティングを構成することを可能にする。例えば、アクセサリデバイスは、前述したように、様々な形で、クレデンシャル２２０をホストに提供するよう構成され得る。１つのアプローチにおいて、アクセサリデバイスは、ホストコンピューティングデバイスによる読み取りのために、アイデンティティを示すそれぞれのレジスタ値を公開するよう構成される。異なるレジスタ値が、異なるアクセサリに関連付けられ得る。したがって、アクセサリが接続されると、ホストコンピューティングデバイスは、対応するレジスタ値を読み取り、この値に基づいて、異なるアクセサリを識別することができる。代替的に、特定の数値コード、ＩＤフィールド値、デバイス名等を送信する等、他のクレデンシャル２２０が、アクセサリのアイデンティを示すためにアクセサリによりホストに通信されてもよい。
【００３９】
前述したように、取り付けられたアクセサリが２ワイヤデバイスである場合、論理状態の組合せは、向きの判定を可能にするには不十分である。この場合、向きは、認証シーケンスを通じて解決される。そうするために、サポートされている２ワイヤデバイスは、信号ラインの一方又は両方を介してクレデンシャル２２０をホストに提供するよう構成され得る。この場合、サンプリングは、２ワイヤデバイスを識別して認可するために、ＨＰＤ１Ａ及びＨＰＤ１Ｂの両方について実行され得る。１つのアプローチにおいて、２ワイヤデバイスは、１つのライン又は両方のラインに関連付けられたＩＤレジスタを有することができ、アイデンティティを示す１以上のレジスタ値を公開することができる。再度、他のクレデンシャル２２０が、アクセサリのアイデンティティを示すためにアクセサリによりホストに通信されてもよい。次いで、可能な向きケースに対する、各ラインについてのＩＤ正当性状態（例えば、正当又は不当）のマッピングに基づいて、向きが判定され得る。検出ピンＨＰＤ１Ａ及びＨＰＤ１Ｂに関して、以下は、ＩＤ正当性状態向きケースの例示的なマッピングを示す例示的なテーブルを示している。
【００４０】
【表２】
2017523509.tif 000004
図６は、１以上の実施形態に従った、デバイスタイプ及び向きの両方を検出するために実行され得る処理のための例示的なロジックを示す例示的な手順６００を示している。詳細には、手順６００は、ホストへのアクセサリの接続の際に、デバイスのタイプ及びコネクタの向きを解決するために使用され得る、例示に過ぎない１つの技術を表している。手順６００は、さらに、上述したテーブル１及びテーブル２において反映される、検出ピンＨＰＤ１Ａ及びＨＰＤ１Ｂについてのマッピングの１つの可能な実装を表している。
【００４１】
対応するコネクタコードを介するアクセサリの接続を検出するために、アクセサリポートがモニタリングされる（ブロック６０２）。モニタリングは、本明細書に記載のマイクロコントローラ２０２及び／又はセキュリティモジュール２１６により実施され得る。アクセサリポート２１０及びコネクタ２１１は、検出のために割り当てられた一対のピン（例えば、検出ピンＨＰＤ１Ａ及びＨＰＤ１Ｂ）を有するよう構成され得る。ＨＰＤ１Ａ及びＨＰＤ１Ｂのいずれか一方がアサートされた（例えば、高＝１という信号値）かどうかについて判定がなされる（ブロック６０４）。ＨＰＤ１Ａ及びＨＰＤ１Ｂの両方がアサートされていない場合、ブロック６０２において、ポートのモニタリングが続く。これらのピンのうちの少なくとも１つがアサートされた場合、両方のピンがアサートされたかどうかを判定するチェックがなされる（ブロック６０６）。一方のピンのみがアサートされた場合、手順６００は、１ワイヤ構成に関連する動作に進み、両方のピンがアサートされた場合、手順６００は、２ワイヤ構成に関連する動作に進む。
【００４２】
１ワイヤ構成に関して、ＨＰＤ１Ａがアサートされたかどうかについて判定がなされ（ブロック６０８）、ＨＰＤ１Ａがアサートされた場合、ＨＰＤ１Ａがサンプリングされ（ブロック６１０）、識別のためのクレデンシャルが取得される。クレデンシャルに基づいて、接続されたアクセサリのＩＤの正当性が検証され（ブロック６１２）、ＩＤが正当である場合、システムは、ストレート向きの１ワイヤに合わせて構成される（ブロック６１４）。一方、ＩＤが正当ではない場合、アクセサリは、サポートされていないアクセサリであり（ブロック６１６）、インタラクションが制限され得る。ブロック６０８において、ＨＰＤ１Ａがアサートされていない場合、他方のピンＨＰＤ１Ｂが、アサートされたピンであり、サンプリングされる（ブロック６１８）。ここでも、ＩＤの正当性が検証され（ブロック６２０）、ＩＤが正当である場合、システムは、リバース向きの１ワイヤに合わせて構成され（ブロック６２２）、ＩＤが正当ではない場合、アクセサリは、サポートされていないアクセサリであり（ブロック６１６）、制限され得る。
【００４３】
２ワイヤ構成に関して、ＨＰＤ１Ａ及びＨＰＤ１Ｂの両方がサンプリングされる（ブロック６２４）。ＨＰＤ１ＡについてＩＤの正当性が検証され（ブロック６２６）、ＨＰＤ１Ａ上でサンプリングされたＩＤが正当である場合、次いで、ＨＰＤ１ＢについてＩＤの正当性が検証される（ブロック６２８）。ＨＰＤ１Ａ及びＨＰＤ１Ｂの両方についてのＩＤが正当である場合、ストレート向き及びリバース向きの両方がサポートされており、アプリケーションに基づいて構成が行われる（ブロック６３０）。一方、ＨＰＤ１ＡについてのＩＤのみが正当である場合、システムは、ストレート向きの２ワイヤに合わせて構成される（ブロック６３２）。ブロック６２６において、ＨＰＤ１ＡについてのＩＤが正当ではない場合、ＨＰＤ１ＢについてＩＤの正当性が検証される（ブロック６３４）。ブロック６３４において、ＨＰＤ１ＢについてのＩＤが正当である場合、システムは、リバース向きの２ワイヤに合わせて構成される（ブロック６３６）。一方、ＨＰＤ１Ａ及びＨＰＤ１Ｂの両方についてサンプリングされたＩＤが不当である場合、アクセサリは、サポートされていないアクセサリであり（ブロック６３８）、制限され得る。示されたロジックに基づいてシステムが適切に構成された後、適用された構成を用いて、信号がルーティングされる（ブロック６４０）。
【００４４】
例示的な手順６００は、ソフトウェア、ファームウェア、ハードウェア、又はこれらの何らかの組合せにより実装され得る。ソフトウェア実装又はファームウェア実装は、有利なことに、フレキシブルであり、ソフトウェア更新又はファームウェア更新により再構成され得る。代替的に、例示的な手順６００は、ディスクリート論理ゲートと、アナログ−デジタル回路を含むアナログ及び混合信号回路と、を使用して実装されてもよい。この代替は、有利なことに、より高速であり、例えば、レジスタ値を決定するためのプログラム可能な閾値を含み得る。この決定の二値性のため、デジタルロジックが、拡張的に使用され得る。
【００４５】
例示的な手順について上記にて検討した。次いで、１以上の実施形態における、リバーシブルコネクタ技術の態様を実装するために使用され得る例示的なシステム及びデバイスについて検討する。
【００４６】
例示的なシステム及びデバイス
図７は、本明細書に記載の様々な技術を実装することができる１以上のコンピューティングシステム及び／又はコンピューティングデバイスを表す例示的なコンピューティングデバイス７０２を含む例示的なシステムを、概括的に７００で示している。コンピューティングデバイス７０２は、例えば、ユーザの片手又は両手で把持されて運ばれるように形成されたサイズのハウジングを使用することによりモバイル構成をとるよう構成され得る。そのようなモバイル構成の例は、携帯電話機、モバイルゲーム及び音楽デバイス、並びにタブレットコンピュータを含むが、他の例も意図されている。
【００４７】
図示される例示的なコンピューティングデバイス７０２は、処理システム７０４、１以上のコンピュータ読み取り可能な媒体７０６、及び１以上の入力／出力（Ｉ／Ｏ）インタフェース７０８を含み、これらは、互いに通信可能に接続される。図示されていないが、コンピューティングデバイス７０２は、様々なコンポーネントを互いと接続するシステムバス又は他のデータ・コマンド転送システムをさらに含み得る。システムバスは、メモリバス若しくはメモリコントローラ、周辺バス、ユニバーサルシリアルバス、及び／又は、様々なバスアーキテクチャのうちのいずれかを利用するプロセッサバス若しくはローカルバス等の様々なバス構造の任意の１つ又は組合せを含み得る。制御ライン及びデータライン等の多様な他の例も意図されている。
【００４８】
処理システム７０４は、ハードウェアを用いて１以上の動作を実行する機能を表す。したがって、処理システム７０４は、プロセッサ、機能ブロック等として構成され得るハードウェア要素７１０を含むものとして図示されている。これは、特定用途向け集積回路、又は、１以上の半導体を用いて形成される他のロジックデバイスとしてのハードウェアによる実装物を含み得る。ハードウェア要素７１０は、ハードウェア要素７１０が形成される材料又はハードウェア要素７１０において利用される処理機構により限定されるものではない。例えば、プロセッサは、１以上の半導体及び／又はトランジスタ（例えば、電子集積回路（ＩＣ））から構成され得る。そのようなコンテキストにおいて、プロセッサ実行可能な命令は、電子的に実行可能な命令であり得る。
【００４９】
コンピュータ読み取り可能な記憶媒体７０６は、メモリ／ストレージ７１２を含むものとして図示されている。メモリ／ストレージ７１２は、１以上のコンピュータ読み取り可能な媒体に関連付けられたメモリ／ストレージ能力を表す。メモリ／ストレージコンポーネント７１２は、揮発性媒体（ランダムアクセスメモリ（ＲＡＭ）等）及び／又は不揮発性媒体（読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、光ディスク、磁気ディスク等）を含み得る。メモリ／ストレージコンポーネント７１２は、固定媒体（例えば、ＲＡＭ、ＲＯＭ、固定ハードドライブ等）に加えて、着脱可能な媒体（例えば、フラッシュメモリ、着脱可能なハードドライブ、光ディスク等）を含み得る。コンピュータ読み取り可能な媒体７０６は、以下でさらに説明するように、多様な他の態様で構成され得る。
【００５０】
１以上の入力／出力インタフェース７０８は、様々な入力デバイスを用いてユーザがコマンド及び情報をコンピューティングデバイス７０２に入力できるようにするとともに、様々な出力デバイスを用いて情報をユーザ及び／又は他のコンポーネントに提示できるようにする機能を表す。入力デバイスの例は、キーボード、カーソル制御デバイス（例えば、マウス）、マイクロフォン、スキャナ、タッチ機能（例えば、物理的タッチを検出するよう構成される静電容量式センサ又は他のセンサ）、（例えば、タッチを含まない、ジェスチャとしての動きを認識するために、赤外線周波数等の非可視波長又は可視波長を利用することができる）カメラ等を含む。出力デバイスの例は、ディスプレイデバイス（例えば、モニタやプロジェクタ）、スピーカ、プリンタ、ネットワークカード、触覚応答デバイス等を含む。したがって、コンピューティングデバイス７０２は、ユーザインタラクションをサポートするために、以下でさらに説明するように、多様な態様で構成され得る。
【００５１】
コンピューティングデバイス７０２は、さらに、コンピューティングデバイス７０２から物理的に且つ通信可能に着脱可能であるアクセサリデバイス７１４に物理的に且つ通信可能に接続されるものとして図示されている。このように、多種多様な入力デバイスが、多種多様な機能をサポートするための多種多様な構成を有するコンピューティングデバイス７０２に接続され得る。この例において、アクセサリデバイス７１４は、圧力検知式キー、機械的切り替えキー、ボタン等として構成され得る１以上のコントロール７１６を含む。
【００５２】
アクセサリデバイス７１４は、さらに、様々な機能をサポートするよう構成され得る１以上のモジュール７１８を含むものとして図示されている。１以上のモジュール７１８は、例えば、コントロール７１６から受信されたアナログ信号及び／又はデジタル信号を処理して、入力が意図されたものであるかどうかを判定したり、入力が静圧を示すかどうかを判定したり、コンピューティングデバイス７０２に対する動作のためにアクセサリデバイス７１４の認証をサポートしたりするよう構成され得る。
【００５３】
様々な技術が、ソフトウェア、ハードウェア要素、又はプログラムモジュールの一般的コンテキストにおいて本明細書で説明され得る。一般に、そのようなモジュールは、特定のタスクを実行する又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、要素、コンポーネント、データ構造等を含む。本明細書で使用される「モジュール」、「機能」、及び「コンポーネント」という用語は、一般に、ソフトウェア、ファームウェア、ハードウェア、又はこれらの組合せを表す。本明細書に記載の技術の特徴は、プラットフォーム非依存であり、これは、そのような技術が、様々なプロセッサを有する様々な商用コンピューティングプラットフォーム上で実装され得ることを意味する。
【００５４】
説明したモジュール及び技術の実装物は、何らかの形態のコンピュータ読み取り可能な媒体に記憶されてもよいし、何らかの形態のコンピュータ読み取り可能な媒体を介して伝送されてもよい。コンピュータ読み取り可能な媒体は、コンピューティングデバイス１００２がアクセスできる様々な媒体を含み得る。限定ではなく例として、コンピュータ読み取り可能な媒体は、「コンピュータ読み取り可能な記憶媒体」及び「コンピュータ読み取り可能な信号媒体」を含み得る。
【００５５】
「コンピュータ読み取り可能な記憶媒体」は、単なる信号伝送、搬送波、又は信号自体ではなく、情報の記憶を可能にする媒体及び／若しくはデバイスを指し得る。したがって、コンピュータ読み取り可能な記憶媒体は、信号自体又は信号伝送媒体を含まない。コンピュータ読み取り可能な記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、論理素子／回路、又は他のデータといった情報を記憶するのに適した方法又は技術により実装された、揮発性及び不揮発性の着脱可能及び着脱不可能な媒体及び／又は記憶デバイス等のハードウェアを含む。コンピュータ読み取り可能な記憶媒体の例は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、若しくは他の光ストレージ、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージ、若しくは他の磁気記憶デバイス、又は、所望の情報を記憶するのに適した、コンピュータがアクセスできる他の記憶デバイス、有体の媒体、若しくは製品を含み得るが、これらに限定されるものではない。
【００５６】
「コンピュータ読み取り可能な信号媒体」は、ネットワークを介して等、コンピューティングデバイス７０２のハードウェアに命令を伝送するよう構成された信号伝送媒体を指し得る。信号媒体は、通常、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、又は他のデータを、搬送波、データ信号、又は他の伝送機構等の変調されたデータ信号内に具現化することができる。信号媒体はまた、任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号内の情報を符号化するように設定又は変更された特性のうちの１以上を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワーク又は直接配線接続等の有線媒体と、音響、ＲＦ、赤外線、及び他の無線媒体等の無線媒体と、を含む。
【００５７】
前述したように、ハードウェア要素７１０及びコンピュータ読み取り可能な媒体７０６は、１以上の命令を実行する等の、本明細書に記載の技術の少なくとも一部の態様を実装するためにいくつかの実施形態において使用することができる、ハードウェア形態で実装されたモジュール、プログラマブルデバイスロジック、及び／又は固定デバイスロジックを表す。ハードウェアは、集積回路又はオンチップシステム、マイクロコントローラデバイス、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）、及び、シリコンによる他の実装物又は他のハードウェアデバイスのコンポーネントを含み得る。このコンテキストにおいて、ハードウェアは、そのハードウェアにより具現化される命令及び／又はロジックにより定められるプログラムタスクを実行する処理デバイスに加えて、例えば前述したコンピュータ読み取り可能な記憶媒体等の、実行される命令を記憶するために利用されるハードウェアとして動作することができる。
【００５８】
前述したものの組合せを使用して、本明細書に記載の様々な技術を実装することもできる。したがって、ソフトウェア、ハードウェア、又は、実行可能なモジュールは、何らかの形態のコンピュータ読み取り可能な記憶媒体上に具現化される、且つ／又は、１以上のハードウェア要素７１０により具現化される１以上の命令及び／又はロジックとして実装され得る。コンピューティングデバイス７０２は、ソフトウェアモジュール及び／又はハードウェアモジュールに対応する特定の命令及び／又は機能を実行するよう構成され得る。したがって、ソフトウェアとしてコンピューティングデバイス７０２により実行可能なモジュールの実装は、例えば、処理システム７０４のハードウェア要素７１０及び／又はコンピュータ読み取り可能な記憶媒体を使用することにより、ハードウェアにより少なくとも部分的に実現され得る。命令及び／又は機能は、本明細書に記載の技術、モジュール、及び例を実装する１以上の製品（例えば、１以上のコンピューティングデバイス７０２及び／又は処理システム７０４）により、実行可能／動作可能であり得る。
【００５９】
結び
例示的な実施形態が、構造的特徴及び／又は方法的動作に特有の言葉で説明されたが、特許請求の範囲において定められる実施形態は、上述した特定の特徴又は動作に必ずしも限定されるものではない。そうではなく、特定の特徴及び動作は、特許請求される特徴を実施する例示的な形態として開示されている。
【図１】
2017523509.tif 000005
【図２】
2017523509.tif 000006
【図３】
2017523509.tif 000007
【図４】
2017523509.tif 000008
【図５】
2017523509.tif 000009
【図６】
2017523509.tif 000010
【図７】
2017523509.tif 000011
【国際調査報告】
2017523509.tif 000012
2017523509.tif 000013
2017523509.tif 000014
2017523509.tif 000015
2017523509.tif 000016
2017523509.tif 000017