第3章 M-PHY物理层详解
M-PHY,说白了就是UFS和主控之间沟通的“高速公路”。它定义了数据怎么传输、跑多快、电压怎么配。我刚开始调UFS时,花了不少功夫啃这块,因为很多莫名其妙的问题,追到根上都是M-PHY配置没搞对。
3.1 M-PHY速率系列
M-PHY有好几个速率档位。UFS常用的就是HS-G1、HS-G2、HS-G3这几种。后面还有更高的,但目前我们主战场就这些。
| 速率档位 | 单通道速率 | 典型应用 |
|---|---|---|
| HS-G1 | 1.45 Gbps | 早期UFS设备、低功耗场景 |
| HS-G2 | 2.9 Gbps | 目前主流UFS 2.x/3.x |
| HS-G3 | 5.8 Gbps | UFS 3.1及以上高性能场景 |
| HS-G4 | 11.6 Gbps | 未来UFS 4.0 |
3.2 M-PHY工作模式
M-PHY不是只有跑高速这一种状态。它有多种工作模式,更像是设备的“工作姿态”。
HS模式 vs. PWM模式
- HS模式(高速模式): 真正干活的时候用的。数据传输时进入这个模式,信号连续翻转,速度拉满。
- PWM模式(低功耗模式): 省电用的。信号有占空比控制,速率低但功耗低。
这两种模式切换是有代价的,不能太频繁。我记得有个项目,为了省电让设备频繁切PWM,结果功耗没降下来,链路稳定性反而出了很多问题。
线缆状态
M-PHY定义了多个线缆状态,逻辑上控制链路的电源和时钟。
- FAST状态: 就是HS模式,数据收发进行中。
- SLOW状态: 低速模式,对应PWM。
- SLEEP状态: 深度睡眠,基本不耗电。
- HIBERNATE状态: 冬眠状态,恢复时间最长,但最省电。
避坑指南: 我曾经在调试时遇到过,设备进休眠后唤醒不了,查了两天。最后发现是PHY的HIBERNATE进入时序和Link层没对齐。两边对一下寄存器就解决了。所以,别忽略状态切换时序,它很关键。
3.3 M-PHY电气特性
电气特性决定信号能不能被对端正确识别。说白了就是电平标准、阻抗匹配这些东西。
差分信号
M-PHY用差分信号,好处是抗噪能力强。一对线分别是Dp和Dn。接收端看的是两者的差值。
我个人习惯在PCB设计时,保证差分对的等长和阻抗控制。别问我怎么知道的,之前因为PCB走线不等长,HS-G2死活上不去,最后重新Layout才解决。
电压摆幅
| 模式 | 电压摆幅 | 说明 |
|---|---|---|
| HS模式 | 200-400mV | 信号幅度较小,速度快 |
| PWM模式 | 200-600mV | 信号幅度可调整 |
电压摆幅影响功耗和信号完整性。高速下摆幅低了容易误码,高了功耗变大。需要根据实际链路质量做权衡。
阻抗和端接
阻抗通常要求40-60欧姆差分阻抗。端接电阻一般集成在PHY内部,但外部也需要留意。
- 发送端:注意输出阻抗匹配。
- 接收端:端接电阻一般在50欧姆左右对地。
- 共模电压:稳定在某个电平上,通常200-400mV。
3.4 知识结构图
下面这张图能帮你把M-PHY的核心知识点串起来。不用死记硬背,看明白层级关系就好。
3.5 总结
M-PHY这部分,核心就是理解它的“三个维度”:速率决定性能上限,模式控制功耗,电气特性保证信号完整。这三个维度是相互影响的。比如你速率跑得高,电压摆幅就得控制好,PCB布线的要求也更高。