第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
经验之谈: 别一上来就跑最高速率。我建议先在HS-G1调通链路,再逐步提速。能在HS-G1稳定握手,再交换HS-G2参数,这是最保险的做法。

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的核心知识点串起来。不用死记硬背,看明白层级关系就好。

M-PHY物理层核心知识结构 M-PHY物理层 速率系列 HS-G1 (1.45 Gbps) HS-G2 (2.9 Gbps) HS-G3 (5.8 Gbps) 工作模式 HS模式(高速) PWM模式(低速省电) SLEEP / HIBERNATE 电气特性 差分信号 (Dp/Dn) 电压摆幅 (200-600mV) 阻抗匹配/端接 调试关键点 先低速调通链路,再逐步提速。 PCB走线等长、阻抗控制不能马虎。 测眼图是排查电气问题的最快方式。

3.5 总结

M-PHY这部分,核心就是理解它的“三个维度”:速率决定性能上限,模式控制功耗,电气特性保证信号完整。这三个维度是相互影响的。比如你速率跑得高,电压摆幅就得控制好,PCB布线的要求也更高。