基于S3C2440的LED背光源节电系统设计方案
CNTBn)中的初始值就被加载到递减计数器中, 定时器比较缓冲寄存器(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)为采用直方图裁剪与拉伸算法的试验结果图。
测试图4 (b) 的失真度为5% ,节能比例为35% ;测试图4(c)的失真度为10% ,节能比例为55% ;测试图4(d)的失真度为20% ,节能比例为67%.由实验结果可知,在一定的失真度下,显然直方图裁剪的灰度范围越小,背光亮度可降低的幅度越大。原始测试图像与经过直方图裁剪和拉伸 的图像相比,在失真度5%的约束下,由于图像进行了直方图搬移,整体亮度有所变化,总的来说图像质量没有明显损失。
4 结论
本文提出了基于视觉特性的液晶显示器背光源节电调光方法,建立了直方图裁剪和拉伸的处理框架,并在此基础上利用ARM 平台加以验证,证明本文的方法在失真度为5%的情况下可实现约35%的背光节电效果,且图像质量没有明显损失。
S3C2440 ARM LED背光 TFT 液晶面板 相关文章:
- 千兆网络接口在S3C2440A系统中的应用(10-19)
- 基于嵌入式ARM9的USB设计与实现(07-16)
- 基于Linux和s3C2440的GPC控制器设计(01-24)
- 基于嵌入式系统的银行评价器设计方案(03-29)
- 基于S3C2440的基础介绍、技术文献及设计方案大全(03-08)
- 基于ARM的除法运算优化策略(01-14)