现在的位置: 首页 > 综合 > 正文

LCD显示原理 && LCM显示需要内存大小的计算

2013年10月05日 ⁄ 综合 ⁄ 共 1519字 ⁄ 字号 评论关闭

      液晶显示器按驱动方式分为静态驱动、简单矩阵驱动及主动矩阵驱动。其中,简单矩阵又可细分扭转向列型(TN)和超扭转向列型(STN)两种,而主动矩阵驱动则以TFT为主。
      TN型驱动液晶,是LCD中最基本的,其他LCD都以TN型改进而得。它只能将入射光旋转90度,切视角只有30度,色彩单一、对比度低,用于电子表和电子计算器。
      STN型驱动液晶,可将入射光旋转180度至270度,也改善了视角。它通过搭配彩色滤光片,将单色矩阵的任意像素分成3个子像素成红绿蓝,再经由三原色按比例调和,显示出逼近全彩模式的色彩。
      TN与STN都采用场电压驱动方式,如果显示尺寸加大,中心部分对电极变化的反应时间就会变长,显示器的速度跟不上。为了解决这个问题,主动矩阵驱动TFT被提出。它通过晶体管显示信号开启或关闭液晶分子的电压,从而避免了显示器对电场效应的依靠。
      一块LCD屏显示图像不但需要LCD驱动器,还需要LCD控制器。前者一般和LCD屏做在一起,后者则由外部电路来实现,很多主芯片CPU集成了LCD控制器。依据显示原理:作为帧同步信号的vsync,每发出一个脉冲,都意味着新的一副图像数据开始传送。而作为行同步信号的hsync,每发出一个脉冲,都表明新的一行图像资料开始发送。在帧同步和行同步的头尾都必须有回扫时间,这个原因始于CRT的电子枪是需要回扫时间的,后来延续下来成工业标准。
      LCD的显示参数描述如下:

(1)定时参数,诸如行场起始,有效值,行场同步宽度等,均可参考LCD规格书获得。

(2)像素时钟,最简单的算法是:行像素之和 X 列像素之和 X 场频。反之,如果我们知道某LCD的时钟,如28.37516MHZ,那么取其倒数,即得画一个像素点需要多少秒。 
(3)颜色位域,这个是由显示缓冲区跟显示像素点的对应关系决定的。比如RGB565模式,RED占5位,偏移11位;GREEN占6位,偏移5位;BLUE占5位,偏移0位。那么就把这些值赋给结构体fb_info->var->red.offset,fb_info->var->red.length等。

(4)固定参数,比如根据LCD的显示参数计算帧缓冲设备分配的缓冲区大小,为:行最大显示解析度*列最大解析度*每像素最大字节数。

(5)flicker的原理,如下:

================================================================================================================

          使用帧缓冲FB来显示LCD图像,少不了内存映射和分配,那么内存大小如何计算的呢?

         Disp需要的内存分为LCM和surface flinger的上层surface需要的内存,其中上层的buffer size是不固定的,LCM部分的buffer size是可以计算得到的。

(1)Framebuffer:在屏幕分辨率和数据传输格式确定后,该size是一定的为width*height*(32/8)*2。

(2)DPI buffer:如果LCM是DPI或者DSI video mode,需要该buffer size=dsiTmpBufBpp×buffer_num×width×height,
其中dsiTmpBufBpp=2(RGB565) or 3(RGB888)、buffer_num = params->dsi.internediat_buffer_num(defulat=2)、width = params->width、height = params->height。

抱歉!评论已关闭.