2. 摄像头数据接口基础

摄像头与主控之间的数据接口,决定了图像数据以什么形式、什么速率、通过什么物理通道进入 SoC。理解 MIPI CSI-2、DVP、LVDS 三类接口的物理层与协议层差异,是后续设计 DMA 传输与缓存管理的前提。接口选错,DMA 通道、带宽预算、缓存行对齐策略都会随之失配。

一、核心原理:三类接口的分层差异

摄像头接口可以拆成物理层与协议层两个视角。物理层关注电气信号、时钟形式、引脚数量与传输距离;协议层关注数据如何打包、如何标识帧边界、如何区分像素格式。

  • DVP(Digital Video Port):并行接口,物理层由 PCLK、HSYNC、VSYNC 和 8/10/12 位并行数据线组成。协议层极简,没有包头,靠同步信号直接界定帧与行。主控侧通常映射为并口采集单元,数据几乎“裸流”进入。
  • MIPI CSI-2:串行差分接口,物理层基于 D-PHY 或 C-PHY,使用 1 对时钟 lane 加 1~4 对数据 lane(或更多)。协议层为分层结构:像素数据经像素到字节打包、LLP 低层协议、lane 分发,再经 D-PHY 发送。帧边界由短包(Frame Start/End)标识,行边界由长包内的行号与校验维护。
  • LVDS:串行差分接口,常见于车载与工业长距离场景。物理层为低压差分对,协议层多为厂商私有或类 LVDS 帧格式,常配合串行器/解串器(SerDes)使用,把并行视频流打包成高速串行流。
关键区别:DVP 是“并行+同步信号”,MIPI CSI-2 是“串行差分+包协议”,LVDS 是“串行差分+私有帧协议”。三者对 DMA 的触发方式完全不同:DVP 靠 HSYNC/VSYNC 触发行/帧 DMA,CSI-2 靠包解析后的行有效信号触发,LVDS 则依赖解串器还原出的同步时序。

二、物理层与协议层对比

对比项 DVP MIPI CSI-2 LVDS
信号形式 并行单端 串行差分 串行差分
典型引脚 PCLK+HSYNC+VSYNC+D[11:0] 1 时钟 lane + 1~4 数据 lane 多对差分数据 + 时钟对
协议层 无包协议,同步信号定界 CSI-2 包协议,短包/长包 私有帧协议,常经 SerDes
典型带宽 较低,受并行速率限制 高,单 lane 可达 Gbps 级 中高,适合长距离
传输距离 短,板内为主 短到中,板内/模组排线 长,可达数米至十余米
典型场景 低分辨率、低成本模组 手机、平板、AI 相机 车载、工业、安防

三、方法流程:从信号到 DMA 触发

以 MIPI CSI-2 为例,数据进入 SoC 后大致经历以下路径,这条路径直接决定 DMA 的触发点与缓存写入节奏:

  1. D-PHY 接收差分信号,完成时钟恢复与串并转换。
  2. CSI-2 协议层解析短包,识别 Frame Start、Frame End、行号。
  3. 像素解包模块把字节流还原为 RAW/RGB/YUV 像素。
  4. 行有效信号(line valid)与帧有效信号(frame valid)产生。
  5. DMA 控制器在行有效期间搬运数据,写入 DDR 缓存。
CSI-2 接收链路示意:
D-PHY -> CSI-2 协议解析 -> 像素解包 -> line/frame valid -> DMA 搬运 -> DDR 帧缓存

关键触发信号:
frame_start  : 帧起始,用于切换缓存 buffer
line_valid   : 行有效,用于启动单行 DMA
frame_end    : 帧结束,用于标记 buffer 可消费

DVP 的路径更直接:PCLK 采样并行数据,HSYNC 有效即行开始,VSYNC 有效即帧开始,DMA 直接由这两个信号触发。LVDS 则多一级解串器,解串后往往还原成类似 DVP 的同步时序,再交给采集单元。

四、典型应用场景与选型

  • 手机/平板前置与后置摄像头:几乎全部采用 MIPI CSI-2,追求高带宽、小体积、低功耗。
  • 低成本 USB 摄像头或玩具相机:常见 DVP 或内置并口,主控资源少、分辨率低。
  • 车载环视、倒车影像:LVDS 或 GMSL/FPD-Link 等 SerDes 方案,线缆长、抗干扰要求高。
  • 工业机器视觉:MIPI CSI-2 与 LVDS 并存,高速用 CSI-2,长距离用 LVDS。
选型口诀:短距离高带宽选 MIPI CSI-2;低成本低分辨率选 DVP;长距离抗干扰选 LVDS/SerDes。接口一旦确定,DMA 的行触发源、缓存行宽、对齐要求都要随之调整。

五、误区与复盘

常见误区一:认为“接口只是连线,和 DMA 无关”。实际上,DVP 的 HSYNC 直接作为 DMA 行触发,而 CSI-2 的行有效信号来自协议解析,两者在 DMA 配置上的触发极性、突发长度、缓存行对齐都不同。

常见误区二:把 LVDS 当成一种统一协议。LVDS 只是物理层标准,上层帧格式由厂商定义,不同模组的行场时序、像素打包方式可能完全不同,移植时必须重新确认解串器配置与采集时序。

常见误区三:忽略 lane 数与带宽匹配。CSI-2 的 lane 数、每 lane 速率、像素时钟共同决定可用带宽。若 lane 数不足,DMA 再优化也无法弥补前端带宽瓶颈,表现为丢帧或行撕裂。

复盘要点:先确认接口类型与物理层参数,再确认协议层的帧/行定界方式,最后才配置 DMA 触发源与缓存策略。顺序颠倒会导致调试时误判为 DMA 故障,实际是接口时序或 lane 配置错误。
三类摄像头接口:物理层与协议层对照 DVP 并行接口 物理层:PCLK + HSYNC + VSYNC 数据线:D[11:0] 并行 协议层:无包,同步信号定界 MIPI CSI-2 物理层:D-PHY 差分 lane 1 时钟 lane + 1~4 数据 lane 协议层:短包/长包,FS/FE 定界 LVDS / SerDes 物理层:低压差分对 多对数据 + 时钟对 协议层:私有帧协议 + SerDes DMA 触发:HSYNC/VSYNC 行/帧同步直接触发 DMA 触发:line/frame valid 协议解析后产生 DMA 触发:解串后同步时序 依赖 SerDes 还原 典型应用场景 低成本模组 / 低分辨率 手机 / AI 相机 / 高带宽 车载 / 工业 / 长距离

把接口层看清楚,后续 DMA 与缓存设计才有稳固的输入假设:DVP 关注同步信号极性,CSI-2 关注包解析与 lane 带宽,LVDS 关注解串器配置与长线时序。三者对应的缓存行宽、帧 buffer 切换时机、DMA 突发长度,都需要按接口特性分别设定。