さて、前回までは、結局USBのTypeAという規格では、電源の+/-、 差動によるデータ線(差動なので、2本で1データラインと換算)と、非常にシンプルな規格のはずなのに、どうしてこうも複雑な規格になったのかという疑問が上がった。
今回は、「USBのバージョンとPinの数」の軌跡を追いかけてみようと思う。Webで調べていると、ざっくり以下の世代に応じて「Pinの数」が変化している。
USB 1.0~1.1世代
使用コネクタ: Type-A, Type-B
ピン数: 4本
VCC (電源)/D- (データ)/D+ (データ)/GND (接地)
USB 2.0世代 (MicroUSB, MiniUSB)
使用コネクタ: Type-A, Type-B, Mini, Micro
ピン数: 4本 (Type-A, Type-B) と 5本 (Micro-USB)
VCC (電源)/D- (データ)/D+ (データ)/ID (Microのみ)/GND (接地)
USB 3.0世代 (USB3.0 TypeA, TypeB)
使用コネクタ: Type-A, Type-B, Micro-B
ピン数: 9本
VCC (電源)/D- & D+ (データ, USB 2.0 互換性のため)
TX (データ転送のためのペア1)/RX (データ受信のためのペア1)
GND (接地)
追加のTX & RX (データ転送/受信のためのペア2)
USB-C世代
使用コネクタ: Type-C
ピン数: 24本
VBUS (電源)/GND (接地)
CC1 & CC2 (ケーブルの方向や接続の役割を決定)
D+ & D- (USB 2.0 互換性のためのデータピン)
タイプCの配置を利用して、4組の高速データ転送ペア (四組のRX+TX)
さて、ぼんやりこのあたりのピンの用途を眺めていると、基本「D+/D-」という名称で使われていたデータピンに、さらに「RX/TX」という名称のデータピンが追加されている事がわかる。つまりバージョンが上がる都度、データ転送のためのピン(のペア)が追加されてきているというわけだ。
更に上記世代ごとの電源の仕様を調べると
USB1.0 & USB1.1世代
電源: 5V, 最大500mA
USB2.0世代
電源: 5V, 最大500mA (通常ポート), 最大1.8A (専用充電ポート)
USB3.0世代
電源: 5V, 最大900mA
USB3.1世代
電源: 5V, 最大2A または 12V/20V, 最大5A (Power Delivery仕様に従った場合)
USB-C世代
電源: 最大5A, 20V (Power Delivery 2.0/3.0をサポートする場合)
※さらに、USB-Cは逆接続が可能なため、デバイスとホストが動的に役割を交換できる。
なるほど、USB3.1とUSB-Cだけ、やたらと電源に関して「変動可能」な値が多い。とはいえ、電源に関係するVBUSやVCCと言われるホット側の端子は一つ、さらにはGNDはどの世代でも一つなわけだ。増えているのは基本的には「D+/D-/TX/TR」といった「データ信号」として扱っている信号線に見える。
なので、それらを「除外」して各世代でPinをみると、何かしらか不思議なものがUSB-Cにのみ追加されている。
「CC1 & CC2 (ケーブルの方向や接続の役割を決定)」
ふむ。どうやらこのあたりが「鍵」のようだなぁと。
(続く)