錦です。
ちょっと前に友達と話してたらUSB-Cがわかりにくすぎると言う話題になったので今回はメモ代わりにまとめます。
このシリーズでは、読者の皆様がなにかを調べる「最初の段階」となる内容をまとめています。この記事で完結するもよし、ここから更に調べるもよし
USB Type-C
USB Type-Cとは、USBの形状の一つというのは言うまでも有りません。一般的にUSBと呼ばれるUSB Standard Aより小型になり高速化された形状規格かつ、リバーシブルなコネクタとなっています。
まあ単純に言うと、USBはかなり後方互換を重視していて、1990年代に策定されたStandard Aと呼ばれる一般的なUSB形状はピン数を増やすことが徐々に困難になってしまったんですね。ちょっと前に話題になった「USB 3.0コネクタでも素早く挿さないとUSB 2.0になる問題」は、USB-A形状に無理やりピンを増やしたからという背景があります。そこで現代のデータインフラに合わせて規格されたのがUSB-Cってことです。
そのUSB Type-Cですが、その仕様はもちろん定められているものの一部機能がオプション扱いだったり、今回の話の中心になる「Alternate Mode」がかなりややこしかったりします。
というか、DisplayPortやThunderboltなど、"わかりやすいように(?)"複数の規格が一つに集約された結果、果てしなく意味不明な形状規格になってしまったんですが。
普通のUSB形状は一般的に「USB Standard A」と呼ばれるものですが、この記事ではUSB-AやUSB Type-Aとしています。
技術仕様
まず、物理的な形状から説明していきます。USB-Cのピンの数は24ピン。ピンの内訳は、以下のとおりです。
ピンの数の内訳は以下の通り
USB-C | USB-A | |
---|---|---|
接地 | 4 | 2 |
SS対応TX(正) | 2 | 1 |
SS対応TX(負) | 2 | 1 |
Vbus | 4 | 1 |
CC/Vconn | 2 | 0 |
SS非対応(負) | 2 | 1 |
SS非対応(正) | 2 | 1 |
サイドバンド | 2 | 0 |
SS対応RX(負) | 2 | 1 |
SS対応RX(正) | 2 | 1 |
SS:SuperSpeed(=USB 3)
ピンの物理的は実装はこちら。
A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 |
B12 | B11 | B10 | B9 | B8 | B7 | B6 | B5 | B4 | B3 | B2 | B1 |
そしてピン配列は以下の通りです。
Pin | 用途 | |
---|---|---|
A1 | B1 | 接地 |
A2 | B2 | SS対応TX(正) |
A3 | B3 | SS対応TX(負) |
A4 | B4 | Vbus |
A5 | B5 | CC/Vconn |
A6 | x | SS非対応(負) |
A7 | x | SS非対応(正) |
A8 | B8 | サイドバンド |
A9 | B9 | Vbus |
A10 | B10 | SS対応RX(負) |
A11 | B11 | SS対応RX(正) |
A12 | B12 | 接地 |
SS:SuperSpeed(=USB 3)
USB-Cは前述の通りリバーシブル(裏表関係ない)形状なので基本的にピンが線対称的に並んでいます。Wikipediaから引用した上の表でピンがA1〜A12、B12〜B1と並んでいますが、ケーブルの向きを測るために非対応になっているA5/B5を除けば、A1はB1に、A2はB2にといった感じでピンの配列が一致しています。これはオスメスともに共通していることです。
ただし、オス側はSuperSpeed非対応データバスの片方(オス側B6/B7)が潰されています。これは、USB-AのSuperSpeed非対応データバスが2ピンだけなのを合わせるためです。SuperSpeedはUSB 3のこと、SuperSpeed非対応はUSB 2.0と置き換えてください。
USBC | USB Aでの 有無 | ||
---|---|---|---|
Pin | 用途 | ||
A1 | B1 | 接地 | △ |
A2 | B2 | SS対応TX(正) | △ |
A3 | B3 | SS対応TX(負) | △ |
A4 | B4 | Vbus | △ |
A5 | B5 | CC/Vconn | × |
A6 | x | SS非対応(負) | ○ |
A7 | x | SS非対応(正) | ○ |
A8 | B8 | サイドバンド | × |
A9 | B9 | Vbus | △ |
A10 | B10 | SS対応RX(負) | △ |
A11 | B11 | SS対応RX(正) | △ |
A12 | B12 | 接地 | △ |
この表は、USB-CとUSB-Aのピンの違いを示しています。○はピン数が同じ、△はUSB-Aでのピン数がUSB-Cの半分であることを示しています。USB-Aはリバーシブルではないので方向検知は不要、それ以外はUSB-Aのほうが劣っているということになります。具体的には、SuperSpeedのデータバス・バスパワー/接地が各正負1ペアずつ、接続コンフィグ(CC)、サイドバンドがUSB-Aで欠落しています。
ただし、USB-Cしか規定されていないUSB4とUSB 3.2 Gen 2x2以外はUSB-AとUSB-Cで性能が一致していますので、この△と×がついた差はそのままUSBの機能に対して余っているピンということになります。もちろん余っているピンは全く使われていないわけでは有りません。
各ピンの役割
電源ピン
電源について。USBは通信ラインとは別に電源ラインが存在しています。通信ラインは後述しますが、電源ラインとはVbusとGNDです。Vbusが出力(正極+)、GNDは接地(負極ー)になります。
VbusはUSB-Aで1本、GNDは3本(USB 2.0が1本、USB 3.0が2本)の計2本(USB 3で4本)でしたが、USB-Cではそれぞれ4本の計8本に増えています。そういった関係で、電力供給面ではUSB-Cはかなり強力です。
まず、USB-Cの最大の特徴としては、USB Power Delivery(USB PD) 2.0以降に準拠しているということ。これは、すなわち最大240Wの給電が定められているUSB PD EPRにも対応しているということです。現状USB PD EPR以上の給電規格がないので、USB-Cは最大240Wの給電に対応しています。
また、後述で詳しく話す接続コンフィグ(CC)は電源ラインではなく通信線ですが、これもUSB-Cの電源を話す上で重要です。詳しくは後述のCCの項目で書きますが、CCでは、給電する側とされる側とケーブルが通信をすることで電圧・電流・電力を最適化するのに役立ちます。これは高出力な電力を供給するために必要不可欠なものですが、そういったUSB PDに対応しないUSB-AにはなかったのでUSB-Cの進化と言えます。
通信規格
ついで通信ラインの話で今回の本題です。
まず、USB-Cでの通信線をすべて挙げます。
- SuperSpeed対応線(A2/A3/A10/A11・B2/B3/B10/B11)
- SuperSpeed非対応線(A6/A7・B6/B7)
- サイドバンド(A8/B8)
- 接続コンフィグ・Vconn(A5/B5)
接続コンフィグ(CC)
でははじめに、既に電源部分で話が出ていた「接続コンフィグ」(以下、CC)から話します。なお、CCがはUSB 2.0とUSB 1.1ではCCピンはありません。
CCは、USB-Cから含まれた通信線です。ただし、この通信線ではデバイスとデバイスのデータのやり取りをするのではなく、接続(特に給電)に必要な情報の通信を行います。前述の電源では、給電の情報を通信することで給電を最適化するのに役立つといいました。
USB-Cでは、「E-Markedケーブル」(EMC)が搭載されているケーブルがあります。これは、ケーブルの製造者情報・ケーブルの電源容量などが記憶されている「eMarker」というICチップを両側のプラグに搭載しているケーブルを指します。eMarkerは特にUSB PDにおいて3A以上の電流を流す場合、あるいは、USB 3.1 Gen 1/2の規格をサポートしている場合搭載が必須です。
USB PDはRev:3.0に対応している場合、機器側にも接続コンフィグが記憶されているものがありますので、ケーブルのeMarkerは接続と同時に機器側と通信をします。その窓口になるピンがVconnでこれはCCのピンと共用しており、挿されたに端子のA5/B5ピンのうち、片方がCCとして、片方がVconnとして動作します。Vconnは機器とeMarkerの通信とeMarkerへの給電を行います。
CCの通信ラインを介しては、SOP Signalingという通信を行います。この通信では、両方のeMarkerと通信したり、双方の機器の接続コンフィグを通信させます。
以上が、電源供給に置いてのCCピンの役割です。その他の役割ですが、メス側はVconnとCCが固定になっていて、刺さったオスの向きを検出しています。具体的には、オス側のA5/B5は両方がCCとVconnを兼ねていますが、メス側はB5がVconn、A5がCCでそれらを兼用していません。つまり、メス側A5/B5に刺さったオス側のピンがA5かB5かで裏表を判断しているということです。
Super Speed対応線
SuperSpeedは前述の通り、USB 3.x系統の別名です。USB-CではA2/A11とB2/B11がこれに当たります。A2/B2がTXの正極、A3/B3がTXの負極、A11/B11がRXの正極、A10/B10がRXの負極ということになっています。USB 2.0には有りません。
TXとRXの違いですが、TXが送信、RXが受信側です。USB-AはTXの正負、RXの正負でそれぞれペアになっており、A2/B2がTXの正極、A3/B3がTXの負極、A11/B11がRXの正極、A10/B10がRXの負極ということになっています。これらをペアでくくると、A2/A3/B11/B10で一組、B2/B3/A10/A11で一組の計2組が搭載されています。
USB-Cの規格はシングルリンクとデュアルリンクが別で定められています。シングルリンクは前述の通り2組あるうち1組だけが有効になる規格で、デュアルリンクは2組ともが有効になります。デュアルリンクが定められている規格にはx2というのが名前に付きます。
USB-Aは形状として2組目のSuperSpeedピンが有りませんので、デュアルリンクはUSB-C特有の仕様となります(そもそもシングルリンクにしていたのはUSB-Aと歩調を合わせるためだけで、USB-Aを無視してUSBの規格を強化したいということからUSB-Cだけの規格としてデュアルリンクが策定されたっぽい)。
デュアルリンクは単純にシングルリンクの2倍の性能が有り、「USB 3.2 Gen 2x2」の20Gbpsは「USB 3.2 Gen 2x1」の10Gbpsの2倍となっています。最新のUSB4も同様で、「USB4Gen3x2」の40Gbpsは、Gen3x1の20Gbpsの2倍です。
なお、シングルリンクのUSB 3.2 Gen 2x1が10Gbpsをサポートする中で、わざわざ物理的にデュアルリンクをサポートする必要があるUSB 3.2 Gen 1x2については正直存在意義がまじでわからん。
規格 | 転送速度 | リンク | 使用ピン | 旧名称 |
---|---|---|---|---|
2.0 | 480Mbps | A6/A7 | ||
3.2 Gen 1x1 | 5Gbps | シングルリンク | A2/B2/A10/B10 | USB 3.0 USB 3.1 Gen 1 |
3.2 Gen 1x2 | 10Gbps | デュアルリンク | A2/B2/A3/B3/ A10/B10/A11/B11 |
|
3.2 Gen 2x1 | 10Gbps | シングルリンク | A2/B2/A10/B10 | USB 3.1 Gen 2 |
3.2 Gen 2x2 | 20Gbps | デュアルリンク | A2/B2/A3/B3/ A10/B10/A11/B11 |
|
4 Gen 2x1 | 10Gbps | シングルリンク | A2/B2/A10/B10 | |
4 Gen 2x2 | 20Gbps | デュアルリンク | A2/B2/A3/B3/ A10/B10/A11/B11 |
|
4 Gen 3x1 | 20Gbps | シングルリンク | A2/B2/A10/B10 | |
4 Gen 3x2 | 40Gbps | デュアルリンク | A2/B2/A3/B3/ A10/B10/A11/B11 |
SuperSpeed非対応線
SuperSpeed非対応線は、USB 2.0のピンです。このUSB 2ピンはオス側表裏にA6/A7・B6/B7で正負が1組ずつ計2組ありますが、メス側のB6/B7は潰されているので実質的にUSB-Cで扱えるUSB 2.0のピンは1組だけです。SuperSpeedと異なる点は、TXとRXが別になっていないということでしょうか。
おそらく、2組のうち1組が潰されているのはUSB Aと規格を合わせるためで、USB Aと同じピンの数になります。速度もUSB Aと変わらず最大480Mbps。
サイドバンド
サイドバンドは「Alternate Mode」で用いられるピンです。現状DisplayPortが使っています。現在、PCに搭載される大多数のUSB-Cは、DisplayPort規格の USB Alt Modeに対応しており、USB-Cから画面出力をすることが可能です。
ではここからは、このサイドバンドを含めて「Alternate Mode」を解説していきます。
Alternate Mode
「Alternate Mode」は、USB-Aに対するUSB-Cの余剰するピンを用いた通信でUSB以外のこともしようぜ!ってやつです。具体的には、USB規格のシングルリンク規格では、SuperSpeedが1組、サイドバンドが余剰します。デュアルリンクだとしてもサイドバンドが余剰します。長ったらしいのでAlt Modeに略します。
もともとサイドバンドは「Alt Mode」で用いられるのが前提で、有効化されていますが何も定められてないピンというような形。このピンを用いて前述の通り「DisplayPort」が対応している他、「Thunderbolt」もAlt Modeで動きます。
メリット
Alt Modeの最大のメリットは、USBとその他の規格が共通の形状を採用できるという点で、MacBook 2015やMacBook Pro 2016以降に登場したMacや超薄型ラップトップに見られたUSB-Aを廃し、USB-CあるいはThunderboltに集約された製品が散見されるようになりました。Alt ModeはUSB-Cを柔軟にいろんな規格に変更できますので、それ一本でユーザーがほしい機能になることができます。もっとも、現代のUSBハブの多くが映像出力に対応してくれてるのはAlt Modeのおかげということなんです。
AppleがMacBook Pro 2016を発表した際に使用されたスライドにも書かれている通り、USB Type-CはUSB PDを用いた電源、Thunderbolt・USBによる汎用データ通信、DisplayPort・HDMI・VGAを通じた映像出力など、幅広く対応させることができます。
実際には、変換機器などを用いることでUSB Type-Aでもできなくはない機能ですが、これはUSB自体の規格を無理やり別のものに変換して使用しているに過ぎません。そのため、USB機能+映像出力みたいなことを一本のUSB Aですることができません。あるいはできたとしても片方あるいは双方が制限を受けることになります。
一方で、USB-Cはサイドバンドやシングルリンク時のSSピンなど、純粋にUSB-Aよりピンが多いので、本来のUSBの機能を損なわずに機能を追加するということができるようになっています(まあその余剰分でも足りなくて完全にUSB機能を封じちゃってるものもあるんですが)。
排他的仕様
Alt Modeは基本的にサイドバンドを用いて通信することを前提としていますが、実際にはサイドバンド以外のピンも使うことがあります。その理由としては、映像出力の場合、サイドバンドのみではその帯域を賄うことができないためです。
そのため、USB-Cには、通常のUSB-C以外の機能を付与すること(リマップ)ができるピンがサイドバンド以外に10本設定されています。
リマップされているピンはSuperSpeed対応線8本とCCの2本です。ピン番号でいうと、
- A8/B8:サイドバンド
- A2/A3:SuperSpeed対応線 TX1
- B2/B3:SuperSpeed対応線 TX2
- A10/A11:SuperSpeed対応線RX2
- B10/B11:SuperSpeed対応線RX1
- A5/B5:CC/Vconn
がリマップできます。代替のAlt Modeがサイドバンドと少なくとも1組のSuperSpeedをリマップするので、デュアルリンクのSuperSpeedとは排他になります。
ただ、逆に言い換えれば、これらのピン以外のUSB 2.0通信線はいかなるAlt Mode下でもサポートされるということです(ただしハード的に断絶されてることもしばしば)。
Alt Modeに対応する例
Alt Modeが対応する例を挙げてみます。
Thunderbolt
Thunderbolt | ||
---|---|---|
Pin | 用途 | |
A1 | B1 | 接地 |
A2 | B2 | Thunderbolt TX(正) |
A3 | B3 | Thunderbolt TX(負) |
A4 | B4 | Vbus |
A5 | B5 | CC/Vconn |
A6 | x | SS非対応(負) |
A7 | x | SS非対応(正) |
A8 | B8 | Thunderbolt SBU |
A9 | B9 | Vbus |
A10 | B10 | Thunderbolt RX(正) |
A11 | B11 | Thunderbolt RX(負) |
A12 | B12 | 接地 |
ThunderboltもUSB-CのAlt Modeで動作します。ThunderboltではサイドバンドだけでなくSSがThunderbolt通信に置き換えられます。
そもそも、Thunderbolt自体はUSBの規格を強化したような仕様になっており、Thunderboltのプロトコル自体がUSBとDisplayPort、PCIeを含んでおり、SSをリマップしたとしても実際に通信する規格はUSBにも対応しているため、USBのフル機能が使えます。
USB以外では、PCIeとして使うことができます。これの最たるものは外部GPU(eGPU)ですね。基本的にPCIe 3.0 x4で通信されます。
ちなみに、Thunderboltの帯域は40GB/sと、USB4と等しいものの、登場当初最新だったUSB 3.1 Gen 2と比較すると4倍の帯域をもっていましたが、実際に(おそらくUSBにおいて)データ転送で使える帯域は22Gbps(Thunderbolt 3でPCIe x2接続の場合16Gbps)となっています。残りの帯域はDisplayPortでの映像出力用になっています。映像出力は、1ポートで4Kを2台まで、あるいは5Kを1台までとなっています。
Thunderboltの説明はここですると長くなるので、また別の機会に。USB4はThunderbolt 3の仕様がほぼそのまま規格化されています。
DisplayPort Over USB Type-C
DP Over USB-C | ||
---|---|---|
Pin | 用途 | |
A1 | B1 | 接地 |
A2 | B2 | DP or SS対応TX(正) |
A3 | B3 | DP or SS対応TX(負) |
A4 | B4 | Vbus |
A5 | B5 | CC/Vconn |
A6 | x | SS非対応(負) |
A7 | x | SS非対応(正) |
A8 | B8 | DisplayPort |
A9 | B9 | Vbus |
A10 | B10 | DP or SS対応RX(正) |
A11 | B11 | DP or SS対応RX(負) |
A12 | B12 | 接地 |
そして、こちらがDisplayPortのUSB-C対応版「DisplayPort Over USB Type-C」です。長いので「DP Alt Mode」とします。
DP Alt Modeは、おそらくAlt Modeの代表例になるものでしょう。というのも、USB自体に映像出力機能がないので、この部分をDP Alt Modeで補っているためです。DP Alt Modeでは、DP 1.2-1.4の仕様がサポートされています。殆どの場合1.2に対応しています。
このモードのちょっとややこしい点は、場合によってUSBと排他的にになるという問題です。DisplayPort自体が1.2で17.3Gbpsもの帯域を占領する関係で、1.2の全機能を使おうとした場合USBのSuperSpeedに対応しません。ただしリマップに非対応のUSB 2.0は使えます。
どういった場合にUSB SuperSpeedと排他になるのかというと、4K60Hzにした場合です。SuperSpeedと共存させるためには最大で4K30Hzが限界です。
ピン配列で解説すると、4K 60Hzの場合SuperSpeedが2組8ピンともすべてがDisplayPortに置き換わり、4K 30Hzの場合、1組4ピンのみDisplayPortに置き換わり、残りの1組のみがSuperSpeed対応線として利用することができます。どのみち少なくとも1組のSuperSpeed線を占領するので、2組とも必要なデュアルリンクとDP Alt Modeは共存することができません。
なお、USB4ではDisplayPort 2.0に対応したDP Alt Modeが利用可能になっています。
HDMI Alt Mode
HDMI | ||
---|---|---|
Pin | 用途 | |
A1 | B1 | 接地 |
A2 | B2 | HDMI |
A3 | B3 | HDMI |
A4 | B4 | Vbus |
A5 | B5 | CC/Vconn |
A6 | x | SS非対応(負) |
A7 | x | SS非対応(正) |
A8 | B8 | HDMI |
A9 | B9 | Vbus |
A10 | B10 | HDMI |
A11 | B11 | HDMI |
A12 | B12 | 接地 |
Alt Modeの中で最も悪質と言って過言ではないのがHDMIのAlt Mode。普段ならDisplayPortよりHDMIっしょってなるんですけど、Alt Modeではそうはいってられん。
HDMIのAlt Modeで対応するのはHDMI 1.4b。こちらは最大4K 30Hzが限界。かつ、いかなる解像度であっても完全にSuperSpeedと排他的になります。つまり、HDMIとSuperSpeedを同時に使うことができません。ただし、前述の通りリマップ不可能なUSB 2.0は共存することができます。
USB-Cの超絶わかりにくさ
USBのUとは、Universalという単語です。ユニバーサルデザインなんて言葉あるように、普遍的に、広く一般的に用いるためのSB=シリアルバスということをモットーにしています。そのため、百均で売っているような玩具から超ハイエンドデバイスまで採用されているというものです。
そのため、安価なデバイスにも採用できるように、USBの規格はエントリ向けにも充実されています。その関係で、ハイエンド向けデバイスで使えるデータ転送速度・機能の多くはオプション扱いで「別になくてもいい」らしい。言い換えると、全てのUSB-CポートがUSB PDやAlt Modeに対応するわけではないということです。USB 3.1 Gen 2やUSB 3.2 Gen2x2みたいに転送速度は規格で定められているからいいものの、それ以外の機能、例えばeGPUがさせるかとか、映像出力ができるかなどは名称や外観からはわかりません。
前述のとおりAlt Modeもオプションの一つ。別になくても問題はないという機能です。ただ、Thunderboltを採用する理由として、Thunderboltは完全にハイエンド向けの規格ということもありUSBよりもわかりやすい(強制されるものが多い)規格であるためという場合があります。まあ、そのThunderbolt自体も、掘り下げればわかりにくい規格なのですが。
あと、映像出力の話をしましたが、あれはあくまでコネクタの話で、Apple M1のように極端に映像出力の能力がプロセッサ側で弱いとそれはもはやコネクタ規格の問題ではないので、映像含め使いたい機能が、OSやCPU、SoCにGPUなど、関係するすべての機構が対応している必要があるというのを最後に注釈しておきます。