基于S3C2440的LED背光源节电系统设计方案

发布者:SerendipityRose最新更新时间:2012-09-13 来源: 21ic 关键字:S3C2440  LED背光源  节电系统 手机看文章 扫描二维码
随时随地手机看文章

引言

节能环保技术是当前世界所关注的焦点,在液晶显示模组中,背光源的功耗最高可占总功耗的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 所示。

 

图1 基于S3C2440的图像处理和背光源控制框图

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 所示。

 

图2 AMC7140引脚图

 

 

图3 AMC7140应用电路

 

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 输出的开启和关闭。[page]

设置一个定时器,首先初始化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)为采用直方图裁剪与拉伸算法的试验结果图。

 

图4 测试图像

 

测试图4 (b) 的失真度为5% ,节能比例为35% ;测试图4(c)的失真度为10% ,节能比例为55% ;测试图4(d)的失真度为20% ,节能比例为67%.由实验结果可知,在一定的失真度下,显然直方图裁剪的灰度范围越小,背光亮度可降低的幅度越大。原始测试图像与经过直方图裁剪和拉伸的图像相比,在失真度5%的约束下,由于图像进行了直方图搬移,整体亮度有所变化,总的来说图像质量没有明显损失。

4 结论

本文提出了基于视觉特性的液晶显示器背光源节电调光方法,建立了直方图裁剪和拉伸的处理框架,并在此基础上利用ARM 平台加以验证,证明本文的方法在失真度为5%的情况下可实现约35%的背光节电效果,且图像质量没有明显损失。

关键字:S3C2440  LED背光源  节电系统 引用地址:基于S3C2440的LED背光源节电系统设计方案

上一篇:基于ZigBee和S3C2440的手持式校准仪研制方案
下一篇:基于S3C2440的智能家居远程监控系统解决方案

推荐阅读最新更新时间:2024-03-16 13:08

