MIPI D-PHY协议
扫描二维码
随时随地手机看文章
1 MIPI概述MIPI是Mobile Industry Processor Interface的缩写,即移动行业处理器接口,是MIPI联盟发起的为移动应用处理器制定的开放标准,目的是把手机内部的接口如摄像头、显示屏接口、射频/基带接口等标准化,从而减少手机设计的复杂程度和增加设计灵活性。
MIPI并不是一个单一的接口或协议,而是包含了一套协议和标准,以满足各种子系统独特的要求。MIPI的标准异常复杂,包含非常多的应用领域。下图是其目前的整个的系统框图。
2 CSI
CSI协议分为三层:1.应用层(ApplicationLayer),主要描述了上层数据流中的数据编码和解析。CSI-2 规范中规定了像素数据到字节的映射(Mappingof pixel values to bytes)。2.协议层(Protocol Layer),包含了几个不同的子层,每个子层都有各自的明确职责。主要包括,像素/字节打包/解包层(Pixel/Byte Packing/UnpackingLayer),Low Level Protocol Layer(LLP),通道管理(LaneManagement)层。3.物理层(PHYLayer),定义了传输介质 (electrical conductors,导体),输入/输出电路信号的电气特性(electricalparameters)和时钟机制(时序)。即如何从串行位流(Bit Stream)中获取“0”和“1”信号。规范中的这一部分记录了传输介质的特性,并依据时钟和数据通道之间发信号和产生时钟的关系规定了电学参数。CSI分为CSI2和CSI3。他们的组成如下图:3 D-PHY
3.1D-PHY我们只看相对更为常见的CSI2。CSI2的物理又两个标准,C-PHY和D-PHY。在DSI里面,物理层也会用到D-PHY,所以接下来的学习中我们只看D-PHY。3.2物理层协议之D-PHY本节主要参考 MIPI® Alliance Specification for D-PHY,version 1.13.2.1Lane模块介绍D_PHY之前,先讲清楚什么是Lane这个概念。Lane的原意是“航道”,我们可以理解为在两个不同芯片之间完成信息运输的通道。这是MIPI里面的基本信息传输单元。两块使用MIPI连接的芯片,中间使用差分信号对进行连接,收发端各有一个Lane模块,完成数据收发。Lane模块,加上中间的连线,组成了完整的数据数据传输通道。在复杂的通信协议的物理层里面,我们就不能像理解简单协议那样,只看到在两个收发双方之间的连线,而是要更加关注收发芯片里面负责收发的模块,这是整个协议物理层核心。下图就是一个完整的双向数据传输Lane模块(MIPI里面管这个叫Universal Lane )的示意图:
这部分有点复杂,硬件狗基本可以跳过数据Lane的三种操作模式,在高速传输的时候叫 Burst Mode,在低功耗模式下有Control mode和Escape mode。在正常的操作时,数据通道处于高速模式或者控制模式。接下来就分别说明这三种模式:1.高速模式(Burst Mode)高速模式最主要的模式,用来传输图像。在高速模式下,通道状态是差分的0或者1,也就是线对内P比N高时,定义为1,P比N低时,定义为0,此时典型的线上电压为差分200MV。下面展示了Burst模式下的传输时序。
说明:2.等距在MIPI走线时,一般需要保持DP/DN在走线的过程中保持等距,保证一定的耦合程度,但是需要弄清楚的时,等长的优先级是高于等距的。且在走线时,线对之间要保持2W的距离。3.参考层MIPI走线应该保持连续的参考层,且最好是地层,如果这个条件实在无法满足的话,必须保证参考层的宽度可以达到4W, 且为了防止ESD以及干扰等因素,MIPI走线最好走内层。4.打孔换层MIPI尽量少打过孔,且必须注意的时,在打孔换层的时候必须DP/DN同时打孔换层,同时在周围多打地孔,保证信号的回流;5.远离干扰远离RF以及开关电源等干扰源6.传输线阻抗要求MIPI具有阻抗的要求,一般需要达到差分阻抗为100ohm;3.3 CSI-2协议层CSI-2协议层允许多数据流 (CSI-2 TX)共用一个主机处理器端 CSI-2 接收信号接口 (CSI-2 RX)。协议层就可以描述有多少数据流被标记并组合在一起,指定了多数据流怎样被标记和交叉存取,因此每个数据流可以在SOC处理器CSI-2接收器中被正确的重建,才能把各个数据流正确地恢复出来。1.像素/字节打包/解包层(Pixel/Byte Packing/UnpackingLayer)CSI-2支持多种像素格式图像应用,包括从6位到24位每个像素的数据格式。在发射端,数据由本层被发送到LLP层(Low Level Protocol)前,本层将应用层传来的数据由像素打包成字节数据;在接收端,执行相反过程,将LLP层发来的数据解包,由字节转成像素,然后才发送到应用层。8位每像素的数据在本层被传输时不会被改变。2.LLP(Low LevelProtocol)层LLP层包括,为串行数据在传输开始(SoT)到传输结束(EoT)之间传输事件,和传输数据到下一层,建立位级和字节级同步的方法。LLP最小数据粒度是一字节。LLP层也包括,每字节中各位数值分布解释,即“端”(Endian)分布。3.通道管理(LaneManagement)层为性能不断提升,CSI-2是通道可扩展的。数据通道数目可以是1,2,3,4,这个依赖于应用中的带宽需求。接口发送端分配(“distributor”功能)输出数据流到一个或更多通道。在接收端,接口从通道收集字节并将之合并(“merger”功能)成为重新组合的数据流,恢复原始数据流序列。数据在协议层是以数据包的形式存在。在接口发送端,添加包头和可选择的错误校验信息,一起以数据包的形式通过LLP层来传输数据。在接收端,LLP层将包头剥离,由接收者按照相应逻辑解析数据包,得到有效数据。错误校验信息可以用来检测收到的数据完整性。
我其实并没有看到物理层的规范对等长的具体要求,这里只是参考网上的资料
四、技术扩展
4.1 DSI简介4.1.1 名词解释DCS (DisplayCommandSet):DCS是一个标准化的命令集,用于命令模式的显示模组。• DSI, CSI(DisplaySerialInterface, CameraSerialInterface)• DSI 定义了一个位于处理器和显示模组之间的高速串行接口。• CSI 定义了一个位于处理器和摄像模组之间的高速串行接口。• D-PHY:提供DSI和CSI的物理层定义4.1.2 DSI分层结构DSI分四层,对应D-PHY、DSI、DCS规范、分层结构图如下:• PHY 定义了传输媒介,输入/输出电路和和时钟和信号机制。
• Lane Management层:发送和收集数据流到每条lane。
• Low Level Protocol层:定义了如何组帧和解析以及错误检测等。
• Application层:描述高层编码和解析数据流。
• DSI兼容的外设支持Command或Video操作模式,用哪个模式由外设的构架决定
• Command模式是指采用发送命令和数据到具有显示缓存的控制器。主机通过命令间接的控制外设。Command模式采用双向接口
• Video模式是指从主机传输到外设采用时实象素流。这种模式只能以高速传输。为减少复杂性和节约成本,只采用Video模式的系统可能只有一个单向数据路径[参考链接]:
- http://www.comsiyin.com/list-2/27595122.html
- MIPI官网: https://www.mipi.org/
- https://blog.csdn.net/mantis_1984/article/details/54407124
欢迎加入技术交流群,先加我微信,我拉你进群!
感谢阅读,别走!点赞、关注、转发后再走吧