将RAW打包成MIPI CSI2

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输出

相关推荐
deepseek231 分钟前
erdosproblems 冻结评论与证明声明拆解:机器证明泛滥后,一个数学网站关掉了评论区
人工智能·数学·大模型
想做小南娘,发现自己是女生喵1 分钟前
i.MX6ULL嵌入式Linux入门学习文档
linux·运维·学习
liangshanbo121514 分钟前
Web Worker 在 AI 前端应用中有什么具体使用场景?
前端·人工智能
daad77715 分钟前
手写一个 LPC 语音 Codec:从一帧真实音频看编码到解码的全过程
人工智能·音视频·语音识别
nap-joker15 分钟前
解耦多模态对抗自编码器:在不完全多模态神经图像下婴儿年龄预测中的应用
人工智能·特征解耦·婴儿年龄预测·vae-based
Martina_032116 分钟前
山谷地形下雨后湿痕总往坡上爬?用6步检查高度场、流向遮罩与分区加载
人工智能·游戏·数学建模·3d·自然语言处理·aigc·关卡设计
跟我学机器学习18 分钟前
基于两阶段索引的RAG Agent:检索增强与 Agent 结合实践
人工智能·深度学习·语言模型
Keep_Trying_Go20 分钟前
MobileSAM 论文方法详解
人工智能·深度学习·计算机视觉·分割算法
此生决int21 分钟前
Linux系列(04)——基础开发工具(上)软件包管理器、vim、gcc/g++
linux·服务器·vim
Huangjin007_23 分钟前
【Linux 系统篇(二十六)】文件(三): 深入理解 “一切皆文件”、缓冲区
linux·运维·服务器