传感器硬件接口:MIPI CSI-2、LVDS、HiSPi协议详解

做嵌入式视觉这些年,我调试过的传感器接口少说也有几十种。说实话,很多项目出问题,根源不在算法,而在硬件接口没选对、没布好。今天咱们就把MIPI CSI-2、LVDS、HiSPi这三个主流接口掰开揉碎了讲清楚。

一、三大接口的定位与差异

先看一张总览图,把三个接口的核心特征说清楚。

传感器硬件接口对比总览 传感器硬件接口对比总览 MIPI CSI-2 差分串行 / D-PHY / C-PHY LVDS 低压差分 / 4-8对数据线 HiSPi 高速串行 / 包结构 关键特性对比 特性 MIPI CSI-2 LVDS HiSPi 最大速率 4.5 Gbps/lane 1.0 Gbps/pair 1.6 Gbps/lane 功耗 低 (1.2V) 中 (1.8V) 中 (1.8V) 抗干扰 优秀 优秀 良好 协议复杂度 高 (CSI-2层) 低 (纯数据) 中 (包结构) 应用场景 手机/车载/安防 工业/医疗/航空 安森美传感器 注:速率数据基于常见实现,实际值取决于具体芯片和PCB设计

二、MIPI CSI-2 协议详解

MIPI CSI-2 是目前最主流的传感器接口。我接触的项目里,80%以上用的都是它。为什么这么火?说白了,它把物理层和协议层分得很清楚,扩展性极强。

2.1 物理层:D-PHY vs C-PHY

MIPI 物理层有两种选择,我习惯这么区分:

特性 D-PHY C-PHY
信号线 差分对 (Dp/Dn) 三线 (A/B/C)
每lane速率 最高 4.5 Gbps 最高 5.7 Gbps (等效)
时钟 独立时钟线 时钟嵌入数据
功耗 较低 略高
PCB布线难度 中等 较高

我个人更推荐 D-PHY 做新项目。原因很简单:调试工具多,参考设计多,遇到问题容易找到人问。C-PHY 虽然速率高,但布线要求苛刻,我曾经在一个项目里被 C-PHY 的时序折腾了两周,后来换回 D-PHY 才搞定。

2.2 协议层:CSI-2 数据包结构

CSI-2 的数据传输以包为单位。每个包包含:

  • 包首 (PH):数据类型、虚拟通道、字计数
  • 包数据:RAW8/10/12、YUV、RGB 等格式
  • 包尾 (PF):CRC 校验

关键点:CSI-2 支持最多 4 个虚拟通道。这意味着一条 MIPI 总线可以同时传输 4 路不同的图像数据。我在做多目视觉项目时,就用这个特性把左右两个摄像头的图像合并到一条 CSI-2 总线上,省了一组接口。

三、LVDS 接口详解

LVDS 是个老将了。虽然速率不如 MIPI,但它的抗干扰能力和长距离传输能力是独一档的。工业相机里,LVDS 仍然是主流。

3.1 LVDS 的工作原理

LVDS 的核心是差分信号。一对线上,一个信号是另一个的反相。接收端只关心两者的差值。这样做的好处很明显:

  • 共模噪声被抵消
  • 电磁辐射小
  • 可以传 10 米以上

我记得有一次在工厂调试,传感器离主板有 5 米远。MIPI 信号根本过不去,换成 LVDS 后,图像稳稳的。这就是经验。

3.2 LVDS 的典型配置

参数 典型值 说明
数据对数量 4 对 每对传输 7 位数据
时钟对 1 对 随路时钟
单对速率 600 Mbps 常见值
总带宽 4.2 Gbps 4对×600Mbps×7/7
电压摆幅 350 mV 差分峰峰值

小技巧:LVDS 的终端电阻一定要靠近接收端放置。我见过不少工程师把电阻放在 PCB 中间,结果信号反射严重,图像出现条纹。正确做法是:电阻放在接收器引脚旁边,误差不超过 1%。

四、HiSPi 协议详解

