このページの目次

USB と Type-C

USB バージョンの進化

スピード世代(命名の混乱は忘れよう)

実際の速度(市場名を使用):

USB 2.0 (High Speed):   480 Mbps
USB 3.0 (SuperSpeed):   5 Gbps    ← USB 3.1 Gen1 / USB 3.2 Gen1 とも呼ばれる
USB 3.1 (SuperSpeed+):  10 Gbps   ← USB 3.1 Gen2 / USB 3.2 Gen2 とも呼ばれる
USB 3.2 (SuperSpeed 2x2): 20 Gbps  ← デュアルチャネル、Type-C 必須
USB4 20Gbps:             20 Gbps   ← Thunderbolt 3 ベース
USB4 40Gbps:             40 Gbps   ← Thunderbolt 3 ベース

命名の混乱史(これらの名前を見かけたら):
  USB 3.1 Gen1 = USB 3.0 = 5 Gbps
  USB 3.1 Gen2 = USB 3.2 Gen2 = 10 Gbps
  USB 3.2 Gen1x1 = USB 3.0 = 5 Gbps (またか...)
  USB 3.2 Gen2x2 = 20 Gbps

ルール: 名前を見ないで、直接「何 Gbps か」を聞くこと

コネクタの進化

Type-A: 古典的な四角いポート、片側挿入のみ(3回挿して初めて入る)
  USB 2.0: 4 ピン (VBUS/D-/D+/GND)
  USB 3.0: 9 ピン (高速差動ペアが5本追加)

Type-B: 四角いポート、プリンター/Arduino/旧型デバイス向け
  USB 3.0版は突起が増えている

Mini-USB: 廃止済み (MP3/旧型スマホ時代)
Micro-USB: スマホ時代の過渡期製品、Type-C に置き換え中
  Micro-B 3.0: 異常に広い「平らなポート」

Type-C: すべてを統一するインターフェース ★
  24 ピン、両面挿入対応、USB + DP + PD の同時伝送をサポート

USB の電気特性とトポロジー

差動信号

D+/D- (USB 2.0): ハーフデュプレックス差動、3.3V
  スピード検出: D+ 上拉=Full Speed、D- 上拉=Low Speed

SSTX+/SSTX- (USB 3.x 送信): フルデュプレックス差動
SSRX+/SSRX- (USB 3.x 受信): フルデュプレックス差動

トポロジー

USB 物理拓扑:Host 为根的树形结构 Host (主控) Hub Hub Device Device Device 树形结构,最多 7 层(含 Root Hub);Host 发起所有传输,Device 不能主动发起。

転送タイプ

タイプ特徴用途
コントロール (Control)信頼性あり、帯域保証列挙/設定
バルク (Bulk)信頼性あり、遅延保証なしファイル/データ
インタラプト (Interrupt)信頼性あり、遅延保証ありキーボード/マウス
アイソクロナス (Isochronous)再送なし、帯域保証ありオーディオ/ビデオ

USB デバイス列挙

USB 枚举:插入到就绪,再到描述符逐层细化 枚举流程(插入 → 设备就绪) 插入 Host 检测 D+/D- 上拉 Host 复位总线(SEO) Host 分配地址(SET_ADDRESS) Host 读取设备描述符(VID/PID/Class) Host 加载对应驱动 设备就绪 描述符层级(从属关系,逐层细化) Device Descriptor VID/PID/厂商/产品 Configuration Descriptor 功耗/接口数 Interface Descriptor HID / MSC / CDC ... Endpoint Descriptor 端点地址/方向/类型 描述符层层从属:Configuration 定义功耗与接口数,Interface 声明设备类(Class), Endpoint 才是实际收发数据的通道 —— 驱动匹配靠 Interface 的 Class。

Type-C 詳細

ピン配置 (24 pin、両面対称)

