Felix

技术源于积累,成功始于执着! 个人邮箱:justlxy@mail.dhu.edu.cn QQ:1576109464

MIPI扫盲——DSI介绍(一)

0
阅读(16007)

目录篇地址:http://blog.chinaaet.com/justlxy/p/5100052503 

为了方便理解后面的内容,首先介绍几个DSI协议文档中定义的缩写(Acronyms):

  • AM,Active Matrix(Display Technology)

  • ASP,Application Specific Protocol

  • BLLP,Blanking or Low Power Interval

  • BPP, Bit Per Pixel

  • BTA,Bus Turn-Around

  • HBP,Horizontal Back Porch

  • HFP,Horizontal Front Porch

  • HSA,Horizontal Sync Active

  • HSE,Horizontal Sync End

  • HSS,Horizontal Sync Start

  • VSA,Vertical Sync Active

  • VSE,Vertical Sync End

  • VSS,Vertical Sync Start

顺带讲解一下,所谓垂直同步(Vertical Sync),就是用来表示一帧(Frame)图像的起始的,有的时候也会被称为场同步;而水平同步(Horizontal Sync),则是用来表示一行像素点(即一帧图像中的一行)的起始的,有的时候也会被称为行同步。

DSI的分层结构图如下图所示:

Untitled.png

可以发现,除了应用层,其他的几层基本上和基于D-PHY的CSI-2协议保持一致。而一个简化的DSI的收发接口模型如下:

image.png

该模型基本上也是和CSI-2一致的,区别在于DSI协议中不存在CCI,且Data Lane0可以是双向的(Bidirectional),原因已经在前面的文章中说过了,这里就不在废话了。

关于Low Level Protocol层和Lane Management层的相关介绍,在CSI-2的文章中就已经讲过了,由于DSI基本和CSI-2保持一致,所以也不再介绍了,两篇文章分别为:

http://blog.chinaaet.com/justlxy/p/5100052472(其中介绍了Low Level Protocol层)

http://blog.chinaaet.com/justlxy/p/5100052471(其中介绍了Lane Management层)

与CSI-2相比,DSI还支持HS模式下的多包发送模式,即在一对SoT和EoT之间可以发送多个包(长包或短包均可),如下图所示:

image.png

为了增强系统的鲁棒性,从MIPI DSI v1.02版本开始,在EoT之前加入了EoTp短包,用于表示HS模式传输即将结束。同时,为了兼容以前的DSI版本,DSI设备应有能力选择使能或者禁止EoTp功能。当选择使能EoTp功能之后,上面的传输例子变为了:

image.png

即在EoT之间插入了一个叫做EoTp的短包(无论是Separate传输模式还是Single传输模式)。与其他的短包不同,EoTp作为一个特殊的短包,有着固定的格式,如下:

image.png

应当注意的是,即使连接中存在着多个虚拟通道(Virtual Channel),EoTp仍应当保持上面的格式,即DI[7:6]=2'b00。

这里在强调一遍,DSI协议规定(和CSI-2保持一致):所有的数据(包括,长包,短包,Entry Code等)都应当先发低字节,在发高字节;在一个具体的字节中,应当先发低位,再发高位!!!!!!

此外,DSI协议中还定义了两种特殊的包:Null Packet和Blanking Packet。并且Null Packet和Blanking Packet是且只能是长包。其中,Null Packet是一种为了是Data Lane保持在HS模式下的机制,此时Data Lane并没有发送有效数据的任务,所以让他发送Null Packet(即无效数据,Dummy Data)。相比于Null Packet,Blanking Packet就未必发的是无效数据了,其中有可能(注意是有可能!)会发送一些同步事件(Sync Event)包,当然,大部分时间,Blanking Packet中的内容也是空的。Blanking Packet主要是用来携带一些同步时序信息的,具体来说,就是用来表示Video Mode下的DSI接口,两个扫描行之间的周期的。有的时候,时间充足的话(即两个扫描行之间的间隔时间足够长),设计者也可以是Data Lane进入LP模式(LP11)。通常我们将Blanking Packet和该种情况下进入的LP模式统称为BLLP,即前面所提到的Blanking or Low Power interval。