您的位置:首页 > 其它

LCD显示原理 && MTK平台LCM显存大小的计算 && mtk6589LCD显示子系统

2010-03-24 17:05 423 查看
液晶显示器按驱动方式分为静态驱动、简单矩阵驱动及主动矩阵驱动。其中,简单矩阵又可细分扭转向列型(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的原理,如下:





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

disp需要的内存分为LCM和surface flinger的上层surface需要的内存,其中上层的buffer size是不固定的,LCM部分的buffer size是可以计算得到的。LCM的buffer 一共有3部分:(单位byte)

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(RGB666/888),buffer_num = params->dsi.internediat_buffer_num(defulat=2),width = params->width,height = params->height。

3、Assert Layer buffer: 该size也一定,为 width*height*(16/8)+4096

故WVGA RGB888(即24bit)数据传输为例:800×480×4×2 + 800×480×3×2 + 800×480×2+4096 aline到1M为6M

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

到具体CPU平台上,LCD模块的图像处理和叠加等,可以参照如下一篇博文的讲解:mtk6589显示子系统笔记

http://blog.csdn.net/zengkexu/article/details/8597994
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: