核心问题:USB 2.0/3.0 如何兼容?Type-C 正反插如何协调? 视角:嵌入式/BSP 工程师,硬件优先,兼顾协议层。
一、USB 标准演进时间线
| 版本 | 年份 | 理论速率 | 编码方式 | 双工 | 别称 |
|---|---|---|---|---|---|
| USB 1.0 | 1996 | 1.5 Mbps (Low Speed) | — | 半双工 | — |
| USB 1.1 | 1998 | 12 Mbps (Full Speed) | — | 半双工 | — |
| USB 2.0 | 2000 | 480 Mbps (Hi-Speed) | NRZI | 半双工 | — |
| USB 3.0 | 2008 | 5 Gbps (SuperSpeed) | 8b/10b | 全双工 | USB 3.2 Gen 1 |
| USB 3.1 | 2013 | 10 Gbps (SuperSpeed+) | 128b/132b | 全双工 | USB 3.2 Gen 2 |
| USB 3.2 | 2017 | 20 Gbps | 128b/132b | 全双工(双通道) | USB 3.2 Gen 2x2 |
| USB4 V1 | 2019 | 40 Gbps | 基于 Thunderbolt 3 | 全双工 | — |
| USB4 V2 | 2022 | 80 Gbps (非对称 120/40) | PAM3 | 全双工 | — |
命名坑:USB-IF 多次改名,实际看速率标注最靠谱。USB 3.0 = USB 3.1 Gen 1 = USB 3.2 Gen 1,都是 5Gbps。
二、USB 2.0 / 3.0 兼容性深度解析
2.1 核心机制:双总线架构
这是理解兼容性的关键。USB 3.0 不是把 USB 2.0 升级了,而是在旁边多背了一条独立的总线。
┌─────────────────────────────────────────────┐
│ USB 3.0 Host │
│ ┌──────────────┐ ┌────────────────────┐ │
│ │ USB 2.0 Core │ │ SuperSpeed Core │ │
│ │ (D+/D-) │ │ (SSTX±/SSRX±) │ │
│ │ 480 Mbps │ │ 5/10/20 Gbps │ │
│ │ 半双工 │ │ 全双工 │ │
│ └──────┬───────┘ └─────────┬──────────┘ │
│ │ │ │
└─────────┼─────────────────────┼──────────────┘
│ │
┌─────┴─────┐ ┌─────┴─────┐
│ D+ D- │ │ SSTX SSRX │
└───────────┘ └───────────┘
USB 2.0 总线 SuperSpeed 总线
永远存在 可降级/断开
关键点:两套信号线在物理上是独立的铜线。USB 3.0 线缆内部有 9 根线(USB 2.0 只有 4 根)。
2.2 物理层兼容
USB 3.0 Type-A 接口结构:
- 前 4 个触点:VBUS、D-、D+、GND(与 USB 2.0 完全一致)
- 后 5 个触点:SSRX-、SSRX+、GND、SSTX-、SSTX+(USB 3.0 新增)
- 胶芯为蓝色,标识 “SS”(SuperSpeed)
向下兼容场景:
| 场景 | 发生了什么 |
|---|---|
| USB 3.0 设备 → USB 2.0 口 | 只有前 4 个触点接触,SuperSpeed 触点悬空。设备检测不到 SuperSpeed 终端(Rx 端无终端电阻),自动降级为 USB 2.0 |
| USB 2.0 设备 → USB 3.0 口 | 前 4 个触点正常接触,后 5 个触点悬空。Host 在 SuperSpeed 握手超时后,切换到 USB 2.0 模式 |
| USB 3.0 设备 → USB 3.0 口 | 全部 9 个触点接触,优先尝试 SuperSpeed 握手 |
2.3 协议层协商流程
插入 USB 3.0 设备
│
▼
Host 先尝试 SuperSpeed 握手
│
├─ 发 LFPS(低频周期信号)检测远端终端
├─ 检测到 Rx 终端 → 发 TS1 训练序列
├─ 收到 TS2 响应 → SuperSpeed 链路建立 ✓
│
└─ 超时无响应 → 回退 USB 2.0
│
├─ Host 发 SE0(单端零)复位
├─ 设备回应 Chirp K
├─ Hi-Speed 握手完成
└─ 480 Mbps 模式运行
USB 3.0 全双工 vs USB 2.0 半双工:
- USB 2.0:只有一对 D+/D-,收发共用,同一时刻只能一个方向
- USB 3.0:SSTX 专门发送,SSRX 专门接收,双向可以同时进行
2.4 Type-C 下的兼容性
在 Type-C 接口中,USB 2.0 和 SuperSpeed 信号的物理处理方式不同:
- USB 2.0 (D+/D-):速率仅 480 Mbps,PCB 上的 stub(分支走线)影响可接受。插座侧 A6/B6(D+)短接、A7/B7(D-)短接,一分二直连 SOC,不需要 MUX。
- USB 3.x SuperSpeed:5 Gbps 起步,信号上升时间 < 100ps,主频成分接近 2.5 GHz,属于射频级信号。绝不能简单一分二——stub 效应会导致信号反射、眼图闭合。必须使用 MUX 芯片做信号路由。
三、Type-C 物理接口详解
3.1 24Pin 全功能接口定义
Type-C 插座 (Receptacle) — 母头,24 Pin
A1 GND B12 GND
A2 SSTXp1 B11 SSRXp1 ← 注意:A 的 TX 对应 B 的 RX(交叉)
A3 SSTXn1 B10 SSRXn1
A4 VBUS B9 VBUS
A5 CC1 B8 SBU2
A6 Dp1 B7 Dn2 ← 两组 D+/D-,正反插各用一组
A7 Dn1 B6 Dp2
A8 SBU1 B5 CC2
A9 VBUS B4 VBUS
A10 SSRXn2 B3 SSTXn2
A11 SSRXp2 B2 SSTXp2
A12 GND B1 GND
对称设计:绕中心 180 度旋转,A 排和 B 排的信号位置镜像。这才是正反插的物理基础。
引脚功能分组:
| 功能组 | 引脚 | 数量 | 说明 |
|---|---|---|---|
| 电源 VBUS | A4, A9, B4, B9 | 4 | 默认 5V,PD 可协商到 20V(PD3.0)/48V(PD3.1) |
| 地 GND | A1, A12, B1, B12 | 4 | 大电流回流 |
| USB 2.0 | A6/A7 (Dp1/Dn1), B6/B7 (Dp2/Dn2) | 2 对 | 兼容 USB 2.0,插座侧 2 对短接 |
| SuperSpeed TX | A2/A3 (SSTXp1/n1), B2/B3 (SSTXp2/n2) | 2 对 | USB 3.x 发送差分对 |
| SuperSpeed RX | A10/A11 (SSRXn2/p2), B10/B11 (SSRXn1/p1) | 2 对 | USB 3.x 接收差分对 |
| 配置通道 | A5 (CC1), B5 (CC2) | 2 | 方向检测/供电协商/Alt Mode |
| 边带通道 | A8 (SBU1), B8 (SBU2) | 2 | Audio/DP Alt Mode/调试 |
3.2 插头 (Plug) vs 插座 (Receptacle) 的关键差异
| 插座 (Receptacle) | 插头 (Plug) | |
|---|---|---|
| 引脚数 | 24 | 22 |
| D+/D- | 2 对 (A6/A7, B6/B7) | 1 对 |
| CC | CC1 + CC2 各一个 | 1 个 CC + 1 个 VCONN |
| SuperSpeed | 2 对 TX + 2 对 RX | 1 对 TX + 1 对 RX |
设计精妙之处:插头只需要一组信号,因为无论正反插,通过插头内部的固定接线,这组信号总能映射到插座正确的引脚上。冗余全部放在插座侧——插座侧多出来的那组是"备用的",正插用 A 排,反插用 B 排。
3.3 简化版本
并非所有 Type-C 都是 24Pin:
| 版本 | 引脚数 | 用途 |
|---|---|---|
| 24P | 24 | 全功能:USB 3.x + PD + Alt Mode |
| 16P | 16 | USB 2.0 + PD,无 SuperSpeed |
| 12P | 12 | 仅 USB 2.0 |
| 6P | 6 | 仅充电(VBUS + GND + CC) |
四、正反插协调机制(核心)
4.1 三步走总览
插入 → ①CC 检测方向 → ②确认角色 + 供电能力 → ③路由数据信号
└─ 哪路 CC 有电压? └─ Rp/Rd 分压 └─ MUX 切换 / 直连
4.2 第一步:CC 检测方向
先建立概念:
| 术语 | 全称 | 含义 |
|---|---|---|
| DFP | Downstream Facing Port | Host 端,上拉 Rp(提供电源) |
| UFP | Upstream Facing Port | Device 端,下拉 Rd(消耗电源) |
| DRP | Dual Role Port | 可在 DFP/UFP 间切换,如手机 |
电路模型:
Source (DFP) Sink (UFP)
5V │
│ │
┌┴┐ Rp (56k/22k/10k) ┌┴┐ Rd (5.1kΩ)
│ │ │ │
└┬┘ └┬┘
│ │
├── CC1 ──────── 线缆 ──────────┤ ← 正插时这条路通
│ │
├── CC2 ──── (未连通) ──────────┤ ← 正插时这条路断
│ │
GND GND
正插 vs 反插:
- 正插:插头 CC 引脚与插座 CC1 接触 → CC1 上形成 Rp + Rd 分压 → DFP 在 CC1 检测到电压
- 反插:插头 CC 引脚与插座 CC2 接触 → CC2 上形成 Rp + Rd 分压 → DFP 在 CC2 检测到电压
分压计算(以 Rp=56kΩ, Rd=5.1kΩ 为例):
V_CC = 5V × (5.1k / (56k + 5.1k)) ≈ 0.4V
DFP 侧的 ADC 或比较器检测这个电压,判断有设备插入及插入方向。
4.3 第二步:角色协商 + 供电能力通告
Rp 阻值决定默认供电能力:
| Rp 阻值 | DFP 宣告的电流能力 | CC 电压范围 |
|---|---|---|
| 56 kΩ | Default: 500mA (USB 2.0) / 900mA (USB 3.0) | 0.25V ~ 1.50V |
| 22 kΩ | 1.5A @ 5V | 1.50V ~ 2.18V |
| 10 kΩ | 3.0A @ 5V | 1.60V ~ 2.60V |
DRP(双角色):在两个状态间周期性切换——
- 作为 DFP 时:CC 上输出 Rp
- 作为 UFP 时:CC 上输出 Rd
- 哪个状态被对端响应就锁定哪个角色
- 两个 DRP 对接时,随机事件决定初始角色,后续可通过 PD 协议动态切换
VCONN 的切换:
- 检测完成后,未被使用的 CC 引脚被重新定义为 VCONN
- VCONN 给线缆内部的 eMarker 芯片(电子标记芯片)供电
- eMarker 芯片告诉两端:这条线缆支持多大电流、什么速率
4.4 第三步:数据信号路由
USB 2.0 (D+/D-):一分二即可
SOC USB 2.0 PHY
│
┌──┴──┐
D+ D-
│ │
├──────────── A6 (Dp1) ──┐
│ B6 (Dp2) ──┤ ← 插座侧 A6 和 B6 短接
│ │
├──────────── A7 (Dn1) ──┤
│ B7 (Dn2) ──┘ ← 插座侧 A7 和 B7 短接
│
480 Mbps 速率下,几毫米的 stub 对信号质量影响可接受。插头只有一对 D+/D-,正插时连 A6/A7,反插时连 B6/B7,都能通。
USB 3.x SuperSpeed:必须 MUX 切换
SOC USB 3.x PHY SuperSpeed MUX Type-C 插座
(只有 1 组 TX/RX) (如 TI HD3SS3212)
TX ──────────────→ MUX ├── TX1± ────→ A2/A3
SEL │ (正插路径)
RX ←────────────── MUX │
├── TX2± ────→ B2/B3
│ (反插路径)
│
├── RX1± ←──── B10/B11
│ (正插路径)
└── RX2± ←──── A10/A11
(反插路径)
CC 检测结果 ──→ MUX 的 SEL 引脚
为什么不能像 USB 2.0 那样短接?
SuperSpeed 信号 5 Gbps 起步,上升时间 < 100 ps,主频成分 ~2.5 GHz。此时未使用的分支走线形成一个开路 stub,在 1/4 波长处产生强反射,导致:
- 眼图闭合(码间干扰)
- 插入损耗增加
- BER(误码率)飙升
所以必须用 MUX 确保信号路径为点对点、无分支。
MUX 控制信号来源:
- 由 CC 控制器或带 UCPD 的 MCU 根据 CC 检测结果输出 GPIO
- TI HD3SS3212、PI3USB 等常见型号
一个易错的工程坑:
- USB 3.x 线缆内部 TX/RX 是交叉的:Host 的 SSTX 连到 Device 的 SSRX
- PCB 设计中只需按连接器标准定义直连,交叉在线缆内部完成
- 部分连接器厂商数据手册 TX/RX 标注可能错误,需要实测验证
五、供电与 PD 协议概要
5.1 默认供电(无 PD)
通过 CC 上 Rp 阻值通告,最大 5V/3A(15W)。
5.2 USB PD 协议
- 通信介质:CC 线(半双工,300 Kbps,BMC 编码)
- 数据角色(Data Role):Host / Device
- 电源角色(Power Role):Source / Sink
- 两者可以独立:手机给 U 盘供电(Source + Host),也可以笔记本给手机供电(Source + Device)
PD 电压等级:
| PD 版本 | 最大功率 | 电压档位 |
|---|---|---|
| PD 2.0 | 100W (20V/5A) | 5V, 9V, 15V, 20V |
| PD 3.0 | 100W | 同上 + PPS(可编程电源) |
| PD 3.1 | 240W (48V/5A) | 新增 28V, 36V, 48V |
5.3 Alternate Mode(替代模式)
通过 PD 协议协商,将 SuperSpeed 差分对重新分配给其他协议:
- DisplayPort Alt Mode:4 对 SS 差分对传输 DP 信号,最高 8K
- HDMI Alt Mode:类似原理
- Thunderbolt 3/4:Intel 协议,走 USB4
六、嵌入式/BSP 工程师硬件设计要点
6.1 仅 USB 2.0 的 Type-C 设备(最简方案)
这是嵌入式开发最常见的场景。只需:
SOC USB 2.0 PHY
D+ ─────────────┬──────────── Type-C 插座 A6 + B6 (短接)
D- ─────────────┼──────────── Type-C 插座 A7 + B7 (短接)
VBUS ←──────────┼──────────── Type-C 插座 VBUS(可加 OVP)
GND ────────────┴──────────── Type-C 插座 GND
CC1 ── 5.1kΩ ── GND ← 标识为 UFP/Sink
CC2 ── 5.1kΩ ── GND ← 两路都下拉,保证任一方向都能检测
不需要 MUX,不需要 CC 控制器。成本最低。
注意:有些 MCU 的 USB 2.0 控制器在没有被 VBUS 检测到的时候不会启动。如果 Type-C 供电和 MCU 供电不同步,VBUS 可以拉一根 GPIO 检测。
6.2 带 USB 3.x 的 Type-C 设备
需要额外:
- SuperSpeed MUX 芯片(TI HD3SS3212、PI3USB 等)
- 差分阻抗 90Ω ±10%,对内等长 < 6mil(USB 3.0)/ < 5mil(USB 3.1+)
- 耦合电容(通常 100nF)靠近连接器放置
- ESD 保护(结电容 < 0.5pF 用于 SuperSpeed,< 2pF 用于 USB 2.0)
6.3 Host/DRP 方案
两种路数:
| 方案 | 说明 | 典型芯片 |
|---|---|---|
| 带 UCPD 的 MCU | MCU 直接连接 CC 线,内置 PHY 处理 BMC 编解码和 PD 协议 | STM32G0/G4、NXP K32L |
| MCU + 外部 Port Manager | MCU 通过 I2C 配置专用 PD 控制器 | TI TPS25751、ST TCPP0x |
STM32 的两种 PD 方案:
- 带 UCPD 的 MCU:STM32G0 内置 USB Type-C / PD 控制器,CC 线直连,可直接做 Source/Sink/DRP
- 通用 MCU + TCPP0x:任何 STM32 通过 I2C 连接 TCPP(Type-C Port Protection),仅做配置角色。TCPP 芯片还提供 Dead Battery、ESD/OVP、N-Gate Driver 等保护功能
6.4 PCB 布线关键参数
| 信号 | 差分阻抗 | 对内等长 | 对间间距 |
|---|---|---|---|
| USB 2.0 D+/D- | 90Ω ±10% | < 150 mil | ≥ 4 倍线宽 |
| USB 3.0 SS TX/RX | 90Ω ±7% | < 15 mil | ≥ 4 倍线宽 |
| USB 3.1+ SS TX/RX | 90Ω ±7% | < 6 mil | ≥ 4 倍线宽 |
- SuperSpeed 走线禁止 T 型分支和 stub
- 换层不超过 2 次
- 必须有完整参考平面
6.5 Type-C 的 ESD/OVP 防护
Type-C 24 个引脚中需要保护的信号远多于 Type-A:
- 4 对 SuperSpeed 差分线(ESD 管结电容 < 0.5pF)
- 2 条 CC 线(需 20V 耐压,防范 VBUS 短路到 CC)
- 2 条 SBU 线
- VBUS(需 OVP,可达 48V)
TI 推荐方案:CC/SBU 引脚使用 IEC 61000-4-2 等级的 ESD 管,且耐 20V DC(防止 VBUS 短路)。ESD 管本身也必须能在 OVP 事件后幸存。
七、参考资料
以下按权威性分级排列。核心原则:以 USB-IF 官方规范和大厂(TI、Intel 等)一手白皮书/应用笔记为准。
A 级:USB-IF 官方规范(一手标准)
USB-IF 规范是终极权威。规范 PDF 可通过 USB-IF Document Library 获取(部分需签署 Adopters Agreement)。
| 编号 | 文档 | 说明 |
|---|---|---|
| [USB-C] | USB Type-C Cable and Connector Specification (Release 2.2+) | Type-C 物理接口、引脚定义、CC 检测、VCONN、eMarker 等一切硬件细节 |
| [USB 3.2] | USB 3.2 Specification | SuperSpeed 双总线架构、Gen1/Gen2/Gen2x2 速率定义、链路训练与协商 |
| [USB-PD] | USB Power Delivery Specification (PD 3.1) | CC 线上 BMC 通信协议、电压协商 PPS、240W EPR 模式 |
| [USB4] | USB4 Specification V1/V2 | 基于 Thunderbolt 3 的统一协议、PAM3 调制、80Gbps |
| [USB 2.0] | USB 2.0 Specification | D+/D- 差分信号、Hi-Speed 握手、设备枚举 |
- USB-IF 官方入口:https://www.usb.org/
- Document Library:https://www.usb.org/documents
- USB Type-C 概述页:https://www.usb.org/usb-type-cr-cable-and-connector-specification
- USB 3.2 概述页:https://www.usb.org/usb-32-0
B 级:芯片大厂一手应用笔记/白皮书(推荐首选参考)
| 编号 | 文档 | 厂商 | 关键内容 |
|---|---|---|---|
| [SLLA459] | Enabling USB Type-C Downstream Ports for USB3.1/3.2 Hubs | TI | Type-C DFP 设计、MUX 需求、USB 2.0 stub 可接受但 SuperSpeed 必须 MUX 的原因 |
| [SLYY109] | A Primer on USB Type-C and USB PD Applications and Requirements | TI | Type-C 从基本到全功能应用的完整概述,USB 速率演进表 |
| [SSZTAL6] | How to protect USB Type-C connectors from ESD and overvoltage | TI | CC/SBU 引脚 20V 耐压需求、IEC 61000-4-2 ESD 等级、VBUS 短路保护 |
| [ZHCAD99] | USB 3.2 双通道操作:您需要了解的内容 | TI | Gen2x2 双通道架构、TUSB1104 应用示例 |
| [HD3SS3220] | HD3SS3220 USB Type-C DRP Port Controller with SuperSpeed 2:1 MUX (Datasheet) | TI | CC 逻辑检测方向 → 控制 MUX 路由 TX/RX 的完整流程、DFP/UFP/DRP 模式详解、Dead Battery 支持 |
| [TPS65981] | TPS65981 USB Type-C & USB PD Controller, Power Switch, and High-Speed Multiplexer (Datasheet) | TI | 集成 PD 控制器 + 电源开关 + 高速 MUX 的单芯片方案、DP Alt Mode |
| [TPS25751] | TPS25751 USB Type-C & USB PD Controller (Datasheet) | TI | PD 3.1 认证、电源应用优化、I2C 控制 |
| [TUSB542] | TUSB542 USB Type-C 5Gbps Redriver 2:1 MUX (Datasheet) | TI | SuperSpeed 信号调理 + MUX 集成方案 |
| [USB3-INT] | USB 3.0 Internal Connector and Cable Specification (Rev 1.0) | Intel | 线缆内部 TX/RX 交叉定义、连接器规范 |
| [Mouser-HDMI] | One Standard To Rule Them All: USB Type-C Adds HDMI | Mouser | Alternate Mode 概述、HDMI over USB-C |
C 级:可以翻翻但非权威
- 知乎专栏 “Type-C协议-CC检测原理” 等(二手整理,信息基本正确但可能有遗漏)
- B站专栏 “超详细USB Type-C引脚信号及PCB布局布线介绍”(转载规范信息,可作为快速入口)