3. MIPI CSI接口调试
MIPI CSI 接口,说白了就是摄像头和处理器之间的高速公路。这条路要是堵了、信号歪了、车道没对齐,图像肯定出问题。我这些年调过的板子,少说也有几十款,CSI 接口出故障的比例相当高。今天咱们就把这条路上的坑一个个填平。
3.1 差分信号测量——先看波形对不对
MIPI 用的是差分信号传输,也就是 D-PHY 的 Dp 和 Dn 两根线。测量时不能只看单端,得看差分对。
我个人习惯,上电后先测静态电平。LP 模式下,Dp 和 Dn 都是 1.2V 左右。如果有一根被拉到地,或者电压差超过 200mV,那基本可以断定硬件焊接有问题。
HS 模式下,差分摆幅一般在 200mV 左右。我遇到过一块板子,摆幅只有 80mV,图像全是雪花。查了半天,原来是 PCB 走线太长,信号衰减太严重。
| 参数 | LP 模式 | HS 模式 |
|---|---|---|
| 共模电压 | 1.2V | 200mV |
| 差分摆幅 | — | 140~270mV |
| 上升/下降时间 | — | < 150ps |
3.2 LP/HS 模式切换——时序卡得死死的
MIPI 的 LP 和 HS 模式切换,有严格的时序要求。说白了,就是什么时候该拉高、什么时候该拉低,一秒都不能差。
切换过程分三步:
- LP->HS 准备: 先进入 LP-11 状态,然后 Dp 先拉低,Dn 保持高,进入 LP-10。
- HS 启动: Dp 和 Dn 同时进入 HS 模式,差分信号开始传输。
- HS->LP 退出: 先回到 LP-10,再回到 LP-11。
这里有个关键参数:T_HS_PREPARE。它规定了从 LP-11 到 HS 启动的最小时间。如果传感器侧准备得太快,处理器还没反应过来,数据就丢了。
避坑指南: 我曾经调试一款 4K 摄像头,图像每隔几秒就闪一下。抓了波形才发现,HS 退出时 T_HS_TRAIL 时间不够,导致下一帧的 LP 状态被误判为 HS 开始。最后在传感器寄存器里加了一笔延时,问题解决。
检查切换时序,我建议用示波器的 余辉模式。把几十次切换波形叠在一起看,如果每次的上升沿位置都不一样,说明抖动太大,需要调整驱动强度或终端匹配。
3.3 时钟通道与数据通道对齐——眼图的基础
MIPI CSI 的时钟通道和数据通道,必须严格对齐。时钟是基准,数据跟着时钟走。如果两者之间有偏移,接收端就会采错数据。
对齐问题通常分两种:
- 通道间偏移: 时钟线和数据线长度不一致,导致信号到达时间不同。
- 通道内偏移: 同一对差分线内部,Dp 和 Dn 长度不匹配。
PCB 设计时,时钟通道和数据通道的走线长度差,一般要求控制在 ±50mil 以内。但实际项目中,我见过差到 200mil 的板子,图像照样能出,只是不稳定。温度一高,或者电压一波动,就开始丢帧。
我习惯用 眼图模板 来量化对齐质量。眼图模板定义了数据有效窗口,只要数据跳变落在窗口内,就算合格。如果落在窗口外,就得调整 PCB 走线或增加延时补偿。
3.4 眼图分析——信号质量的终极检验
眼图,就是把所有数据位叠在一起看。好的眼图,眼睛睁得大,轮廓清晰。坏的眼图,眼睛眯成一条缝,甚至闭着。
眼图分析主要看三个指标:
| 指标 | 合格范围 | 常见问题 |
|---|---|---|
| 眼高 | > 100mV | 驱动不足、衰减过大 |
| 眼宽 | > 0.5 UI | 抖动过大、时钟偏移 |
| 抖动 | < 0.3 UI | 电源噪声、串扰 |
UI 就是单位间隔。对于 1Gbps 的数据率,1 UI = 1ns。如果眼宽只有 0.3 UI,说明有效采样窗口只有 300ps,稍微有点抖动就会误码。
我遇到过最头疼的一次,眼图看起来完全正常,但图像就是有噪点。后来发现是电源纹波太大,导致时钟的相位噪声被调制到了数据上。这种问题,眼图看不出来,得用 相位噪声分析 才能抓到。
3.5 知识体系总览
下面这张图,把 MIPI CSI 接口调试的核心逻辑串起来了。从测量到分析,每一步都有对应的工具和方法。
调试 MIPI CSI 接口,说白了就是三步走:先看波形对不对,再看时序卡不卡,最后看眼图好不好。每一步都有对应的工具和方法,按顺序来,大部分问题都能定位到。
嗯,这里要注意一点:不要一上来就调眼图。眼图是结果,不是原因。如果差分信号本身就有问题,眼图再调也调不好。先把基础打牢,再谈优化。