参考文章
LCD的一些基本概念
添加链接描述
知识点
-
水平消隐(Hblank):电子枪从左到右画出像素,他每次只能画一条扫描线,画之前要先回到左边并做好画下一条扫面线的准备,这之间有一段时间叫做水平消隐。
-
垂直消隐(VBlank):在画完全部的的256条扫描线之后,他又回到屏幕左上角准备下一次画屏幕(下一帧)。这之间的一段时间就是垂直消隐。电子枪就是在不断的走“Z”字形。
-
行同步(HSYNC):行同步就是让电子枪控制器知道下面要开始新的一行像素。
-
场同步(vsync):场同步就是告诉电子枪控制器下面要开始新的画面了。
-
数据使能(DE):在数据使能区是有效的色彩数据,不在使能范围内的都显示黑色。
-
前肩和后肩(Front Porch / Back Porch):行同步和场同步信号发出后,视频数据不能立即使能,要留出电子枪回归的时间。以行扫描为例,从HSYNC结束到DE开始的区间成为行扫描的后肩,从DE结束到HSYNC开始称为前肩。
- VBP(vertical back porch):
表示在一帧图像开始时,垂直同步信号以后的无效的行数,
对应驱动/设备树中的upper_margin/vback-porch;
- VFP(vertical front porch):
表示在一帧图像结束后,垂直同步信号以前的无效的行数,
对应驱动/设备树中的lower_margin/vfront-porch;
- VSPW(vertical sync pulse width):
表示垂直同步脉冲的宽度,用行数计算,
对应驱动/设备树中的vsync_len/vsync-len;
- HBP(horizontal back porch):
表示从水平同步信号开始到一行的有效数据开始之间的VCLK的个数,
对应驱动/设备树中的left_margin/hback-porch;
- HFP(horizontal front porth):
表示一行的有效数据结束到下一个水平同步信号开始之间的VCLK的个数,
对应驱动/设备树中的right_margin/hfront-porch;
- HSPW(horizontal sync pulse width):
表示水平同步信号的宽度,用VCLK计算,
对应驱动/设备树中的hsync_len/hsync-len;
以上都是无效显示区域,下面两个是我们lcd正真有效的显示区域,即分辨率:
7. VDP(vertical display period):
表示垂直显示有效区域,对应驱动/设备树中的对应yres/hactive
8. HDP(horizontal display period):
表示水平显示有效区域,对应驱动/设备树中的对应xres/vactive
此外还有两个时钟相关参数:
DOTCLK frequency(设备树中的clock-frequency)和驱动中的pixclock
DOTCLK在datasheet中能查阅到,它与pixclock的关系是:
pixclock = 1000000 / DOTCLK ,启动DOTCLK单位是MHz,pixclock单位是皮秒,例如:
若DOTCLK为33.26MHz,pixclock即为30066ps = 30.066ns
关于以上6个无效显示区域的配置,是根据datasheet中的Video Signal Timing来设置的,datasheet中还有两个参数VP和HP,即水平方向总长和垂直方向总长,他们与上述8个参数关系是:
VP = VBP + VDP + VFP + VSPW
HP = HBP + HDP + HFP + HSPW
若datasheet中没有这些参数的type值,而且根据时序图也无法计算出来,
就只能在min和max值之间进行选择尝试,注意:这8个值都非0,并且一定遵循上述2个公式
还有一点需要注意(不是很确定,看到有一个datasheet是这么定义的):
VSPW(min) < VSPW < VBP
HSPW(min) < HSPW < HBP