LCD控制器的原理及各寄存器功能的详细讲解

                                                                             LCD工作原理
           如图4-24 所示,LCD 的横截面很像是很多层三明治叠在一起。每面最外一层是透明的玻璃基体,玻璃基体中间就是薄膜电晶体。颜色过滤器和液晶层可以显示出红、蓝和绿三种最基本的颜色。通常,LCD后面都有照明灯以显示画面。

           一般只要电流不变动,液晶都在非结晶状态。这时液晶允许任何光线通过。
 液晶层受到电压变化的影响后,液晶只允许一定数量的光线通过。光线的反射角度按照液晶控制。
 当液晶的供应电压变动时,液晶就会产生变形,因而光线的折射角度就会不同,从而产生色彩的变化。

           一个完整的TFT 显示屏由很多像素构成,每个像素象一个可以开关的晶体管。这样就可以控制TFT 显示屏的分辨率。
 如果一台LCD的分辨率可以达到1024 x 768 像素 (SVGA),它就有那么多像素可以显示。

           4.11.2 S3C44B0X LCD 控制器介绍

           S3C44B0X内置LCD控制器可以支持规格为每像素2位(4级灰度)或每像素4位(16级灰度)的黑白LCD。也可以支持每像素8位(256级颜色)的彩色LCD屏。
LCD控制器可以通过编程支持不同LCD屏的要求,例如行和列像素数,数据总线宽度,接口时序和刷新频率等。
LCD控制器的主要的工作,是将定位在系统存储器中的显示缓冲区中的LCD图像数据传送到外部LCD驱动器。
其内部结构框图如图4-25所示。
          寄存器控制对18个可编程LCD控制寄存器进行配置;
DMA传送控制自动将显示帧缓冲区数据经由数据控制,传送到LCD屏;
数据控制将显示数据以4/8单扫描或4位双扫描模式输出数据VD[7:0] ;
信号产生电路产生 VFRAME、VLINE、VCLK、 VM等信号。
          LCD控制器的外部接口信号
① VFRAME:
LCD控制器和LCD驱动器之间的帧同步信号。该信号告诉LCD屏新的一帧开始了。
LCD控制器在一个完整帧显示完成后立即插入一个VFRAME信号,开始新一帧的显示;该信号与LCD模块的YD信号相对应。
② VLINE:
LCD控制器和LCD驱动器之间的线同步脉冲信号,该信号用于LCD驱动器将水平线(行)移位寄存器的内容传送给LCD屏显示。
LCD控制器在整个水平线(整行)数据移入LCD驱动器后,插入一个VLINE信号;该信号与LCD模块的LP信号相对应。
          ③ VCLK:LCD控制器和LCD驱动器之间的像素时钟信号,由LCD控制器送出的数据在VCLK的上升沿处送出,在VCLK的下降沿处被LCD驱动器采样;该信号与LCD模块的XCK信号相对应。
④ VM:LCD驱动器的AC信号。VM信号被LCD驱动器用于改变行和列的电压极性,从而控制像素点的显示或熄灭。VM信号可以与每个帧同步,也可以与可变数量的VLINE信号同步;该信号与LCD模块的DISP信号相对应。
⑤ VD[3:0]:LCD像素点数据输出端口。与LCD模块的D[3:0]相对应。
⑥VD[7:4]:LCD像素点数据输出端口。与LCD模块的D[7:4]相对应。
         4.11.3 LCD控制器的操作

          1. 显示类型
 S3C44B0X的LCD控制器支持3种LCD驱动器:4位双扫描,4位单扫描,8位单扫描显示模式。其中,8位单扫描方式如图4-26所示。

 

图 4-26 8位单扫描方式 
 8位单扫描显示采用8位并行数据线进行“行”数据连续移位输出,直到整个帧的数据都被移出为止。
 彩色像素点的显示要求3种颜色的图像数据,这使得行数据移位寄存器需要传输3倍于每行像素点个数的数据。这个RGB数据通过平行数据线连续地移位至LCD驱动器。
          图4-27是LM057QC1T01的扫描模式图,可见LM057QC1T01是按照8位单扫描模式工作的。在8位单扫描方式中,LCD控制器的8条(VD[7:0])数据输出可以直接与LCD驱动器连接。

 

 

 

图 4-27 LM057QC1T01的扫描模式图
           2. 像素点字节数据格式(BSWP=0)
 在彩色模式下,1个字节8位(3位红色、3位绿色、2位蓝色)的图像数据对应于一个像素点。像素点字节在存储器中保存的格式为332模式,如表表4-59所示。

            表4-59 像素点字节数据格式表

              Bit[7:5]   Bit[4:2]   Bit[1:0]
                     红         绿         蓝

            3. 虚拟显示

            S3C44B0X支持硬件方式的平行或垂直滚动。
如果要使屏幕滚动,可以通过修改LCDSADDR1和LCDSADDR2寄存器中的LCDBASEU和LCDBASEL的值来实现。
但不是通过修改PAGEWIDTH和OFFSIZE来实现。如果要实现滚动,则显示缓冲区的大小要大于LCD显示屏的大小。
 LCDBASEU、LCDBASEL、PAGEWIDTH和OFFSIZE的定义如图4-28所示,LCDBASEU帧缓冲区的开始地址,在突发4字存取模式,最低4位必须取消。

             LCDBASEL由LCD尺寸和LCDBASEU值确定,公式为:

