【USB】第5回 既存のUSBコネクターの問題を解消する新規格「USB Type-C」とは:ITの教室(2/2 ページ)
これまでのUSBコネクターの問題点を解消し、単一の構造のコネクターで全てのUSBホスト/デバイス/ハブを接続することを目的として作られた新しい規格「USB Type-C」について解説する。これまでのUSB規格とどのような点が異なるのか。
従来のUSBデバイスやホストとの接続を可能にする「USB Type-Cレガシーケーブル」
従来のUSBデバイス、ホストとの接続に関しては、「USB Type-Cレガシーケーブル」(正確にはレガシーケーブルとレガシーアダプター)が定義されている。これは、一方の側がUSB Type-Cプラグ(USB Type-Cレセプタクルはどのような場合でもケーブルと組み合わせることはできない)を持ち、反対側が従来のUSB 2.0、USB 3.1コネクターになっているものだ。USB Type-Cレガシーケーブルは7種類、USBレガシーレセプタクルを持つ「アダプター」には2種類がある。
ホスト側 | デバイス側 | CC | 備考 |
---|---|---|---|
USB 3.1 Type-Cプラグ | USB 3.1標準Bプラグ | Rdプルダウン | デバイス側はハブを含む |
USB 3.1 Type-Cプラグ | USB 3.1マイクロBプラグ | Rdプルダウン | デバイス側はハブを含む |
USB 2.0 Type-Cプラグ | USB 2.0標準Bプラグ | Rdプルダウン | デバイス側はハブを含む |
USB 2.0 Type-Cプラグ | USB 2.0マイクロBプラグ | Rdプルダウン | デバイス側はハブを含む |
USB 2.0 Type-Cプラグ | USB 2.0ミニBプラグ | Rdプルダウン | 仕様書ではハブが対象に記載されていない |
USB 3.1 標準Aプラグ | USB 3.1 Type-Cプラグ | Rpプルアップ | Type-Cデバイスとの接続を想定 |
USB 2.0 標準Aプラグ | USB 2.0 Type-Cプラグ | Rpプルアップ | Type-Cデバイスとの接続を想定 |
USB 3.1 Type-Cプラグ | USB 3.1標準Aレセプタクル | Rdプルダウン | USBコネクターが直接出ているUSBメモリのようなデバイスの利用を想定(アダプター) |
USB 2.0 Type-Cプラグ | USB 2.0マイクロBレセプタクル | Rpプルアップ | Type-Cホストに対してマイクロBプラグでの充電を想定(アダプター) |
Rdプルダウンとは、CCに接続した5.1kΩ抵抗の反対側をGNDに接続すること。Rpプルアップとは、CCに接続した56kΩ抵抗の他方をVBUSに接続すること。 ※ USB Type-Cレセプタクルとレガシーコネクターを組み合せたケーブル/アダプターは認められていない。 ※ CC信号のプルアップは必須。
このUSB Type-Cレガシーケーブルのうち、「USB 2.0標準Aプラグ」および「USB 3.1標準Aプラグ」を持つものは、それぞれ従来のUSB 2.0ホスト、USB 3.2ホストに、USB Type-Cデバイスを接続するためのものだ。
なお、USB Type-Cレガシーケーブルには、USBミニ、マイクロの「ホストケーブル」は存在しない。OTG(On-The-GO)デバイスをホストとして利用する場合、ミニ、マイクロ側にホストケーブルを接続したのち、USB標準AプラグとUSB Type-Cプラグのレガシーケーブルを使ってデバイスとの接続を行う。
後述するが、USB Type-Cでは、ホスト側がケーブルのCC信号を見て接続状態や相手機器を判断している。このため、レガシーケーブル、アダプターは、プラグ内部に必ず、判定のための抵抗が入っている。
初期には、こうした仕様に従わない不正なレガシーケーブルもあったようだ。USBフル機能Type-Cケーブルでは後述するeMarkerチップである程度の判定も可能なのだが、レガシーケーブルは両端のうちどちらかは、USB Type-Cではない機器になるため、抵抗の挿入だけが唯一の判定の手掛かりとなる。素性の分からないレガシーケーブルで動作のおかしいものは、この抵抗の有無を疑った方がいいだろう。
「電子マークケーブル(electrically Marked Cable)」とは
USBフル機能Type-Cケーブルには、メーカーや仕様などの情報を格納したeMarkerと呼ばれるチップをプラグ内に内蔵することが必須となっている。ただし、USB 2.0 Type-Cケーブルやレガシーケーブルに関しては、オプションとなっている。
このeMarkerは、USBフル機能Type-Cケーブルアッセンブリの両端のプラグに内蔵されている必要がある。また、このeMarkerのチップの電源となるのがUSBフル機能Type-CプラグのVconn信号である。ただし、このeMarkerの読み出しは、USB-PDで規定されている「SOP」(Start Of Packet)通信を利用する。つまり、USB-PDに対応するホストでなければ、eMarkerの情報を読み出すことはできない。また、SOP通信を利用することから、eMarkerチップを「SOP」と表記することがある。
また、eMarker自体は必須だが、オプションとしてUSB Authentication(USBオーセンティケーション)が用意されている。これは、電子署名によってeMarkerの内容が正しい製造元によって設定されたものであると証明するものである。eMarkerは単に情報をUSB-PDのプロトコルで読み出すものであり、チップ自体をコピーしたり、他のケーブルで読み出した内容を返したりするようなチップを作ることは困難ではない。これを防止するための仕組みがUSB Authenticationである。
また、USB Type-Cでは、「アクティブケーブル」を別途定義している。アクティブケーブルとは、eMarkerケーブルかつデータ通信信号などを「調整」する機能を持ったもの。主に後述のAlternateモードで利用することが想定されている。DisplayPortやHDMIといった仕様では、信号を増幅する「アクティブケーブル」が定義されている。こうしたアクティブケーブルに対してVconnやVBUSを内蔵するチップの電源として利用できる。
CC1/CC2によるUSB Type-Cのコンフィギュレーション
USB Type-Cでは、前述のコネクターの上下、ケーブルのねじれを検出する必要がある。また、USB Type-Cでは、ホストとデバイスだけでなく、両方の役割を切り替えて動作できる「デュアルデータロール(Dual-Data-Role)」デバイスを作ることもできる。
さらに、電源の供給源となるソースと、消費側であるシンクに加え、両方の役割を持つ「デュアルパワーロール(Dual-Power-Role)も可能だ。デュアルパワーロールのデバイスは、ソースとなる場合にはデータ通信はホスト側、シンクとなる場合には、デバイス側になる。なお、USB-PDでは、1回USB Type-Cでの構成が終了したあと、データ側の役割はそのままで、電源供給の役目だけを切り替えることも可能だ。
また、コネクターの機械的構造が1種類しかないため、「ホスト」と「ホスト」、「デバイス」と「デバイス」が接続されてしまう可能性もある。しかし、USB Type-Cでは、お互いに相手を認識できるため、どちらの場合でも問題が起きないようになっている。さらにデュアルパワーロールであれば、ホストとホストの接続時に、相手を判別してデバイス側として動作するといったことも可能だ。このような場合、片方がCDC/Networkデバイスとして動作し、ホスト側とネットワーク(この場合TCP/IPでの接続が推奨されている)を構築してデータ転送を可能にすることもできる。
USB Type-Cで接続されたホストは、自身のレセプタクルにあるCC1/CC2信号の2つを使って、接続の有無や接続されているプラグ、ケーブルの向きを判定する。また、デバイス側も、自身のレセプタクルにあるCC1/CC2信号を使って、ケーブルの向きなどを判定する。ケーブルの向きが判定できれば、片方をCC、もう一方をVconnとして扱うことが可能になる。Vconnに電力を供給することで、eMarkerの読み出しなどが可能になる。
CC1/CC2による構成は、それぞれのレセプタクルでCC1/CC2信号とVBUS(5V)または、GNDを抵抗で接続して区別する 。ソース側は、CC1/CC2をそれぞれ抵抗RpでVBUSに接続する「プルアップ」が、シンク側はCC1/CC2をそれぞれ抵抗RdでGNDに接続する「プルダウン」が行われる。ソース側の抵抗値Rpは、ソースの電流供給能力に応じて違っている。また、Rdに関しては5.1kΩとなっている(その他にも条件あり。詳細は仕様書参照)。
プルアップ5V | プルアップ3.3V | |
---|---|---|
デフォルトUSB電力 | 56kΩ | 36kΩ |
1.5A@5V | 22kΩ | 12kΩ |
3.0A@5V | 10kΩ | 4.7kΩ |
※ 抵抗の精度は±20%。 ※ この他に電流出力による判定方法もある。
また、Vconnに電源供給が必要な場合、プラグのVconn信号(レセプタクルのCC1またはCC2のどちらかに接続する)を抵抗Ra(800〜1.2kΩの間の抵抗値)でGNDに接続するプルダウンが行われる。
ソース側のデバイスからCC1/CC2の状態とそのときの状態を見ると、下表のような組合せとなり、これに従ってソース側、シンク側は、USB Type-Cを構成する。
CC1 | CC2 | 状態 | 位置 |
---|---|---|---|
未接続 | 未接続 | 何も接続されていない | − |
Rd | 未接続 | シンクが接続 | 正位置 |
未接続 | Rd | 逆位置 | |
未接続 | Ra | シンクを持たな電源ケーブル | 正位置 |
Ra | 未接続 | 逆位置 | |
Rd | Ra | シンクがある電源ケーブル(VPA/VPD)が接続 | 正位置 |
Ra | Rd | 逆位置 | |
Rd | Rd | デバッグアクセサリーモード接続 | − |
Ra | Ra | アナログオーディオアクセサリーモード | − |
CC1/CC2の状態とソース側の判定 |
なお、各状態におけるソース側、シンク側の振る舞いは、下表のように定められている。
状態 | ソース側の振る舞い | シンク側の振る舞い |
---|---|---|
何も接続されていない | CCピンを監視して接続を待つ | VBUSを監視して接続を待つ |
シンクが接続 | CCピンで脱着を監視、接続したら向きを認識してVBUS/Vconnを供給 | CCピンで向きを確認、VBUSで着脱を確認 |
シンクを持たな電源ケーブル | CCピンで着脱を監視。接続を待つ。VBUS/Vconnは供給しない | VBUSを監視して接続を待つ |
シンクがある電源ケーブル(VPA/VPD)が接続 | CCピンで脱着を監視、接続後、向きを認識、VBUS/Vconnを供給。VPDを検出したらVBUSを停止 | アクセサリーやVPDをサポートしていたらVBUSを監視。そうでない場合には何もしない |
デバッグアクセサリーモード接続(対応はオプション) | CCピンで脱着を監視。接続したらデバッグ用にピン構成を変更 | VBUSで着脱を監視。接続したらデバッグ用にピンを再構成 |
アナログオーディオアクセサリーモード(対応はオプション) | CCピンで着脱を監視。接続したらアナログオーディオ用にピンを再構成 | アナログオーディオに対応しているならばソース側と同じ。そうでなければ何もしない |
CC1/CC2の状態とソース側、シンク側の振る舞い |
CC1/CC2の抵抗の組み合わせでは、この他にアナログオーディオモードやデバッグアクセサリーモード(どちらも対応はオプション)もある。単純に抵抗をプルアップ、プルダウンするため、アナログオーディオアクセサリーモードに対応したデバイスはかなり単純な構成である。
なお、USB Type-Cでは、デバイス側の役割しか持たない機器であっても、アナログオーディオアクセサリーモードに対応することは可能だ。例えば、ホストに接続するとストレージデバイスとして動作する「オーディオプレーヤー」のUSB Type-CレセプタクルにType-Cアナログオーディオアクセサリーを接続して音楽を聴くといったハードウェアを作ることは可能である。
アナログオーディオアクセサリーモードは、あくまでもオプションであり、実装するかどうかは機器側に依存する。しかし、USBオーディオ半導体デバイスを内蔵したヘッドフォンやヘッドセットなどは、通常のUSBデバイスとなるため、一見、アナログオーディオアクセサリー接続をしているように見える。
実際、世の中には、USB Type-Cプラグ内にUSBオーディオチップを内蔵し、反対側に3.5Φのオーディオジャックを装備したケーブルなどが販売されている。こちらはあくまでもUSBオーディオであるため、USB Type-Cホストならばどのような機器でも接続が可能だ。注意すべきは、ホスト側にしか接続できない点だ。前述のオーディオプレーヤーの例では、アナログオーディオアクセサリーモードを利用するのに、オーディオプレーヤーはUSBホストになる必要はない。
ディスプレイ出力などにも利用可能なUSB Type-Cの「Alternate Mode」
「Alternate Mode(オルタネートモード)」は、USB Type-CのレセプタクルからUSB以外のインタフェース(例えば、DisplayPortなど)の信号を出力できるオプション機能だ。仕様上、Alternate Mode動作時でもUSB フル機能Type-Cケーブルアッセンブリを利用可能であり、Alternate Modeの出力先機器もUSB Type-Cレセプタクルを装備することが可能だ。
Alternate Modeでは、3つのタイプの接続方法を想定する。一つは、Alternate Modeで接続する「外部機器」とUSBフル機能Type-Cケーブルで接続する方法、もう一つは、「外部機器」から直接USBフル機能Type-Cケーブルが出ている場合だ。さらに、ケーブルを介さず、直接USB Type-C機器と接続するドッキングステーションのような「直接接続」も可能だ。
Alternete Modeでは、信号線の一部が別仕様のインタフェースの信号線として利用できるようになる。また、Alternate Modeでは、通常のUSB Type-C接続では未使用だったSBU1/SBU2の信号線も利用できる。
このため、USB 3.2信号の4本と合わせ合計6本の信号線を使って信号の伝送が可能だ。これらの信号線は、もともと最大10GbpsのUSB 3.2 Gen2の信号を伝送できるようになっているため、多くの用途に転用が可能だ。さらに直接接続する場合には、Vconn(ただしCC1/CC2の一方として初期状態では構成のための信号を出力する必要がある)や未使用の2本の信号線も追加で利用可能だ。この場合、USB Type-Cケーブルが間に入らないため、USB Type-Cケーブルの伝送仕様とは無関係に信号の伝送が可能になる。
ただし、Alternate Modeを持つUSB Type-C機器は、USB-PDの機能を使って、USBインタフェースを停止させてAlternate Modeに入る必要があるため、USB-PDの実装が必須となる。また、接続直後は、レセプタクルのCC1/CC2によるデバイスの判別にも対応する必要がある。
なお、Alternate Modeでは、USBフル仕様Type-Cケーブルアッセンブリを利用できることから、外部機器がUSB Type-C機器を兼ねることができる。仕様書では、USBデバイスとしての機能を持つことが強く推奨されている。もし、USBデバイスにならないのであれば、ホスト側への情報提供などのためにUSB Billboardデバイスを組み込むことが要求されている。
Alternate Modeで、一方が機器組み込みのケーブル(Captive)である場合、例えば、コネクターなどにAlternate Modeに対応した半導体デバイスなどを内蔵することで、見掛け上、USB Type-Cプラグと他の仕様のコネクター(例えばDisplayPortやHDMIなど)を両端に持つケーブルを作ることもできる。
USB Type-Cは、新しく追加されたコネクタータイプではなく、これまでのUSBコネクターを全て置き換えるものだ。USB 3.2やUSB-PDと合わせて、USBの世代交代と考えてもいいだろう。
Copyright© Digital Advantage Corp. All Rights Reserved.