LED驱动芯片中提升视觉刷新率的逻辑电路设计

2013-02-21 07:52高立民王卫东
网络安全与数据管理 2013年5期
关键词:灰阶刷新率计数器

高立民,王卫东

(桂林电子科技大学 信息与通信学院,广西 桂林 541004)

作为信息显示产品,LED显示屏以其大屏幕及高清晰度被广泛应用在高楼、广场、体育场馆等空间开阔的场所来显示丰富多彩的信息。为了提高画面的质量,LED显示屏对画面的灰度等级和刷新率的要求越来越高,如要求画面更加细腻、色彩更加丰富且在播放画面时人眼不会感到闪烁。提升视觉刷新率的方法有提高灰阶时钟频率、降低画面灰阶数和将脉冲打散[1]。由于硬件的限制,灰阶时钟频率的提升幅度有限,而降低画面的灰阶会降低画面的分辨率,因此本文采用脉冲打散的方法设计了一种提升视觉刷新率的逻辑电路。

1 脉冲打散原理

计数模式如图1所示。传统的PWM计数方式在一个周期里计数一次,LED灯只点亮1次,如图1中模式3所示。这对GCLK的要求较高,当GCLK的频率达不到要求时,LED显示屏就会因为刷新率不够而出现闪烁。

打散的PWM计数方式把一个PWM周期分解成最重要位(MSB)与最不重要位(LSB)的灰阶周期,因为MSB的数据在图像显示中起主要作用,故将MSB的计数打散以提高视觉刷新率[2](与之类似的有Dispersed PWM算法[3])。MSB的计数周期打散后重复更新多次,再加上一次LSB的计数周期,便可达到和未分解成MSB与LSB的PWM一样的高位分辨率。图1中,高6 bit为MSB,低 6 bit为 LSB。模式 0时,将 MSB打散 64次,一个打散的 PWM周期为(26-1)×26+26GCLK,恰好为一个传统的PWM计数周期,这样就将刷新率提高了64倍。

图1 计数模式

图2 12 bit计数器

通过改变脉冲打散的次数,可以得到不同的刷新率。在下面的逻辑电路中设计了4种打散方式,分别为64次、16次、4次和1次,以供用户在使用时根据实际需要灵活地进行选择。

2 逻辑电路实现

2.1 计数器

12 bit加法计数器设计电路如图2所示。其中,gclock为计数时钟,por_up是上电复位信号,用来对D触发器初始化。CLRN为触发器的低电平清零端,当por_up为 0时,12 bit输出 n[11..0]=111111 111111;当 por_up为 1时,n[11..0]开始加 1计数。

利用12 bit计数器的输出值产生一个选择信号。高6 bit n[11..6]=111111时,con=1,计数值从 4 032到 4 095共64个GCLK,此时选择输出LSB的比较结果。剩余 4 032个GCLK,con=0,选择MSB的比较结果。

63计数器的设计原理如下。图1中,LSB计数时,其周期为64个GCLK,此时的计数值恰好为12 bit计数器的低6 bit n[5..0]。而对于MSB的计数,打散后一个周期是63个GCLK,必须设计一个63计数器。本文利用n bit m序列周期为2n-1的特性来产生一个清零信号,进而得到63计数器。虽然m序列在一个周期内产生的数值是无规律变化的,但不同周期的m序列在同一个状态上数值是相同的[4]。因此,在每一个m序列周期的固定值处产生一个清零信号,将一个二进制计数器计数到62时进行清零,便得到了一个63计数器。

选择特征方程为 f(x)=x6+x+1的 m序列发生器,其电路如图3所示。por_upb为por_up取反(本文中所有的逻辑门均用负逻辑来表示[5]),clru是抓取con的上升沿产生的信号,两个信号相“或非”作为m序列的清零信号,清零时,m序列的输出b[5..0]=000001。一个周期的m 序列输出为 1、2、5、10、21、…、48、32、0。

图3 6 bit的m序列发生器

清零信号产生电路如图 4所示。 将 b5、b4、b3、b2、b1、b0相“或非”,当 b[5..0]=000000 时,输出 xx为 0,作为63计数器的清零信号,D触发器用来清除 “或非”后产生的毛刺。

图4 清零信号产生电路

异步计数器在清零时会多出一个状态,所以利用全加器设计同步63计数器,如图5所示。

图5 63计数器

当清零信号 xx为 0时,输出 c[5..0]=000000;当 xx为1时,c[5..0]加1计数,计数到62,计数周期为63 GCLK。为了和一个完整的PWM计数周期同步,在con的下降沿,c[5..0]必须从0开始计数,其清零是通过控制m序列来实现的。在图3电路中,m序列在清零时会多出一个状态,所以选择b[5..0]=000001前一个状态的值,即b[5..0]=000000时来产生63计数的清零信号。如图4电路所示,D触发器在清除毛刺的同时延迟了一个周期,所以在con的上升沿时xx=0,c[5..0]清零。又因为m序列在清零时多出一个状态的缘故,在64个GCLK之后下一个清零信号xx才产生。于是,在con为1时,c[5..0]从 0计数到 63,共 64个 GCLK;在 con为 0时,c[5..0]从0计数到62,为63个GCLK。这样一个PWM 周期为 64×63 GCLK+1×64 GCLK=4 096 GCLK,从而实现了计数同步。

