这里我使用的是mini2440核心板和s3c2440一样所以我们这里使用时TFT屏幕,TFT屏幕也是未来的主流
硬件分析:
这里VYSNC是帧同步信号,每发送一次屏幕会换一屏,而HSYNC是行同步信号,VDEN用来表明信号的有效性,VCLK用来视频锁存的时钟,VSYNC的前回扫时间是(VSPW+1)+(VBPD+1),后回扫时间是(VBPD+1),HSYNC的前回扫时间是(HSPW+1)+(HBPD+1),后回扫时间是(HFPD+1),mini2440上的LCD屏是一个TFT3.5寸屏,屏幕时序如下图:
根据时序图可以得出VSPW,VBPD,HSPW,HSPD的值(对比可知DCLK就是芯片手册的VCLK)。
VSPW:VSYNC脉冲宽度
VSPW+1 => VBPD:当发起VSYNC信号多久以后开始写第一行数据
VBPD+1=tvb-tvpw=23-10=13=>VBPD=12
VFPD:写下一帧的时间间隔
VFPD+1=tvfp=22=>VFPD=21
HSPW:HSYNC的脉冲宽度
HSPW+1=thpw=20=>HSPW=19
HBPD:发起HSYNC信号多久以后开始写第一个像素
HBPD+1=46-20=>HBPD=25
HFPD:写下一行的时间间隔
HFPD+1=thfp=210=>HFPD=209
TFT的控制方法如下图
REGBANK 是LCD控制器的寄存器组,用来对LCD控制器的各项参数进行设置。而 LCDCDMA 则是LCD控制器专用的DMA信道,负责将视频资料从系统总线(System Bus)上取来,通过 VIDPRCS 从VD[23:0]发送给LCD屏。同时 TIMEGEN 和 LPC3600 负责产生 LCD屏所需要的控制时序,例如VSYNC、HSYNC、VCLK、VDEN,然后从 VIDEO MUX 送给LCD屏。