01.mipi时序
Posted Jarry_le
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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就不会发,不过这个只用于这种模式下有效。
————————————————
以上是关于01.mipi时序的主要内容,如果未能解决你的问题,请参考以下文章
快速入门:Java 连接使用 时序数据库 TimescaleDB