第3章 MIPI M-PHY物理层:模式、速率、电源状态与差分信号

讲UFS链路,绕不开M-PHY。它是物理层真正的“搬运工”,所有数据最后都要靠它变成高速电信号在PCB上跑。我刚开始接触UFS时,总把M-PHY跟UniPro混在一起,后来才发现——M-PHY是肌肉,UniPro是大脑,两者配合才能干活。

这一章我们聚焦M-PHY的四大核心概念:工作模式(HS/LS)、传输速率(Gear)、电源状态(Power State)、以及差分信号。搞懂这些,再去看眼图、测抖动,心里才有底。

3.1 M-PHY的工作模式:HS 与 LS

M-PHY不只一种跑法。它有两种模式:高速模式HS(High Speed)和低功耗模式LS(Low Speed)。说白了,HS用来传大数据块,LS用来传控制命令或空闲时的握手。

  • HS模式:差分电压典型值200mV(峰值约400mV),速率高,功耗也高。数据通路都用它。
  • LS模式:差分电压典型值100mV~200mV(实际方案可能更低),速率低到10Mbps以下,功耗极低。LS主要用于链路唤醒、握手和低级配置。

我习惯把HS比作“高速卡车”,LS比作“自行车”。链路上大部分时间卡车在跑,但总线空闲时用自行车巡视,省油。记住:LS不是低速板级的HS,它在电气特性上有区别,协议栈处理也不一样。

3.2 Gear速率:从Gear1到Gear5

M-PHY的速率用“Gear”表示,每个Gear定义了特定的比特率。UFS 2.1支持到Gear3,UFS 3.1支持到Gear4,UFS 4.0已经到Gear5。速率翻倍不是线性的,而是每提升一个Gear,单通道速率×2。

GearHS速率 (Gbps/Lane)典型应用
Gear11.248UFS 2.0早期
Gear22.496UFS 2.0/2.1
Gear35.832UFS 2.1/3.0
Gear411.664UFS 3.1
Gear523.328UFS 4.0

注意,这里说的速率是单通道的。UFS可以配置1个或2个通道(Lane),总带宽翻倍。例如UFS 3.1双通道Gear4,总带宽约23.3 Gbps。我在调试一套UFS 3.1平台时,发现因为PCB走线阻抗不匹配,Gear4速率下眼图闭合,回退到Gear3才稳定——速率不是越高越好,得看物理层质量。

3.3 Power State:PWR模式切换

M-PHY定义了明确的电源状态,协议栈可以在不同负载下切换。我简单画个草图帮大家理清关系(下面我画了一张SVG图)。

M-PHY电源状态转换 HS-BURST 高速数据传输 STALL 等待,保留同步 SLEEP 深度休眠 HIBERNATE 掉电休眠 UNI-PRO 协议层管理 常用路径: HS-BURST ↔ STALL 频繁切换 长时间空闲进入SLEEP/HIBERNATE 协议层通过PWR指令控制切换

图里我标了4个主要状态:HS-BURST(真正高速传数据)、STALL(等待,保持时钟同步)、SLEEP(省电休眠)、HIBERNATE(掉电,几乎零功耗)。UNI-PRO层负责下发PWR指令,控制M-PHY在状态间跳转。

关键经验:HS-BURST到STALL的切换非常频繁——每次传输完一个数据包,链路都会进入STALL等待下一个包。不要小看这个切换,反应时间过长会影响总吞吐量。我曾经在客户现场排查性能问题,发现某款主控从STALL到HS-BURST的恢复时间高达2μs,而规范要求应<500ns。改版后吞吐量提升了约12%。

3.4 差分信号:M-PHY的物理基础

M-PHY使用差分对(D+ / D-)传输数据。差分信号抗共模噪声强,辐射也小。UFS链路中每一对差分线传输一路数据(一个Lane),时钟和数据是嵌入式时钟恢复的,所以没有独立的时钟线。

差分电压是核心参数。HS模式下,差分电压摆幅典型值200mV(单端100mV),接收端阈值约±50mV。LS模式下,摆幅更低,但接收器灵敏度也相应设计。嗯,这里有个坑——PCB布线时差分对的等长要求非常严格:差分布线对内等长建议≤5mil,对间等长≤10mil。

千万别信“差分布线只要大概等长就行”。我在量产验证时发现一块板子偶尔掉速率,查了半天发现其中一对差分线长了12mil,导致D+和D-的偏斜超出规范,解串失败。换板子后问题消失。所以调试UFS物理层,第一件事就是用示波器看差分眼图,第二件事就是量等长。

3.5 调试要点总结

下面我把这一章最实用的知识点列一个清单,你们调试时可以直接对着查。

  1. 区分HS和LS模式:看物理层电压摆幅,HS约200~400mVpp,LS约100~200mVpp。也可以用协议分析仪看PWR指令。
  2. Gear速率匹配:主机和设备必须支持相同Gear,协商不成功会自动降级。log里搜“PA_ActiveRate”或“Gear”关键字。
  3. 电源状态切换延迟:从SLEEP到HS-BURST的退出时间应小于10μs(规范要求)。用逻辑分析仪量PWR_SAVE或PWR_ACTIVE脉冲。
  4. 差分信号质量:眼图高度>200mV,眼里宽度>0.35UI(单位间隔)基本合格。实测时注意探棒接地要短。
  5. 阻抗连续性:差分阻抗100Ω±15%,任何突变都会造成反射。在靠近UFS处加AC耦合电容(典型100nF)。

讲个真实案例。有次帮某厂商调UFS 3.1,Gear4一直协商不过,降级到Gear3才能用。看log没报错,测眼图也还行。最后我让他们量了UFS电源脚的瞬态电压——发现在HS-BURST启动瞬间,电源跌了150mV。加了个10μF电容后,Gear4一次过。所以物理层不只是看信号线,电源完整性同样关键。

好了,M-PHY物理层的核心概念就这么些。把模式、速率、状态、差分信号这四个点吃透,后面讲链路训练和眼图测量时你才不会懵。