1、LCD显示的几个问题
(1)如何移动电子枪
每来一个时钟(clk)就移动一个像素
(2)颜色如何确定
由RGB三组线确定每个像素点的颜色
(3)电子枪如何得知跳到下一行
电子枪接收到Hsync(水平同步信号)脉冲就跳一行
(4)电子枪如何得知跳回原点
电子枪接收到Vsync脉冲信号就跳一帧,回到原点
(5)RGB线上的数据从何而来
在内存中,会分配一块区域,也就是常说的framebuffer。每个像素点在这个framebuffer都有相应的内存表示,被LCD控制器读出来,通过RGB三组线传给电子枪,再打在屏幕上
(6)上面对应的信号都是谁负责发出?
只要支持LCD的开发板,都会有一个LCD控制器,负责发出上面的控制信号
2、LCD时序图
(1)我们可以看到在电子枪每个CLK的下降沿会从数据线中读取数据,然后发射到每个像素中。这些数据是的源头是framebuffer
(2)Hsync信号的thp时间是脉冲宽度,能足够让电子枪反应过来。电子枪接受到Hsync信号号后,要从最左边移动到最右边,thb时间就是电子枪的移动时间。再过thf时间后(也就是显示完最右边的像素后),下一个Hsync信号才过来
(3)同理,Vsync信号的脉冲宽度是图中的tvp,从最后一个像素点移动到原点所需要的时间为tvb。再过tvf时间后(也就是显示完最后一行),下一个Vsync信号才过来。
(4)假设一个Hsync信号周期内发射了x个数据到像素点上,一个Vsync信号之间有y个Hsync信号,那么分辨率就是x*y
另外有一篇文章对LCD的显示原理有详细的介绍:
http://www.cnblogs.com/shangdawei/p/4760933.html