3、D-PHY电气特性:电压摆幅与共模电平、HS传输线阻抗匹配、时钟通道与数据通道的时序关系、眼图测试基础
各位工程师朋友,咱们今天聊聊D-PHY的电气特性。说实话,这部分内容看着是理论,但你要是没搞懂,板子调出来大概率是「花屏」或者「闪屏」。我当年第一次调MIPI屏,就是栽在共模电平上,折腾了整整三天。
3.1 电压摆幅与共模电平
D-PHY有两种工作模式:高速模式(HS)和低功耗模式(LP)。咱们先看HS模式。
HS模式下,差分信号摆幅典型值是200mV。什么意思?就是Dp和Dn两根线之间的电压差,在200mV左右摆动。这个值很小,所以抗干扰能力相对弱一些。我习惯把HS模式比作「悄悄话」——声音小,但速度快。
共模电平呢?HS模式下,共模电压典型值是200mV。也就是说,Dp和Dn两根线的平均电压,大概在200mV上下。嗯,这里要注意:共模电压的容差范围是150mV到250mV。超出这个范围,接收端可能就认不出来了。
关键参数速查:
- HS差分摆幅:典型200mV,范围140mV~270mV
- HS共模电压:典型200mV,范围150mV~250mV
- LP电压:0V~1.2V(逻辑0为0V,逻辑1为1.2V)
LP模式就简单多了。它用的是单端信号,电压摆幅0V到1.2V。说白了就是普通的数字电平。LP模式速度慢,但功耗低,适合传控制指令。
我在项目中遇到过一个问题:某款屏在低温下启动时,LP信号老是出错。后来一查,是共模电平偏了。温度一变,芯片内部的基准电压漂了,导致LP的1.2V变成了1.1V。接收端阈值没跟上,就误判了。解决办法?加了个温度补偿电路。
3.2 HS传输线阻抗匹配
阻抗匹配这事,说大不大,说小不小。但你要是忽略了,信号反射会让你怀疑人生。
D-PHY规范要求:差分阻抗100Ω±10%,单端阻抗50Ω±10%。
为什么是100Ω?因为MIPI联盟就是这么定的。你想想看,发送端输出阻抗是100Ω,传输线特性阻抗也是100Ω,接收端终端电阻还是100Ω。三者匹配,信号才能「干干净净」地传过去。
我画PCB时有个习惯:HS差分对一定要走微带线或带状线,并且严格控制线宽和线间距。举个例子,四层板,顶层走差分对,参考层是第二层(GND)。介质厚度0.2mm,铜厚1oz,线宽0.12mm,线间距0.15mm,算下来差分阻抗大概在100Ω左右。
个人经验:阻抗计算别光靠公式,一定要用仿真工具验证。我常用的工具是Polar SI9000,算出来的结果和实际打板测试的误差在2%以内。
避坑指南来了——我曾经遇到过一块板子,HS信号眼图惨不忍睹。查了半天,发现是差分对在BGA扇出区走了不同的层。一个走顶层,一个走内层,阻抗完全不一样。后来强制要求:差分对必须同层走线,实在要换层,必须加地过孔回流。
| 参数 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|
| 差分阻抗 | 90 | 100 | 110 | Ω |
| 单端阻抗 | 45 | 50 | 55 | Ω |
| 阻抗不匹配引起的反射系数 | - | < 5% | < 10% | - |
3.3 时钟通道与数据通道的时序关系
D-PHY的时钟和数据是源同步的。什么意思?就是时钟和数据一起从发送端出来,一起走到接收端。这样时序关系就简单了——只要保证时钟和数据的相对延迟在允许范围内就行。
具体来说,HS模式下,时钟是DDR(双倍数据速率)的。时钟的每个上升沿和下降沿都采样数据。所以时钟频率是数据速率的一半。比如数据速率1Gbps,时钟频率就是500MHz。
时序关系有三个关键参数:
- tSKEW(时钟到数据偏斜):时钟边沿到数据有效边沿的时间差。规范要求小于0.15UI(单位间隔)。
- tDV(数据有效窗口):数据保持稳定的时间窗口。这个窗口必须大于接收端的建立时间和保持时间之和。
- tSETUP / tHOLD:接收端对数据的建立时间和保持时间要求。
注意:PCB走线时,时钟通道和数据通道的长度差要控制在±5mm以内。我见过一个案例,长度差了20mm,结果高速模式下直接花屏。后来用示波器一看,时钟和数据偏斜了0.3UI,远超规范。
我个人习惯在布局时,把时钟通道放在中间,数据通道对称分布在两侧。这样走线长度容易控制,而且串扰也小。
3.4 眼图测试基础
眼图是衡量信号质量的「照妖镜」。你调没调好,眼图上一目了然。
眼图怎么测?简单说,就是用示波器把很多个数据周期的波形叠加在一起。如果信号质量好,叠加出来的图形就像一只睁开的眼睛。如果信号质量差,眼睛就「闭」上了。
看眼图主要看三个指标:
- 眼高(Eye Height):眼睛张开的高度,代表信号摆幅。HS模式下,眼高至少要大于140mV。
- 眼宽(Eye Width):眼睛张开的宽度,代表时序裕量。眼宽越大,时序越宽松。
- 抖动(Jitter):信号边沿的随机偏移。抖动越小越好,一般要求小于0.2UI。
我测试眼图时有个习惯:先测时钟通道,再测数据通道。为什么?因为时钟是基准,时钟眼图不好,数据眼图肯定也好不了。
眼图测试步骤:
- 示波器设置为「无限余辉」模式
- 触发源选时钟通道
- 调整垂直刻度:200mV/div
- 调整水平刻度:200ps/div(取决于数据速率)
- 观察眼图,测量眼高、眼宽、抖动
有一次,我测一块板子的眼图,发现眼高只有100mV。按理说应该大于140mV。查来查去,发现是发送端的驱动强度设置错了。驱动强度太弱,信号摆幅不够。改了个寄存器,眼高立马恢复到180mV。
嗯,说到这,我想强调一点:眼图测试一定要在系统实际工作状态下测。别只测一个通道,也别只测一种数据模式。我建议测全0、全1、伪随机码三种模式,这样才能全面评估信号质量。
避坑指南:示波器的探头和线缆也会影响眼图。我建议用差分探头,带宽至少是数据速率的3倍。比如1Gbps的数据,探头带宽至少要3GHz。别用普通单端探头去测差分信号,那测出来的眼图是骗人的。
最后总结一句:D-PHY的电气特性,说白了就是「电压要对、阻抗要配、时序要准、眼图要开」。这四个点抓住了,MIPI调试就成功了一大半。