RAW 数据打包成 MIPI CSI-2,通常由 Sensor 芯片内部的 CSI-2 Packetizer 硬件完成。整个过程可以分成 5 步:
bash
像素阵列产生模拟信号
↓
ADC得到RAW像素值
↓
RAW像素按位宽打包成字节流
↓
加上CSI-2包头、ECC、CRC
↓
通过D-PHY分配到MIPI Lane上传输
MIPI CSI2分层架构:物理层之上的物流体系
要理解 LLP,首先要看它在整个协议栈的位置。MIPI CSI-2 并非孤立存在,它建立在 D-PHY 或 C-PHY 之上。
• 物理层 (D-PHY/C-PHY): 铺设高速公路,负责差分信号的物理传输。
• 低层协议层 (LLP): 物流管理系统。它负责把像素"打包"成集装箱(长包)或信封(短包),并打上单号(Data ID)。
**• 像素-字节转换层 (Pixel to Byte):**将 10-bit 或 12-bit 的像素拆解成适合 8-bit 总线传输的字节流。
从RAW数据先经过像素字节转换层转换成8-bit字节流,再经过低层协议层打包数据,最后经过物理层传输MIPI数据。
1.RAW 像素先打包成 Payload 字节流
由于总线最终按字节组织数据,而 RAW10 每个像素有 10 bit,因此需要把多个像素紧凑地组合起来。
RAW10 的关系是:4×10=40 bit=5 Byte
即:
4个RAW10像素 → 5个字节
假设四个像素为:
P0[9:0]
P1[9:0]
P2[9:0]
P3[9:0]
典型 RAW10 打包形式为:
Byte0 = P0[9:2]
Byte1 = P1[9:2]
Byte2 = P2[9:2]
Byte3 = P3[9:2]
Byte4[1:0] = P0[1:0]
Byte4[3:2] = P1[1:0]
Byte4[5:4] = P2[1:0]
Byte4[7:6] = P3[1:0]
可以画成:
P0 = AAAAAAAA aa
P1 = BBBBBBBB bb
P2 = CCCCCCCC cc
P3 = DDDDDDDD dd
打包后:
Byte0 = AAAAAAAA
Byte1 = BBBBBBBB
Byte2 = CCCCCCCC
Byte3 = DDDDDDDD
Byte4 = ddccbbaa
这 5 个字节就成为 CSI-2 长包中的一部分 Payload。
2.低层协议层:封包
CSI-2 协议规定了两种基本的数据封包格式。
2.1 短包 (Short Packet) ------ 精准的指挥官
短包固定为 32 bits (4 字节)。它不携带任何图像像素,只负责指挥。
- Data ID (8位):包含虚拟通道(VC)和数据类型(DT,如 0x00 表示帧开始)。
- Data Field (16位):通常存放帧计数器(Frame Number)。
- ECC (8位):纠错码。
2.2 长包 (Long Packet) ------ 沉稳的搬运工
长包是数据的载体,长度可变。
数据格式与协议
- Packet Header (PH):32位,告诉接收端接下来有多少像素数据。
- Data Payload:真正的像素狂欢,由 WC(Word Count)指定字节数。
- Packet Footer (PF):包含 16 位的 CRC 校验码。

短包一般作为一帧数据的开头和结尾,长包就是中间真正携带数据的包。
3.RAW10的4LANE输出