HiSPi 是安森美半导体推的接口。说实话,用的人不多,但在安森美的传感器上,它是标配。如果你用 PYTHON 系列或 XGS 系列的传感器,就绕不开它。

4.1 HiSPi 的包结构

HiSPi 的数据也是包结构,但比 CSI-2 简单。它只有三种包:

  • 帧起始包 (FS):标记一帧的开始
  • 行数据包:包含一行像素数据
  • 帧结束包 (FE):标记一帧的结束

每个包都有同步码和 CRC。同步码是固定的 0xAAAA_AAAA 模式,接收端用它来对齐数据。

4.2 HiSPi 的四种模式

HiSPi 有四种工作模式,我刚开始接触时也被搞晕过:

模式 数据线 时钟 典型应用
SP 1 对 随路 低分辨率
DP 2 对 随路 中等分辨率
QP 4 对 随路 高分辨率
SP-DDR 1 对 双沿采样 节省引脚

注意:HiSPi 的同步码在低光照条件下可能被噪声干扰。我曾经遇到过一个案例,传感器在暗光下输出花屏,排查了两天才发现是同步码被噪声淹没。解决方案是降低同步码检测阈值,或者在硬件上加一个带通滤波器。

五、差分信号与PCB布局要点

这部分是实战中的重灾区。很多工程师把原理图画对了,但 PCB 布局一塌糊涂,信号根本跑不起来。下面是我总结的几条铁律。

5.1 差分信号的核心原则

  1. 等长:差分对内的两根线长度差不超过 5 mil。我习惯控制在 2 mil 以内。
  2. 等距:两根线的间距要保持一致。间距变化会导致阻抗不连续。
  3. 阻抗控制:100Ω 差分阻抗,±10% 的容差。
  4. 参考平面:差分对下方必须有完整的参考地平面。

5.2 PCB 布局的避坑指南

我曾经在一个 8 层板项目上栽过跟头。MIPI 信号从传感器到处理器走了 12 厘米,中间跨了一个电源分割区。结果图像时不时出现横纹。后来发现是参考平面不连续,导致阻抗突变。

从那以后,我给自己定了几条规矩:

  • 不要跨分割:差分对必须走在一个完整的参考平面上
  • 少打过孔:每个过孔都会引入 0.5-1 pF 的寄生电容。能不过孔就不过
  • 远离干扰源:差分对离时钟线、电源开关管至少 3 倍线宽
  • 包地处理:在差分对两侧加地线,间距 2 倍线宽

实战经验:MIPI D-PHY 的时钟线必须比数据线短。为什么?因为接收端用时钟的上升沿采样数据。如果时钟比数据晚到,采样点就偏了。我一般让时钟线比数据线短 2-3 mm,留出裕量。

5.3 布局流程速查表

步骤 操作 检查项
1 确定差分对位置 远离电源、时钟、电感
2 设置阻抗规则 100Ω ±10%
3 布线 等长、等距、少过孔
4 添加终端电阻 靠近接收端
5 仿真验证 眼图、时序裕量
6 打样测试 信号完整性测试

推荐工具:做信号完整性仿真时,我用 HyperLynx 比较多。免费的可以用 KiCad 的差分对布线功能,配合开源仿真工具也能凑合。但说实话,高速信号还是建议用商业工具,省得走弯路。

六、接口选型决策树

最后,给一个我常用的选型思路。你想想看,拿到一个项目,怎么选接口?

传感器接口选型决策树 传感器接口选型决策树 传感器接口选型 消费类/车载 工业/医疗/航空 MIPI CSI-2 HiSPi (安森美) LVDS MIPI CSI-2 决策条件 • 传输距离 < 30cm → MIPI CSI-2 • 传输距离 > 30cm → LVDS • 传感器是安森美 → 优先 HiSPi • 需要多路复用 → MIPI CSI-2 (虚拟通道) • 极端环境 (高温/强干扰) → LVDS

嗯,接口选型没有的对错。关键是你得清楚自己的项目约束:距离、速率、功耗、成本、传感器型号。把这些列出来,对着上面的决策树走一遍,答案就出来了。