kenson 发表于 2010-10-29 10:51:10

采用PWM和FRC混合算法实现256K彩色LCD驱动芯片的灰度调制

求助各位兄弟一下,请问有那位有这编“采用PWM和FRC混合算法实现256K彩色LCD驱动芯片的灰度调制”文章的。
小弟万分感激!再次谢过。

kenson 发表于 2010-10-29 10:56:44

空间扩展FRC 算法及其实现ourdev_593735TF6V0H.pdf(文件大小:475K) (原文件名:空间扩展FRC 算法及其实现.pdf)


这个在网上找到的 "空间扩展FRC 算法及其实现"

kenson 发表于 2010-10-29 10:59:35

如何在LCD上实现灰度--LCD讲座之一   
大家知道,液晶的显示效果,是由加在液晶上的有效电压决定的。灰度(彩色)的实现有两种方式,即PWM(脉宽调制)和FRC(帧率控制)。    PWM是在一次扫描时间内分成若干个时间片,如16级灰度,就分成16个时间片,如果显示5/16灰度,那么只有5/16的时间内是有驱动电压的(对同一个点而言),最后的等效电压就只有全黑的5/16了;FRC跟PWM类似,只是每个时间片变成了一帧,如显示16级灰度,那么就要用16帧,显示5/16的灰度,在16帧里只有5帧有驱动电压(对同一个点而言),最后的等效电压就只有全黑的5/16了。PWM能产生最高的色彩表现度,由于切换频率较高,故须耗用更多的电力。FRC耗用的电力较低,但在某些特殊画面下却会产生肉眼可见的抖动,让使用者产生不适的感觉。FRC 是以数帧画面为一个时间单元,控制显示像素选通的帧数来实现灰度控制。它是把若干帧合并为一个大单位,但这种方法会引起灰度级别的闪烁,要解决这个问题必须提高帧频率,而液晶的响应速度不会很高,因而用这种灰度调制方式不能显示较高级别的灰度和较快的活动图像。PWM模式是在数据脉冲中划出一个灰度调制脉冲,这个脉宽的宽度可以划分为多个级别,不同的脉宽代表不同的灰度信息,从而使被选通的像素实现不同的灰度级别。由于液晶对过窄脉冲不能响应,所以一般不能用来产生较高的灰度级别。从上面的分析可以看出这两种方法单独使用都不能产生较高的灰度级别,所以在整个芯片的灰度实现时采用两者相结合的方式。



    一般对于4级以上的灰度,是采用PWM+FRC结合的方式。因为灰度越高,采用PWM需要的频率就越高,如16级灰度,320行,刷新率60HZ,需要16x320x60=307200Hz。频率越高,IC的结构越复杂,而稳定性越差,功耗也越大;而采用FRC,灰度级越多,一个周期需要的帧数越多,如16级灰度需要16帧,刷新率60Hz时每秒钟不到4个周期,这样看起来就会有闪烁,所以就得提高刷新率,这同样要提高频率,增加功耗,同时还要提高液晶的反应速度,而液晶的反应速度总是有限的,且提高速度会大大增加液晶的成本。如果采用PWM+FRC,可以用2-bit (即4级)PWM和2-bit(4帧)FRC或者3-bit(8级)PWM和1-bit(2帧)FRC,这样就就能很好解决这些问题,弥补各自的不足。    至于彩色,跟灰度是一样的,只是三基色的调配而已,如3-3-2方式的256色,只是RGB三个颜色的灰度分别是8,8,4而已

danielzhuang 发表于 2010-10-29 11:01:38

支持下

again 发表于 2010-10-29 11:09:02

举手之劳
点击此处下载 ourdev_593737STVDE3.pdf(文件大小:182K) (原文件名:采用PWM和FRC混合算法实现256K彩色LCD驱动芯片的灰度调制.pdf)

kenson 发表于 2010-10-29 11:12:06

感谢上面的兄弟!!

kenson 发表于 2010-10-29 11:13:56

灰度的实现(进阶篇)——LCD讲座之五

   前面的讲座里讲到灰度的实现有两种方式:FRC和PWM。它们属于基本的灰度实现方法,即输出的数据(波形)完全是按照各个象素自己的内容输出的,跟其它的点没有任何关系。而通常在高级的专用控制器中,会采用一些数学算法来实现用低灰度输出的电路来实现高灰度等级的输出,如原本只能输出16级灰度,通过某些数学_运算之后,可以实现64级灰度,这个方法就是“抖动”(dithering)。
    为了说明抖动的理论依据,我们可以回想一下,有时候我们远看某个物体,看见的是一种颜色,而走进一看,才发现是有多种颜色交错的,这说明,人视觉看的某点的颜色,会受旁边点的颜色的影响。抖动正是利用了这个效应。至于实现高色彩为什么要用抖动而不完全用PWM和FRC,原因前面有提到过,要实现高灰度等级,PWM和FRC都需要比较高的工作频率,电路就会比较复杂,成本会增加,而且耗电量也会增加。而对于一般小尺寸的便携式LCD,成本和耗电量是两个及其重要的参数,因此抖动是一种比较好的选择。
下面解释一下抖动的实现,如图
此主题相关图片如下:

http://cache.amobbs.com/bbs_upload782111/files_34/ourdev_593740F8RAS6.jpg
(原文件名:1625517990505395141.jpg)


上面的小方块表示灰度级,下面的大方块表示4个象素用黑白来实现灰度。通过这种方法,对每个点采取同样的运算,就可以用黑白实现4级灰度,如果用更多的点,则可以实现更多的灰度,但是由于周围的点要做运算,要添加额外的运算电路,另外,经过运算之后,由于相邻的点相互左右,相当于部分的降低了分辨率,因而实际的应用系统中,一般都是2-bit即4个点的抖动。所以单独的控制器,一般64级灰度是由16级FRC加4个点的抖动。
    同样是抖动,有静态抖动和动态抖动之分。所谓静态抖动,实际上就是跟周围的点采用固定的运算,如上图中的,每种灰度跟周围点只有一种运算方法。而动态抖动,是每一帧中,对相同的灰度,对周围的点采用不同的运算方法,如上图中的灰度,也可以用下图的运算来实现:
此主题相关图片如下:

http://cache.amobbs.com/bbs_upload782111/files_34/ourdev_593741T3AV0B.jpg
(原文件名:794322384279274251.jpg)

大家可以想到,还有其它的运算也是可以的。动态抖动的好处是,可以最大限度的减小由于抖动带来的分辨率降低。
目前市面上的控制器,大部分都是用的静态抖动(如EPSON的SED13XX系列产品),小部分用动态抖动(如SOLOMON SYSTECH的SSD19XX系列)

above2009 发表于 2010-11-4 21:24:35

先谢辛勤的劳动,楼主说的很有道理。不过从讲座一到讲座五未免相当跳跃了点,期待二,三,四哦!

www1519 发表于 2010-11-4 22:25:51

mark

wanwzy 发表于 2010-11-9 18:19:29

mark

niba 发表于 2010-11-12 23:31:05

有点深度。。
页: [1]
查看完整版本: 采用PWM和FRC混合算法实现256K彩色LCD驱动芯片的灰度调制