MIPI CSI-2信号完整性与时钟抖动排查 - 第2节
D-PHY电气特性:差分信号与低压摆幅
MIPI D-PHY的电气特性,说白了就是物理层怎么传数据。我刚开始接触MIPI时,总觉得这层太底层,先调通功能再说。结果呢?信号质量不好,图像花屏、闪屏,折腾了好几天。后来才明白——电气特性是基础,基础不牢,地动山摇。
差分信号:为什么不用单端?
D-PHY用的是差分信号,也就是一对线(Dp/Dn)传一个信号。你想想看,单端信号容易受共模噪声干扰,地弹、电源纹波都会耦合进去。差分信号就不一样了——它传的是两根线的电压差,共模噪声在两根线上同时出现,一减就没了。
核心优势:
- 抗共模噪声能力强
- 电磁辐射(EMI)更低
- 信号摆幅小,功耗低
- 适合高速传输
我在项目中遇到过一件事:某款摄像头模组,用示波器看单端信号,波形乱七八糟。但换成差分探头看Dp-Dn的差值,信号干净得很。这就是差分信号的好处。
低压摆幅:省电的关键
D-PHY高速模式下,差分电压摆幅只有200mV左右(典型值)。为什么这么小?说白了就是为了省电。摆幅越小,充放电电流越小,功耗自然就低了。
| 参数 | 高速模式 | 低功耗模式 |
|---|---|---|
| 差分电压摆幅 | 200mV(典型) | 1.2V(典型) |
| 信号速率 | 80Mbps ~ 4.5Gbps | ≤10Mbps |
| 功耗 | 低 | 极低 |
| 应用场景 | 数据传输 | 控制/状态 |
调试小技巧:测量差分信号时,一定要用差分探头。用两个单端探头做数学减法?嗯,相位差和共模抑制比都不够,测出来不准。我吃过这个亏。
高速模式与低功耗模式
D-PHY有两种工作模式:高速模式(HS)和低功耗模式(LP)。这两种模式切换,是MIPI调试中经常遇到的问题。
高速模式(HS)
高速模式下,D-PHY用差分信号传数据,速率从80Mbps到4.5Gbps不等。这时候,信号摆幅小、速率高,对PCB走线和端接要求很严格。
- 驱动方式:电流型差分驱动
- 端接:接收端需要100Ω差分端接
- 共模电压:200mV(典型)
- 信号幅度:Dp和Dn各摆动±100mV
低功耗模式(LP)
低功耗模式用于控制信号传输,比如初始化、进入待机、唤醒等。这时候信号是单端的,摆幅1.2V,速率很低。
- 驱动方式:电压型单端驱动
- 端接:不需要端接
- 逻辑电平:0V(LP-00)、1.2V(LP-11)
- 信号幅度:1.2V
注意:HS和LP切换时,有一个"逃逸时间"(Escape Mode)和"准备时间"(HS Prepare)。如果时序不对,接收端可能误判模式,导致数据错乱。我曾经调试过一块板子,LP转HS时总是丢第一个字节,后来发现是HS-PREPARE时间不够长。
时钟通道与数据通道的拓扑结构
D-PHY的通道结构,我习惯用一句话概括:时钟通道是"指挥官",数据通道是"士兵"。时钟通道提供同步时钟,数据通道在时钟的边沿采样数据。
标准拓扑
一个典型的MIPI D-PHY链路包含:
- 1个时钟通道:差分对(ClkP/ClkN)
- 1~4个数据通道:差分对(DataP/DataN)
- 双向可选:某些数据通道支持双向传输
时钟通道和数据通道的走线,在PCB上必须等长。为什么?因为数据是在时钟边沿采样的,如果时钟和数据到达时间不一致,采样就会出错。
等长要求:
- 同一差分对内:Dp和Dn长度差 ≤ 5mil
- 时钟通道与数据通道之间:长度差 ≤ 50mil(经验值)
- 不同数据通道之间:长度差 ≤ 100mil
我记得有一次,客户说图像有竖条纹。我一看,数据通道3比其他通道长了200mil。时钟边沿到了,数据还没到,采样点正好在数据跳变沿上。修短走线后,问题解决。
多通道拓扑
数据通道可以并联使用,提高带宽。比如4通道的MIPI,每个通道1Gbps,总带宽就是4Gbps。但要注意:
- 每个通道独立传输数据
- 接收端需要做通道对齐(Lane Alignment)
- 时钟通道只有一个,所有数据通道共用
端接电阻与共模电压
端接电阻和共模电压,是D-PHY信号完整性的两个关键参数。调不好,信号反射、眼图闭合,啥问题都来了。
端接电阻
高速模式下,接收端需要100Ω差分端接。这个电阻的作用是:
- 阻抗匹配:减少信号反射
- 电流回路:为差分电流提供回路
- 信号幅度:决定差分电压摆幅
端接电阻的位置很重要。我建议放在接收端,越靠近芯片引脚越好。如果放在PCB中间,走线分支会产生反射,信号质量会变差。
避坑指南:我曾经在一块4层板上,把端接电阻放在了距离接收芯片1英寸的地方。结果眼图测试,眼高只有规范值的60%。后来把电阻移到芯片引脚旁边,眼高立刻达标。端接电阻的位置,真的不能马虎。
共模电压
共模电压,就是Dp和Dn两根线电压的平均值。高速模式下,共模电压典型值是200mV。这个值由发送端决定,接收端需要适应。
| 参数 | 最小值 | 典型值 | 最大值 |
|---|---|---|---|
| HS共模电压 | 150mV | 200mV | 250mV |
| LP共模电压 | 0V | 0.6V | 1.2V |
| 差分电压 | 140mV | 200mV | 270mV |
共模电压如果偏离太大,接收端的共模抑制能力会下降,噪声容限变小。我遇到过一块板子,共模电压只有120mV,结果信号抖动很大,眼图几乎闭合。查了半天,发现是发送端的电流源偏置电阻焊错了。
调试建议:用示波器测量共模电压时,可以用数学函数(Dp+Dn)/2。如果共模电压波动超过±50mV,就要检查电源和PCB走线了。
端接与共模的配合
端接电阻和共模电压是相互影响的。端接电阻不匹配,共模电压会偏移;共模电压不对,端接效果也会变差。调试时,我习惯先调端接,再调共模。