Chinaunix首页 | 论坛 | 博客
  • 博客访问: 49765
  • 博文数量: 11
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 164
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-05 23:14
文章分类

全部博文(11)

文章存档

2013年(11)

我的朋友

分类: LINUX

2013-08-24 22:26:12

LCD显示器的种类很多,嵌入式中常用的有STNTFT

显示器上数据的组织格式

一幅图像被称为一帧,每帧由多行组成,每行由多个像素组成,每个像素的颜色使用若干位的数据来表示。对于单色显示器,每个像素使用1位来表示,称为1BPP;对于256色显示器,每个像素使用8位来表示,称为8BPP

显示器沿着“Z”字行的路线进行扫描,使用HSYNCVSYNC信号来控制扫描路线的跳转,HSYNC表示“是跳到最左边的时候了”,VSYNC表示“是跳到最上边的时候了”。


基于TFT LCD来介绍LCD控制器的使用。对于STN LCD,它所涉及的操作时类似的。


下面讲解时序图,请参考上图。

(1)VSYNC信号有效时,表示一帧数据的开始。

(2)VSPW表示VSYNC信号脉冲宽度为(VSPW+1)个HSYNC信号周期,即(VSPW+1)行,这(VSPW+1)行的数据无效。

(3)VSYNC信号脉冲后,还要经过(VBPD+1)个HSYNC信号周期,有效的行数据才出现。所以,在VSYNC信号有效之后,总共还要经过(VSPW+1+VBPD+1)个无效的行。

(4)随后即连续发出(LINEVAL+1)行的有效数据。

(5)最后是(VFPD+1)个无效行。完整的一帧结束,紧接着就是下一个帧的数据了。

现在深入到一行中像素数据的传输过程,它与上面行数据的传输过程相似。

(1)HSYNC信号有效时,表示一行数据的开始

(2)HSPW表示HSYNC信号的脉冲宽度为(HSPW+1)个VCLK信号周期,即(HSPW+1)个像素,这(HSPW+1)个像素的数据无效。

(3)HSYNC信号脉冲之后,还要经过(HBPD+1)个VCLK信号周期,有效的像素数据才出现。所以,HSYNC信号有效之后,总共还要经过(HSPW+1+HBPD+1)个无效像素。

(4)随后即连续发出(HOZVAL+1)个像素的有效数据

(5)最后是(HFPD+1)个无效像素。完整的一行结束,紧接着就是下一行的数据了。


时序图中各信号的时间参数都可以在LCD控制器中设置,VCLK作为时序图的基准信号,它的频率可以如下计算:

VCLK(Hz) = HCLK/[(CLKVAL+1)x2]

Frame Rate = 1/ [ { (VSPW+1) + (VBPD+1) + (LIINEVAL + 1) + (VFPD+1) } x {(HSPW+1) + (HBPD +1)+ (HFPD+1) + (HOZVAL + 1) } x { 2 x ( CLKVAL+1 ) / ( HCLK ) } ] 

VSYNCHSYNCVCLK等信号的时间参数设置好之后,并将帧内存的地址告诉LCD控制器,它既可自动发起DMA传输从帧内存中得到图像数据,最终在上述信号的控制下出现在数据总线VD[23:0]上。


阅读(1690) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~