LCD显示屏 --- 时序介绍
LCD数据手册关键信息提取
LCD说明
LCD 即 液晶显示器,依据驱动方式可以分为静态驱动,简单矩阵驱动,主动矩阵驱动三种,其中简单矩阵分为TN和STN两种,主动矩阵则以薄膜式晶体管(TFT)为主。TFT LCD的现实质量是最佳的,从硬件角度看,一块LCD屏显示图像不但需要LCD驱动器,还需要LCD控制器(LCDC),通常LCD驱动器与LCD玻璃基板制作在一起,LCDC由外部电路实现,许多MUC内部直接继承了LCD控制器,通过LCDC可以方便的控制屏。目前大多数显示屏都是采用TFT屏。我们以TFT屏为例。
手册关键信息提取
在看LCD数据手册时候主要关注如下两部分信息:
- 行场控制LCD时序图
- LCDC时序参数
行场控制LCD时序图
屏时序信号:
DCLK :像素时钟信号(用于锁存图像数据的像素时钟)
HSYNC:行同步信号 (代表新的一行图像数据开始发送)
VSYNC:帧同步信号 (代表新的一屏图像数据开始发送)
DEN: 数据有效标志位
DATA : 图像数据信号
注意:在帧同步和行同步操作的头尾都必须留有回扫时间。这样的时序安排用于显示器电子枪偏转所需要的时间。
LCDC时序参数
LCDC关键时序参数说明:
上边界:Upper margin, vertical back porch
下边界:Low margin, vertical front porch
左边界 : left margin, horizontal back porch
右边界:right margin,horizontal front porch
水平同步: hsync,horizontal pulse width
垂直同步:vsync, vertical pulse width
横向分辨率: xres, Horizontal valid data
纵向分辨率:yres, vertical valid data
并且满足如下关系:
Left_margin + right_margin + hsync + xres = horizontal period (水平信号总周期)
Upper_margin + low_margin + hsync + yres = vertical period (垂直信号总周期)
如下图所示:
hback-porch (HBP):行信号左边沿无效信号时间范围
hfront-porch (HFP): 行信号右边沿无效信号时间范围
hsync-len (HPW): 行信号电子枪回扫时间 即 水平同步时间 Hsyc
vback-porch(VBP) :帧信号上边沿无效信号时间范围
vfront-porch(VFP):帧信号下边沿无效信号时间范围
vsync-len(VPW):帧信号电子枪回扫时间 即垂直同步时间 Vsync
hactive(HVD):有效像素信号纵向分辨率
vactive(VVD):有效像素信号横向分辨率
关于像素时钟和lane传输速率的计算
像素时钟:clock-frequency 即DCLK(dotc clock) 或者 PCLK(pixel clock)
clock-frequency = (h_active + hfp + hbp + h_sync) * (v_active + vfp + vbp + v_sync) * fps = 水平信号总周期*垂直信号总周期*帧率
fps为帧率,一般为60,表示每秒刷新60帧图像
lane传输速率:表示一条数据 lane 的传输速率
dsi clk = Bitclk / 2(因为是双边沿采样,一个时钟可以传两个bit的数据)= H_total x V_total x fps x 位深 / lane number / 2
因为MIPI传输协议中,实际传输数据还会包括包头、包尾等更多的非图像数据,上述计算出来的时钟是刚好够传输图像的时钟,因为被协议数据占据了一部分时钟,这样会导致时钟过低,从而液晶无法正常显示。所以在展锐平台就建议*1.2,有些平台直接加100M。
调试经验:
lane 速率太低:读不到正确的 ID
lane 速率太高:屏幕显示不完全,如下图。速率越高,缺失越多
如下为典型的LCD数据手册关键信息
我们可以从上面数据信息中提取如下信息:该产品可以用DE和SYNC两种模式去驱动,我们常用SYNC,也有一些产品只支持DE模式,这种情况我们在下面详说。
在SYNC模式下,上面所属的LCDC关键信息都会提供出来,我们直接用就可以,但是在DE模式下,一般不会告诉 HFP,HBP,VFP,VBP,HSYNC,VSYNC这些参数,而是直接给出Horizontal blank time和Vertical blank time (如上表)或者直接给出水平信号和垂直信号的总周期以及水平垂直信号有效周期,其余的参数需要我们自己计算。
在DE模式下,如果没有明确表明 HFP,HBP,VFP,VBP,HSYNC,VSYNC 等参数的时候,计算这些参数时候,尽量满足如下关系即可:
HFP+HBP+HSYNC = Horizontal blank time
VFP+VBP+VSYNC = Vertical blank time
hspw(hsync)+hbp+col+hfp=total
vspw(vsync)+vbp+row+vfp=total
一般 HSYNC和VSYNC取 4 或 1 或 0 剩下的 XFX XBX自行分配(通常hbp和vbp取较大值)。如:
Vertical section blanking=42, Horizontal section blanking=204,在填充6个参数时只需要满足关系:vbp+vfp+vs=42,hbp+hfp+hs=204,各值自行分配(通常hbp和vbp取较大值),例如
hback-porch = <150>;
hfront-porch = <50>;
vback-porch = <30>;
vfront-porch = <11>;
hsync-len = <4>;
vsync-len = <1>;
如下 为 DE 模式举例
xres = 1024
yres = 600
水平周期 = 1344
垂直周期 = 635
左边距空白+右边距空白+水平同步时间 = 320
上边距空白+下边距空白+垂直同步时间 = 35
而 DEH period time: DE Horizontal blank time
Horizontal blank time = HFP+HBP+HSYNC :左边距空白+右边距空白+水平同步时间
DEV period time : DE Vertical blank time
Vertical blank time = VFP+VBP+VSYNC :上边距空白+下边距空白+垂直同步时间
所以猜测:
HSYNC = 4
VSYNC = 1
通常hbp和vbp取较大值
HFP + HBP = 320-4
VFP + VBP = 35-1