2、D-PHY信号特性:差分信号原理、低压差分信号(LVDS)与MIPI D-PHY对比、高速模式与低功耗模式
各位好,我是老周。今天咱们聊聊D-PHY的信号特性。这部分内容,说白了就是MIPI接口的物理层基础。你如果不懂差分信号,后面调试起来会非常痛苦。我自己带团队时,新人最容易在这块栽跟头。
2.1 差分信号原理:为什么不用单端?
先问个问题:为什么MIPI要用差分信号,而不是传统的单端信号?
单端信号就是一根信号线加一根地线,电压高低代表0和1。但问题来了——当频率跑到几百MHz甚至GHz时,地线上的噪声、串扰、共模干扰会让你怀疑人生。我在调试一款4K摄像头时,就遇到过因为PCB走线太长,单端时钟信号眼图完全闭合的情况。
差分信号就不一样了。它用两根线(Dp和Dn)传输,信号是两者的电压差。逻辑1时Dp > Dn,逻辑0时Dp < Dn。好处很明显:
- 抗共模噪声:外界干扰同时作用在两根线上,差不变
- 电磁辐射小:两根线电流方向相反,磁场互相抵消
- 电压摆幅小:200mV左右就能工作,功耗低
关键指标:差分阻抗必须控制在100Ω ± 10%。我见过太多因为阻抗不匹配导致信号反射、误码率飙升的案例。
2.2 低压差分信号(LVDS)与MIPI D-PHY对比
很多人会把LVDS和D-PHY搞混。它们确实都是差分信号,但本质上是两码事。我整理了一个对比表,方便你理解:
| 对比项 | LVDS | MIPI D-PHY |
|---|---|---|
| 标准组织 | ANSI/TIA/EIA-644 | MIPI联盟 |
| 电压摆幅 | 350mV(典型) | 200mV(高速模式) |
| 共模电压 | 1.2V | 200mV(高速模式) |
| 数据速率 | 最高约3.125Gbps | 最高4.5Gbps(D-PHY v2.0) |
| 工作模式 | 仅高速 | 高速 + 低功耗 |
| 时钟方式 | 随路时钟或独立时钟 | DDR双沿采样,独立时钟通道 |
| 功耗 | 中等 | 低(低功耗模式仅1.2mW) |
你看,LVDS的共模电压是1.2V,而D-PHY高速模式只有200mV。这意味着什么?D-PHY的功耗更低,但对PCB布局的要求更高——200mV的摆幅,稍微有点噪声就可能误判。
我的经验:如果你从LVDS转过来做D-PHY,第一件事就是忘掉1.2V共模电压。D-PHY的共模电压低到让你怀疑示波器探头是不是坏了。我第一次测D-PHY信号时,还以为芯片没工作,后来才发现是探头接地没处理好。
2.3 高速模式(HS)与低功耗模式(LP)
这是D-PHY最巧妙的设计之一。它能在两种模式间快速切换,兼顾高速传输和低功耗待机。
2.3.1 高速模式(HS)
高速模式用于传输真正的数据——像素数据、控制指令等。特点如下:
- 电压摆幅:约200mV(差分)
- 共模电压:约200mV
- 终端匹配:需要100Ω差分终端电阻
- 数据速率:80Mbps ~ 4.5Gbps(取决于版本)
- 驱动方式:电流模式驱动
在HS模式下,Dp和Dn是互补的。逻辑1时Dp高、Dn低;逻辑0时Dp低、Dn高。接收端通过比较两者电压差来恢复数据。
注意:HS模式必须连续传输,不能有长时间空闲。如果总线空闲超过某个时间(通常是100ns),D-PHY会自动进入LP模式。我曾经遇到一个驱动bug,就是因为HS传输间隔太长,导致总线频繁切换模式,画面出现间歇性闪烁。
2.3.2 低功耗模式(LP)
低功耗模式用于控制信号传输、总线初始化、以及空闲状态。特点:
- 电压摆幅:1.2V(单端)
- 共模电压:1.2V
- 终端匹配:不需要
- 数据速率:最高10Mbps
- 驱动方式:电压模式驱动
LP模式下,Dp和Dn是独立驱动的。有四种状态:
- LP-00:Dp=0, Dn=0(空间状态)
- LP-01:Dp=0, Dn=1(HS请求)
- LP-10:Dp=1, Dn=0(LP请求)
- LP-11:Dp=1, Dn=1(停止状态)
这四种状态组合起来,就能实现总线仲裁、模式切换、Escape模式等功能。嗯,这里要注意:LP模式下的信号是单端的,不是差分。所以调试时,示波器要分别看Dp和Dn对地的电压。
2.3.3 模式切换:HS <-> LP
模式切换是D-PHY调试中最容易出问题的地方。切换时序非常严格,我画了一张图帮你理解:
从LP-11(停止状态)切换到HS模式,需要先发送LP-01(HS请求),然后经过T_HS-PREPARE时间后,驱动进入HS模式。反过来,从HS切换到LP,需要先发送LP-10(LP请求),然后经过T_HS-TRAIL时间后,总线回到LP-11。
避坑指南:我曾经调试一款sensor时,发现图像偶尔出现条纹。抓了三天波形,终于发现是T_HS-TRAIL时间不够,导致HS结束时总线还没稳定就切到了LP模式。接收端误把HS的尾巴当成了LP信号。解决方案很简单——在驱动中增加HS-TRAIL的延时。
2.4 总结:D-PHY信号调试要点
说了这么多,我帮你把D-PHY信号调试的核心要点总结一下:
- 阻抗匹配:差分阻抗100Ω,单端对地50Ω。用TDR测一下,不匹配就改PCB
- 共模电压:HS模式200mV,LP模式1.2V。别搞混
- 模式切换时序:T_LPX、T_HS-PREPARE、T_HS-TRAIL、T_CLK-POST,一个都不能少
- 示波器设置:测HS用差分探头,测LP用单端探头。带宽至少1GHz
- 眼图测试:HS模式下眼图开口要大于UI的70%,否则误码率会飙升
最后提醒:D-PHY信号调试,示波器探头的地线一定要短!我见过有人用10cm长的地线夹子去测1Gbps的信号,结果看到的全是噪声。正确的做法是用探头自带的弹簧地,或者直接在测试点上焊地线。