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
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
相关文章推荐
- MTK 平台LCD DENSITY计算
- [lcm] MTK平台移植屏幕lcd过程要点
- [lcm] Qualcomm平台兼容多显示屏lcd的方法&并从lk传输到kernel过程
- MTK平台在缅甸语环境下修改时间显示为阿拉伯数字 如:16:45
- 问题:MTK手机软件开发平台中字串资源添加进去了,菜单也能用,但是菜单上的字符串显示不出来。
- RT-Thread 学习笔记(十二)--- 开启基于RTGUI的LCD显示功能(2)<编译测试>
- sizeof&结构体、共同体大小的计算方法笔记
- Qt 应用程序在ARM9板中显示中文2-Qt 字体大小的计算
- JQuery计算当前Dom结构在浏览器窗口中被显示方法(懒加载原理)
- STM32学习之路-LCD(3)<显示图片>
- 【转】 mtk平台camera流程原理(转+改)
- linux2.6.32.2 mini2440平台移植-- LCD 显示驱动(W35屏)
- LCM之Fmark功能 && LCD控制器同LCD驱动器的差别 && 帧率与刷新率的关系 && OLED背光
- UILabel计算文字宽高后设置控件大小,显示英文时候上方会有横线
- android系统平台显示驱动开发简要:LCD驱动调试篇『四』
- MTK 6572平台使用./mk r k编译LCD驱动修改不成功的原因
- sharp LCD 在9263平台上的显示(kernel部分)
- MTK平台如何定位显示花屏和界面错乱等绘制异常的问题
- WIFI之一:WIFI常识 && ANDROID平台上调试APM6633 && 基站定位原理
- 转载:LCD显示原理及应用