MIPI-CSI2详解

本文为本人调试imx8 csi2 camera过程中整理,如有不对地方欢迎沟通指正:[email protected]

概述:

本文重点以imx8系列的芯片的MIPI-CSI2为例讲解MIPI-CSI2协议

1.MIPI概述:

MIPI联盟是一个开放的会员制组织,CSI(Camera Serial Interface)是由MIPI联盟下Camera工作组指定的接口标准。CSI-2是MIPI CSI第二版,主要由应用层、协议层、物理层组成,最大支持4通道数据传输、单线传输速度理论高达9Gb/s(不同器件最大值不一致)

定义了摄像头外设与主机控制器之间的接口,旨在确定摄像头与主机控制器在移动应用中的标准,CSI-2定义了摄像头应用中发送方(camera)与接收方(soc)之间的数据与控制传输标准,其物理层支持DPHY与CPHY两种,我们主要以DPHY为例

D-PHY:物理层的CSI-2相机接口由一个时钟线和一个或多个数据线组成

C-PHY:物理层的CSI-2相机接口由一个或多个通道组成,每个通道同时传输时钟和数据信息

D-PHY MIPI-CSI/MIPI-DSI的4通道框图:本文重点关注D-PHY

MIPI-CSI2详解_第1张图片

重点名词解释:

Lane:一种单向、点对点、2线或3线接口,用于高速串行时钟或数据传输,使用D-PHY物理层的CSI-2摄像头接口由1个时钟Lane和1/2/4个数据Lane通道

Packet:以特定方式组织起来的一组字节,用于在接口上传输数据。所有数据包都有个最少字节大小的数据。字节是数据包的基本数据单位。

Payload:仅应用程序数据,所有同步,报头,ECC和校验和和其他协议相关信息除外。这是应用程序处理器和外设之间传输的“核心”

Virtual Channel:支持多达32个外设(camera)的多个独立数据流的规范。每个外设(camera)的数据流可以是一个虚拟通道。这些数据流可能是作为连续的包进行交叉传输,每个包专用于一个特定的外设(camera)或通道。包协议包括将每个包连接到它预定的外围设备的信息(后续讲解包协议时会说明每个包header中包含相应的virtual id,和具体数据类型)

2.CSI-2分层协议

框图:

MIPI-CSI2详解_第2张图片

Application Layer:             
该层主要用于不同场景对数据的处理过程,对于发送方,多为camera生成数据,对于接收方,多为SOC对数据进行处理

Protocol Layer:                    

1.Pixel/Byte Packing/Unpacking Layer:像素/字节封装/解封装层,CSI-2规范支持不同像素格式的图像应用程序,每像素6到24位。发送方向时:在将数据发送到低层协议层之前,该层将应用层的像素打包成字节,接收方向时:在将数据发送到应用层之前,该层将来自低层协议层的字节解析为像素

2.Low Level Protocol (LLP):低级别协议层,为串行数据传输在传输开始(SoT)和传输结束(EoT)事件之间建立位、字节级别同步以及将数据传递到下一层,最小数据大小为1个字节,,详情见章节5

3.Lane Management:lane通道管理,为了适应不同场景下对带宽的要求,CSI-2规定了Lane的数量是可拓展的。因此,在面临多Lane同时传输时,发送方需要对字节流进行公平分发(distributor),接收方则需要对多Lane数据进行合并(merger)详情见章节4

PHY Layer:            

PHY层指定了传输媒介,在电气层面从串行bit流中捕捉“0”与“1”,同时生成、捕获SoT与EoT等信号,详细时序细节见章节3.D-PHY

 3.D-PHY:

D-PHY是CSI-2和DSI协议用于物理和电通信的源同步物理层,D-PHY中的D来自罗马数字500。在编写D-PHY规范的1.0版本时,假设单通道的通信速率为500Mbps,因此D-PHY的名称就诞生了。在该规范的最新版本中,每通道的实际最大比特率高达9 Gbps。由于遵循的规范版本和设计实现,i.MX 8/RT部件每通道的最大传输速率为1.5 Gbps(有些部件甚至更低)

Mode:

Control, High-Speed, Escape, and Ultra-Low Power State (ULPS)

Data Lanes support all four modes but Clock Lanes only support Control, High-Speed, and ULPS mode. During normal operation, a Data Lane is in Control or High-Speed mode

时序:

MIPI-CSI2详解_第3张图片

 为了有效地利用D-PHY接口,使用较少的引脚,缺乏传统的总线握手信号(例如,数据启用,线路选择)。因此,各种LP和HS模式之间的转换是通过一系列握手序列来处理的。详尽的握手序列这里不做详解 。简单介绍下SoT/EoT

SoT : Start of Transmission(传输启动信号)

MIPI-CSI2详解_第4张图片

EoT : End of Transmission(传输停止信号)

MIPI-CSI2详解_第5张图片

 错误检测:

如果发送端和接收端的可配置时间参数没有正确设置,就会在SoT和EoT过程中发生错误。D-PHY可以检测到某些错误,触发IRQ,并设置寄存器标志,以帮助调试问题

4.Multi-Lane Distribution and Merging

Distribution框图

MIPI-CSI2详解_第6张图片

 merging框图:

MIPI-CSI2详解_第7张图片

5.Low Level Protocol

低级别协议(LLP)是一个基于字节的数据包的协议,支持传输使用短包/长包格式的任意数据(short packet/long packet

  • 任意数据传输(负载独立)
  • 8位字节数据大小
  • 支持16个交叉的虚拟通道在相同的D-PHY link上
  • 帧开始、帧结束、行开始和行结束信息的特殊包
  • 描述应用程序特定负载数据的类型、像素深度和格式的描述数据
  • 错误检测16位校验和代码
  • 误差检测和校正的6位误差校正码(D-PHY物理层)

packet overview:

MIPI-CSI2详解_第8张图片

 

包协议格式:

Long Packet Structure for D-PHY:

MIPI-CSI2详解_第9张图片

 Short Packet Structure for D-PHY:

MIPI-CSI2详解_第10张图片

6.图像传感器基础:

YUV422 8bit:

采样图例:

MIPI-CSI2详解_第11张图片

 传输样式:

 frame format:

MIPI-CSI2详解_第12张图片

7.参考文献:

2019-09-17_19.05.53_mipi_CSI-2_specification_v3-0.pdf

i.MX 8/RT MIPI DSI/CSI-2

你可能感兴趣的:(linux,驱动开发)