Android Qcom LCD display 学习

Posted bobuddy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Qcom LCD display 学习相关的知识,希望对你有一定的参考价值。

MIPI(Mobile Industry Processor Interface)
MIPI官方网站
MIPI各种介绍博客Felix大神
MIPI-DSI 三种 Video Mode 理解
android Camera的基础理论和工作原理

目前接触到的MIPI协议主要有两个应用,CSI(Camera Serial Interface,摄像头串行接口)和DSI(Display Serial Interface,显示串行接口),这两个协议共用一种物理层协议D-PHY。DSI区别于CSI在于DSI协议中不存在CCI,且Data Lane0可以是双向的(Bidirectional)

DSI (Display Serial Interface)
D- PHY的物理层定义了HS( High Speed )和LP( Low Power )两种传输模式
HS模式:低压查分信号 功耗大 高速率 ( 80M -1Gbps ) 信号幅值 ( 100mv-300mv )
                通道状态是差分的0或1,定义P比N高时定义为1,P比N低时定义为0,此时线上典型电压为差分200mv
LP模式:单端信号 功耗小,速率低 ( < 10Mbps ) 信号幅值 (0-1.2V ),只用lane0传输数据和时钟,双向数据传输

链路层的模式主要分为 Command模式 和 Video模式 两种,传输按照DCS显示控命令集,在上一节中有说明一些datatype。
链路层选择Command模式时,物理层可以为HS模式,也可以为LP模式;当应用处理器向显示设备发送命令时,显示设备需要返回对应的相关数据,所以在此模式下需要双向的数据通道,即需要Data Lane支持Bidirectional模式。

链路层选择Video模式时,物理层只能选择HS模式,当需要显示视频或图像数据时在此模式下传输,MIPI的DSI协议规定,对于那些只支持视频模式的DSI系统(即不支持命令模式),Data Lane也可以是单向的,即Unidirectional。需要注意的是,Bidirectional的DSI接口一般也仅仅是Data Lane0支持双向通信,其余的Data Lane仍然应当是Unidirectional的。

Video Mode Timing
为了使能Video模式Host需要发送各种不同的包到panel用来设置开始和结束的Porch.以下是Video模式中用到的数据包:上图顶部有圆弧的代表数据包,长方形的代表时序的状态。

 • 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.
 • HSS:  DSI Sync Event Packet: H Sync Start
 • HAS:  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
 


Video模式又分三种子模式:   (1)Non-burst Mode Sync pulses    (2)Non-burst Mode Sync event     (3)Burst mode

以下为上述三种video mode下的数据传输时序图:

Non-Busrt Mode with Sync Pluses: 该模式主要是用于发送DPI(Display Pixel Interface)类型的数据,可以精确地控制原始视频的时序(包括同步脉冲的宽度),可基于各种不同的同步数据包来做数据同步。这种数据包括:重构,时间校准等;因此每一个Sync Start都必须都要有一个唯一的Sync End与之对应。


Non-burst Mode Sync event: 与第一种模式很像,但这种模式不会发重构和时间校准的数据包,只发送一种叫做”Sync event”的包,可以认为是上一种模式的的简化。由于不需要精确控制时序事件的宽度,所以只有Sync Start,而没有Sync End。

 

Burst mode: 相比于Non-Burst Mode with Sync Events模式,可以更快完成一帧(或一行)图像像素的传输,使用的是经过时序压缩的数据格式(Time-compressed burst format),因此可以留出更多的时间用来传送其他的数据,从而降低系统的功耗。

DataSheet Packets
下述为查阅某LCD IC Datasheet中的传输模式


dtsi
qcom,mdss-dsi-traffic-mode = "non_burst_sync_event";
qcom,mdss-dsi-h-sync-pulse = <0>; //主要用于描述sync_pulse模式的

xml
<DSITrafficMode>1</DSITrafficMode>



 

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于Android Qcom LCD display 学习的主要内容,如果未能解决你的问题,请参考以下文章

Android Qcom LCD display 学习

Android Qcom lcd display 学习

Qcom android L ro.sf.lcd_density属性修改

QCOM LCD调试

[RK3288][Android6.0] Display驱动初始化流程小结

qcom Android Camera