LCDBASEL=LCDBASEU+(PAGEWIDTH+OFFSIZE)×(LINEVAL+1)

其中:
PAGEWIDTH为显示存储区的可见帧宽度(半字数);
OFFSIZE为某一行的第一个半字与前一行最后一个半字之间的距离;
LCDBANK指定视频缓冲区在系统存储器内的bank地址(ENVID=1时,该值不能改变)。
                 4. 查找表

                 S3C44B0X可以支持调色板表(即查找表),用于各种色彩选择或灰度级别的选择。
这种方法给予用户很大的灵活性。
查找表也称为调色板,在灰度模式中,通过查找表可以在16级灰度中选择4级灰度;
在彩色模式中,1个字节的图像数据是用3位来表示红色,3位表示绿色,2位表示蓝色。
                 通过查找表,可以选择16级红色中的8级红色,16级绿色中的8级绿色,16级蓝色中4级蓝色。256色意味着所有颜色都是由8种红色,8种绿色和4种蓝色构成(8×8×4=256)。
参考后面小节关于查找表寄存器的说明.
例如:
REDLUT(红色查找表寄存器),1个字节的3位是表示红色的,这3位可以取值000、001、010……111共8个值。取某个值时,对应的色彩级别究竟是多少,就在查找表中设定。每个色彩级别由4位数据表示,因此共有16个色彩级别可供选择。
                4.11.4 LCD 控制器专用寄存器

                LCD控制器主要提供液晶屏显示数据的传送时钟和各种信号产生与控制功能。
1. LCD 控制参数设定
VFRAME和VLINE脉冲的产生通过对LCDCON2寄存器的HOZVAL和LINEVAL域进行配置来完成。每个域都与LCD的尺寸和显示模式有关。
HOZVAL和LINEVAL可以通过下式计算出来:
HOZVAL=(显示宽度/VD数据线的位数)-1

                 在彩色模式下:
 显示宽度=3×每行的像素点数目
例如:
 我们采用的LCD,HOZVAL=(320×3/8)-1
在单扫描显示类型下:
 LINEVAL=(显示宽度)-1;
在双扫描显示类型下:
 LINEVAL=(显示宽度/2)-1;
例如:
 对于我们采用的LCD,LINEVAL=240-1 
               VCLK信号的频率可以通过LCDCON1寄存器的CLKVAL域来确定。它们存在以下关系:
VCLK(Hz)=MCLK/(CLKVAL×2)
LCD控制器的最大VCLK频率为16.5MHz,这使得LCD控制器几乎支持所有已有的LCD驱动器。
由于上述关系,CLKVAL的值决定了VCLK的频率,为了确定CLKVAL的值,应该计算一下LCD控制器向VD端口传输数据的速率,使得VCLK的值大于数据传输的速率。
               数据传输速率通过以下的公式计算:
 数据传输速率=HS×VS×FR×MV
其中HS是LCD的行的尺寸,VS是LCD的列的尺寸,FR是帧速率,MV是模式值,取值如表4-60所示。
             表4-60 显示模式与MV对照表

单色 4位单扫描 1/4 16级灰度 4位单扫描 1/4
单色 8位单扫描 1/8 16级灰度 8位单扫描或4位单扫描 1/8
4级灰度 4位单扫描 1/4 彩色 4位单扫描 3/4
4级灰度 8位单扫描或4位单扫描 1/8 彩色 8位单扫描或4位单扫描 3/8

               假设HS = 320;VS = 240;FR =70;
MV = 3/8。
数据传输速率=320×240×70×3/8
          =2016000
VCLK的值应大于2M,小于16M,因此CLKVAL可以取值3~15。
VFRAME信号的频率与LCDCON1和LCDCON2寄存器中的WLH(VLINE脉冲宽度),WHLY(VLINE脉冲之后VCLK的延时宽度),HOZVAL,VLINEBLANK,和LINEVAL有关。
          大多数的LCD驱动器需要适应的帧频率,LM057QC1T01的帧频率范围是70Hz~80Hz。
帧频率的计算可以依据下式:
帧频率(Hz) = 1/[((1/VCLK)×(HOZVAL+1)+(1/MCLK)×
(WLH+WDLY+LINEBLANK))×(LINEVAL+1)]
其中VCLK=8M,HOZVAL=119,MCLK=64M,LINEVAL=239

          2. LCD 控制寄存器1/2/3
LCDCON1/2控制寄存器主要配置VFRME、VCLK、VLINE和VM控制信号,LCDCON3控制LCD刷新模式。如表4-61、4-62、4-63所示。
3. 帧缓冲区起始地址寄存器 1/2/3
LCDSADDR1/2/3 为帧缓冲区起始地址寄存器,其位定义如表4-64、表4-65、表4-66所示。
4.红绿蓝查找表寄存器
红色查找表寄存器定义如表4-67所示。
5.抖动模式寄存器
          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值