MIPI CSI-2

综述

官网:https://www.mipi.org
官方文档下载地址:http://files.chinaaet.com/files/blog/2019/20171110/1000019445-6364593011828743047249885.pdf

定义:MIPI-CSI (camera serial interface 2) 移动设备中图像传感器(sensor)与主处理器(SoC)之间高速传输视频数据的协议标准;

[Sensor图像数据]
      ↓ 应用层 
-------------------------
[图像帧/像素流]
      ↓ 像素/字节组包/解包层(Pixel-to-Byte)
[字节流 + 格式对齐]
      ↓ 底层协议层      ----->协议层
[CSI-2 Long/Short Packets]
      ↓ 通道管理层
[分配到各条 Data Lanes]
--------------------------
      ↓ 物理层
[差分电平输出到 MIPI 接口]

组成部分:

  • 物理层(phy-layer)D-PHY/C-PHY
    D-PHY:1 个时钟通道(Clock Lane);1~4 个数据通道(Data Lanes);差分信号对,传输速率可达数 Gbps/通道

  • 协议层(Protocol Layer)
    CSI-2 可以使用Soc上的一个物理接口实现多条数据流的传输;协议层规定了如何对多条数据流进行标记和交织,
    从而使每条数据流能够正确重建;

  • 应用层
    该层描述数据流中所含数据的高层编码和解释,原始图像在应用层进行各种图像处理等。 CSI-2 规范描述了将像素值映射为字节;

CSI-2 定义的协议层格式包括:
Short Packet(短包):用于控制和状态信息,如帧开始、帧结束
Long Packet(长包):包含实际的图像数据

物理层

D-PHY

除地线外,MIPI CSI2一般会有1对I2C通信引脚,1对MIPI差分时钟引脚和1~4对MIPI差分数据信号引脚;


D-PHY 一组clock lane;1-4组 data lane 都是单向传输,可以支持1/2/4 lane的传输;每组lane在物理上是两根接线,传输差分信号;

摄像头模组D-PHY协议传输数据,LP(low power)模式下处于高电平;HS(High Speed)模式下传输差分信号。

C-PHY

(用的不多)
C-PHY 三根接线一组传输;C-PHY是一种嵌入式时钟链路,不需要额外的时钟线;C-PHY 不使用差分信号传输,采用三相符号编码来传输数据;

注:三相符号编码
每次波形变换时,总有一条线保持不动,另外两条线形成高低电平差;
原始数据(如 CSI-2 协议包) → 每 7 bit 作为一个基本单元;
通过查表映射,将 7 bit 映射成一个 3-phase symbol transition;
在物理层,三根线产生状态过渡,例如:
上一个状态:A > B > C
当前状态: B > C > A

协议层

协议层可以分为三层:像素/字节组包/解包层、底层协议层、通道管理层;

像素/字节组包/解包层

这层的主要作用是:将应用层的像素数据按照特定格式进行“打包”为字节流,供底层传输;在接收端则执行解包操作,还原成原始像素。

  • 发送端:

从应用层获取原始像素数据(如 RAW10、 RAW12、RGB565、YUV422 等);
将这些像素打包为一组字节流(Byte Stream);
传给 MIPI CSI-2 协议更底层的 D-PHY/C-PHY 层进行发送。

  • 接收端:

从底层 PHY 接收到字节流;
根据格式知道该如何解析每一个像素(多少位,是否跨字节等);
解包为像素阵列,再交给 ISP、应用处理。

为什么需要这层?
因为像素格式的位宽通常不是 8 的整数倍,这些格式都需要在发送前进行“位对齐”处理;否则无法有效利用带宽或导致解析错误。

举例:raw10像素流:

像素流packed成字节流

底层协议层

LLP(low level protocol)通常处理两种格式的包 长包(Long packed)和 短包(short packed)LLP 对包添加包头(packet header,PH)
和包尾(packet footer.PF),并作为有效数据在HS模式下传输;

长帧包含信息:32bit PH,一定长度packet data, 和8bit PF;

数据标识 Data ID:8bit,有Virtual Channel ID(VC低2位)和Data type(6bit )字节组成;
数据计数 WC:16bit; PH结尾到PF开始中间的数据长度,单位为byte,接收端可以通过wc判断包结束位置;
虚拟通道+错误校验 VCX+ECC:8bit,Virtual Channel ID(VC高2位)和DI中的VC低2位组成4-bit VC-ID,总共可以表示16个虚拟通道;
数据填充 packet data:长度=wc*8bit;对具体数据内容没限制;
检验和 CS:16bit;CRC检测packet data一个或多个错误,不纠错;

短包包含信息:Data ID WC、data field、ECC.

Data field:如果该短帧的Data type为帧同步则packet data数据表示帧数,如果短帧为行同步,则数据域表示行数;

长包和短包的Data type具体编码可以参考官方文档;

通道管理层

通道管理层(Lane Management Layer)是 MIPI CSI-2 协议中调度多个数据通道并确保同步传输的关键模块,
负责 Lane 配置、数据分发、同步控制与功耗管理,是高带宽、高效率传输图像数据的核心支撑。

功能 描述
通道配置 选择使用多少条 Lane(通常为 1、2 或 4 条)
Lane 映射 将数据包按顺序分发到各个 Lane 上
帧同步 保证多 Lane 同步传输,防止错帧/错行
低功耗切换 控制每条 Lane 进入/退出低功耗模式(LP/HS)
Lane 状态管理 探测 Lane 上是否存在错误或中断(如 Skew、Timeout)

发送端:

接收端:

MIPI 通常有两种工作模式:

模式 含义 用途
HS(High-Speed) 高速模式 传输图像数据
LP(Low-Power) 低功耗模式 控制信息、空闲状态

通道管理层负责在这两种状态之间切换,以节能和稳定性兼顾。

参考链接:
https://blog.csdn.net/sinat_43629962/article/details/123089993
https://www.graniteriverlabs.com.cn/technical-blog/mipi-csi-2-d-phy/
https://zhuanlan.zhihu.com/p/599531271
https://zhuanlan.zhihu.com/p/146572204
https://blog.csdn.net/baidu_38797690/article/details/125299661
https://blog.csdn.net/baidu_38797690/article/details/125297009?spm=1001.2014.3001.5502
http://huaqianlee.github.io/2021/09/22/Camera/MIPI interface overview/

posted @ 2025-05-27 20:00  chivalrySun  阅读(629)  评论(0)    收藏  举报