SA8397 相机链路架构

在SA8397摄像头链路架构中,图像数据会从摄像头模组产出,经过加串器,解串器后到达SOC,内部根据不同的需求经过不同的链路最终到达不同的目的地。下面对其中经常遇到以及非常基础的几大模块进行说明。

1. CSID --- Camera Serial Interface Decoder

是什么: 高通 ISP 前端硬件模块,位于 SoC 内部,是 MIPI CSI-2 物理层(CSIPHY)和后续图像处理模块之间的桥梁。

在链路中的位置: 解串器(MAX96712)输出 MIPI CSI-2 信号 → CSID → IFE/RDI

起什么作用:

  • 接收来自 CSIPHY 的 MIPI CSI-2 数据包
  • 解析 VC(Virtual Channel):根据数据包中的 VC ID(0-3),将数据路由到不同的 IFE 或 RDI 通道
  • 解析 DT(Data Type):根据 DT 值(如 0x2B=RAW10, 0x2C=RAW12)确定像素格式,配置后续处理模块
  • 产生 SOF(Start of Frame)/ EOF(End of Frame)中断,通知系统帧的开始和结束
  • 支持多 VC 同时接收,实现多 sensor 复用同一 MIPI 物理链路

2. RDI --- Raw Dump Interface

是什么: 高通 ISP 子系统中的一个原始数据直出接口,是 CSID 之后的一个可选数据路径。

在链路中的位置: CSID → RDI → 内存(DMA 直写)

起什么作用:

  • 当应用需要获取 sensor 的原始 Bayer/RAW 数据(未经 ISP 处理)时,开启 RDI 路径
  • 数据从 CSID 直接通过 RDI 写入系统内存,不经过 IFE 的 ISP 处理(去马赛克、降噪、色彩校正等)
  • 典型用途:raw 图抓取、计算机视觉算法(直接处理 Bayer 数据)、低延迟场景
  • 与 IFE 路径并行存在:同一帧数据可以同时走 IFE 处理后输出 + RDI raw dump 输出

与 IFE 的区别:

特性 RDI 路径 IFE 路径
数据处理 无处理,raw 直出 ISP 处理(去马赛克、降噪等)
输出格式 RAW8/10/12/14 NV12/YUV420 等处理后格式
延迟 较高(经过处理)
典型用途 raw 图抓取、CV 算法 预览、录像、显示

3. VC --- Virtual Channel(虚拟通道)

是什么: MIPI CSI-2 协议层概念,不是硬件模块。用 2-bit ID(0~3)标识同一物理 MIPI 链路上的不同数据流。

在链路中的位置: 贯穿整个链路,从 sensor 输出到 SoC CSID 解析:

复制代码
Sensor(设置 VC ID)→ 加串器(保留 VC 标签)→ 解串器(恢复 VC 标签)→ CSID(解析 VC,路由到对应 IFE/RDI)

起什么作用:

  • 多 sensor 复用:4 个 camera 模组可以通过同一组 MIPI 差分线传输数据,只要各自使用不同的 VC ID
  • 同一 sensor 多数据流:一个 sensor 可以同时输出多路数据(如主摄 + 深度图),每路使用不同的 VC
  • VC 与 cameraId 的映射:解串器需要正确配置 VC 映射,CSID 也需要正确配置 VC→IFE/RDI 的路由

4. DT --- Data Type(数据类型)

是什么: MIPI CSI-2 协议层概念,嵌入在每个数据包的包头中,用 6-bit 值标识 payload 的数据格式。

在链路中的位置: 由 sensor 在输出数据时设置,贯穿整个链路,最终由 CSID 解析:

复制代码
Sensor(设置 DT 值)→ 加串器/解串器(透传)→ CSID(解析 DT,配置 IFE/RDI 数据格式)

常见的 DT 值(MIPI CSI-2 标准):

DT 值(十六进制) 数据格式
0x2A RAW8
0x2B RAW10
0x2C RAW12
0x2D RAW14
0x18 RGB888
0x1E YUV422 8-bit

起什么作用:

  • CSID 解析 DT 后,告知后续 IFE/RDI 模块数据的具体格式,以便正确解析和存储
  • 如果 DT 配置错误(如 sensor 输出 RAW10 但 CSID 配置为 RAW12),会导致图像颜色异常或数据错位

链路数据流向总结

复制代码
Sensor
  │  输出 MIPI CSI-2 数据包(含 VC ID + DT 值)
  ▼
加串器
  │  GMSL 编码,将 VC/DT 信息封装在 GMSL 包头中
  ▼
GMSL2 串行链路(同轴电缆或 STP 双绞线)
  │
  ▼
解串器
  │  GMSL 解码,恢复 MIPI CSI-2 格式(含 VC + DT)
  │  通过 I2C 控制链配置 sensor/加串器
  ▼
SA8397 SoC --- MIPI CSI-2 接收端
  │
  ├─ CSIPHY(物理层,接收差分信号)
  │
  ├─ CSID(解码层,解析 VC/DT,路由数据)
  │     ├─ 若 VC=0 → 路由到 IFE path 0 或 RDI path 0
  │     ├─ 若 VC=1 → 路由到 IFE path 1 或 RDI path 1
  │     └─ 若 VC=2/3 → 路由到对应 path
  │
  ├─ IFE(ISP 处理,输出 YUV/NV12 等格式到内存)
  │
  └─ RDI(Raw Dump,输出 RAW 格式直接到内存)
       │
       ▼
   系统内存(DMA 写入)
       │
       ▼
   qcarcam 用户态进程(取帧,送显示/算法)
相关推荐
Swizard2 小时前
还在被框架绑架?一文看懂“六边形架构”,让你的核心业务稳如泰山!
架构·architecture
飞凌嵌入式13 小时前
T153核心板:异构架构赋能工业嵌入式,筑牢工业设备实时控制底座
架构
陈猪的杰咪13 小时前
GitHub Copilot 2026计费新规:AI Credits消耗解析与节省策略
人工智能·ai·架构·github·copilot
watersink14 小时前
MCP 协议与 Skill 开发架构培训文档
人工智能·架构
@insist12314 小时前
系统架构设计师-嵌入式处理器核心知识体系:从分类到架构选型全解析
架构·分类·系统架构·软考·系统架构设计师·软件水平考试
实在智能RPA15 小时前
航空维修知识库构建方法:从RAG到Agent-native的架构演进与全栈工程实践
人工智能·ai·架构
Rain50915 小时前
2.1 Nest.js 项目初始化与模块化架构
开发语言·前端·javascript·后端·架构·数据分析·node.js
大蚂蚁2号16 小时前
深度解析:2026短视频批量生成底层技术、架构演进与企业落地实战
架构·音视频
ping某16 小时前
一个“日志备份”需求,为什么会牵出整个 Linux 日志系统?
后端·架构