3、摄像头接口与协议:USB3.0、GigE Vision、MIPI CSI-2、Camera Link协议对比与选型

做异构摄像头融合,第一个要面对的问题就是——这些摄像头怎么连到处理器上?

接口选错了,后面所有工作都白搭。我见过不少项目,算法调得挺好,结果卡在传输带宽上,画面一卡一卡的。说白了,接口就是摄像头的“水管”,水管细了,再好的图像数据也流不过来。

今天咱们就把主流的四种接口掰开揉碎讲清楚:USB3.0、GigE Vision、MIPI CSI-2、Camera Link。每种接口的物理层、协议栈、带宽、延迟、适用场景,我一个一个说。


3.1 先看一张总览图

下面这张图,是我自己画的知识结构。它把这四种接口的核心参数、典型场景、优缺点都串起来了。你盯着看两分钟,心里就有谱了。

摄像头接口协议对比总览图 摄像头接口协议对比总览 USB3.0 带宽: 5 Gbps 延迟: 中 GigE Vision 带宽: 1 Gbps 延迟: 中 MIPI CSI-2 带宽: 1-4 Gbps 延迟: 极低 Camera Link 带宽: 2-8 Gbps 延迟: 极低 核心特性对比 传输距离 CPU占用率 多相机同步 成本 选型核心逻辑: 嵌入式/手机 → MIPI CSI-2 | 工业短距高带宽 → Camera Link | 长距多相机 → GigE Vision | 通用开发 → USB3.0 我的个人经验总结 • 如果做嵌入式视觉产品(如机器人、无人机),MIPI CSI-2 是首选,延迟最低,但走线距离短。 • 如果做多相机阵列(如3D重建、全景拼接),GigE Vision 的硬件触发同步最可靠。 • 如果做高速检测(如产线缺陷检测),Camera Link 或 USB3.0 的高带宽更合适。

3.2 USB3.0 —— 最通用的选择

USB3.0 大家最熟悉。它的理论带宽是 5 Gbps,实际有效带宽大概在 3.2-3.8 Gbps 左右。为什么有损耗?因为协议开销、握手、重传机制都要占一部分。

优点:

  • 即插即用,Windows/Linux 驱动成熟
  • 线缆便宜,最长支持 3-5 米(加延长器可以到 10 米)
  • UVC(USB Video Class)协议统一,免驱摄像头很多

缺点:

  • CPU 占用率偏高。因为 UVC 协议需要主机做大量打包解包工作
  • 多相机同步困难。USB 是主从架构,没有硬件触发线
  • 延迟不稳定。我实测过,USB3.0 的延迟抖动在 1-5 ms 之间
我的经验: 如果你做原型验证,USB3.0 是最快的方案。但做产品时要注意——USB 线缆的屏蔽质量直接影响图像稳定性。我曾经被一根劣质 USB 线坑了三天,画面时不时出现条纹噪声,换了线就好了。

3.3 GigE Vision —— 工业视觉的常青树

GigE Vision 是基于千兆以太网的相机协议。带宽 1 Gbps,实际有效大概 900-950 Mbps。听起来比 USB3.0 慢,但它在工业领域地位很高。

为什么?

  • 传输距离远。标准 CAT6 网线可以到 100 米
  • 支持 PoE(Power over Ethernet),一根线供电+传数据
  • 硬件触发同步。多台相机可以精确到微秒级同步
  • CPU 占用率低。因为网卡有硬件卸载功能

缺点:

  • 带宽上限 1 Gbps,高分辨率高帧率场景吃力
  • 需要配置 IP 地址,部署比 USB 复杂
  • 延迟比 MIPI 和 Camera Link 高,大约 2-5 ms
避坑指南: 我曾经在一个产线项目中,用 GigE Vision 相机做 500 万像素 30fps 采集。结果发现网络交换机必须支持巨型帧(Jumbo Frame),否则丢包严重。后来换了支持 9000 字节巨型帧的交换机,问题才解决。

3.4 MIPI CSI-2 —— 嵌入式系统的王者

MIPI CSI-2 是手机和嵌入式设备的主流接口。它基于差分信号传输,物理层用 D-PHY 或 C-PHY。

核心参数:

  • D-PHY:每 lane 最高 2.5 Gbps,常用 2-4 lane
  • C-PHY:每 trio 最高 5.7 Gbps,带宽更高
  • 延迟极低,通常在微秒级
  • 直接连接 SoC 的 ISP 模块,无需中间芯片

优点:

  • 延迟最低。适合实时性要求高的场景(如自动驾驶、无人机)
  • 功耗低。因为是片内接口,不需要额外的 PHY 芯片
  • 带宽充足。4 lane D-PHY 可以轻松支持 4K 60fps

缺点:

  • 传输距离短。通常不超过 30 cm
  • 需要 SoC 有 MIPI 控制器,通用性不如 USB
  • 调试困难。示波器都很难抓到 MIPI 信号
注意: MIPI CSI-2 的走线长度必须严格控制。我见过一个项目,因为 FPC 排线长了 5 cm,导致信号眼图闭合,画面出现雪花。后来换成同轴电缆转接才解决。

3.5 Camera Link —— 高速工业的硬汉

Camera Link 是专门为高速工业相机设计的接口。它用 LVDS 差分信号,带宽从 2 Gbps(Base 模式)到 8 Gbps(Full 模式)。

特点:

  • 带宽极高。Full 模式可以支持 4K 120fps 甚至更高
  • 延迟极低。硬件直连,没有协议栈开销
  • 需要专用的采集卡。不能直接插电脑
  • 线缆贵且粗。最长 10 米左右

适用场景:

  • 半导体晶圆检测
  • 高速印刷品检测
  • 医疗影像(如内窥镜)
我的建议: Camera Link 虽然性能强悍,但成本高、部署复杂。除非你的项目对带宽和延迟有极致要求,否则优先考虑其他接口。我做过一个项目,用 Camera Link 采集 16K 线阵相机,数据量确实大,但采集卡和线缆的成本占了整个系统的一半。

3.6 选型决策表

下面这张表,是我自己整理的选型参考。你直接拿来用就行。

对比项 USB3.0 GigE Vision MIPI CSI-2 Camera Link
带宽 5 Gbps 1 Gbps 1-4 Gbps 2-8 Gbps
传输距离 3-5 米 100 米 0.3 米 10 米
延迟 中 (1-5 ms) 中 (2-5 ms) 极低 (μs级) 极低 (μs级)
CPU占用 高 低 极低 低
多相机同步 困难 优秀 一般 优秀
成本 低 中 低 (片内) 高
易用性 高 中 低 低
典型场景 原型验证、通用视觉 工业多相机、长距传输 嵌入式、手机、无人机 高速检测、医疗影像

3.7 我的选型心法

说了这么多,到底怎么选?我总结了三句话:

  1. 看平台: 嵌入式用 MIPI,PC 用 USB 或 GigE,专用系统用 Camera Link。
  2. 看距离: 超过 10 米只能选 GigE Vision。
  3. 看同步: 多相机必须硬件触发,GigE 或 Camera Link 优先。
最后说一句: 接口选型没有的对错,只有合不合适。我见过用 USB3.0 做 8 相机阵列的,也见过用 GigE 做单相机高速采集的。关键是你得清楚自己的瓶颈在哪里——是带宽?是延迟?还是成本?想清楚这个,答案自然就有了。