文章目录
1.前言
此文章为对所看博客进行总结,在前面小结中,对MIPI的D-PHY做了简单的介绍,这一节会对于MIPI DSI的链路层进行介绍
2.MIPI链路层
MIPI DSI的链路层有两种工作模式,一种是视频模式(Video mode)
,一种是命令模式(Command mode)
2.1 两种工作模式的区别
由上面的图可知
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的宽度。因此,会使用发送同步脉冲的开始和结束的时序包来定义同步周期。此模式的传输示例如图所示。
上图的各数据包的代表意思为:
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
图来自: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
的包
2.5 Burst Mode
在这个模式像素数据的传输时间会被压缩,留下更多的时间给LP模式或者在DSI链路上传输的数据
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
,