3. D-PHY 物理层电气特性:差分信号、电压摆幅与共模电平

好了,咱们进入正题。这一章聊的是 D-PHY 的电气特性,说白了就是物理层怎么在高速和低功耗之间切换,怎么把 0 和 1 变成线上实实在在的电压。我刚入行的时候总以为差分信号就是两根线上电压相反,后来调坏了好几块板子才明白,细节都在摆幅和共模里。你想想看,同样是 200mV 的差分摆幅,共模漂了 50mV,眼图可能就闭了。

3.1 差分信号:为什么是两根线?

D-PHY 用两条线(Dp 和 Dn)来传一个信号。好处很明显:抗共模噪声。外界干扰如果同时叠加到两根线上,差分接收器只关心两线的差值,所以干扰就被抵消了。我记得有次做车载摄像头模组,电源噪声特别大,换成单端信号根本没法看,换成差分之后眼图一下子干净了。

差分信号的电平关系有两种模式:

  • 高速(HS)模式:Dp 和 Dn 互为反相,差分摆幅 ≈ 200mV,偏置在 200mV 左右。
  • 低功耗(LP)模式:Dp 和 Dn 是单端驱动的,电平接近 0~1.2V,不要求差分配对。

所以你看,D-PHY 不是一直跑差分。HS 时才是真差分,LP 时本质上就是两根单端线,靠简单的高低电平传控制信息。为什么要这样?

因为低功耗模式下,200mV 摆幅太容易被噪声淹了,而且低功耗需要更低的功耗预算。用 1.2V 单端反而更可靠,功耗也能做到微安级。

小经验:HS 模式下的差分走线必须等长。我在一个项目中忽略了等长,结果两线相差了 30ps,眼高直接掉了 40%。建议控制在 ±5ps 以内。

3.2 电压摆幅:HS 和 LP 的天壤之别

电压摆幅这个词,你肯定不陌生,但 D-PHY 的摆幅有两个完全不同的世界。我习惯叫它「两种电压语言」。

3.2.1 HS 模式摆幅(200mV ± 20mV)

HS 发送器输出一个电流信号(典型值 2.5mA),经过 50Ω 终端电阻,产生 125mV 的单端摆幅。由于差分,Dp 和 Dn 一个上升一个下降,差分摆幅就是 250mV 左右。规格书上写的是 140~270mV,但多数芯片稳定在 200mV。嗯,这里要注意:摆幅太小会牺牲信噪比,摆幅太大又会增加 EMI。

3.2.2 LP 模式摆幅(0~1.2V)

LP 模式直接驱动 CMOS 电平,高电平 1.2V,低电平 0V。这个摆幅大,所以信号能在更长距离上保持可靠。代价是功耗大、速率慢,所以只用在上电初始化、控制命令等低频场景。

参数 HS 模式 LP 模式
差分摆幅 140~270 mV(典型 200 mV) 不适用(单端)
单端摆幅 70~135 mV 0~1.2 V
驱动电流 2.5 mA(典型,通过 50Ω 终端) CMOS 推挽
速率 最高 4.5 Gbps(每通道) 最高 10 Mbps
坑点提醒:我曾经做过一个 HS 转 LP 的桥接,忘记处理共模电压的跳变。HS 共模约 200mV,LP 高电平 1.2V,切换时产生巨大的瞬态电流,把接收器输入端的 ESD 二极管都烧了。必须加共模钳位和缓启动电路。

3.3 共模电平:被忽略的“隐形杀手”

共模电平,就是 Dp 和 Dn 两线电压的平均值。HS 模式下,D-PHY 要求共模电压维持在 150~250mV(参考地)。这个范围其实很窄。为什么?

因为接收器的输入端有共模范围限制。如果共模漂了,接收器内部的差分对会偏出线性区,导致增益下降、抖动变大。

我调试一个长距传输项目(FPC 线缆超过 20cm)时就吃过亏。线缆的直流电阻不一致,导致 Dp 和 Dn 的静态直流偏置差了 30mV,共模从 200mV 漂到了 215mV。虽然仍满足规格,但眼图闭合了 20%。后来我把线缆换成等阻抗的差分对,并且加了 AC 耦合电容(建议 100nF),共模问题才解决。

共模电平的关键影响因素:

  • 发送器输出偏置:理想为 200mV,实际因工艺偏差会有 ±10mV 变化。
  • 线缆或 PCB 走线的直流电阻不对称:产生静态共模偏移。
  • 外部噪声:共模噪声会被接收器抑制,但如果噪声幅度太大,差分信号也会受影响(因为接收器输入级饱和)。
  • AC 耦合电容:如果不加耦合电容,发送器和接收器之间的共模可能不匹配。一般建议 HS 通道加上 100nF 的 AC 耦合电容。
D-PHY 电气特性核心概念 差分信号对 Dp / Dn 抗共模噪声 HS 模式(高速) 差分摆幅 ~200mV 共模 ~200mV LP 模式(低功耗) 单端摆幅 0~1.2V 速率 ≤10Mbps 切换 共模电平 HS 共模范围 150~250mV 影响接收器线性度和眼图 信号完整性问题 过冲、振铃、阻抗不连续 导致共模漂移 & 眼图闭合 关键:HS 模式下共模和摆幅必须同时满足规范,缺一不可 调试时先测共模,再测差分摆幅,最后看眼图

3.4 如何用示波器测量这些参数?

说完了理论,讲讲实操。我调试 D-PHY 时最常用的工具就是一台 2GHz 带宽以上的差分探头+示波器。几点经验:

  1. 差分信号:用差分探头直接测 Dp 和 Dn。也可以先用单端探头分别测,再用数学相减——但别指望精度,共模噪声会让你怀疑人生。
  2. 电压摆幅:示波器里打开测量函数,看 Vdiff_pp。注意是要在 HS 传输期间抓取,别捕获在 LP 状态。我习惯触发在 HS 进入包头的 Sync 序列上。
  3. 共模电平:用两通道加法器(Dp + Dn)/2。或者更简单,用交流耦合测均值。共模的波动最好控制在 ±20mV 以内。
调试口诀:先共模再摆幅,先差分再单端。共模偏了调偏置,摆幅小了查终端。等长不等距,信号会罢工。

3.5 一个小案例:D-PHY 接收端输入电压范围

我在一次兼容性测试中发现,有两家供应商的 sensor 在 HS 模式下眼睛睁开度差了 30%。测下来发现是发送器共模不同:一家 190mV,另一家 210mV。接收器的输入共模范围刚好有限(最大 250mV),210mV 那家导致接收器内部差分对进入非线性区。最后解决办法是加了一个 100nF 的 AC 耦合电容,把共模“阻断”,让接收器自己偏置到合适电平。记住:如果两端共模源有差异,AC 耦合是万能药。

3.6 本章小结(观念上的)

电气特性这东西,差之毫厘,谬以千里。你看规格书上都标着允许范围,但实际系统里会有各种非理想因素(线缆、连接器、PCB 过孔、电源噪声)叠加。我个人习惯在 PCB 设计阶段就预留共模和摆幅的测试点,方便后期用示波器直接抓。如果发现眼图闭合,先别急着调驱动强度,回头看看共模是不是漂了——八成是这个问题。

嗯,说到共模,还有一个小技巧:你可以用共模扼流圈(CMC)来滤除共模噪声,但注意别把 HS 信号本身影响了。我一般只在 LP 模式和 LP ↔ HS 切换路径上加铁氧体,HS 主通道保持纯差分、低寄生的特性。