3、D-PHY时钟通道:时钟通道差分对结构、DDR模式下的时钟传输、时钟通道电气特性、时钟通道PCB布线要点
时钟通道,说白了就是MIPI链路的“心跳线”。
我刚开始调MIPI接口时,总觉得数据通道才是主角,时钟嘛,给个差分信号不就行了?结果有一次在高速模式下,画面时不时闪一下,查了三天,最后发现是时钟通道的PCB走线多绕了2mm,导致时钟和数据之间的skew超标。嗯,从那以后我再也不敢小看时钟通道了。
3.1 时钟通道差分对结构
D-PHY的时钟通道,物理上就是一对差分线——DDR Clock+和DDR Clock-。它跟数据通道长得一模一样,但任务完全不同:数据通道负责搬运像素值,时钟通道负责告诉接收端“什么时候去抓数据”。
为什么非要差分?
- 抗共模干扰:外部噪声同时耦合到两根线上,接收端只看差值,噪声被抵消。
- 电压摆幅小:差分信号只需要200mV左右的摆幅,功耗低,速度快。
- 电磁辐射小:两根线电流方向相反,磁场互相抵消,EMI表现好。
我个人习惯在设计初期就把时钟通道当成“一等公民”来对待——数据通道可以稍微妥协,时钟通道必须给足空间。
3.2 DDR模式下的时钟传输
DDR,全称Double Data Rate。什么意思呢?时钟的每个边沿——上升沿和下降沿——都用来采样数据。
你想想看,传统SDR模式只在上升沿采样,时钟频率就是数据速率。DDR模式下,数据速率是时钟频率的两倍。比如时钟跑200MHz,数据速率就是400Mbps。这就是MIPI D-PHY能实现高带宽的秘密。
时钟通道在DDR模式下怎么工作?
- 发送端(通常是SoC或图像传感器)产生一对差分时钟。
- 时钟频率等于像素时钟频率(对于同步传输场景)。
- 接收端(FPGA或ISP)用PLL锁定时钟,生成内部采样时钟。
- 数据通道在时钟的上升沿和下降沿各采样一次。
我在项目中遇到过一个问题:FPGA的PLL对时钟抖动非常敏感。当时用的一个国产传感器,时钟抖动达到了80ps,PLL锁不住,画面全是花屏。后来在时钟路径上加了一级时钟缓冲器,抖动降到30ps以内,问题解决。
3.3 时钟通道电气特性
时钟通道的电气特性,直接决定了信号能跑多快、多远。我整理了一张表,方便你对照检查。
| 参数 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|
| 差分输出电压(VOD) | 140 | 200 | 270 | mV |
| 共模电压(VCM) | 150 | 200 | 250 | mV |
| 上升/下降时间(20%~80%) | — | — | 0.3 × UI | ps |
| 时钟抖动(RMS) | — | — | 0.1 × UI | ps |
| 差分阻抗 | 90 | 100 | 110 | Ω |
UI(Unit Interval)是一个数据位的时间宽度。比如数据速率是800Mbps,UI就是1.25ns。上升时间不能超过0.3×UI,也就是375ps。超过这个值,信号在跳变过程中就会模糊,接收端很难判断边沿位置。
我曾经调试过一个项目,时钟通道的共模电压只有120mV,低于MIPI规范的最低值150mV。结果接收端的PLL一直失锁,换了三块板子都一样。最后发现是发送端芯片的电源纹波太大,导致共模电压被拉低。加了一颗10μF的退耦电容,共模电压回到200mV,问题消失。
3.4 时钟通道PCB布线要点
PCB布线是时钟通道的“最后一公里”。设计得再好,布线一塌糊涂,信号照样完蛋。下面是我总结的几个硬性规则。
3.4.1 等长控制
时钟通道的两根差分线,长度差必须控制在5mil以内。为什么?因为长度差会导致共模到差模的转换,产生共模噪声,破坏信号完整性。
我习惯在布线完成后,用CAD工具的等长检查功能跑一遍。如果发现长度差超过5mil,就手动绕线补偿。注意绕线时用“蛇形走线”,间距保持3倍线宽以上,避免耦合。
3.4.2 阻抗控制
差分阻抗100Ω,这个值不是随便设的。它取决于线宽、线距、铜厚、介质层厚度。我一般会跟PCB板厂提前沟通,让他们提供阻抗计算表。常见的4层板设计:
- 顶层:差分线,线宽5mil,线距5mil
- 第二层:完整地平面(参考层)
- 第三层:电源平面
- 底层:其他信号
介质层厚度(顶层到第二层)通常控制在4mil左右,这样阻抗刚好落在100Ω附近。
3.4.3 屏蔽与隔离
时钟通道两侧必须包地。我指的是在差分线两侧各加一条地线,地线上每隔100mil打一个过孔到地平面。这样做的好处是:
- 减少串扰:时钟信号不会干扰旁边的数据通道。
- 提供回流路径:高频电流的回流路径最短,电磁辐射最小。
3.4.4 避免过孔
时钟通道上尽量不要打过孔。过孔会引入寄生电感和电容,破坏阻抗连续性。如果实在避不开(比如换层),必须满足两个条件:
- 过孔周围加地过孔(回流过孔),减少回路面积。
- 过孔数量不超过2个。
我记得有一次,一个同事设计的板子,时钟通道上打了4个过孔,结果信号眼图完全闭合。后来改成0过孔,直接从顶层走到底层接收端,眼图立马打开。
时钟通道的调试,说白了就是跟“时间”和“噪声”较劲。差分结构给了你抗干扰的底子,DDR模式给了你双倍带宽,电气特性给了你判断标准,PCB布线给了你实现路径。四者配合好,时钟通道才能稳定工作。
我见过太多工程师只盯着数据通道看,时钟通道随便布一下,结果返工好几次。记住一句话:时钟通道稳了,整个MIPI链路就稳了一半。