S3C2440芯片的LCD控制器

1、LCD控制器的功能

(1)取数据:把framebuffer的地址告诉LCD控制器。另外需要把framebuffer中对应每个像素的数据格式告诉控制器,例如bpp(Bits Per Pixels),分辨率等

(2)发数据:把时序告诉LCD控制器,设置引脚的极性(是高电平有效还是低电平有效)


2、LCD控制器框图


(1)图中的LCDCDMA是从framebuffer取数据的模块,我们都知道DMA是不用在CPU的参与下就能直接操作内存的。

(2)我们通过设置REGBANK中寄存器,然后通过TIMEGEN就能产生各种时序了,例如我们上一篇文章提到的CLK、Hsync、Vsync等


3、TFT LCD控制器的操作

我们这款芯片支持两种类型的LCD,分别是TFT和STN,我们一般用TFT,所以这里也以TFT类型的LCD为例。

(1)

当使用16BPP的时候,通过设置BSWP和HWSWP的值,可以得到地址000H的高16位还是低16位表示第一个像素。



上面的16为数据通过哪个引脚传送数据,设置硬件的时候可以由下面的图看出来,5:6:5 = R:G:B



(2)24BPP的情况

我们可以看到高一字节的数据是没有用到的,也就是浪费掉的,所以叫Dummy Bit



(3)

另外还有一种8BPP的显示格式。这个格式会涉及到调色板的概念



(3)调色板的概念

      假如LCD的数据位为16位,那么framebuffer应该每个像素占据16bit,但是为了节省空间,我们用了8bit表示一个像素,这时候就需要引入调色板才能正确传输16位的数据给LCD的数据线。

      调色板其实就是一片内存,这里面每一格存放16bit的数据。当LCD控制器从framebuffer中去处8bit的数据后,不是直接传给LCD的数据线,而是用这个8bit作为索引,从调色板中取出16bit的数据,然后发给LCD。

       所以我们可以说8BPP格式时,framebuffer中存放的是伪彩色,16BPP或者24BPP格式时,framebuffer中存放的才是真彩色。如果以后用了8BPP格式,首先要设置调色板。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值