Vsync: 帧同步信号,表示扫描1帧的开始,一帧也就是LCD显示的一个画面。
Hsync: 行同步信号,表示扫描1行的开始。
在RGB模式中,LCD数据的扫描是以行为单位的。
LCD 数据扫描时序图
上图是扫描数据一行的时序图
这里要明白几个概念
Hsync: 行同步信号,表示扫描1行的开始。
PCLK:像素时钟
ENABLE:数据使能
P_DATA: 数据输出
上升沿:信号高电平
下降沿:信号低电平
估计大家看了上面这几个介绍肯定也是一脸懵逼。这都是什么东西。下面仔细讲解,这些东西不理解肯定看不懂上面时序图。
PCLK:像素时钟,我们可以理解为最小的时间单位。
上升沿:信号高电平,我们知道数据的传输都是0 1 进行传输的。这里的上升沿就可以理解为1
下降沿:信号低电平,同理下降沿就可以理解为0
Hsync: 行同步信号,表示扫描1行的开始。 。意思是行寄存器接受到信号为1.
ENABLE:数据使能, 可以理解为接受数据的信号,只要信号始终是1 ,就能接受数据,否则不能接受数据
P_DATA: 数据输出 ,接受外界传进来的数据。
理解上面概念在来看上图
HSYNC是水平同步信号。PCLK是象素时钟。ENABLE是数据使能信号,当它为高时,在PCLK的上升沿输出有效数据。P_DATA是输出的数据。
水平同步信号的上升沿到ENABLE的上升沿的间隔称为HBP。把ENABLE的下降沿到水平同步信号的下升沿的间隔称为HFP。把水平同步信号的低电平(非有效电平)持续时间称为HSW。
HSW存在的必要性:水平同步信号为低电平有效。在水平同步信号有效时,需要等待HBP的时间,才从数据线取数。由于水平同步信号的有效电平持续时间通常比无效电平长,因此占空比不是50%。无效电平短些比较好。
我们先来理解下面引脚有寄存器中相关参数的意义吧
寄存器参数:
VSPW:帧同步信号的脉宽,单位为1行(Line)的时间。
VFPD: 帧同步信号的前肩,单位为1行(Line)的时间。
VBPD: 帧同步信号的后肩,单位为1行(Line)的时间。
LINEVAL :帧显示尺寸-1,即屏行宽-1,对于800*480分配率的LCD屏,那么LINEVAL=480-1=479,请记住,是屏行宽,也就是LCD屏显示一帧数据所需要的行的数目。
HBPD:行同步信号的后肩,单位为1VCLK的时间。
HFPD:行同步信号的前肩,单位为1VCLK的时间。
HSPW:行同步信号的脉宽,单位为1VCLK的时间。
HOZVAL:行显示尺寸-1,即屏列宽-1,对于800*480分配率的LCD屏,那么HOZVAL=800-1=799,请记住,是屏列宽,也就是LCD屏显示一行数据所需要的像素(pixel)的数目。
由图可知:
扫描一帧所需的行数:
=((VSPW+1)+(VBPD+1)+( LINEVAL+1)+(VFPD+1))个行。
扫描一行所所需的时间:
= ((HSPW+1)+(HSPD+1)+(HFPD+1)+ (HOZVAL+1))个VCLK时间。
而一个VCLK时间由LCD寄存器VIDCON0内的CLKVAL决定:
=HCLK/(CLKVAL+1) ------>这个公式是S3C2443的LCD控制器的,其他CPU的不一定一样
因此扫描一帧所需的时间:
T=[(VSPW+1)+(VBPD+1)+(LINEVAL+1)+(VFPD+1)][(HSPW+1)+(HSPD+1)+(HFPD+1)+ (HOZVAL+1)] HCLK/ (CLKVAL+1)
即帧频率为:1/T
网友评论