http://blog.csdn.net/lwj103862095/article/details/7860648

转载:http://blog.csdn.net/lwj103862095/article/details/7860648


、使用TFT LCD时 LCD 控制器的寄存器设置

      LCD 控制器中REGBANK 有17个寄存器,可分为6大类

http://blog.csdn.net/lwj103862095/article/details/7860648_第1张图片

                             

       对于TFT LCD ,一般情况下只需要设置前两种寄存器。在8PP模式下,如果想快速地输出一帧单色的图像,可以借助TPAL寄存器。下面分别介绍寄存器。

(1)LCD控制寄存器 LCDCON1

       用于选择LCD类型、设置像素时钟、使能LCD信号的输出等。

 

下面几个寄存器参考LCD时序图来理解http://blog.csdn.net/lwj103862095/article/details/7860648_第2张图片

(2)LCD 控制寄存器 LCDCON2

        用于设置垂直方向各信号的时间参数。

(3)LCD 控制寄存器 LCDCON3

        用于设置水平方向各信号的时间参数。

http://blog.csdn.net/lwj103862095/article/details/7860648_第3张图片

(4)LCD控制寄存器LCDCON4

       对于TFT LCD ,这个寄存器只用来设置 HSYNC 信号的脉冲宽度,位[7:0]的数据称为HSPW ,表示脉冲宽度为(HSPW+1)个VCLK 周期。

 http://blog.csdn.net/lwj103862095/article/details/7860648_第4张图片

(5) LCD 控制寄存器 LCDCON5

      用于设置各个控制信号的极性,并可从中读到一些状态信息。

http://blog.csdn.net/lwj103862095/article/details/7860648_第5张图片

(6)帧内存地址寄存器LCDSADDR1~LCDSADDR3

         帧内存可以很大,而真正要显示的区域被称为视口(View Point),它处于帧内存之内。这3个寄存器用于确定帧内存的起始地址,定位视口在帧内存中的位置。

http://blog.csdn.net/lwj103862095/article/details/7860648_第6张图片

(7)LCDSADDR1 寄存器

 http://blog.csdn.net/lwj103862095/article/details/7860648_第7张图片

(8)LCDSADDR2 寄存器

 注意:

         可以修改LCDBASEU、LCDBASEL 的值来实现图像的移动,不过不能在一帧图像的结束阶段(即 LCDCON1寄存器的 LINECNT 减到 0时)进行修改,因为这个时候LCD控制器会优先取得下一帧的数据,之后才改变这些值,这样的话,这些数据与新的帧缓冲区就不一致。

(9)、LCDSADDR3 寄存器

 注意:

         OFFSIZE、 PAGEWIDTH 的值只能在ENVID (LCDCON1 寄存器的信号输出使能位)为 0 时修改。

(10) 临时调色板寄存器TPAL

        如果要输出一帧单色的图像,可以砸TPAL 寄存器中设定这个颜色值,然后使能TPAL 寄存器,这种方法可以避免修改整个调色板或帧缓冲区。

 http://blog.csdn.net/lwj103862095/article/details/7860648_第8张图片

注意:临时调色板并非只能在8PP模式下使用,可以在任何显示模式下使用。

————————————————————————————————————————————————

        好了,LCD控制器有关的寄存器就介绍完了。


你可能感兴趣的:(linux的LCD驱动)