2. M‑PHY 物理层基础
M‑PHY 是 UFS(以及 UniPro)物理层接口标准,负责在 Host 与 Device 之间通过一对差分信号线(Dp / Dn)实现串行数据收发。本章深入讲解 M‑PHY 的两种工作模式(PWM 与 HS)、差分信号与电气特性、速率等级(Gear)、初始休眠状态以及完整的唤醒序列。理解这些底层机制是后续链路训练与设备探测的前提。
2.1 PWM 模式与 HS 模式
M‑PHY 定义了两大类基本传输模式,分别面向低功耗/低速控制信号和高速数据突发。
| 特性 | PWM 模式 | HS 模式 |
|---|---|---|
| 信号波形 | 脉宽调制(PWM),占空比携带数据 | 差分 NRZ 非归零编码,无显式时钟 |
| 时钟传递 | 时钟嵌入在 PWM 信号边沿中 | 使用嵌入式时钟(8b10b 编码) |
| 典型速率范围 | Gear 1/2/3/4 下的低速段(≤ HS Gear 1) | Gear 1 至 Gear 4(最高 23.328 Gb/s) |
| 功耗 | 极低 | 较高,但数据吞吐量显著 |
| 应用场景 | 控制信号、电源管理、链路训练帧 | 大数据块传输(读写命令、用户数据) |
在链路训练的初始阶段,Host 和 Device 使用 PWM 模式交换低速同步信息;待速率协商完成后才切换至 HS 模式进行高速数据传输。
2.2 差分信号与电气特性
M‑PHY 物理介质为一对差分线路 Dp(正)和 Dn(负)。差分信号摆幅典型值为 200 mV(HS 模式)或根据 Gear 调整。关键电气参数包括:
- 差分电压 Vdiff = V(Dp) − V(Dn),峰‑峰值决定信号幅度。
- 共模电压 Vcm 通常被偏置在 0.6 V~1.2 V 之间。
- 端接阻抗:100 Ω 差分阻抗(每线 50 Ω 对地)。
- 信号上升/下降时间:与 Gear 对应的 bit 周期有关,需满足眼图模板。
# 使用示波器测量 HS 模式眼图示例命令(Tek MSO 5 系列)
:CH1:PROBE:SETup 0x0F;:CH2:PROBE:SETup 0x0F
:TRIGger:EDGe:SOUrce CH1;:TRIGger:LEVel 0.0
:MEASure:EYE:SOUrce CH1;:MEASure:EYE:DISPlay ON
差分结构可有效抑制共模噪声,使 UFS 链路在高速下保持稳定。
2.3 速率等级(Gear)
M‑PHY 使用 Gear 标识物理层的数据速率。每个 Gear 对应特定的符号率与有效数据率。HS‑Gear 的定义如下:
| Gear | 符号率 (Gsym/s) | 数据速率 (Gbps/lane) | 8b10b 开销 |
|---|---|---|---|
| HS‑Gear 1 | 1.248 | 1.248 | 20% |
| HS‑Gear 2 | 2.496 | 2.496 | 20% |
| HS‑Gear 3 | 4.992 | 4.992 | 20% |
| HS‑Gear 4 | 5.824 | 5.824 | 20% |
PWM 模式下 Gear 速率通常为对应 HS‑Gear 的 1/4~1/2,具体由产品实现决定。链路训练期间 Host 通过读取 Device 的 PA_Gear 属性协商双方支持的共同最高 Gear。
# 通过 UniPro 指令写入 PA_TxGear
WriteReg(PA_TxGear, 0x03) // 0x01=HS-G1, 0x02=HS-G2, 0x03=HS-G3, 0x04=HS-G4
# 读取 Device 支持的能力
ReadReg(PA_RxSupportedGears)
2.4 初始状态与唤醒序列
M‑PHY 的物理链路在空闲时处于 Hibern8 状态(低功耗休眠)。从 Hibern8 唤醒到准备好数据传输需要经过精确时序的唤醒序列(WSEQ)。唤醒序列由以下阶段组成:
- 准备阶段:Host 使能差分驱动器并发送特定的“唤醒令牌”(WAKE 信号)
- 稳定阶段:双方电源和时钟稳定,PWM 模式建链
- 协商阶段:通过交换 M‑PHY 层参数(Gear、模式等)进入 Ready
# 调试日志分析 — 唤醒序列成功完成(从 LinkUp 工具捕获)
[00:00.000] M‑PHY: Hibern8 -> LINE_RESET (assert WAKE)
[00:00.015] M‑PHY: LINE_RESET -> LINE_SYNC (PWM 同步)
[00:00.035] M‑PHY: LINE_SYNC Done, Gear=HS-G2
[00:00.050] M‑PHY: LINK_UP, Ready for UniPro frames
常见错误:
- 唤醒超时:Device 未正常退出 Hibern8,通常因电源未稳定或差分信号幅度过低。
- 同步失败:PWM 模式下信号占空比不匹配,需检查端接电阻。
- Gear 协商失败:双方最大 Gear 不一致或 PA 属性配置错误。
2.5 M‑PHY 状态与模式转换总览
下图以结构化的方式展示 M‑PHY 关键状态、工作模式、速率等级以及唤醒序列中各阶段的跳转关系(节点均使用高对比配色)。
图中从 Hibern8 出发的两条路径分别对应唤醒序列中的 WAKE 令牌启动和 PWM 同步;随后进入模式选择,可选择继续保持 PWM 模式进行控制帧传输,或切换至 HS 模式实现高速数据突发。无论是哪种模式,最终都要通过 Gear 协商 确定双方使用的速率等级。