2.4 TFT控制器操作
S3C2410支持STN-LCD和TFT-LCD,这里我们只介绍其对TFT-LCD的控制。
TIMEGEN产生LCD驱动器的控制信号,如VSYNC、HSYNC、VCLK、VDEN和LEND等。这些控制信号与REGBANK寄存器组中的 LCDCON1/2/3/4/5寄存器的配置关系相当密切,基于LCD控制寄存器中的这些可编程配置,TIMEGEN产生可编程控制信号来支持不同类型的 LCD驱动器。
VSYNC和HSYNC脉冲的产生依赖于LCDCON2/3寄存器的HOZVAL域和LINEVAL域的配置。HOZVAL和LINEVAL的值由LCD屏的尺寸决定,如下公式:
HOZVAL=水平显示尺寸-1 (1)
LINEVAL=垂直显示尺寸-1 (2)
VCLK信号的频率取决于LCDCON1寄存器中的CLKVAL域。VCLK和CLKVAL的关系如下,其中CLKVAL的最小值是0:
VCLK(Hz)=HCLK/[(CLKVAL+1)×2] (3)
帧频率是VSYNC信号的频率,它与LCDCON1和LCDCON2/3/4寄存器的VSYNC、VBPD、VFPD、LINEVAL、HSYNC、 HBPD、HFPD、HOZVAL和CLKVAL都有关系。大多数LCD驱动器都需要与显示器相匹配的帧频率,帧频率计算公式如下:
FrameRate=1/{[(VSPW+1)+(VBPD+1)+(LINEVAL+1)+(VFPD+1)]×[(HSPW+1)+
(HBPD+1)+(HFPD+1)+(HOZVAL+1)]×[2×(CLKVAL+1)/(HCLK)]} (4)
参照CJM10C0101的参数和公式(1)、(2),可得出HOZVAL=639;LINEVAL=479。其余主要寄存器的值在下面给出。
3 CJM10C0101的逻辑、时序要求[2]
各时间参数见表1。
根据时序要求,我们设定VM/VDEN信号作LCD的ENAB信号,VCLK信号作LCD的NCLK信号。要想得到合适的VM和VCLK波形,就要正确设定寄存器的值,根据寄存器的值与VM和VCLK波形的关系,我们设定了如下关键寄存器的值:
HSPW=10;HBPD=100;HFPD=47;
VSPW=1;VBPD=37;VFPD=4
S3C2410的HCLK工作频率为100MHz左右,因此根据公式(3)设CLKVAL=1。这些值将在驱动程序中得到具体体现。