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

相关推荐
Leo.yuan19 小时前
FineDataLink 5.0 vs Great Expectations:数据质量治理工具深度横评,国产低代码方案能否替代开源标杆?
大数据·人工智能
薛定e的猫咪19 小时前
(arXiv 2026)GLiBRL :可学习基函数的深度贝叶斯元强化学习 ----待补充
人工智能·深度学习·学习·算法·机器学习
喜欢吃豆19 小时前
GEO 到底怎么做?从 Prompt 研究到 AI Citation 的完整落地方法
人工智能·prompt
yingyuecom19 小时前
映悦AI × Joverse全球发布:四大重磅更新,AI创作进入工业化时代
人工智能·gpt·chatgpt·prompt·aigc
深圳市宝华视联19 小时前
院感约束下,手术室音视频布线与设备摆放实施注意事项
嵌入式硬件·音视频·实时音视频·视频编解码·嵌入式实时数据库
会周易的程序员19 小时前
软件接入大模型实现 Agent —— 从原理到 C++ 落地完全指南
c++·人工智能·物联网·架构·agent·工业协议·mcp
小雪崩20 小时前
嵌入式学习 day30:minilog
linux·c语言·学习
躺柒20 小时前
读数据可视化13空间标量场(上)
人工智能·深度学习·信息可视化·数据可视化·空间·大数据分析
小王20420 小时前
Day 28:目标检测入门 — 两阶段 vs 单阶段
人工智能·目标检测·计算机视觉
嵌入式小能手20 小时前
飞凌嵌入式ElfBoard-Shell脚本编写基础-传参-$0
linux