另外,根据m序列的周期为63 GCLK的特性,将x作为计数电路的时钟,产生高位的计数器,如图6所示。clrd为抓取con的下降沿后取反获得的信号,和por_upb“或非”后对计数器清零。在 con的下降沿 c[11..6]从 0开始计数,由于时钟x的原因,c[11..6]的每个状态有63个 GCLK,因此,在 con为 0时的 4 032个 GCLK就完成了0到63计数。在con为1时,LSB的比较只用到计数器n[5..0]的值,因此此时不需要对 c[11..6]的数值进行处理,只需在 con的下降沿将c[11..6]清零,实现各个计数器之间的同步。

图6 高位计数电路

2.2 模式选择电路

计数器 c[11..6]和 c[5..0]同步,可以通过对计数器位的选择得到4种不同模式的计数电路,如图7所示。

图7 模式选择电路

当输入信号 sel[1..0]=00时,conb0=0,此时 cnt[11..6]=cb[5..0],MSB周期为 63 GCLK,打散 64次;当 sel[1..0]=01 时,conb1=0,此时 cnt[11..6]=cb[7..2],计数器左移了两位,频率变为原来的1/4,MSB周期为252 GCLK,打散 16次;当 sel[1..0]=10时,conb2=0,此时 cnt[11..6]=cb[9..4],计数器左移了 4位,频率变为原来的 1/16,MSB周期为 1 008 GCLK,打散 4次;当 sel[1..0]=11时,conb3=0,此时 cnt[11..6]=nb[11..6],为 12 bit计数器的高6 bit,进行正常的PWM计数,脉冲未打散。

2.3 比较器

将输入影像数据与计数值进行比较得到占空比不同的输出波形,从而控制灯的导通时间,比较器的电路如图8所示。

图8 比较器电路

cn[11..6]为 12 bit计数器的高6位,是前面电路中cnt[11..6]取反的结果。cn[5..0]=n[5..0]为 12 bit计数器的低 6 bit,data[11..0]为 12 bit的输入影像数据,pwm为脉冲未打散的输出,pwmh为高6 bit的比较结果,pwml为低6 bit的比较结果。

利用与非门组成的SR锁存器特性,进行输入数据与计数值的比较。por_up=0时,D触发器初始化,S=0,R=1,输出 pwm=0。 如输入 data[11..0]=010011 101100,当计数值 cn[11..0]=000000 000000 时,S=1,R=0,pwm输出为 1;cn[11..0]=000000 000001 时,S=0,R=0,pwm输出保持为 1;直到 cn[11..0]=data[11..0]时,S=0,R=1,此时,pwm的输出变为 0。下一个状态时,S=0,R=0,输出为0并一直保持到一个周期结束。这样就完成了一个12 bit的比较,用同样的方法进行高6 bit的比较以及低6 bit的比较。

2.4 输出选择电路

图9 输出选择电路

图10 4种模式下输出的波形图

最终的输出选择电路如图9所示。根据计数模式的不同,从3路比较结果中得到1路输出。con3为1(即模式 3)时,输出为 pwm的比较结果;con3为 0(即模式 0、模式 1或者模式 2)时,若 cond为 1,则输出 pwmh的比较结果,若cond为0,则输出pwml的比较结果。经过一系列的组合逻辑之后会出现毛刺,因此在最终输出之前加一个D触发器,这样就得到了最终的输出SPWM。

3 仿真结果

图10是当输入数据 data[11..0]=101100 010110(十进制为 2 838,高 6 bit为 44,低 6 bit为 22)时,4种计数模式在MAX+PlusⅡ下的仿真波形图。

从仿真的波形图可以看出,模式0、模式1和模式2在con为0时spwm选择输出pwmh的结果,在con为1的时候spwm选择输出pwhl的结果。它们的MSB分别被打散了 64次、16次、4次,也就是将频率分别提高了 64倍、16倍、4倍。模式3为正常的PWM计数。

目前,LED驱动芯片中灰度计数时钟频率可达25MHz[6],用传统PWM计数的方法,灰度等级为16位时,静态扫描刷新率仅为380 Hz。用打散64次的计数方式,灰度等级同样为16位,可将灰阶时钟频率降为4 MHz的同时刷新率提高到3.9 kHz。很好地解决了时钟频率与灰度等级的矛盾问题,降低灰阶时钟频率的同时也降低了电磁干扰。

本文设计了用逻辑电路来实现脉冲打散的方法,用m序列来产生63计数器,同时利用SR锁存器实现数据比较。该设计大大降低了电路的复杂程度,用最少的门电路完成设计,使后端的版图面积更小,成本更低。

[1]苏信华.可提高影像刷新率及低电磁干扰的高灰度LED驱动芯片[J].现代显示,2007(10):66-68.

[2]Macroblock.MBI5031 preliminary datasheet v2.00[Z].2006.

[3]Wu Bin,Zhang Pu.Algorithm of dispersed PWM and dynamic refresh mode for LED display[C].2011 International Conference on Control,Automation and System Engineering(CASE), 2011: 1-3.

[4]樊昌信,曹丽娜.通信原理(第六版)[M].北京:国防工业出版社,2007.

[5][日]小林芳直.数字逻辑电路的 ASIC设计[M].北京:科学出版社,2004.

[6] SVILAINIS L.LED brightness control for videodisplay application[J].Displays, 2008,29(6):506-511.

猜你喜欢
灰阶刷新率计数器
采用虚拟计数器的电子式膜式燃气表
高刷新率不容易显示器需求与接口标准带宽
高刷新率 手机必备新功能?
通过非对称伽马调整改善面残像的理论分析和方法
关于74LS90计数器的Multisim仿真分析
高刷新率屏幕,旗舰机的下一张“名片”
电竞显示器不能只认刷新率
甲状腺结节灰阶超声影像对甲状腺癌的诊断价值分析
SR620型与53230A型计数器的性能测试
算盘是个“小气鬼”