全彩LED驱动芯片的S-PWM优化
2012-06-07安友伟
王 巍,黄 展,安友伟,丁 锋
(重庆邮电大学微电子重点实验室,重庆 400065)
1 LED显示屏简介
LED全彩显示屏是20世纪90年代在全球迅速发展起来的新型信息显示媒体,它结合了现代高新技术,具有节能、环保、色彩鲜艳、可显示动态画面以及文字、可视范围广阔等一系列优势[1]。随着科技、经济等方面的不断发展,为LED显示屏的应用提供了广阔的市场。作为一种媒介载体,LED显示屏已成为影视表演、大型歌舞、综艺、晚会等不可缺少的组成部分,同时也是公共媒体、户外广告、亮化工程等城市建设的宠儿[2]。灰度等级是衡量LED显示屏显示效果的一个重要指标,灰度等级越高,显示的效果越逼真。所谓灰度等级,就是指可以进行控制的灰度级等级的多少。市场上现有的LED大屏幕显示产品灰度等级一般在12 bit以上,对显示效果要求更高的屏幕灰度等级可以达到16 bit。若使用传统的PWM方法来产生如此高灰度等级的灰度控制信号,会存在当高比特数据为0时LED灯长时间处于熄灭状态,带来数据刷新率变低的缺陷,可能会给人眼带来闪烁感,从而影响LED屏幕显示的效果[3]。S-PWM正是为了弥补这种缺陷而产生的,然而当10 bit的高位数据全部为0时,S-PWM和传统的PWM方法产生的灰度等级控制信号几乎是完全一样的,并没有发挥出S-PWM的优势。
本文提出的改进型的S-PWM方法能很好地弥补当10 bit的高位数据全部为0时S-PWM和传统的PWM方法的不足,提高了LED显示屏的显示效果。
2 PWM和S-PWM
PWM(Pulse Wide Modulation)亮度控制技术是把灰度数据转换成灰度等级控制信号的过程。灰度等级控制信号用来控制信号控制每个LED灯的点亮时间,来使LED灯达到期望的亮度值。例如,一个包含65536级灰度的16 bit二进制灰度数据1000000000100000(十进制数32800),采用PWM得到的灰度控制信号应包含32800个时钟的高电平和32735个时钟的低电平,对应的灰度控制如图1所示。clk表示的是时钟个数,整个灰度控制信号包含65535个时钟周期,高电平的时钟个数根据灰度数据的不同可以在0~65535之间变化,能得到65536级灰度控制信号。
图1 PWM方式得到的灰度控制信号
S-PWM(Scrambled-PWM)亮度控制技术是在传统的PWM基础上,将一个灰度控制信号的高电平时间分散成多个较短的导通时间,以增加整体视觉的更新率[4-5]。S-PWM将16 bit灰度数据分为两个部分:10位的高比特数据(MSB)和6位的低比特数据(LSB)。首先将MSB数据重复计数64次,然后将LSB数据计数一次,得到完整的S-PWM波形。整个S-PWM生成的灰度控制信号包含的高电平时钟数根据灰度数据可以在0~(1023×64+63)之间变化,具有65536级灰度。二进制灰度数据1000000000100000若采用S-PWM产生灰度控制信号,MSB位为 1000000000,LSB位为 100000。MSB数据100000000000(十进制数512)重复计数64次,然后将LSB位100000计数一次,得到S-PWM灰度等级控制信号。灰度控制信号包含512×64+32=32800个时钟的高电平和32736个时钟的低电平,具有65536级灰度,如图2所示。
图2 S-PWM方式得到的灰度控制信号
若16 bit灰度数据为0000010000000000,采用PWM方式得到的将是连续的具有1024个时钟的高电平的灰度控制信号,而采用S-PWM方式得到的是具有连续的16个时钟的高电平的灰度控制信号(重复64次)。对于相同的数据,S-PWM和PWM方式均能得到相同亮度效果的灰度控制信号,但S-PWM能提高数据的刷新率,具有更好的显示效果。然而,当MSB数据为0时,S-PWM也失去了将灰度控制信号分散的功能。对于灰度数据0000000000100000,采用PWM和S-PWM得到的灰度控制信号分别如图3a和图3b所示。
图3 灰度控制信号
由图可知,在当灰度数据为0000000000100000时,SPWM和PWM得到的灰度控制信号几乎完全一样(仅高电平时间的位置不一样),并没有发挥出S-PWM的优势。
3 本文提出的优化的S-PWM
本文将改进的S-PWM称之为SS-PWM(Symmetrical and Scrambled Pulse Wide Modulation)。SS-PWM仍然将16 bit灰度数据分为两个部分:10 bit的高比特数据(MSB)和6 bit的低比特数据(LSB)。
在SS-PWM中,LSB灰度数据按照指定的规律(旨在使灰度控制信号均匀分布)得到的灰度控制信号,并被划分成63个部分,LSB数据和对应的控制信号如图4所示。MSB灰度数据则重复计数64次来得到灰度控制信号,每当MSB数据计数完成一次,LSB灰度控制信号的一个部分被添加在MSB灰度控制信号的后面。即使MSB数据全部为0,也能得到均匀分散的灰度控制信号。MSB和LSB共同得到的灰度控制信号如图5所示。
笔者用Verilog语言分别对S-PWM和SS-PWM方式进行了描述,并且使用Modelsim进行了仿真,Synplify进行综合。S-PWM和SS-PWM的Modelsim仿真图分别如图6和图7所示。其中,clk是时钟信号,data_in是输入的灰度数据,rst是复位信号(低电平复位),pulse_out是输出的灰度控制信号,processing是处理过程标志位,processing=0时,表示正在处理灰度数据,processing=1时,表示处理完毕。
从仿真结果可以看出,当灰度数据为0000000000000100时,S-PWM得到的灰度控制信号是连续4个时钟的高电平(其余时间为低电平),而SS-PWM得到的是均匀分散的4个1个时钟周期的高电平。也就是说当灰度数据为0000000000000100时,S-PWM不能起到分散灰度控制信号的目的,但是SS-PWM仍然能发挥其分散灰度控制信号的功能。S-PWM和SS-PWM实现方式分别用Synplify在Altera公司的EP1C3TC144-C6芯片上进行了综合,占用资源情况如表1所示。
表1 Synplify综合结果
由表1可知,SS-PWM实现方式比S-PWM实现方式占用更少的硬件资源。所以,SS-PWM不仅具有更好的显示效果,也简化了硬件的实现。
4 结论
本文设计了一种改进型的S-PWM(SS-PWM)的实现方式。SS-PWM将LSB得到的灰度控制信号划分成63部分,均匀地分布在整个灰度控制信号中,提高了数据刷新率和视觉更新率,使LED显示屏显示的效果更好。另外,实用Synplify对S-PWM和SS-PWM综合的结果表明,SS-PWM方式在取得更好的视觉效果的同时,降低了实现的复杂度。
[1]中国报告网.2011—2015年LED显示屏行业市场前景预测及市场调研报告[EB/OL].[2012-04-15].http://baogao.chinabaogao.com/xianshiqi/105916105916.html.
[2]西田信夫.大屏幕显示[M].北京:科学出版社,2003.
[3]李熹霖.谈LED大屏的刷新频率和换帧频率[J].现代显示,2004,41:22-26.
[4]MBI_5026[EB/OL].[2012-04-15].http://wenku.baidu.com/view/267fb46d7e21af45 b307a83b.html.
[5]MBI_5042[EB/OL].[2012-04-15].http://wenku.baidu.com/view/9cb48564f5335a 8102d22098.html.