片上系统设计思想与源代码分析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

7.2 RGB接口LCD

7.2.1 RGB接口LCD屏幕刷新

RGB接口LCD控制器内部没有显存,需要LCD控制器不断地从内存区的帧缓冲(Frame buffer)中读取数据并以60~90Hz的频率刷新屏幕,因此这样的LCD控制器占用总线资源很大。虽然如此,但出于LCD内部显存成本等方面的考虑,大尺寸的LCD都是采用内存作为帧缓冲。RGB接口LCD控制器的一个好处是可以直接连接到DAC或RAMDAC进而将信号输出到VGA接口的LCD显示器上。

这里以一款明基手机屏幕L2F50090为例,讲述RGB接口LCD控制器。L2F50090的分辨率为176×240,每一个像素为18比特,由{R5-R0,G5-G0,B5-B0}组成。当输出数据只有16比特时,R0=R5,B0=B5。L2F50090的信号输入时序如图7-1所示。LCD控制器通过行同步HSYNC信号、列同步信号VSYNC、数据输入DATA[17:0]、时钟输入信号DCLK信号不断的扫描屏幕。先扫描一行(图7-1(一)),再扫描下一行,扫描完最大行后重新开始扫描第一行。VSYNC为低所对应的是第一行(图7-1(二))。Th的典型值为67微秒,对应的屏幕刷新频率为60Hz。因此,LCD访问内存的平均速率为176×240×2×60=5M字节每秒。

图7-1 L2F50090的信号输入时序

(二)L2F50090一个屏幕的输入信号

(一)L2F50090一行的信号输入

各个像素的位置按照从左到右,从上到下分配,如图7-2所示。

图7-2 像素在屏幕中的位置

7.2.2 RGB接口LCD背光

LCD通过LED提供背光,用于提供背光的LED可能有多个,因此如果LCD内部没有电荷泵芯片,它的背光电压并不是3.3v,而可能高达12v、24v。LED阳极(LED_K)和阴级(LED_A)一般可以通过LCD进行控制,以便于处理器可以关闭和打开LCD的背光。LCD在没有背光时,屏幕是黑色的,L2F50090也是如此。

7.2.3 RGB接口LCD初始化

用户可以关闭和打开背光,同时,用户还可以通过LCD控制器控制LCD内部的寄存器以设置其工作状态,包括打开显示和关闭显示等。打开显示后屏幕上可以出现希望的内容,而此时背光必须是打开的。关闭显示与关闭LCD的背光是不相关的。

L2F50090通过一个专门的串行接口配置其内部寄存器以控制其工作状态,如图7-3所示。如图7-4所示是L2F50090的串行寄存器配置接口时序,其中lcda0为低表示输入命令(相当于寄存器地址),为高表示输入参数(相当于寄存器值)。lcdso为LCD控制器到LCD的串行数据输入,而lcdsck为时钟,lcdncs是低电平有效的片选信号。命令长8位,而参数长度取决于命令,可能是8位、16位等。

图7-3 L2F50090的工作状态设置

图7-4 L2F50090的串行寄存器配置接口时序