MIPI CSI-2协议与DMA传输协同设计 - 第1节
1.1 MIPI 联盟简介
MIPI(Mobile Industry Processor Interface,移动行业处理器接口)联盟成立于 2003 年,是一个全球性的开放标准制定组织,旨在为移动设备(如智能手机、平板电脑、可穿戴设备)定义硬件和软件接口规范。MIPI 标准覆盖了物理层(PHY)、协议层(Protocol)和软件框架(Software Framework),其核心目标是降低设备内部互连的复杂度、功耗和成本,同时提升数据传输的可靠性和性能。
在嵌入式视觉系统中,MIPI 联盟定义的 CSI(Camera Serial Interface)和 DSI(Display Serial Interface)已成为事实上的行业标准。CSI-2 作为摄像头串行接口的第二代规范,是目前应用最广泛的图像传感器与处理器之间的高速数据传输协议。
MIPI 联盟主要规范体系
| 规范类别 | 典型规范 | 应用场景 |
|---|---|---|
| 物理层 | D-PHY、C-PHY、M-PHY | 芯片间高速串行数据传输 |
| 摄像头接口 | CSI-2、CSI-3 | 图像传感器到应用处理器 |
| 显示接口 | DSI、DSI-2 | 应用处理器到显示面板 |
| 软件框架 | I3C、SPMI、UniPro | 设备控制、电源管理、协议桥接 |
1.2 CSI-2 协议发展历程
CSI-2 协议自 2005 年首次发布以来,经历了多次重大版本迭代,每一次升级都针对更高的分辨率、帧率、数据带宽以及更复杂的应用需求进行了优化。
版本演进时间线
- CSI-2 v1.0 (2005): 基于 D-PHY v1.0,支持最高 1 Gbps/lane 的数据速率,主要用于 VGA 到 5 MP 的摄像头。
- CSI-2 v1.1 (2009): 引入 CRC 校验和 ECC 纠错,增强了数据传输的可靠性。
- CSI-2 v1.2 (2012): 支持虚拟通道(Virtual Channel)扩展,允许最多 4 个数据流复用在同一链路上。
- CSI-2 v1.3 (2014): 增加 RAW 数据格式支持,适配工业相机和医疗成像需求。
- CSI-2 v2.0 (2017): 引入 C-PHY 物理层支持,单 lane 速率提升至 2.5 Gsym/s,支持 4K/60fps 视频流。
- CSI-2 v3.0 (2020): 支持多数据流(Multi-Stream)和智能 ROI(Region of Interest)传输,面向自动驾驶和 AI 视觉。
- CSI-2 v4.0 (2023): 引入基于 M-PHY 的更高带宽选项,支持 8K/120fps 及传感器内计算数据输出。
1.3 CSI-2 在嵌入式视觉系统中的应用场景
CSI-2 协议凭借其低功耗、高带宽和灵活的拓扑结构,已成为嵌入式视觉系统的首选摄像头接口。以下表格总结了典型应用场景及其对 CSI-2 协议的具体需求。
| 应用场景 | 典型分辨率/帧率 | CSI-2 关键特性 | 物理层选择 |
|---|---|---|---|
| 智能手机摄像头 | 48MP / 30fps | 多虚拟通道、RAW10/RAW12 | D-PHY 4-lane |
| 车载环视系统 | 2MP / 60fps × 4 路 | 多数据流、低延迟、CRC/ECC | C-PHY 3-lane |
| 工业机器视觉 | 5MP / 120fps | RAW 格式、触发同步、元数据嵌入 | D-PHY 2-lane |
| 无人机/机器人 | 4K / 60fps | 低功耗、长距离传输(通过重定时器) | D-PHY 2-lane |
| 医疗内窥镜 | 1080p / 30fps | 小尺寸、低 EMI、高可靠性 | C-PHY 1-lane |
典型系统架构图
下图展示了一个典型的嵌入式视觉系统数据流,从图像传感器通过 MIPI CSI-2 链路传输到 FPGA 或 SoC,再经过 DMA 引擎搬运到 DDR 内存供后续处理。
应用场景深度解析
以车载环视系统为例,4 路 2MP/60fps 摄像头同时工作,每路数据带宽约为 2.5 Gbps(RAW10 格式)。CSI-2 v2.0 的 C-PHY 3-lane 配置可提供约 5.7 Gbps 的总带宽,足以承载 4 路数据流。FPGA 内部的 DMA 引擎需要支持 4 个独立的虚拟通道,并将数据分别写入 DDR 的不同地址区域,供后续的拼接算法使用。
在工业机器视觉场景中,CSI-2 的元数据嵌入功能(如帧计数、时间戳、触发信号)对于精确的同步控制至关重要。FPGA 在解析 CSI-2 数据包时,需要提取这些元数据并传递给上层处理逻辑,而不仅仅是搬运图像数据。