您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 工作范文 > MIPI-CSI-2-协议介绍
MIPICSI-2D-HPY协议介绍主要内容MIPI联盟2MIPICSI-2架构34协议层物理层5关于串行接口11、串行接口一般采用差分结构,利用几百mV的差分信号,在收发端之间传送数据。串行比并行相比:更节省PCB板的布线面积,增强空间利用率;差分信号增强了自身的EMI抗干扰能力,同时减少了对其他信号的干扰;低的电压摆幅可以做到更高的速度,更小的功耗;2、差分接口传输的是电流信号,在接收端可以通过差分对之间串接适当阻值的电阻,得到电压信号。一、关于串行接口1、MIPI(移动行业处理器接口)是MobileIndustryProcessorInterface的缩写。MIPI联盟是一个开放的会员制组织。2003年7月,由美国德州仪器(TI)、意法半导体(ST)、英国ARM和芬兰诺基亚(Nokia)4家公司共同成立。MIPI联盟旨在推进手机应用处理器接口的标准化。该组织结集了业界老牌的软硬件厂商包括最大的手机芯片厂商TI、影音多媒体芯片领导厂商意法、全球手机巨头诺基亚以及处理器内核领导厂商ARM、还有手机操作系统鼻祖Symbian。随着飞思卡尔、英特尔、三星和爱立信等重量级厂商的加入,MIPI也逐渐被国际标准化组织所认可。MIPI发展至今已经有90多个会员加入,形成了完整的产业联盟。目前,MIPI联盟的董事成员包括英特尔、摩托罗拉、诺基亚、恩智浦、三星、意法半导体、德州仪器。二、MIPI联盟2、该组织下设了:高速多端链接工作小组(High-SpeedMultipointLinkWorkingGroup,包含基带、应用处理器、相机模组、蓝牙、和Wi-Fi之间的高速连接)、软件工作小组、显示接口工作小组、存储界面以及负责市场的工作小组。工作组名称和相应规范名称如下:1)Camera工作组:*MIPICameraSerialInterface1.0specification,*CameraSerialInterface2v1.0(CSI-2);2)DeviceDescriptorBlock工作组:暂无规范;3)DigRF工作组:*DigRFBASEBAND/RFDIGITALINTERFACESPECIFICATIONVersion1.12;4)Display工作组:*DBI-2,*DPI-2,*DSI,*DCS;5)高速同步接口工作组:*HSI1.0;6)接口管理框架工作组:暂无规范;7)低速多点连接工作组:*SLIMbus;8)NAND软件工作组:暂无规范;9)物理层工作组:*D-PHY:MIPID-PHYSpecificationv1.00,MIPID-PHYSpecificationv0.90.00,MIPID-PHYSpecificationv0.65,*M-PHY;10)软件工作组:暂无规范;11)系统电源管理工作组*SPMI;12)检测与调试工作组:暂无规范;13)统一协议工作组:*UniPro1point-to-point*PIE三、MIPICSI-2架构3.1总体情况1.CSI-2是一个单或双向差分串行界面,包含时钟和数据信号。2.CSI-2的层次结构:CSI-2由应用层、协议层、物理层组成。*协议层包含三层:.象素/字节打包/解包层,.LLP(LowLevelProtocol)层,.LANE管理层;*物理层规范了传输介质、电气特性、IO电路、和同步机制,物理层遵守MIPIAllianceStandardforD-PHY,D-PHY为MIPI各个工作组共用标准;3.所有的CSI-2接收器和发射器必须支持连续的时钟,可以选择支持不连续时钟;连续时钟模式时,数据包之间时钟线保持HS模式,非连续时钟模式时,数据包之间时钟线保持LP11状态。4.应用举例(2通道):5.发送端结构:6.接收端结构:7.总体结构:CSI2协议层CSI2协议层应用层应用层D-PHY物理层D-PHY物理层板级传输,连线延时不能超过2ns!!四、协议层4.1、字节打包层:*因为LLP(LowLevelProtocol)层是一个面向字节的,基于包的协议;所以在LLP之前必须进行字节打包;*针对除了Raw8、JPEG8等几种数据本身是8bit的外,Raw10、YUV422、RGB565、RGB555、RGB444等都需要特定的数据顺序:*YUV422:CB0Y0CR0Y1CB2Y2CR2Y3CB4Y4CR4………*RGB565:{G[4:2],B[7:3]},{R[7:3],G[7:5]}………*RGB555:{G[4:3],1’B0,B[7:3]},{R[7:3],G[7:5]}………*RGB444:{G[4],2’B10,B[7:4],1’B1},{R[7:4],1’B1,G[7:5]}………*Raw10:D0[9:2],D1[9:2],D2[9:2]D3[9:2],{D3[1:0],D2[1:0],D1[1:0],D0[1:0]},D4[9:2],D5[9:2],D6[9:2],D7[9:2],{D7[1:0],D6[1:0],D5[1:0],D4[1:0]}………..………*可以看出,对于Raw10,需要把10bit的数据转换成8bit的数据,需要进行时钟域转换,Raw10字节打包后的时钟频率=打包前的1.25倍;*其他格式的打包前后时钟频率相同;4.2、LLP(LowLevelProtocol)层:*LLP层是一个面向字节的,基于包的协议;它支持任意大小的数据通过短包和长包格式传输。各个包之间由EOT-LPS-SOT序列隔开。*同步短包、数据长包:.帧同步短包:每帧图象必须开始于帧开始包(FRAMESTARTPACKET),结束于帧结束包(FRAMEENDPACKET);.行同步短包是可选的,对于RGB、YUV、RAW数据格式,每个数据长包里面必须包含一整行图象数据,接收端利用WC解出行同步信号。用于幁头幁尾、行头行尾、以及数据长包的包头数据通道数数据类型幁头幁尾、行头行尾的DT值用于数据包*长包格式:一个长包由32位(4Byte)的包头,N字节的数据域,和16位的CRC构*短包格式:短包只包含一个32位(4Byte)包头;*包头格式:包头由8位数据标志符+16位计数值+8位ECC构成;*数据标志符DI:由2位虚拟通道号+6位数据类型构成,CSI2可以通过不同的虚拟通道号和数据类型来标志不同的数据流,比如JPEG数据流中穿插着YUV缩略图数据流;*16位计数值WC:为长包里面数据域(图像数据)的字节数N;在短包里面的WC可以默认是0,在有需要的情况下表示是第几帧或是第几行。*8位ECC:允许包头中前24位(8位数据标志符+16位计数值)在传输过程中两位出错被发现、一位错误被纠正;*16位CRC:16bit的循环沉余校验码,可以指示收到的该包数据在传输过程中是否出错;*每个字节都是低位先传,多字节元素(16位计数值、16位CRC)也是低字节低位先传。*数据标志符由两位虚拟通道号和6位数据类型构成,.虚拟通道允许最多四个数据流交叉传输,(比如JPEG数据流中穿插着YUV缩略图数据流);.6位数据类型允许8类64种数据类型:0x00–0x07SynchronizationShortPacketDataTypes0x08–0x0FGenericShortPacketDataTypes0x10–0x17GenericLongPacketDataTypes0x18–0x1FYUVData0x20–0x27RGBData0x28–0x2FRAWData0x30–0x37UserDefinedByte-basedData0x38–0x3FReserved0x1E:YUV4228-bit;0x20:RGB444;0x21:RGB555;0x22:RGB565;0x2A:RAW8;0x2B:RAW10;0x30:User(比如JPEG);*8位ECC:8~15位数据需要5位ECC,16~31位数据需要6位ECC,32~63位数据需要7位ECC,64~127位数据需要8位ECC,{DI[7:0],WC[15:0]}为24位,由2‘b00和6位监督位组成:对24位的标准公式:P7=0,P6=0,P5=D10^D11^D12^D13^D14^D15^D16^D17^D18^D19^D21^D22^D23,P4=D4^D5^D6^D7^D8^D9^D16^D17^D18^D19^D20^D22^D23,P3=D1^D2^D3^D7^D8^D9^D13^D14^D15^D19^D20^D21^D23,P2=D0^D2^D3^D5^D6^D9^D11^D12^D15^D18^D20^D21^D22,P1=D0^D1^D3^D4^D6^D8^D10^D12^D14^D17^D20^D21^D22^D23,P0=D0^D1^D2^D4^D5^D7^D10^D11^D13^D16^D20^D21^D22^D23;接收机收到包头后,也计算一次ECC,然后与收到的ECC相异或,*若异或结果为0,则说明收到的{WC[15:0],DI[7:0]}无错;*否则,用异或结果查表,若异或结果与表中的某一项相同,则指示相应的位出错,相应的位取反就得到正确结果;*但若异或结果与表中的任一项都不同,则说明有两位以上出错;*16位CRC循环沉余校验码:可以指示收到的该包数据在传输过程中是否出错;CSI2里面采用CRC16CCITT:生成多项式g(x)=x^16+x^12+x^5+1CRC[0]=Data[0]^Data[4]^CRC[0]^CRC[4]^CRC[8];CRC[1]=Data[1]^Data[5]^CRC[1]^CRC[5]^CRC[9];CRC[2]=Data[2]^Data[6]^CRC[2]^CRC[6]^CRC[10];CRC[3]=Data[0]^Data[3]^Data[7]^CRC[0]^CRC[3]^CRC[7]^CRC[11];CRC[4]=Data[1]^CRC[1]^CRC[12];CRC[5]=Data[2]^CRC[2]^CRC[13];CRC[6]=Data[3]^CRC[3]^CRC[14];CRC[7]=Data[0]^Data[4]^CRC[0]^CRC[4]^CRC[15];CRC[8]=Data[0]^Data[1]^Data[5]^CRC[0]^CRC[1]^CRC[5];CRC[9]=Data[1]^Data[2]^Data[6]^CRC[1]^CRC[2]^CRC[6];CRC[10]=Data[2]^Data[3]^Data[7]^CRC[2]^CRC[3]^CRC[7];CRC[11]=Data[3]^CRC[3];CRC[12]=Data[0]^Data[4]^CRC[0]^CRC[4];CRC[13]=Data[1]^Data[5]^CRC[1]^CRC[5];CRC[14]=Data[2]^Data[6]^CRC[2]^CRC[6];CRC[15]=Data[3]^Data[7]^CRC[3]^CRC[7];4.3、LANEMANAGEMENT*LANEMANAGEMENT根据通道的具体配置情况,对已经打包好的数据进行通道管理,同时准备好相应的时序和同步信号,跟物理层接口对接起来;双通道情况下数据的传输模式Start-of-Transmission传输开始标志位10’hB8End-of-Transmission结束标志位,为{8{!ByteN-1[7]}}•完成通道分配后,需要生成与物理层对接的时序、同步信号:MIPI规定,传输过程中,包内是200mV、包间以及包启动和包结束时是1.2V,两种不同的电压摆幅,需要两组不同的LVDS驱动电路在轮流切换工作;为了传输过程中各数据包之间的安全可靠过渡,从启动到数据开始传输,MIPI定义了比较长的可靠过渡时间,加起来最少也有600多ns;而且规定各个时间参数是可调的,所以需要一定等待时间,需要缓存,我们用寄存器代替FIFO,每通道128Byte。串行时钟与数据差分传输的过渡时间关系
本文标题:MIPI-CSI-2-协议介绍
链接地址:https://www.777doc.com/doc-3124899 .html