MIPI video mode 和 command mode 的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MIPI video mode 和 command mode 的区别相关的知识,希望对你有一定的参考价值。

参考技术A MIPI讯号可分video mode和 command mode两种模式。Video Mode又包含Non-Burst和Burst两种模式,这种工作模式与传统RGB接口相似,主机需要持续刷新显示器。Command mode模式,MIPI总线控制器使用显示命令报文来向显示器发送像素数据流。显示器应该有一个全帧长的帧缓冲器来存储所有的像素数据。一旦数据被放在显示器的帧缓冲器中,定时控制器就从帧缓冲器中取出数据,并自动把它们显示在屏幕上。以上粗略解释,请参考,具体的可参考规范,也可QQ1253350391一同切磋。本回答被提问者和网友采纳

01.mipi时序

Video模式又分三种子模式:

1 Non-burst Mode Sync pulses: 在这种模式下,DSI基于各种不同的同步数据包来做数据同步。这种数据包括:重构,时间校准等。更具体的请参考DSI协议标准。

2 Non-burst Mode Sync event: 这种模式和第一种模式很像,但是这种模式不会发重构和时间校准的数据包,它们只发送一种叫做”Sync event”的包。

3 Burst mode: 在horizontal 的时序是一样的情况下DSI会把连接的速度提升到Panel支持的最大速度。在这种模式下发送RGB数据包的时间被压缩,以留出更多的时间用来传送其他的数据。

为了使能Video模式Host需要发送各种不同的包到panel用来设置开始和结束的Porch.以下是Video模式中用到的数据包:

Video Mode interface Timing Legend:

• VSS:  DSI Sync Event Packet: V Sync Start

• VSE:  DSI Sync Event Packet: V Sync End

• BLLP: DSI Packet: Arbitrary sequence of non-restricted DSI packets or Low Power Mode incluing optional BTA.(数据长度为HBP+H+HFP)

• HSS:  DSI Sync Event Packet: H Sync Start

• HSA:  DSI Blanking Packet: Horizontal Sync Active or Low Power Mode, No Data

• HSE:  DSI Sync Event Packet: H Sync End

• HFP:  DSI Blanking Packet: Horizontal Front Porch or Low Power Mode

• HBP:  DSI Blanking Packet: Horizontal Back Porch or Low Power Mode

• RGB:  DSI Packet: Arbitrary sequence of pixel stream and Null Packets

• LPM:  Low Power Mode incuding optional BTA

上图加粗的代表数据包,其他的代表时序的状态。

那么MIPI host如何输入一帧的数据呢,下面分别是三种video mode下的数据传输时序图:

有两个特别的点如下:

1.第一个是VSS-HSA-HSE-BLLP,此后的都是HSS-HSSA-HSE-BLLP

2.最后是以LPM结尾,怎么不是VSE呢?

 

 

 

以上三种时序的差异如下:

video mode    同步数据时序    RGB数据时序    结束
sync pulse    VSS-HSA-HSE-BLLP、HSS-HSA-HSE-BLLP    HSS-HSA-HSE-HBP-RGB-HFP    LPM
sync event    VSS-BLLP、HSS-BLLP    HSS-HBP-RGB-HFP    LPM
burst    VSS-BLLP、HSS-BLLP    HSS-HBP-RGB-BLLP-HFP    LPM
结合屏的物理结构才看得动上面时序图的含义:

 

以BURST mode为例 :

首先会发送VSPW行(VSA lines)的空数据包,在发送VBP lines的空数据包,接着发送VACT lines(屏宽)的有效RGB数据,其中每一行数据都包含HSS 行开始信号+HBP数据包+RGB+HFP数据包。最后就是发送VFP lines的空数据包。这样就刷满了一整屏,也就是一帧的数据。

那么这三种video模式的区别就是传递的数序和数据包位置的不同,至于最终在dtsi配置哪一个模式就要根据实际的panel IC所支持video 模式来。

dtsi对应项:

qcom,mdss-dsi-traffic-mode = "non_burst_sync_event";

另外说明一下dtsi 里面qcom,mdss-dsi-h-sync-pulse 的含义

在kernel/Documentation/devicetree/bindings/fb/mdss-dsi-panel.txt:196中说明了:

qcom, mdss-dsi-h-sync-pulse: Specifies the pulse mode option for the panel.

      0 = Don't send hsa/he following vs/ve packet(default)

      1 = Send hsa/he following vs/ve packet

这里所说的pulse mode就是 Non-burst Mode Sync pulses模式。

根据时序图,如果这个值为1就会发图中红色圈圈的部分,如果为0就不会发,不过这个只用于这种模式下有效。


————————————————
 

 

以上是关于MIPI video mode 和 command mode 的区别的主要内容,如果未能解决你的问题,请参考以下文章

hi3519多sensor设置说明

hi3519多sensor设置说明

hi3519多sensor设置说明

01.mipi时序

debian 9 调节亮度

Android FOCUS_MODE_CONTINUOUS_VIDEO 和捕捉预览帧