2.MIPI-DSI mode video mode and command mode

1.前言

此文章为对所看博客进行总结,在前面小结中,对MIPI的D-PHY做了简单的介绍,这一节会对于MIPI DSI的链路层进行介绍

2.MIPI链路层

MIPI DSI的链路层有两种工作模式,一种是视频模式(Video mode),一种是命令模式(Command mode)

2.1 两种工作模式的区别

image.png
由上面的图可知

  • video mode主要针对芯片内没有帧buffer(ram)的lcd屏进行操作的,无论当前显示是否有数据更新,DSI host端一直送数据给panel显示,主控要按照lcd的刷新率持续发送pixel数据,与传统RGB接口相似,主机会持续刷新显示器。由于不使用专用的数据信号v传输同步信息,控制信号和RGB数据是以报文的形式通过MIPI总线传输的。链路层为video mode时,物理层只能为HS模式
  • Command mode针对芯片内含有帧buffer(ram)的cpu屏进行操作的,只要当数据画面有变化时,DSI host端才送数据给panel显示,主控只在需要更改显示图像的时候发送pixel数据,其他时候驱动芯片自己从内部buffer里取数据显示,MIPI总线控制器不需要定期刷新显示器,这种屏幕的分辨率一般来说比较小,当链路层为command mode时,物理层可以为HS模式,也可以为LP模式

在调试屏幕的时候具体使用什么模式根据LCD的Spec来配置

2.2 三种时序控制模式

两种模式在传输时有三种时序控制模式,根据外围设备的要求决定了使用那种时序控制模式比较合适,这三种模式为:Non-Burst Mode with Sync Pulses,Non-Burst Mode with Sync Events,Burst mode,其中Burst mode表示RGB数据传输部分时间在会被压缩

2.3 Non-Burst Mode with Sync Pulses

这个模式可以使外围设备可以准确的重构原始视频时序,包括同步信号,目标是通过DSI串行链路准确地传送DPI时序。这包括对应的DPI像素传输速率和同步脉冲等timing的宽度。因此,会使用发送同步脉冲的开始和结束的时序包来定义同步周期。此模式的传输示例如图所示。

image.png
上图的各数据包的代表意思为:

image.png


 VSS:  Vertical Sync Start

 VSE:  Vertical Sync End

 BLLP:  Arbitrary sequence of non-restricted DSI packets or Low Power Mode incluing optional BTA.

 HSS:  Horizontal Sync Start

 HAS:  Horizontal Sync Active or Low Power Mode, No Data

 HSE:  Horizontal Sync End

 HFP:  Horizontal Front Porch or Low Power Mode

 HBP:  Horizontal Back Porch or Low Power Mode

 RGB:  Arbitrary sequence of pixel stream and Null Packets

 LPM:  Low Power Mode incuding optional BTA

image.png
图来自:MIPI调试小结

根据上述时序图可知,MIPI host要输入一帧的数据,首先会发送VSPW(VSA lines/帧同步信号)的空数据包->发送VBP lines的空数据包->发送VACT lines(屏宽)的有效RGB数据,其中每一行数据都包含HSS行开始信号+HSA空数据包+HSE数据包+HBP数据包+RGB数据+HFP数据包。最后发送VFP lines的空数据包。这样子屏幕就刷满了一帧的数据,下面两种模式的分析类似

具体意思可以看MIPI的DSI文档

2.4 Non-Burst Mode with Sync Events

这种模式与第一种模式类似,但是不需要准确地重新构建同步数据包,而只发送一种叫做Sync event的包

image.png

2.5 Burst Mode

在这个模式像素数据的传输时间会被压缩,留下更多的时间给LP模式或者在DSI链路上传输的数据

image.png

2.5 高通平台三种模式的dtsi配置

  qcom,mdss-dsi-traffic-mode = "burst_mode"; //指定面板流量模式
                              "non_burst_sync_pulse" = 使用同步脉冲的非突发流量(默认值)
                              "non_burst_sync_event" = 使用同步启动事件的非突发流量
                              "burst_mode" = 突发模式

具体配置需要看屏幕spec的dsi信号要求,下面为一个屏幕的spec要求

1.clck continue mode
2.Video mode
3.sync event
4.MIPI DSI

所以dtsi中配置为:

qcom,mdss-dsi-traffic-mode = "non_burst_sync_event";
qcom,mdss-dsi-force-clock-lane-hs;//连续时钟模式,传输过程不会切换 LP 状态
qcom,mdss-dsi-always-on;//MIPI DSI

mipi dsi clk 存在两种工作模式,一种是连续时钟模式,传输过程不会切换 LP 状态;另一种是非连续时钟信号模式,每传输完一帧图像数据,帧 blanking 时将会切换为 LP 状态。这个屏幕为clck continue mode,

猜你喜欢

转载自blog.csdn.net/weixin_43824344/article/details/120617623