当前位置: 首页 > news >正文

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一)

1. CSI-2层定义(CSI-2 Layer Definitions)

在这里插入图片描述

分层结构 :CSI-2协议分为6层:

  1. 物理层(PHY Layer)
    定义电气特性、时钟机制和传输介质(导线)。负责比特/字节同步、SoT/EoT信号及“带外”信息传递。
    底层规范由MIPI D-PHY/C-PHY标准定义(本文仅关注D-PHY)。
  2. 协议层(Protocol Layer)
    支持多数据流标记和交织传输,确保接收端能正确重建各数据流。
  3. 像素/字节打包层(Pixel/Byte Packing/Unpacking Layer)
    发送端将应用层像素打包为字节;接收端将字节解包为像素。支持6–24位/像素格式,8位/像素数据直通。
  4. 底层协议(Low Level Protocol, LLP)
    基于字节的包协议(短包/长包格式),支持:
    • 任意数据传输
    • 4个虚拟通道(Virtual Channel)
    • 帧/行同步包(Frame/Line Start/End)
    • 数据类型(Data Type)描述负载格式
    • 16位CRC校验和(D-PHY/C-PHY均适用)
    • 8位包头纠错码(ECC,仅D-PHY)
  5. 通道管理层(Lane Management)
    实现通道扩展:
    • 发送端 :分发器(LDF)将字节流轮询分发到N个通道。
    • 接收端 :合并器(LMF)从N个通道收集并重组字节流。
    • D-PHY以单字节为单位分发(C-PHY以双字节为单位)。
  6. 应用层(Application Layer)
    高层数据编码(如像素映射)
  • 规范范围 :仅约束链路上的外部数据/比特模式,内部接口为建议性设计。

2. DPHY物理层(Physical Layer)
  • 组成 :1个时钟通道 + 1个或多个数据通道(均为单向差分接口)。
  • 时钟模式
    连续时钟(默认) :数据包间时钟保持高速模式。
    非连续时钟(可选) :数据包间时钟进入LP-11状态。
  • 最低要求
模块发送器(TX)接收器(RX)
数据通道HS-TX + LP-TX + CIL-MFEN功能HS-RX + LP-RX + CIL-SFEN功能
时钟通道HS-TX + LP-TX + CIL-MCNN功能HS-RX + LP-RX + CIL-SCNN功能
  • 关键特性
    ULPS支持 :所有数据通道必须支持前向超低功耗状态(Escape ULPS)。
  • 去偏斜校准
    • 发送器提供 去偏斜序列模式 ,接收器据此校准通道间偏斜。
    • 校准仅在固定频率有效,频率变化时需重新校准。
    • 低频率或旧版发送器可绕过校准。

3. 多通道分布与合并(Multi-Lane Distribution/Merging)——仅D-PHY

在这里插入图片描述

  • 通道扩展原理

  • 发送端 :分发器(LDF)按轮询方式分配字节:

    • N通道示例 :字节0→Lane 1,字节1→Lane 2,…,字节N→Lane 1(循环)。
  • 接收端 :合并器(LMF)按通道顺序重组字节流。

  • 非整数倍字节处理

    • 末尾字节不足时,无数据的通道进入LPS状态。
    • 各通道独立结束传输,EoT信号可能错开1字节周期。
      在这里插入图片描述
  • 通道数互操作性
    M发送器 vs N接收器

    场景性能影响连接规则
    M ≤ N(例:1→4)无损失TX Lane 1→RX Lane 1,依次对应
    M > N(例:4→1)带宽下降(接收通道不足)TX Lane 1–N→RX Lane 1–N
  • 配置 :通过CCI接口动态重配置分发/合并逻辑。

  • 短包传输
    短包(4字节)仅需4条通道,多余通道保持LPS状态(图28)。

总结重点 :CSI-2通过分层协议和通道扩展实现高带宽传输,D-PHY物理层提供稳定电气接口,多通道管理确保字节级精确分发/合并,且支持发送端与接收端通道数灵活适配。

http://www.lqws.cn/news/176707.html

相关文章:

  • Tika Server:企业级文档内容解析的轻量级服务化方案
  • CppCon 2015 学习:How to Make Your Data Structures Wait-Free for Reads
  • 【iOS安全】iPhone X iOS 16.7.11 (20H360) WinRa1n 越狱教程
  • 主流 AI IDE 之一的 Cursor 介绍
  • 2506,字节对齐
  • 【配置 YOLOX 用于按目录分类的图片数据集】
  • 96. 2017年蓝桥杯省赛 - Excel地址(困难)- 进制转换
  • transformer和 RNN以及他的几个变体区别 改进
  • cnn卷积神经变体
  • 豆包和deepseek 元宝 百度ai区别是什么
  • 大语言模型提示词(LLM Prompt)工程系统性学习指南:从理论基础到实战应用的完整体系
  • 大数据学习(132)-HIve数据分析
  • 【LLMs篇】14:扩散语言模型的理论优势与局限性
  • 海康工业相机文档大小写错误
  • vite配置@别名,以及如何让IDE智能提示路经
  • 亚矩阵云手机实测体验:稳定流畅背后的技术逻辑​
  • RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
  • Visual Studio 中的 MD、MTD、MDD、MT 选项详解
  • Neo4j 集群管理:原理、技术与最佳实践深度解析
  • MVC与MVP设计模式对比详解
  • ABP VNext 与 Neo4j:构建基于图数据库的高效关系查询
  • Spring Cloud 2025.0.0 Gateway迁移全过程详解
  • 【行驶证识别成表格】批量OCR行驶证识别与Excel自动化处理系统,行驶证扫描件和照片图片识别后保存为Excel表格,基于QT和华为ocr识别的实现教程
  • 在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
  • 20250606-C#知识:List排序
  • LangChain【6】之输出解析器:结构化LLM响应的关键工具
  • Vue3 卡片绑定滚动条 随着滚动条展开效果 GSAP动画库 ScrollTrigger滚动条插件
  • 【数据结构】B树
  • 【Survival Analysis】【机器学习】【3】 SHAP可解釋 AI
  • 安装VUE客户端@vue/cli报错警告npm WARN deprecated解决方法 无法将“vue”项识别为 cmdlet、函数