2、D-PHY物理层基础:电气特性、信号定义(LP/HS)与差分信号原理

D-PHY 是 MIPI CSI-2 的物理层基石。说白了,它就是摄像头和处理器之间那几根线怎么传信号的规则。

我早年第一次调 MIPI 接口时,以为只要把线连上就能跑。结果图像全是雪花。后来才发现,D-PHY 的电气特性没搞对,LP 和 HS 模式切换乱了,差分信号也没做好。嗯,这节课我们就把这些基础掰开揉碎讲清楚。

2.1 电气特性:电压、电流、时序

D-PHY 使用两种工作模式:LP(Low Power,低功耗)和HS(High Speed,高速)。它们的电压、电流、时序完全不同。

参数LP 模式HS 模式
电压摆幅0 ~ 1.2V(单端)200mV 差分(典型)
驱动电流~1mA~2.5mA
传输速率~10Mbps80Mbps ~ 4.5Gbps
信号线数2 根(Dp, Dn)2 根(差分对)
总线状态LP-00, LP-01, LP-10, LP-11HS-0, HS-1
💡 小经验:LP 不是“低速”,而是“低功耗”。它用来传控制指令和握手信号。HS 才是真正的数据通道。很多新手一上来用 LP 模式跑高速,结果眼图完全闭合——我当年就犯过这个错。

2.2 信号定义:LP 模式四种状态

LP 模式下,Dp 和 Dn 两根线分别拉高或拉低,组合出 4 种总线状态:

  • LP-00:Dp=0, Dn=0 → 低功耗待机
  • LP-01:Dp=0, Dn=1 → HS 请求
  • LP-10:Dp=1, Dn=0 → HS 准备
  • LP-11:Dp=1, Dn=1 → 高阻态 / 控制模式

你看,D-PHY 用两根线就能搞定状态机切换和高速数据传输。为什么不用单端?因为差分信号抗干扰能力更强。后面会细说。

2.3 高速数据传输:差分信号原理

HS 模式下,数据通过 Dp 和 Dn 的差分电压传输。一对线,信号是相反的:Dp 高则 Dn 低,反之亦然。接收端只看差值:

Vdiff = V(Dp) - V(Dn)

差分信号的好处很明显:

  • 共模抑制:外界噪声在两根线上产生相同的干扰,但差值不受影响。我测过一根长排线上叠加了 1V 的共模噪声,差分信号依然完整。
  • 电压摆幅小:200mV 差分就能传 4.5Gbps,功耗极低。
  • 电磁干扰小:两根线靠近走,磁场相互抵消。
⚠️ 避坑指南:差分线必须等长、等距、紧耦合。曾经我在一块板子上,Dp 比 Dn 长了 2mm,结果 1.5Gbps 速率下眼图就闭合了。后来重新绕线才搞定。

2.4 LP ↔ HS 状态切换

D-PHY 最大的特点是在 LP 和 HS 之间快速切换。想一想:摄像头要传输大量数据时,不可能一直用 HS 模式,那样功耗太大。平时空闲用 LP 模式待机;需要传数据时,先通过 LP 状态机握手,再切到 HS 模式。

状态切换序列(以 Data Lane 为例):

  1. LP-11 → 空闲
  2. LP-01 → 发起 HS 请求
  3. LP-00 → 进入 HS 准备
  4. HS-0 → 开始数据传输(SOF 同步序列)
  5. HS-1 → 数据位
  6. ... 完成后回到 LP-11

整个过程必须在几十纳秒内完成。如果时序没对齐,接收端可能无法正确识别 HS 起始。我之前调试一款传感器时,发现 LP-00 维持时间不够,导致接收端误判为总线冲突。调整后一切正常。

📌 关键点:LP 模式下的状态编码(4 种)与 HS 模式下的差分编码完全不同。它们共用同一对线,靠电压域隔离。不能用万用表去量差分信号,把不出来的。

2.5 D-PHY 物理层结构一览

为了让你更直观地理解,我画了一张 D-PHY 物理层的结构图。它包括发送端(TX)和接收端(RX),以及中间的差分传输线。

D-PHY 物理层结构(发送端 → 接收端) 发送端 (TX) 接收端 (RX) 差分传输线对 Dp (正线) ──────────────────→ Dn (负线) ──── · ──────── · → Z₀ = 100Ω 差分阻抗 等长 / 紧耦合 LP 驱动 / 状态机 LP-00/01/10/11 HS 差分驱动 200mV 摆幅 / 2.5mA PLL 时钟生成 LP 检测 / 状态机 检测 LP 电平组合 HS 差分接收器 比较 V(Dp)-V(Dn) CDR 时钟恢复

图中左边是发送端,右边是接收端。中间橘色区域代表差分传输线对,必须保证差分阻抗 100Ω。实际调试时,我习惯用 TDR 时域反射计测一下 PCB 走线的阻抗,差 10Ω 以上就会导致反射和眼图恶化。

2.6 调试要点:眼图与共模电压

调 D-PHY 最常用的工具是示波器+差分探头。看 HS 模式下的眼图:

  • 眼高(垂直张开度)应 ≥ 120mV(差分)
  • 眼宽(水平张开度)应 ≥ 0.35UI(单位间隔)
  • 共模电压:HS 模式下,Dp 和 Dn 的直流平均电压应在 200mV ~ 400mV 之间
⚠️ 曾经掉过的坑:我用单端探头去测差分信号,结果眼图看起来全是毛刺。后来才意识到必须用差分探头把两线转成单端。还有一次,共模电压偏到 600mV,接收端直接罢工了——原来是发送端电源纹波太大,换个 LDO 就好了。

2.7 本章小结

D-PHY 物理层就是三件事:

  1. LP 模式:4 种状态,传控制指令,功耗极低
  2. HS 模式:差分信号,200mV 摆幅,高速传输数据
  3. 切换时序:LP ↔ HS 必须在几十纳秒内完成,否则丢帧

掌握这些基础,后面看 D-PHY 的协议层(字节到包、CRC、ECC)就轻松多了。记住一句话:物理层不稳,协议层白干。