AA065VD时序的确定
********************************LoongEmbedded********************************
作者:LoongEmbedded(kandi)
时间:2011.10.28
类别:WINCE驱动开发
********************************LoongEmbedded********************************
在描述AA065VD屏的时序参数之前,先描述S3C6410的LCD控制器输出的RGB接口的时序图中相关参数,见下图:
图1 S3C6410的LCD控制器的RGB接口时序图
VBPD:帧后肩,表示在帧开始之后,而且又是VSYNC脉冲高电平之后的非活动行的数量。
VSPW:帧同步脉冲宽度,表示VSYC脉冲为高电平时对应的非活动行的数量
VFPD:帧前肩,表示在帧结束之后,而在帧同步信号开始之前(也就是VSYNC的上升沿之前)对应的非活动行的数量
LINEVAL:一帧数据对应的活动行的数量。
HBPD:行后肩,表示在HSYNC信号的下降沿之后,在有效的数据开始传输之前的对应的VCLK的时钟周期数。
HSPW:行同步脉冲HSYNC高电平对应的VCLK的时钟周期数。
HFPD:行前肩,表示在传输的有效数据结束之后,在HSYNC的上升沿之前对应VCLK的时钟周期数。
HOZVAL:表示一行显示的有效数据(也即是像素)的个数。K
但是AA065VD屏的帧同步信号和行同步信号没有用于时序的控制,见AA065VD屏的时序图:
图2 AA065VD屏的时序图
所以从图2中我们,无法直接推算出VBPD、VSPW、HBPD和HSPW,但是我们知道VBPD+VSPW+VFPD对应于一帧的有效行数开始显示之前的非活动行的数量,而图2告诉我们一帧有效行数开始之前的非活动行数为TVB,所以我们可以一起推断出:
VBPD+VSPW+VFPD=TVB
LINEVAL=TVA
另外我们知道HBPD+HSPW+HFPD对应的一行的有效像素数据开始显示之前对应的VCLK的时钟周期数,而图2告诉我们一行有效数据开始显示之前的VCLK的时钟周期数为THB,所以我们可以一起推断出:
HBPD+HSPW+HFPD=THB
HOZVAL=THA
我们再来结合AA065VD屏对这些参数的描述,见下图:
图3 AA065VD屏的时序参数描述
1) VBPD等时序参数的确定
所以有VBPD+VSPW+VFPD=TVB=45,只要在满足这个关系下对VBPD、VSPW和VFPD的任何组合值都是正确的,比如我们可以去VBPD=11,VSPW=32,VFPD=2,LINEVAL=TVA=480。也可以知道HBPD+HSPW+HFPD=THB=160,只要在满足这个关系下对HBPD、HSPW和HFPD的任何组合值都是正确的,比如我们可以去HBPD=134,HSPW=16,HFPD=10,HOZVAL=THA=640。
2) 极性时序参数的确定
从图3可知S3C6410的LCD控制器传输给AA065VD屏的数据在DCLK的下降沿的时候被锁存金自身的驱动IC中,所以对VIDCON1的IVCLK位应配置为LCD driver(也即AA065VD的驱动IC)在VCLK的下降沿获取到视频数据。而AA065VD屏没有采用HSYNC和SYNC用于时序控制,所以VIDCON1寄存器堆IHSYNC和IVSYNC这两位的值就没有要求了。
根据图2可知AA065VD屏在传输有效数据的时候要求DENA引脚是高电平的,而从图1可知S3C6410的LCD控制器默认输出的RGB_VDEN恰好满足,所以不需要发展VIDCON1的IVDEN位。
3) 帧频和DCLK时序参数的配置
从图3可知,在典型的情况下,AA065VD屏要求的帧屏为60,也就是说一秒钟显示60帧,这也是很多屏所要的帧屏值。AA065VD屏对DCLK的典型值要求是25MHZ,这就需要结合VIDCON0寄存器的CLKSEL_F位来选择LCD控制器的时钟源和CLKVAL_F位来计算出VCLK的值,只要LCD控制器输出的VCLK的值在图3中对DCLK时序描述的20~30MHz这个范围就可以了,当然了,如果恰好VCLK=DCLK=25MHz最好了。