摄像头接口概述

做摄像头开发这些年,我接触最多的就是接口选型。说白了,摄像头传感器和处理器之间的“路”怎么修,直接决定了图像能跑多快、能传多远、画质会不会丢。今天咱们就把并行接口、MIPI CSI-2、LVDS这三条路掰开揉碎聊一聊。

并行接口

并行接口是最老派的方案。一根像素时钟,加上8位、10位或12位数据线,外加行同步(HSYNC)、场同步(VSYNC)和像素时钟(PCLK),就这么简单粗暴地往外扔数据。

我记得早年做安防摄像头的时候,用OV7670就是典型的并行输出。那时候板子上密密麻麻走了一堆线,稍微没排好,信号就串扰得厉害。为什么会这样?因为并行接口每一根数据线都是一条传输线,频率一高,线间延迟就成了噩梦。

避坑提醒:我曾经在一个项目里为了省成本,把并行数据线拉长了3厘米,结果640x480的画面边缘全是雪花。后来才发现,各数据线到达接收端的时序偏差已经超过了半个像素时钟周期。并行接口的走线必须等长,这是铁律。

并行接口的典型参数如下:

参数 典型值 说明
数据位宽 8 / 10 / 12 bit 每时钟周期传输的像素位
最大时钟频率 25 ~ 80 MHz 受限于PCB走线质量
最高分辨率 VGA ~ 720p 更高分辨率会带来严重的EMI问题
线数 10 ~ 15根 包含控制信号和数据线
传输距离 < 10 cm 板上走线为主

并行接口的优势是控制器简单,寄存器配置也直观。但它的上限很明显——频率上不去,线多了不好走,干扰大。现在只有低分辨率的感光芯片还在用并行接口,比如一些工业扫码相机。

MIPI CSI-2

MIPI CSI-2是我个人用得最多的接口。它用差分信号对(D-PHY或C-PHY)传输数据,一对线就能搞定高速数据流。嗯,这里要注意:MIPI不是一种物理层,它是一整套协议栈。

CSI-2的物理层最常见的是D-PHY。一个时钟差分对,外加1到4个数据差分对。每个差分对传输速率可以做到1 Gbps以上。想象一下,四对线同时跑,带宽轻松超过4 Gbps。这就是为啥手机摄像头动辄一亿像素还能实时预览——MIPI的功劳。

核心要点:MIPI CSI-2用“通道”(Lane)的概念替代了并行接口的位宽。通道数越多,总带宽越大。而且差分信号天然抗共模干扰,走线可以拉长到30厘米没问题。

MIPI D-PHY的时序参数是咱们课程的核心,我先列几个关键项,后面章节会展开讲:

  • UI(Unit Interval):一个比特的传输时间,周期=1/数据速率
  • HS-TX:高速传输模式,数据在时钟沿的双沿采样
  • LP-TX:低功耗模式,用于控制命令传输
  • T_HS-SETTLE:从LP模式切换到HS模式的稳定时间,这个参数容易配错
  • T_CLK-POST / T_CLK-PRE:时钟通道的前导和后同步时间

我个人习惯把MIPI CSI-2比喻成“高速公路”。并行接口像城市里的红绿灯路口,多而乱;MIPI则是封闭的高速公路,多车道并行,还分快慢车道(HS和LP模式),效率高得多。

LVDS

LVDS(Low-Voltage Differential Signaling)本质是一种信号标准,不是完整的接口协议。但在摄像头领域,很多厂商用它来传输原始图像数据,特别是工业相机和嵌入式视觉系统。

LVDS也是差分对,一条线用两根线传输,电压摆幅只有350 mV左右。低摆幅意味着低功耗、低EMI。而且LVDS的驱动器和接收器都内置了端接电阻,接口非常简洁。

我做过的某款双目深度相机,传感器输出就是LVDS格式。每路数据用4对差分线加1对时钟线,总共10根线就能传输1280x720@60fps的图像。你想想看,要是用并行接口,至少得16根线,PCB布线难度翻倍。

经验之谈:LVDS在长距离传输上有优势。我曾经在一台自动化检测设备上,把摄像头信号通过LVDS走了1.2米的排线,图像质量几乎没损失。换成MIPI的话,超过40厘米就得加repeater。但LVDS的问题是协议不统一,各家传感器的数据打包格式可能不同,驱动适配比较麻烦。

三种接口横向对比

说完了各自的特性,咱们用一个表格直接对比一下:

特性 并行接口 MIPI CSI-2 LVDS
信号类型 单端 差分 差分
带宽上限 ~ 800 Mbps ~ 16 Gbps(4 Lane) ~ 5 Gbps(多对)
走线数量 10 ~ 15根 4 ~ 10根 8 ~ 12根
抗干扰能力 弱 强 强
传输距离 短(板上) 中(~30cm) 长(~3m)
协议标准 无 完整协议栈 仅有电气标准
功耗 中 低 低
应用领域 低分辨率、低成本 手机、汽车、AI摄像头 工业相机、医疗内窥

从表格上可以看出来,MIPI CSI-2在带宽、抗干扰和协议成熟度上全面领先。LVDS赢在长距离传输。并行接口则逐渐被淘汰,只有在极端低成本或超低分辨率场合还能见到。

接口选型建议

很多人问我:该怎么选接口?我一般会问三个问题:

  1. 目标分辨率是多少? 低于720p、帧率不高,并行接口还能凑合;高于1080p,直接上MIPI。
  2. 走线距离多长? 板上走线MIPI没问题;超过半米考虑LVDS或加桥接芯片。
  3. 处理器支持什么? 现在主流MCU和SoC几乎标配MIPI CSI-2接口,开发工具链也最成熟。工业相机方案才需要LVDS。

有时候客户跟我说想用并行接口做4K摄像头,我都会直接劝退。倒不是完全不可能,但PCB的布线成本、EMI测试的整改成本,加起来比换个MIPI传感器的成本高多了。

一句话总结:并行接口是过去的标配,MIPI CSI-2是现在的标配,LVDS是特定场景的利器。初学者从MIPI入门是最稳妥的选择。
摄像头接口分类与选型逻辑 并行接口 MIPI CSI-2 LVDS 特性 • 线多干扰大 • 频率上限低 • 成本最低 • 控制简单 • EMI问题突出 特性 • 差分抗干扰 • 带宽高 • 协议完整 • 功耗低 • 生态最成熟 特性 • 长距离传输 • 低摆幅低功耗 • 仅电气标准 • 协议不统一 • 适配工作量大 接口选型建议 低分辨率 → 并行 · 主流应用 → MIPI · 长距离 → LVDS

上面这张图把三种接口的特性归纳到了一起。你可以对照自己的项目需求,顺着选型建议往下找方向。我个人建议,如果刚开始学摄像头开发,优先玩MIPI CSI-2接口的模组,比如IMX219或者OV5640,配套的文档和社区支持都最丰富。等你把MIPI的时序参数吃透了,再看并行接口和LVDS,会发现很多东西都是通用的——毕竟所有接口的终极目标都是:把像素数据从传感器安全、快速地搬出来。