A面 (上):                    B面 (下):
GND  TX1+ TX1-  VBUS  CC1   GND  RX2+ RX2-  VBUS  SBU2
D+   D-   SBU1  VBUS  RX1-  D-   D+   SBU1  VBUS  TX2-
                                   (鏡像対称!)

GND  RX1+ RX1-  VBUS  SBU1  GND  TX2+ TX2-  VBUS  SBU2  ← 反転後

重要ピン:
  CC1/CC2: 挿入方向の検出 + PD プロトコル通信
  SBU1/SBU2: DP Alt Mode の AUX チャネル
  D+/D-: USB 2.0 互換
  4組の SuperSpeed 差動 (TX1/RX1/TX2/RX2)

CC ピンの役割

1. 挿入方向の検出 (どちらの面が上か)
2. 相手側が Host/Device/電源のどちらかを検出
3. Rp/Rd 抵抗値で電流能力を通知:
   - USB Default: 500mA (5V)
   - USB 1.5A:    1.5A  (5V)
   - USB 3.0A:    3.0A  (5V)
4. USB PD 通信の物理層として機能 (BMC エンコーディング、300kbps)

Alt Mode

Type-C の 4 組の SuperSpeed チャネルは再構成可能:

DisplayPort Alt Mode:
  2 lane DP + USB 3.2 → 4K@60Hz + データ伝送
  4 lane DP           → 5K@60Hz または 8K@30Hz

Thunderbolt Alt Mode: 40Gbps PCIe + DP
HDMI Alt Mode: 一般的ではない、多くの場合 DP Alt Mode に変換して使用

USB Power Delivery (USB PD)

PD 3.1 の電圧ステップ

PD 3.0 (最大 100W):
  5V/9V/15V/20V @ 5A = 100W

PD 3.1 EPR (最大 240W):
  28V/36V/48V @ 5A = 240W を追加

PPS (Programmable Power Supply):
  電圧は 20mV ステップで調整可能
  電流は 50mA ステップで制限可能
  → 携帯電話が充電器の電圧/電流を直接制御でき、携帯電話内部の降圧が不要

PD 通信フロー

USB PD 协商:Source 与 Sink 通过 CC 线握手 Source (充电器) Sink (设备) ① 广播能力:5V/3A、9V/3A、15V/3A、20V/5A ② 请求:我要 20V/3A ③ 接受 → 切换到 20V 输出 ④ 持续协商:PPS 动态调整(双向) 通信协议:USB PD 基于 Type-C CC 引脚,BMC 编码 300kbps;PPS 可 20mV/50mA 步进持续微调。

一般的な USB クラス (Class)

Class名称ドライバ不要?
HID人間インターフェース✅ システム標準キーボード/マウス/コントローラー
MSC大容量ストレージUSBメモリ/外付けHDD
CDC通信デバイス❌ (ドライバ必要)USB-シリアル変換
CDC-ACM抽象制御モデル仮想シリアル (Arduino)
CDC-NCMネットワーク制御モデルUSBネットワークアダプター
Audioオーディオ✅ (UAC 1.0)USBヘッドセット/サウンドカード
Videoビデオ✅ (UVC)カメラ
DFUデバイスファームウェアアップグレード-ファームウェア書き込み用
MIDI音楽デバイスMIDIキーボード

クイックリファレンス

高速充電が欲しい → PD 出力 (W) を見ろ、W/QC/フラッシュ充電のマーケティング用語ではない
高速データ転送が欲しい → 実際の Gbps を見ろ、USB 3.x GenXxX という名前ではない
Type-C ≠ USB 3.x (USB 2.0 のみの Type-C も存在する)
Type-C ≠ PD 対応 (5V のみの Type-C ポートもある)
Type-C ≠ 動画出力対応 (DP Alt Mode が必要)

仕様書を確認する際は: どの規格か、どの出力、どの速度、動画出力に対応しているかを確認すること

キーワード: USB, Type-C, PD, PPS, Alt Mode, CCピン, HID, CDC, 列挙, 記述子