s3c2440裸机-异常中断(四. irq之外部中断)
中断前: 中断产生后: 问题案例: 我们想实现一个按键点灯程序,我们知道有以下两种方案: 1.轮询方案:轮询检测按键的电平状态,当检测到被按下后,对应的gpio会拉低,点亮对应的led;(略) 2.中断方案:将按键配置成外部中断源,当有按键按下,触发中断,在中断服务程序(isr)中去完成点灯。 下面开始写代码: 一.中断初始化 1)中断源设置 我们用按键作为外部中断源,我们把按键对应的gpio配置成中断引脚,当按键按下,相应的gpio产生了电平跳变,就会触发外部中断。 我们想达到按下按键灯亮,松开按键灯灭这种效果(配成双边沿触发,按下的时候产生下降沿中断,进行点亮,松开产生上升沿中断,进行熄灭)。当然也可做成按一下
[单片机]
<font color='red'>s3c2440</font>裸机-异常中断(四. irq之外部中断)
裸机系列——IIS_DMA
s3c2440的IIS总线已经弄了好久,今天大概可以做个总结了吧,最近几天调试IIS弄了人有点疲惫,遇到了很多的问题,但是正是这些问题让我在成长。过多的情绪就不在表现了。进入今天的主题,IIS——DMA总结。 问题1、DMA物理地址 前面我调试DMA的时候也是调了好几天的DMA的UART通信一直得不到结果,后面上网搜了一些大概的信息,DMA需要传输时需要设置连续的物理地址,同时关于虚拟地址,物理地址,总线地址这些不明白,所以我就把#define buffer ((volatile unsigned short *)0x55000010)这种绝对地址当做唯一的物理地址。后面因为直接给个我认为的物理地址后程序不好弄就没调试了。
[单片机]
ARM9_S3C2440学习(四)FIQ和IRQ区别
ARM 处理器有 FIQ和 IRQ 两级外部中断,它们都是由对电平敏感的低电平(LOW)信号激活进入处理器的。为了产生中断,CPSR 中的相应禁用位必须清零。 快速中断请求(Fast Interrupt Request,FIQ),IRQ全称为Interrupt Request,即是“中断请求”的意思。 FIQ 的优先级比 IRQ高,具体表现如下: (1)当发生多个中断时,首先处理 FIQ。 (2)处理 FIQ会导致禁用 IRQ 和后续 FIQ,在 FIQ处理程序启用之前,不会处理 IRQ 和后续 FIQ。这通常是通过在处理程序结束时从 SPSR恢复 CPSR来完成的。 FIQ 向量是向量表的最后一个入口,因此
[单片机]
四 ARM9(S3C2440)的ADC和触摸屏控制——理论知识
概述 10 位CMOS ADC(模/数转换器)是一个8 通道模拟输入的再循环类型设备。其转换模拟输入信号为10 位二 进制数字编码,最大转换率为2.5MHz A/D 转换器时钟下的500 KSPS。A/D 转换器支持片上采样-保持功能和掉电 模式的操作。 触摸屏接口可以控制/选择触摸屏X、Y 方向的引脚(XP,XM,YP,YM)的变换。触摸屏接口包括触摸屏引 脚控制逻辑和带中断发生逻辑的ADC 接口逻辑。 触摸屏接口模式 1. 普通转换模式 单转换模式是最合适的通用ADC 转换。此模式可以通过设置ADCCON(ADC 控制寄存器)初始化并且通过读写 ADCDAT0(ADC 数据寄存器0)就能够完成。 2. 分离的X/Y 方向转换模
[单片机]
s3c2440的网卡接口扩展
网络对于嵌入式系统来说必不可少。可是s3c2440没有集成以太网接口,所以要想使s3c2440具备以太网的功能,就必须扩展网卡接口。在这里,我们外接DM9000,使其可以与以太网相连接。 DM9000可以直接与ISA总线相连,也可以与大多数CPU相连。在这里,我们当然是要让DM9000与s3c2440相连接了。DM9000对外来说只有两个端口 地址口和数据口,地址口用于输入内部寄存器的地址,而数据口则完成对某一寄存器的读写。DM9000的CMD引脚用来区分这两个端口,当CMD引脚为0时,DM9000的数据线上传输的是寄存器地址,当CMD引脚为1时,传输的是读写数据。我们把DM9000的A8和A9接为高电平,把A4~A7接为
[单片机]
s3c2440裸板_时钟系统及定时器
若Fout = 200MHz则, Fout = 2 *m * Fin / (p * 2 ^ s) = 2 * (92 + 8) * 12MHz / (3 * 2 ^ 2) = 200MHz m = 100, MDIV = 92 p = 3, PDIV = 2 s = 2, SDIV = 2 #define S3C2440_MPLL_200MHZ ((0x5c 12) | (0x01 4) | (0x02)) CLKDIVN = 0x03; // FCLK:HCLK:PCLK=4:2:1, HDIVN=1,PDIVN=1 /* * * * * * * * * * * * *
[单片机]
<font color='red'>s3c2440</font>裸板_时钟<font color='red'>系统</font>及定时器
s3c2440头文件之2440lib.h
//=================================================================== // File Name : 2440lib.h // Function : S3C2440 // Date : February 26, 2002 // Version : 0.0 // History // 0.0 :Feb.20.2002:SOP : Programming start // 0.01:Mar.29.2002:purnnamu: For Sleep_wake_up, the START... label is added //==================
[单片机]
基于Linux NFS的Web数码相框设计
   O 引言   随着数码相机和互联网的普及,越来越多的家庭拥有自己的媒体库。媒体库中既包含有自己拍摄的影像文件,也有从网络上下载的影像资料。然而展示影像资料的手段单一,主要通过PC来实现。因此未来构建以媒体库为中心的家庭多媒体网络,把多媒体资料在各式各样的家庭网络媒体终端上展示出来,将成为一种必然的趋势。媒体终端包括Web数码相框、网络数字电视等。   Web数码相框的提出正是为了设计一种家庭嵌入式网络媒体终端,但目前市场上常见的数码相框的网络可扩展性差,本设计方案的提出正是为了能够弥补这方面的不足,提高网络可扩展性。并在本设计方案的基础上构建网络数字电视等其他多功能终端实体。    1 技术方案   Web数
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved