关键词:
LED , S3C2440 , 背光源
引言
节能环保技术是当前世界所关注的焦点,在液晶显示模组中,背光源的功耗最高可占总功耗的50%以上。尤其在10in 以下显示产品如手机、PDA、MP3 等便携式设备中,基本采用电池供电,功耗问题尤为突出。为有效降低液晶显示器背光源的亮度,以达到节电目的,本文在ARM 开发平台上实现了一种基于直方图变换的背光源调光方法,实验证明,本文提出的方法在失真度为5%的情况下可实现背光节电约35%.
1 背光源调光方案
以TFT 液晶面板结构为例,包括背光、偏光片、液晶阵列、彩色滤光片等部分,人眼所感知的显示图像为上述各部分的综合效果。假设背光亮度归一化后设为b(为[0,1]区间实数),0 对应于背光关闭情况,1 对应于背光发光亮度最大情况。若光源为LED,则b 的调节可包括电流脉宽调制、电流幅度调节等方法。
假设以图像为8bit 灰度图进行讨论,f(x,y)表示图像中某点(x,y)的灰度值,x、y 为该点坐标。则该点位置的液晶透过率可表示为:
t (x,y)=f(x,y)/255 (1)
该图像点可被观测到的亮度L(x,y)为背光源发光和液晶透过率的综合效果,可表示为背光亮度b和液晶透过率t (x,y)的近似线性组合:
L(x,y) =b·t (x,y) =b·f(x,y)/255 (2)
根据视觉光效一致性的要求,必须寻找一种方法使像素灰度值在增大(以补偿背光b 变小)的时候尽量不饱和。为达到这个目的,本文首先将图像灰度值范围先限制在一定区间,然后再对直方图进行拉伸,以实现像素灰度值的增大。图像直方图由门限fgl 和fgh 进行裁剪,使图像中的某些点被钳位于fgl 和fgh,该图像的灰度区间限制于[fgl,fgh],背光源调光问题转化为这幅直方图经过裁剪的图像应当如何进行调整,使得它的背光能尽量降低亮度。
显然对固定的失真度,fgl 和fgh 可以有多种取值,这里取值方式应满足公式(3):
min (fgh- fgl ) (3)
这样处理的目的是将图像灰度区间限制在一个最小范围内。
公式(3)实现后,下一步对直方图进行线性搬移,使灰度整体向暗区域移动fgl.这样图像灰度区域由[0,255]区间内的原分布,被压缩在[0,fgh- fgl]区间。
假设背光变暗,此时应对图像进行灰度拉伸,以弥补背光导致的亮度损失。若采取线性拉伸方法,显然拉伸的最大倍数为255/(fgh- fgl),此时像素灰度不会饱和,则背光亮度可由1 降低为(fgh- fgl)/255.根据公式(2),经过处理后的图像在背光调节前后视觉效果不变。
2 硬件和软件实现方案
本实验采用mini2440 开发板进行验证,mini2440是一款低价实用的ARM9 开发板,处理器为三星S3C2440(ARM920T,最高主频可达532MHz)。液晶屏支持黑白、4 级灰度、16 级灰度、256 色、4,096 色STN 液晶显示,尺寸从3.5~12.1in,屏幕分辨率可以达到1,024×768 像素,实验采用了3.5in LED 背光TFT液晶屏。
实验中根据图像算法计算图像的灰度值,通过对显示图像的直方图进行裁剪,使之限定在一定范围内,其后进行直方图拉伸,再由计算公式(fgh- fgl)/255 计算出背光源的显示亮度,并控制背光源脉宽调制输出脉冲的占空比,实现背光源LED 的亮度调节。硬件框图如图1 所示。
2012-7-20 16:13:16 上传
下载附件 (27.82 KB)
2.1 LED 背光源驱动设计
设计采用恒流型LED 驱动,输出电流稳定,保证了背光LED 的亮度恒定,方便通过更改相关的外围电阻来确定输出电流的大小,并具有高灵敏度的开关控制功能,能实现通过PWM 来控制LED 的亮度。
AMC7140 是大功率的LED 恒流驱动芯片,宽电压输入DC 范围为5~50V, 输出电流最大达700mA, 适合驱动1W、3W、5W 的LED 灯,TO- 252- 5L 封装,带PWM CONTROL 端(OE 引脚)。如图2 所示是AMC7140 的引脚图,其中引脚1 是电源输入;引脚2 是输出电流的控制端,通过一个高精度的电阻Rset 接地实现对电流的控制,电流Iset=1.2V/Rset,输出电流Iout=500×Iset;引脚3 接地;引脚4 是PWM 控制端,高电平有效;引脚5 是输出端。AMC7140 的应用电路如图3 所示。
2012-7-20 16:14:43 上传
下载附件 (22.98 KB)
2012-7-20 16:14:43 上传
下载附件 (22.85 KB)
2.2 基于S3C2440 的PWM 控制的实现
S3C2440 有5 个16bit 定时器。定时器0、1、2、3 有脉宽调制功能(PWM);定时器4 是内部定时器,没有输出引脚;定时器0 有死区发生器,常用于大电流设备中;定时器0、1 共用一个8bit 预脉冲分频器,定时器2、3、4 共用另外一个。每个定时器都有一个时钟分频器,它可以产生5 种分频信号(1/2、1/4、1/8、1/16 和TCLK)。每个定时器模块从自己的时钟分频器获取时钟信号,时钟分频器从相应的8bit 预脉冲分频器中获取时钟。这个8bit 预脉冲分频器是可编程的,并依据TCFG0 和TCFG1 寄存器中的值对PCLK进行分频。定时器被使能之后,定时器计数缓冲寄存器(TCNTBn)中的初始值就被加载到递减计数器中, 定时器比较缓冲寄存器(TCMPBn) 中的初始值就被加载到比较寄存器中,以便与递减计数器的值进行比较。这种TCNTBn 和TCMPBn 的双缓冲特点使得定时器在频率和占空比变化时输出的信号更加稳定。每个定时器都有一个自己的时钟驱动的16bit 递减计数器,当计数器减到0 时,产生一个定时器中断请求,以通知CPU 定时器操作完成,同时定时器计数缓冲寄存器的值被再次自动加载到递减计数器继续下次操作。然而,如果在正常模式下清除定时器TCONn 的使能位,TCNTBn的值将不再加载进计数器,TCNTBn 的值常用于PWM.当递减计数器的值等于比较寄存器的值,定时器控制逻辑改变输出电平,因此,比较寄存器决定了PWM 输出的开启和关闭。
设置一个定时器,首先初始化TCNTBn 和TCMPBn,在初始化定时器时,主要设定以下几个寄存器(以定时器0 为例):
定时器输出时钟频率= PCLK/(prescaler value+1)/(divider value)
TCFG0 寄存器设置:TCFG0=99;//prescaler value=“99”
TCFG1 寄存器设置:TCFG1=0x03;//divider value=“1/16”
这样,当PCLK=400M 时,定时器输出频率为6.25M.
定时器初值的设置包括:
TCNTB0 寄存器设置:TCNTB0=62500;// 装入初值1s 中断一次
TCMPB0 寄存器设置:TCMPB0=rTCNTB0>1;//50%
接着就可以启动定时器,第一次必须手动装载:TCON=1<1;
装载后, 改为自动装载, 并启动定时器:TCON=0x09.
2.3 基于S3C2440 的图像算法设计
S3C2440 芯片内部集成了LCD 控制器,用来向LCD 传输图像数据,并提供必要的控制信号,比如VFRAME、VLINE、VCLK、VM 等,可以支持STNLCD和TFTLCD.mini2440 采用3.5in(分辨率为240×320像素)的TFT 液晶显示屏,配置为常用的16BPP(5:6:5)模式。要显示图像,只要向LCD_BUFFER 写入像素数据(R(5):G(6):B(5)),LCD 控制器就会自动通过DMA读取数据送往TFTLCD显示。
图像算法是基于图像直方图进行数据变换的,所以,首先应编写子程序并先计算形成显示图像的灰度直方图,算法如下所示(其中bmp 为原始的灰度图像,bmp_2 为灰度值数组):
for( y = 0;y < 320;y++ )
{for(x = 0; x < 240; x++)
{bmp_2 [bmp[p]] ++;
p = p + 1;
}
}
假设取5%的失真度,那么需要变换的像素点数量为240×320×5%=3,840 点,然后根据上述算法原理采用逐点计算的方法使fgl 从灰度0 开始分别计算出对应的(fgh- fgl ),最后比较求出min(fgh - fgl)。
下一步对直方图进行线性搬移,使灰度整体向暗区域移动fgl,这样图像灰度区域由[0,255]区间内的原分布,被压缩在[0,fgh- fgl]区间。接下来应对图像进行灰度拉伸,以弥补背光导致的亮度损失。若采取线性拉伸方法, 显然拉伸的最大倍数为255/ (fgh- fgl)。算法如下所示(其中bmp 为原始的灰度图像,bmp_new 为更新图像,min= min(fgh - fgl)):
for(y = 0;y < 320;y++)
{for(x = 0;x < 240;x++ )
{if (bmp[p]>= fgl )
bmp_new[p] = (bmp[p] - fgl )*255/min;
else
bmp_new[p] =0;
p++;
}
}
此时像素灰度不会饱和,则背光亮度可由1 降低为(fgh- fgl)/255,由LED 驱动电路通过PWM 实现相应亮度的控制。
3 实验结果
如图4 所示为测试图像,图4(a)为原始图像,图4(b)、(c)、(d)为采用直方图裁剪与拉伸算法的试验结果图。
2012-7-20 16:14:43 上传
下载附件 (52.47 KB)
测试图4 (b) 的失真度为5% ,节能比例为35% ;测试图4(c)的失真度为10% ,节能比例为55% ;测试图4(d)的失真度为20% ,节能比例为67%.由实验结果可知,在一定的失真度下,显然直方图裁剪的灰度范围越小,背光亮度可降低的幅度越大。原始测试图像与经过直方图裁剪和拉伸的图像相比,在失真度5%的约束下,由于图像进行了直方图搬移,整体亮度有所变化,总的来说图像质量没有明显损失。
4 结论
本文提出了基于视觉特性的液晶显示器背光源节电调光方法,建立了直方图裁剪和拉伸的处理框架,并在此基础上利用ARM 平台加以验证,证明本文的方法在失真度为5%的情况下可实现约35%的背光节电效果,且图像质量没有明显损失。
来源:电子工程网