硬件接口基础:MIPI CSI-2、UVC与Parallel接口的电气特性与物理层对比

做摄像头热插拔,第一关就是选接口。我见过不少项目,软件调得差不多了,结果硬件接口选型翻车——信号串扰、线序不对、驱动不兼容,最后全盘重来。今天咱们就把三种主流接口的电气特性和物理层掰开揉碎讲清楚。

一、MIPI CSI-2:高速串行的王者

MIPI CSI-2 是目前手机和嵌入式平台最主流的摄像头接口。它用差分信号传输,说白了就是一对线传一个信号,抗干扰能力强,速率能跑到 2.5Gbps 甚至更高。

电气特性

  • 差分对结构:每个通道由 Dp(正)和 Dn(负)两根线组成,信号互为反向。
  • 电压摆幅:典型值 200mV ~ 400mV,低功耗模式可降到 100mV 左右。
  • 共模电压:通常 200mV ~ 1.2V,具体看 PHY 芯片规格。
  • 阻抗要求:差分阻抗 100Ω ± 10%,单端对地阻抗 50Ω。
我踩过的坑:曾经有一款模组,CSI-2 时钟通道走线长了 15mm,结果 4K@30fps 画面出现条纹。后来查手册才发现,MIPI 对时钟和数据通道的等长要求是 ±5mm。嗯,从那以后我画板子都强制等长约束。

物理层结构

CSI-2 物理层分三层:

  1. PHY 层(D-PHY / C-PHY):负责电气信号转换、时钟恢复、串并转换。
  2. Lane 管理层:把数据分发到多个通道,支持 1、2、4 通道模式。
  3. 协议层:打包成短包(控制)和长包(数据),包含 ECC 校验。

我个人习惯用 D-PHY,因为它成熟、工具链完善。C-PHY 虽然带宽更高,但调试起来麻烦不少。

二、USB Video Class (UVC):即插即用的通用方案

UVC 是 USB 组织定义的视频设备标准。你想想看,市面上大部分 USB 摄像头插上就能用,靠的就是这个协议。它的物理层就是 USB 2.0 或 USB 3.0 的差分对。

电气特性

参数 USB 2.0 (High-Speed) USB 3.0 (SuperSpeed)
信号类型 差分对 (D+/D-) 两组差分对 (SSTX+/-, SSRX+/-)
电压摆幅 400mV (HS模式) 800mV ~ 1.2V
阻抗要求 90Ω 差分 85Ω 差分
最大速率 480Mbps 5Gbps
线缆长度 5m (标准) 3m (标准)
注意:UVC 虽然方便,但延迟比 MIPI 大。我曾经在工业相机项目里用 UVC 做实时检测,发现帧到帧的抖动有 2-3ms,后来换成 MIPI 才降到 0.5ms 以内。如果你做的是实时性要求高的热插拔方案,这个差异必须考虑。

UVC 的优势与局限

  • 优势:驱动通用,Windows/Linux/macOS 原生支持;热插拔机制成熟;线缆长。
  • 局限:带宽受 USB 控制器限制;多路摄像头需要 USB Hub,存在带宽竞争。

三、Parallel 接口:老当益壮的并行方案

Parallel 接口也叫 DVP(Digital Video Port),是早期摄像头常用的接口。它用多根数据线同时传输像素数据,时钟频率不高,但布线复杂。

电气特性

  • 信号线:8/10/12 位数据线 + 行同步 (HSYNC) + 场同步 (VSYNC) + 像素时钟 (PCLK)。
  • 电压:通常 1.8V 或 3.3V CMOS 电平。
  • 时钟频率:典型值 10MHz ~ 100MHz,受限于信号完整性。
  • 阻抗要求:单端 50Ω,但实际布线时更关注等长和串扰。
关键对比:Parallel 接口的功耗通常比 MIPI 高 30%-50%,因为同时翻转的线多,动态电流大。但它的优点是控制器简单,很多低端 MCU 都支持。

四、三种接口的物理层对比

我把核心差异整理成一张表,方便你选型时快速参考:

特性 MIPI CSI-2 UVC (USB) Parallel (DVP)
信号类型 差分串行 差分串行 单端并行
最大带宽 ~10Gbps (4通道) 5Gbps (USB 3.0) ~1Gbps (100MHz 12位)
抗干扰能力 强 强 弱
布线复杂度 中 (等长要求高) 低 (标准USB) 高 (多线等长)
热插拔支持 需额外设计 原生支持 需额外设计
典型应用 手机、嵌入式 PC摄像头、工业 低端MCU、老平台

五、接口选型建议

做热插拔方案时,我的建议是:

  • 追求高性能和低延迟:选 MIPI CSI-2,但要做好热插拔保护电路(ESD、缓启动)。
  • 追求通用性和快速开发:选 UVC,驱动不用写,但要注意 USB 带宽分配。
  • 成本敏感或 MCU 平台:选 Parallel,但布线要小心,信号完整性容易出问题。
避坑指南:我曾经在一个项目里用 Parallel 接口做热插拔,结果每次插拔都会导致系统死机。查了三天发现是 VSYNC 信号没有做上拉,浮空时产生毛刺触发了中断。加了个 10kΩ 上拉电阻就解决了。嗯,这种细节往往最坑人。

六、接口物理层结构图

下面这张图展示了三种接口的物理层结构对比,方便你理解它们的信号流向:

三种摄像头接口物理层结构对比 MIPI CSI-2 D-PHY / C-PHY Lane 管理层 (1/2/4 Lane) 协议层 (短包/长包) USB Video Class (UVC) USB PHY (D+/D- 或 SSTX/SSRX) USB 协议层 (批量传输/中断传输) UVC 类驱动 (标准接口) Parallel (DVP) 数据线 (D0-D11) 同步信号 (HSYNC/VSYNC) 像素时钟 (PCLK) 说明:MIPI 和 UVC 都是差分串行,抗干扰强;Parallel 是单端并行,布线复杂但控制器简单。 关键参数速查 MIPI: 差分阻抗 100Ω USB: 差分阻抗 90Ω (2.0) / 85Ω (3.0) Parallel: 单端 50Ω 电压摆幅: 200-400mV 电压摆幅: 400mV (2.0) / 800mV (3.0) 电压摆幅: 1.8V / 3.3V 最大速率: ~10Gbps 最大速率: 5Gbps 最大速率: ~1Gbps