对于TFT LCD,但这些参数是相同的. 但如何确定? TFT的LCD的datasheet必须标记在中间.
如型号WXCAT35-TG3 3.5寸液晶中表如下:
比较下面的时序图(注:时序图的Vsync, Hsync信号(红框圈出)与上面提到的有点不同,信号为低电平, 而非高电平,因此,编程时应设置反相信号,如s3c244a的LCDCON5的INVLINE及INVFRAME也就是说,做这项工作):
tvp即VSPW,
tvb即VBPD,
tvf即VFPD
thp即HSPW
thb即HBPD
thf即HFPD
LCD一般需要三个时序信号:VSYNC、HSYNC和VCLK。
VSYNC它是一个垂直同步信号(帧同步信号),在扫描每个帧(即一个屏幕)之前有效一次,由信号确定LCD场频,即每秒刷新屏幕的次数(单位)Hz)。 HSYNC是水平同步信号(行同步信号),每行扫描前有效一次,由信号确定LCD行频,即每秒屏幕从左到右扫描一行的次数(单位Hz)。 VCLK像素时钟信号。
s3c2440处理LCD的时钟源是HCLK,通过寄存器LCDCON1中的CLKVAL能够调整VCLK其公式为:
VCLK=HCLK÷[(CLKVAL+1)×2]
比如,HCLK的频率为100MHz,要想驱动像素时钟信号为6.4MHz的LCD通过上式计算屏幕CLKVAL值,结果CLKVAL为6.8.取整后(值为6)放入寄存器LCDCON1中对应位置即可。因为CLKVAL取整,所以我们将取整后的值代入上式,再次计算VCLK,得到VCLK=7.1MHz。
VBPD,VFPD,VSPW,HBPD,HFPD,HSPW参数意义: back porch:后沿 front porch:前沿
VBPD(vertical back porch):在一帧图像开始时,垂直同步信号后的无效行数表示 VFPD(vertical front porch):表示垂直同步信号在一帧图像结束后无效的行数VSPW(vertical sync pulse width):用行数计算表示垂直同步脉冲的宽度 HBPD(horizontal back porch):从水平同步信号到一行有效数据之间的表示VCLK的个数 HFPD(horizontal front porth):一行的有效数据结束到下一级同步信号开始之间VCLK的个数HSPW(horizontal sync pulse width):表示水平同步信号的宽度
理论上,对于已知尺寸(即水平显示尺寸)HOZVAL垂直显示尺寸LINEVAL已知)的LCD屏幕,只屏幕VCLK值,行频和场频就应该知道了。但这还不够,因为每一帧时钟信号中都会出现一些与屏幕显示无关的时钟,这给确定行频和场频带来了一定的复杂性。如在HSYNC水平同步信号的前肩(HFPD)后肩与水平同步(HBPD)出现,在VSYNC垂直同步信号的前肩(VFPD)后肩与垂直同步信号(VBPD)在这些信号时序中,不会出现有效的像素信号,另外HSYNC和VSYNC当信号有效时,其电平应保持一定的时间,分别称为水平同步信号脉宽HSPW与垂直同步信号脉宽VSPW,这段时间没有像素信号。因此计算行频和场频时,一定要包含这些信号。HBPD、HFPD和HSPW一个单位VCLK的时间,而VSPW、VFPD和VBPD单位是扫描一行所用的时间。在s3c在2440中,所有这些信号(VSPW、VFPD、VBPD、LINEVAL、HBPD、HFPD、HSPW和HOZVAL)都是实际值减1的结果。这些值是通过寄存器进行的LCDCON2、LCDCON3和LCDCON4.只需将这些值与要驱动的值进行配置LCD相关内容的数据可以一致。例如,我们想要显示的LCD屏大小为320×240,因此HOZVAL=320-1,LINEVAL=240-1。脉宽、前肩、后肩分别为30、20别为30、20和38,HSPW=30-1,HFPD=20-1,HBPD=38-1;垂直同步信号的脉宽、前肩和后肩分别为3、12和15,VSPW=3-1,VFPD=12-1,VBPD=15-1
外引脚信号: VSYNC: 垂直同步信号表示扫描1帧的开始。 HSYNC: 水平同步信号表示扫描1行的开始。 VDEN:数据使信号。 VD[23:0] : LCD像素数据输出端口。 VCLK:像素时钟信号。
寄存器参数: VSPW:垂直同步信号的脉宽为1行(Line)的时间。 VFPD: 垂直同步信号的前肩为1行(Line)的时间。 VBPD: 垂直同步信号的后肩为1行(Line)的时间。 LINEVAL :垂直显示尺寸-1,即屏幕宽度-1。 HBPD:水平同步信号的后肩为1VCLK的时间。 HFPD:水平同步信号的前肩为1VCLK的时间。 HSPW:水平同步信号的脉宽为1VCLK的时间。 HOZVAL:水平显示尺寸-1,即屏幕宽度-1。
可知: 扫描一帧所需的时间: =((VSPW 1) (VBPD 1) ( LINEVAL 1) (VFPD 1)个行时间。
扫描一行所需的时间: = ((HSPW 1) (HSPD 1) (HFPD 1) (HOZVAL 1))个VCLK时间。
而一个VCLK时间由LCD寄存器LCDCON1内的CLKVAL决定: =HCLK/[2*(CLKVAL 1)] 因此,扫描一帧所需的时间: T=[(VSPW 1) (VBPD 1) ( LINEVAL 1) (VFPD 1)]* [(HSPW 1) (HSPD 1) (HFPD 1) (HOZVAL 1)]* HCLK/[2*(CLKVAL 1)] 即帧频率为:1/T
注:一些液晶屏可能给出不同的参数单元,需要自己计算。 方法如下: VBPD:帧同步信号和帧数据传输前的延迟时间是帧数据传输前的延迟时间与行同步时钟间隔宽度之比 VFPD:确定帧数据传输到下一帧同步信号的延迟时间是帧数据传输后延迟时间与同步时钟间隔宽度之比 VSPW:帧同步时钟脉冲宽度的确定是帧同步信号时钟宽度与行同步时钟间隔宽度的比值。 HBPD:确定行同步信号和行数据传输前的一段延迟时间,描述行数据传输前延迟时间内VCLK脉冲个数。 HFPD:确定行数据传输到下一行同步信号的延迟时间,描述行数据传输后的延迟时间VCLK脉冲个数。 HSPW:确定行同步时钟脉冲宽度。描述行同步脉冲宽度时间VCLK脉冲个数
参考时钟是CLK,一个CLK时钟,完成像素点的显示.
计算帧频点和边缘(边框,hbpd 等等),同步脉冲的时间相加,结果是显示完整帧所需的时间,倒数是帧频率.