好的,各位同学。我们开始讲第3章。

三、MIPI M-PHY 物理层基础:Gear、Sub-lane 与信号模式

各位,搞 UFS 调试,你迟早得跟 M-PHY 打交道。它是 UFS 链路最底层的物理接口,负责把要传的 0 和 1 变成线缆上的电压变化。

我这些年调试下来,发现很多工程师一上来就盯着协议层,结果链路不稳、训练不过,最后追根溯源,问题全在物理层。所以说,把这层的基础打牢,能帮你少走很多弯路。

3.1 Gear:速率的档位

M-PHY 的速率不是固定的,它分了几个档位,叫作 Gear。每个 Gear 对应一个标称速率。UFS 从早期的 Gear 1 一路走到现在的 Gear 5,速率越来越高。

Gear标称速率 (Gbps/Lane)典型应用
Gear 11.45UFS 2.0 早期,低速场景
Gear 22.90UFS 2.0 主流
Gear 35.80UFS 2.1 / 3.0 提升性能
Gear 49.60 (HS-G4)UFS 3.0 / 3.1 旗舰
Gear 523.20 (HS-G5)UFS 4.0 超高速

我个人的习惯是,在调试初期,千万别一上来就压到最高 Gear。先从一个较低的 Gear 开始,确认链路基本无误。这能帮你排除掉很多因为高频信号完整性带来的故障。我曾经有个项目,Gear 4 死活训练不过,后来降回 Gear 2,问题马上复现,结果发现是接收端的共模电压偏了 50mV。

3.2 Sub-lane:一条 Lane 里的“小车道”

这个概念有点绕,我尽量说清楚。一条 M-PHY 的 Lane 里,还能拆分成更细的 Sub-lane。比如 HS-Gear 4 的 Lane 里,就包含了两条 Sub-lane。

为什么要这么干?

  • 降低单条线速率:用两条半速的 Sub-lane 并行传,而不是用一条全速的 Lane。这样对 PCB 走线和芯片内部时钟的要求都降低了,硬件实现起来更友好。
  • 实现双倍数据速率 (DDR):每个 Sub-lane 的时钟上升沿和下降沿都采样数据,进一步提升了吞吐量。

说白了,就是把一条高速路拆成两条中速路并行跑。你在看协议文档的时候,看到 “2-lane” 或者 “8B/10B” 编解码,其实背后都与 Sub-lane 有关系。

调试小提示
在 UFS 的寄存器里,你通常能看到一个叫 PA_SubLane 的参数。它的值决定了当前 Gear 下,一条 Lane 被拆成了几条 Sub-lane。这一点在查看 Link Startup 状态时特别有用。我曾经遇到过一次设备识别错误,最后查下来就是 Host 和 Device 在 Sub-lane 的配置上不一致。

3.3 差分信号:抗干扰的法宝

M-PHY 用的是差分信号,这在高速串行总线里非常普遍。它用一对互补的线(D+ 和 D-)来传输信息。电压差为正表示 1,电压差为负表示 0。

它的好处很明显。

  • 极强的抗共模干扰:外部噪声会同时影响 D+ 和 D-,但它们的差值几乎不受影响。你想想看,手机里那么多干扰源,差分对是保证信号干净的基石。
  • 更低的电压摆幅:HS 模式下,信号摆幅只有 200mV 左右,这在高速下能显著降低功耗。

我见过一个很典型的错误:有人为了节省面积,把差分对的两根线在 PCB 上走了不同的层,或者没做等长处理。结果就是链路非常不稳定,动不动就失锁。切记,差分对的等长、阻抗控制(通常是 85Ω 或 100Ω)是硬指标,不能省。

避坑指南:
我曾经调试过一块板子,Link Training 总是在某个阶段失败。查了三天,最后拿着示波器去量 HS 差分信号,发现 D+ 和 D- 之间有一个周期性的共模尖刺。后来发现是电源层噪声耦合进来的。记住,给 M-PHY 的供电一定要干净,去耦电容的位置和容量都得仔细。

3.4 PWM 与 HS 模式:两种工作状态

M-PHY 的接口可以在两种模式下工作:PWM 和 HS。

PWM (Pulse Width Modulation) 模式:

  • 用于低速、低功耗的场景,比如链路初始化、休眠唤醒、或者传递一些控制信号。
  • 信号是单端模式,摆幅大(1.2V 左右),速率慢(最高到 Gear 1)。我理解它更像是一个带外通信通道,可靠性高,但速度慢。

HS (High Speed) 模式:

  • 用于大数据量的传输,比如读写文件。
  • 信号是差分模式,摆幅小(约 200mV),速率快(从 Gear 1 到 Gear 5)。它是我们追求性能的核心。
  • 从 PWM 切换到 HS,需要经过一个特定的启动序列,叫 HS-Init。这个序列如果出错,链路就无法进入高速状态。

我个人习惯,在调试 UFS 时,首先看它能不能正常进入 HS 模式。如果卡在 HS-Init 阶段,八成是差分信号质量有问题,或者物理层的基本配置(如 Term 电阻、偏置电压)不对。

说得更直白一点:PWM 模式是“打招呼”,HS 模式是“干活”。

关键理解
无论是 PWM 还是 HS,它们的核心物理层机制(Gear、Sub-lane、差分信号)都是协同工作的。HS 模式依赖差分信号的高抗干扰性来实现低摆幅、高带宽;PWM 模式依赖其低速、高摆幅来保证在噪声环境下也能可靠通信。

下面这张图清晰地把 M-PHY 的核心概念串了起来。

M-PHY 物理层核心概念图 M-PHY 物理层核心概念图 M-PHY 物理层 Gear 速率 (G1~G5, 1.45~23.2 Gbps) Sub-lane (降低单线速率) 差分信号 (D+ / D- 线) PWM 模式 (低速/高可靠性) HS 模式 (高速/低功耗) 关键路径说明 PWM 模式用于初始化,HS 模式用于数据传输。Gear、Sub-lane、差分信号是构建两种模式的基础。

理解了这些基础概念,你再去看复杂的链路训练过程,心里就有底了。你不会被那些奇怪的寄存器名称吓到,因为你已经知道了它们操控的是哪些物理层元素。