基于SPWM的二次优化与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于SPWM的二次优化与实现
ZENG Zhong;JIANG Yingdan;TANG Maojie;XIA Yunhan
【摘要】小点距LED显示屏要显示出具有高对比度、更加细腻的图像,需要能够输出高等级灰阶的驱动芯片.SPWM(分散式脉宽调制技术)算法通常用于处理高灰阶图像,但是此算法在低灰度表现和图像均匀性上有一定缺陷.针对低灰效果不佳和多行扫下刷新率不足的问题,在SPWM算法的基础上提出低灰数据的分配优化和子周期的二次优化,同时用硬件语言实现优化后的SPWM算法并进行仿真验证.在低灰情况下,输出波形的均匀度提高明显,整体刷新率能够提高2倍以上.
【期刊名称】《电子与封装》
【年(卷),期】2019(019)002
【总页数】5页(P19-23)
【关键词】LED驱动芯片;SPWM算法;均匀度;刷新率
【作者】ZENG Zhong;JIANG Yingdan;TANG Maojie;XIA Yunhan
【作者单位】;;;
【正文语种】中文
【中图分类】TN402
1 引言
LED 显示屏工作寿命长、亮度高、工作稳定,随着小点距LED 技术和灰度调制技术的发展,LED 显示屏能够显示出更加细腻逼真的图像,并在大型单一色彩广告
牌、室内的LED 电视、LED 高清电影屏幕等领域获得广泛应用[1-2]。
多彩LED
显示屏是由红、绿、蓝三种发光二极管组成的灯珠作为像素点,小点间距多彩
LED 显示屏需要在一个较小的灯板上放置更多的组件,为了节省布板面积、减少PCB 层数,通常会采用多行扫恒流源芯片来驱动每个发光二极管[3-4]。
LED 显示屏能否输出高等级灰度的图像关键在于驱动芯片的灰度调制算法[5],因此研究灰
度调制算法对提高画面质量具有重要意义。
PWM(Pulse Width Modulation,脉宽调制技术)是目前使用最广泛且效果尚
可的灰度调制技术[6-7],然而此技术存在一定的缺陷,其在高等级灰度下会产生“色度不均”、“人眼闪烁”等现象。
SPWM [8-9](Scrambled-PWM)是对PWM 算法的改进,其解决了高等级灰度下刷新率不足、灰度对比不明显等问题。
本文比较了PWM 和SPWM 技术,并且基于SPWM技术提出优化方案,以进一步提高画面均匀性和刷新率。
同时,还用硬件描述语言Verilog 实现优化后的算法。
通过仿真波形可以发现低灰下的波形均匀性提高明显,整体的刷新率能够提高2
倍以上。
2 人眼视觉特性
PWM 是通过控制显示时间与一个显示周期的占空比,从而达到灰度等级调制的目的。
占空比的大小对应灰度大小。
PWM 能够精确控制输出不同等级的灰度,但是如果在多行扫高灰阶的LED 驱动芯片中使用此方法很容易不满足“临界闪烁频率”而出现视觉闪烁现象。
2.1 临界闪烁频率
人眼受到周期性光激励信号照射时,若重复的频率不太高,则会产生忽明忽暗的闪烁感觉。
如果将重复频率提高到某一值以上,人眼就感觉不到闪烁。
不引起光闪烁感觉的光激励信号最低的重复频率就是临界闪烁频率,简称CFF(Critical Flicker Frequency,CFF)[10]。
当周期性光激励信号的频率高于CFF 时,眼睛的感觉就
像恒定的光一样,恒定光的亮度I 为:
式中L(t)为周期性光激励信号的实际亮度,T 为周期,眼睛感觉到的是周期性光激励信号亮度的平均值。
当输出高灰阶下的低灰度图像时,由于低灰数据的占空比较低,二极管熄灭时间较长,很容易导致输出不满足闪烁频率,所以要使用合适的灰度调制方法进行灰度调制。
2.2 视觉惰性
人眼不会因为光源的出现而立即获取光信号,也不会因为光源的消失而立刻感觉到,两个过程都会有一个延迟时间。
此现象称为“视觉惰性”。
“视觉惰性”使得人感觉到的光信号与实际信号有延迟,但是两者对时间的积分和是一样的。
人对光刺激的响应是呈指数变化的[11],要想输出均匀度较高的图像,我们可以通过增加亮暗转换频率来防止亮或暗的时间过长导致的积分时间过长。
3 PWM、SPWM 算法原理
PWM 是通过控制显示时间与一个显示周期的占空比,从而达到灰度等级调制的目的。
占空比的大小对应灰度大小。
PWM 能够精确控制输出不同等级的灰度,但是如果在多行扫高灰阶的LED 驱动芯片中使用此方法很容易不满足“临界闪烁频率”而出现视觉闪烁现象。
3.1 PWM 算法
由人类视觉系统的特性可知,人眼感受到的亮度是发光源在一定时间内的发光强度积分和。
所以控制发光时间与显示周期时间的比例就能表现出不同的灰度。
PWM 灰度等级调制就是根据当前灰度数据与总灰度的比例来调节输出信号的有效时间与显示周期的占空比。
设等级处理能力和灰度数据分别为N-bit 和G(0≤G≤2N-1),一个PWM 周期
为TPWM,计数时钟的周期为TGCLK,调制的占空比为d,像素的显示时间为
Ton,则有[12]:
在灰度等级较低时(等级小于16),通常采用直接型PWM。
根据要显示的灰度值n,直接将前n 个周期拉高输出。
当灰度进一步提高(等级大于128),采用“二进制权重分配法”可以提高刷新率,增强画面稳定性。
一个n 位的二进制数是由20、21、22、…2n-1 相加得到。
0、1、2、…n-1 为各个位数上的权重。
以4 位二进制数为例,可以产生0~15 共16 个灰度等级,二进制权重分配法就是将15 个周期按每位的权重分为4 个子周期,如果灰度为10,二进制为1010,传统PWM 和二进制权重分配法的输出结果如图1 所示。
图1 二进制权重法与普通PWM 输出对比
当灰度增大到一定程度时,即使使用“二进制权重法”也会因为高位所占权重较大而得不到较好的输出,刷新率不会得到明显提高。
小点距LED 显示屏常用扫描式的驱动方式,刷新率不够会带来明显的闪烁感。
3.2 SPWM 算法分析
灰度等级跨度比较大时会出现视觉闪烁、色调失真、动态图像不稳定等显示缺陷。
为了解决显示中的问题,就产生了PWM 的优化算法——SPWM 算法。
该技术是将灰度数据位数分成MSB(Most Significant bit)和LSB(Least Significant bit),将总体的周期T 平均分成2LSB 等份,形成2LSB 个子周期,每个子周期有(2MSB-1)个时钟周期,再将LSB 的灰度数据分配到各个子周期中,这样每个子周期就有(2MSB-1+1)个时钟周期,共2LSB 个子周期,即分配后共2MSB+LSB 个时钟周期与分配前的总时间一致。
灰度值分配到各个子周期,点亮的时间与总周期的占空比不变。
图2 为该调制算法的示意图。
图2 SPWM 算法示意图
在高灰阶、高刷新率的LED 显示屏应用中,该算法能够增加亮暗转换的次数,提
高视觉刷新率,避免低灰度下的“麻点”问题,使得显示画面更加丰富多彩。
4 SPWM 的改进与实现
SPWM 算法将一个显示周期打散成多个子周期,从而提高刷新率和均匀度。
分析其原理及实现方式,发现还有进一步改善的空间。
根据优化PWM 的两个目标——单位时间内的亮暗转换次数最大化,亮暗转换频率均匀化——现提出以下优化方案。
4.1 LSB 位的分配优化
通常情况下,SPWM 算法是将LSB 位灰度值为n的数据平均分配到各个子周期。
其实现方式为:首先按照SPWM 的方式将显示位数分为MSB 位和LSB位,并将整个显示周期分成2LSB 个子周期,同时开始对子周期个数进行计数,计数范围为0~2LSB-1;然后根据LSB 的数据n 进行分配,当n 大于等于2LSB/2 时,将(2LSB-n)与子周期的计数值进行取余操作,余数为0 则该子周期的灰度值为MSB 位的数据,余数不为0 则该子周期的灰度值为MSB 位的数据值加1;当n 小于2LSB/2 时,用2LSB 除以低位灰度值(n+1),得到商Q 和余数R,将熄灭时间平均分成(n+1)份,前R 份的间隔为(Q+1)个子周期并在第(Q+1)个子周期进行低位数据补偿,余下的间隔为Q 个子周期并在第Q 个子周期进行低位数据补偿,有补偿的子周期灰度值为MSB 位的数据值加1,没有补偿的子周期灰度值为MSB 位的数据值。
在低灰情况下,这样的操作方式可以将空余周期平均分成(n-1)等份。
以16 位灰度值为例,能表示最多65536(216)级灰度,前10 位作为MSB,后6 位作为LSB,则共可分为64 个子周期。
如果后6 位的灰度值为4,那么通常的SPWM 的处理方式是:(1)用64 除以(4-1)得到的商为21;(2)将灰度4 平均分配给第1 个、第22 个、第43个、第64 个子周期。
本文提出的分配方式为:(1)用64除以(4+1)得到的商为12,余数为4;(2)将灰度4 分配到
第13 个、第26 个、第39 个、第52 个子周期。
如图3所示。
图3 低位分配优化示意图
图3 中所标数字为子周期的位置,由此可知,优化后的方案将熄灭的时间段分割
成了5 段,而优化前的熄灭时间分割成了3 段,明显优化后的均匀度更好。
用熄
灭时间能够平均分成的份数来表示灰度均匀度。
如果按照2LSB 为64 来计算,则均匀度至少能够提高3.125%。
4.2 子周期的二次优化
SPWM 算法下各个子周期的显示时间为高位(MSB)数据与分配到该子周期的低位灰度值之和,然后根据其值与时钟计数器的对比直接输出PWM 波形。
以灰度16’b0111_1111_1111_1111 为例,MSB 为10 位,LSB 为6 位,这样共有64 个子周期。
MSB 的值为10’b0111_1111_11,LSB 的值为6’b1111_11,平均分到每个子周期为一个灰度值,一个子周期的最终灰度值为10’b1000_0000_00。
优化前将该灰度值直接输出,通过对时钟进行计数,计数值小于或等于该灰度值时,输出高电平;计数值大于该灰度值时,输出低电平。
本文提出的优化方案是将分配后的子周期灰度值进行进一步分配。
优化的方式为:首先判断子周期灰度值的范围,如果灰度值n 大于等于子周期总灰度N 的一半且
熄灭时间大于等于m 个时钟周期,则将熄灭时间平均分成m 份均匀插入显示时间内,否则不进行优化;如果灰度值小于子周期总灰度的一半且大于等于m 个时钟
周期,则将显示时间平均分成m 份均匀插入显示时间中,否则不进行优化;m 的取值不能过大,因为m 过大会增加硬件实现成本,同时还会导致芯片功耗明显上升,m 取值范围最好小于5。
以子周期总共能显示的灰度值为1024、要显示的灰度值为516、熄灭的时间为508 为例,将熄灭时间平均分成3 份,每份的时长为170、169、169;显示时间平均分成4 份,每份的时长为129、129、129、129;将熄灭时间段均匀插入显
示时间,优化前后的示意图如图4所示。
图4 子周期优化后的输出
由图4 可知,该优化使得亮暗转换频率能够提高4 倍,也就是刷新率提高4 倍;
同时灰度分布也更加均匀。
PWM、SPWM 与优化后的SPWM 对比如表1 所示。
表1 各算法对比PWM 优化前SPWM 优化后SPWM优点实现简单,芯片功耗低刷新率较高,能够实现高灰阶输出低灰数据分配更均匀,刷新率能够提高2 倍以
上缺点刷新率低,均匀性差,不适合高灰阶情形算法较复杂,低灰效果欠佳算法复杂度上升,芯片功耗上升
5 优化算法的实现及验证
5.1 算法实现
本文主要关注灰度算法的优化与实现,驱动芯片的其他功能不做介绍。
以实现16 位灰度数据为例,其示意图如图5 所示。
图5 算法实现步骤
由图5 可知,子周期的二次优化中m 取3,能够将子周期进一步分成4 份,在灰度集中在中间域时能够将亮暗转换率提高3 倍。
5.2 仿真验证
使用VCS 对Verilog 代码进行仿真,使用VCS 自带波形软件DVE 进行debug。
当我们输入的灰度值为16’h0012 时,根据本文提出的算法其应该在第4、8、12、16、20、24、28、32、35、38、41、44、47、50、53、56、59、62 个
子周期会出现脉冲,仿真结果如图6 所示。
图6 灰度值为16’h0012 的输出结果
当输入的灰度为16’h3F3F 时,根据本文的算法,第一个子周期的灰度值为250,共分成3 个显示脉冲,第1 个显示脉冲有85 个时钟周期,第2、3 个显示脉冲有84 个时钟脉冲,仿真结果如图7 所示。
图7 灰度值为16’h3F3F 的输出结果
由图7 可知第一个显示脉冲的长度为2688 ns,一个时钟周期长度为32 ns,即第一个脉冲有84 个时钟脉冲长度,与算法相符。
6 结论
本文通过分析SPWM 算法的原理,在满足PWM数学模型的条件下,以提高刷新率和波形均匀度为目标,提出“低灰数据分配优化”和“子周期的二次优化”。
通过以上分析和仿真验证得出以下结论:
(1)该优化算法能够提高低灰数据的均匀度,低灰数据越小,优化越有效。
若子周期数为64 时,均匀度至少能提高3.125%。
(2)该算法能够有效增加刷新率,能够更好地抑制人眼的闪烁,提高动态画面的稳定性,尤其对于显示中占大多数的中间灰度值优化明显。
“子周期的二次优化”最少能够使刷新率提高2 倍,考虑到功耗问题也不宜提高过多。
(3)该算法能够使用硬件实现,能够用于小点间距多行扫驱动芯片。
参考文献:
【相关文献】
[1]关积珍,姚太平,计辉,等.2013 年度中国LED 显示应用行业发展报告[J].电子科学技术,2014,1(3):259-270.
[2]廖晶晶,唐宁,李涛东.LED 显示屏驱动芯片的应用[J].电视技术,2007,31(8):32-34.
[3]Saponara,S,Pasetti,G,Costantino,N,et al.A Flexible LED Driver for Automotive Lighting Applications:IC Design and Experimental Characterization[J]. IEEE Transactions on Power Electronics,2012,27(3):1071-1075.
[4]蔡宗达,孙康斌,王泓铭.小点间距显示屏常见问题与驱动芯片解决方案——2014 广州LED 展
的启示[J]. 电子科学技术,2014,1(3):354-359.
[5]严飞.LED 显示屏灰度关键技术的研究[D].长春:中国科学院长春光学精密机械与物理研究所,2013.
[6] L Svilainis. LED PWM dimming linearity investigation[J].Dispalys,2008,29(5):506-511.
[7]范伟军,张浩,上官景仕,等.PWM 数字可调均匀性光源的设计[J].液晶与显示,2015,
30(1):88-94.
[8]王顶. 小点间距LED 显示屏驱动芯片的研究[D]. 北京:北京交通大学,2017.
[9]许顺渊.多通道发光二极管驱动系统的二进制分布控制方法:中国,CN
201410058073.6[P].2014.
[10]常铎.LED 显示屏灰度等级时空混合叠加调制技术研究[D].长春:中国科学院长春光学精密机械与物理研究所,2011.
[11]韩磊,黄尚廉,张智海,等.基于人眼视觉特性优化的灰度算法[J].信息终端,2007,31(1):34-37.
[12]邱天琦.基于SPWM 功能的LED 恒流驱动芯片[D]. 西安:西安电子科技大学,2011.。