CIF(Camera Interface)

CIF模块接收MIPI-CSI2的SDI数据,进行unpack处理成flyby格式。它涉及seamlessswitch、sensorswitch控制,处理asyncFIFO、dataMTX。MIPI是移动设备接口标准,包括DSI和CSI。SDI是数据分量串行接口,CIF支持多达9路sensor输入。数据包结构包含封包头、数据计数、错误校验码等,用于同步和数据传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CIF为ISP的接口模块,主要接收MIPI传进来SDI数据并unpack为flyby格式,包括seamless switch/sensor switch控制、async FIFO控制以及data MTX控制等多个子模块。

MIPI简介

MIPI(Mobile Industry Processor Interface,移动工业处理器接口),是由ARM和一系列手机公司成立的联盟,目的是为了将手机内部的接口如摄像头、显示屏接口、射频/基带接口等标准化,从而减少手机设计的复杂程度和增加设计灵活性,增加兼容性。

MIPI中,比较成熟的接口有DSI(显示器接口)和CSI(摄像头接口)

        MIPI-CSI2是手机主控和外部摄像机连接的方式

        MIPI-DSI2是手机主控和LCD屏幕连接的方式

SDI简介

SDI(Serial Digital Interface),数据分量串行接口。

CIF arch

 由上图可以看出,CIF有9条sdi输入,最多可支持9路sensor输入(一个sdi channel传输一个sensor数据)

sdi包括四根线,sdi_pkg_start、sdi_byte_en、sdi_pkg_end、sdi_clk,sdi_pkg_dat(128bit)

类似MIPI的数据结构(如下图),sdi会传输短包和长包数据,短包用来同步,长包用来传递信息。

LPS:Low Power State,封包之间的spacing间距

ST:Start of Transmission(SOT),封包的起始信号,一般为低速转换为高速的暂态信号

ET:End of Transmission(EOT),封包的结束信号,一般为高速转换为低速的暂态信号

PH:Packet Header,32bit(可根据用户自定义来扩展数据位宽)表示,封包的标头

        包含DI、WC、ECC/CRC(C-phy是ECC,D-phy是CRC),各组成含义:

        DI(Data Identifier),包括VC(virtual channel)和DT(Data Type)两个标识符。

                VC标识符位于DI的高位,C-phy是4bit(最多16种VC),D-PHY是5bit(最多32种VC),只包含了曝光信息。在CIF里一个sensor数据通路最多支持四种VC,分别为dol0 RGB、dol0 W、dol1 RGB、dol1 W,即双曝的RGBW sensor。其次一个sensor数据通路还可以支持3/2种VC,即三曝sensor或两曝sensor。

                DT标识符位于DI的低6位,总共可以表示64个数据类型(填充数据的类型)。

Data Type

Description

0x00 to 0x07

Synchronization Short Packet Data Types

0x00

Frame Start Code

0x01

Frame End Code

0x02

Line Start Code(Optional)

0x03

Line End Code(Optional)

0x04 to 0x07

Reserved

0x08 to 0x0F 

Generic Short Packet Data Types

0x10 to 0x17

Generic Long Packet Data Types

0x18 to 0x1F

YUV Data

0x20 to 0x27

RGB Data

0x28 to 0x2F

RAW Data

0x2a

8bit数据长包

0x2b

10bit数据长包

0x2c

12bit数据长包

0x30 to 0x37

User Defined Byte-based Data

0x38 to 0x3F

Reserved

        WC(word count,数据计数),16bit。从PH结尾到PF起始位置中间的填充数据的长度,单位为字节。接收端通过WC来判断包的结尾位置。

        ECC(Error Correction Code),8bit。采用Hamming Code的方式,用来纠正PH中一位的错误或者发现两位的错误。

        Data,填充数据,0~65535字节,长度为WC * 8bits。对数据内容没有任何限制。            

PF:Packet Folder,16bit表示,封包的结尾

短包相当于只有长包里的PH,包含DI、WC、ECC三部分,DI中包含VC和DT,只是DT的取值范围与长包的DT不同(参考上表)。

短包的WC表示数据域(Data Filed),具体含义为:如果该短包的Data Type为帧同步(Frame Synchronization),则数据域表示帧数;如果该短包的Data Type为行同步(Line Synchronization),则数据域表示行数。

sdi在没帧的最前面四行还会传输embedline信息,主要包括sensor的配置信息,frame count,timestamp等信息。会通过async fifo后的axi传输到DDR,以供软件处理。

seamless switch是在单曝切双曝、分辨率与帧率切换的时候需做到seamless switch,通过VC和DT来判断当前帧与上一帧相比是否有变化,有变化就输出硬件register updata信号给ISP pipeline,但是具体什么时候更新寄存器需要user自己决定。

sensor switch是在放大或缩小、前后镜头切换的时候,会基于frame count以及v blank期间来选择切到另一个sensor的数据,可选择性丢掉几帧数据,CIF需保证输出无残帧。

CIF支持RAW 6/8/10/14/16/18/20,RGB,YUV420,YUV422。其中YUV信息只会传输给isp-lite用于软件处理。

ISP pipeline上会把数据从RAW格式数据转成RGB,继而转成YUV进行BE处理。

最后output MTX会根据VC将sensor不同曝光信息拆开,再根据DT把不同数据格式的数据传输到不同的输出通道。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值