【说明】
这一章我们来介绍一个很好玩的东西,那就是LCD,也就是我们开发板上的显示屏了,这个要理清一个概念,那就是LCD和触摸屏是完全没关系的两个设备,只不过他们一般都做在一起而已,我们这节只介绍LCD,没有触摸屏的内容。由于我用得是友善的TINY6410,而友善公司把触摸屏和LCD背光都做成了1线的,也就是一般的背光控制和触摸屏原理都不适用于这个6410。所以我们无视背光控制,单纯学习LCD的显示部分。
【控制器】
S3C6410自带有LCD控制器,所以操作LCD的事就交给他吧,当然,在让它控制LCD前我们需要设置控制器,比如分辨率,时序参数等等,当都设置好了之后,我们还需要分配一块内存给他当做显存,它就从里面取数据然后用LCD显然。
【硬件原理】
LCD的显然过程可以想象成有一把电子枪,从一行的第一个像素开始一个像素一个像素把颜色打到屏幕上,如果一行打完了,就到下一行,如果所有行打完了,就回到第一行继续打, 由于速度很快,所以人眼看起来就好像图像是一直存在的,其实是一个像素一个像素打出来的。
【原理图】
1)VD都是数据线,用来传输像素,一个像素用24位表示
2)HSYNC是当电子枪打到一行的最后面的时候,用来让电子枪回到最左边用的同步信号。
3)VSYNC是当电子枪打完最后一行后,用来让电子枪回到最上边的同步信号。
4)VDEN 是数据有效信号,当其有效的时候枪口才是打像素,但是不影响电子枪移动。
5)VCLK 时钟信号,来一个信号,打一个像素
【怎么写】
1】设置LCD控制器
1)分辨率
2)时间参数
3)极性(下面就知道是什么了)
2】分配显存
1)告诉LCD控制器
3】设置像素
1)颜色格式
【详细设置】
6410手册里面给出了初始化控制器的步骤如下
设置GPIO
在进行上面的设置之前我们要设置一下GPIO管脚配置成LCD功能。
由主板图知道,我们需要配置GPI和GPJ,关于GPIO的配置我想就不用再多说了吧。。。。。。
下面就按上图来
1】固定值
第1步骤就是往寄存器里设置固定的值,我们就按它的要求设置就可以了
2】像素模式