一种智能LED驱动脉冲调制方法及系统
技术领域
本发明涉及LED驱动领域,尤其涉及一种智能的LED驱动脉冲调制方法及系统。
背景技术
近年来,LED作为多种发光装置的基本发光器件,在LED显示屏领域,利用LED构成的点阵模块或像素单元模组组成的大面积显示屏,以可靠性高、使用寿命长、环境适应能力强、价格性能比高、使用成本低等特点,在短短的十来年中,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛应用。
业内基本都采用脉宽调制脉冲调光的方式对LED调光。不过,脉宽调制脉冲调光也有自身的缺陷。因为此种调光方法是需要将亮度在一定时间内平均的,所以当LED的灰度等级较高时,由于周期较长,则LED在点亮或熄灭的时候,或者捕捉的时间太短的时候都会导致该时间内接受到的亮灭比不能真实地体现原有的亮灭比。例如,摄像机等数码摄像产品拍摄画面时,捕捉时间远远小于人眼对画面的捕捉时间。这样,人眼看起来较清晰的画面,被摄像机或者相机拍摄时,画面可能造成闪烁感,或者说产生条纹。
现在人们要求显示画面越来越清晰,画面内容越来越复杂,这也使画面的数据量越来越大。为提高显示屏刷新率和低灰的显示效果,这就要求LED驱动芯片能以更高的频率生成脉宽调制脉冲信号,并且不影响原有数据的精度。在现有的脉宽调制脉冲倍频方法中,大多存在由MSB(高字位)和LSB(低字位)构成的倍频小周期。MSB是脉宽调制脉冲大周期数据中的高字位,虽略有失真,但能较好的反映脉宽调制脉冲在大周期中的占空比;LSB是脉宽调制脉冲大周期数据中的低字位,其在倍频小周期内的占空比较小,并且LED开关切换的次数较多,造成低灰度显示效果不佳。目前的现有技术为了提高LED的刷新频率,将一个长周期的脉冲宽度分割成很多个短周期的脉冲宽度,在保证一个长周期 的时间范围内,脉冲宽度总和不变的前提下,提高LED刷新率,降低LED的闪烁。市场上的同类技术产品是台湾聚积科技股份有限公司的系列产品,以其MBI5041为例,采用的就是同类技术---SPWM技术。该产品技术,将一个周期的脉宽分割成64个子周期,将一个周期总的脉宽除以64,结果作为一个子周期的脉宽,如果有余数,则按逻辑顺序在每个子周期固定位置插一个时钟宽度。余数是多少,就在多少个子周期内插一个时钟脉冲。因此,该技术处理后的波形,各个子周期的脉宽均匀,只有一个时钟的差别,而且即使是脉宽数据比较小时,也能有比较高的刷新率。只要脉宽数据等于或大于64,即能保证刷新率为64。
图1所示为一个周期脉宽为64的波形被该技术分割后的波形。由图1可以看出,当脉宽(即灰阶数据)较小时,脉宽波形被切割得很小很分散,LED的脉冲失真损耗会比较大,会降低LED的真实视觉效果。另外,公开号为103345900A的专利文献公开了一种LED驱动脉冲调制方法,所述LED驱动脉冲调制方法包括以下步骤:将与LED驱动脉冲对应的灰度数据的一个显示周期均分为预设数量的显示子周期;将与所述灰度数据中的最高位部分数据对应的LED驱动脉冲按照所述预设数量均分为多个最高位子脉冲,且将每个最高位子脉冲分配至每个所述显示子周期;将与所述灰度数据中的次高位部分数据对应的LED驱动脉冲按照所述预设数量均分为多个次高位子脉冲,且将每个次高位子脉冲跟随每个最高位子脉冲分配至每个所述显示子周期;将与所述灰度数据中的低位部分数据对应的LED驱动脉冲均分为多个基本时钟脉冲,且将每个基本时钟脉冲跟随每个次高位子脉冲分配至每个所述显示子周期。该技术方案中,将与LED驱动脉冲对应的灰度数据的一个显示周期均分为预设数量的显示子周期,再将与灰度数据中的最高位部分数据对应的LED驱动脉冲按照预设数量均分为多个最高位子脉冲,且将每个最高位子脉冲分配至每个显示子周期,将与灰度数据中的次高位部分数据对应的LED驱动脉冲按照预设数量均分为多个次高位子脉冲,且将每个次高位子脉冲跟随每个最高位子脉冲分配至每个显示子周期,最后将与灰度数据中的低位部分数据对应的LED驱动脉冲均分为多个基本时钟脉冲,且将每个基本时钟脉冲跟随每个次高位子脉冲分配至每个显示子周期,进而使LED驱动脉冲在驱动LED点亮的时间均匀且开关切换次数更加合理,从而达到提 高LED的显示刷新率和低灰度显示效果的目的。然而,这个方案只是简单的将一个周期的灰阶数据平均分配给若干个子周期,因此灰阶数据较小时,输出的波形会由于切割得过于分散而导致脉冲失真损耗较大。
发明内容
基于此,本发明的首要目的是提供一种智能LED驱动脉冲调制方法,通过将一个长周期的脉冲宽度分割成很多个短周期的脉冲宽度,在保证一个长周期的时间范围内,脉冲宽度总和不变的前提下,根据灰阶数据大小调整输出波形,提高LED刷新率,降低LED的闪烁。
本发明的另一个目的在于提供一种智能LED驱动脉冲调制系统。
为了达到上述目的,本发明是依照下述方式实现的:
一种智能LED驱动脉冲调制方法,将与所述LED脉冲对应的灰阶数据的一个显示周期均分为预设数量的显示子周期;将2n(1≤n≤10)个基本时钟脉冲定义为一个基本时钟脉冲包,取灰阶数据的最高位部分数据来计算每个显示子周期有多少个基本时钟脉冲包,假设计算出来的数字为A,则将A个基本时钟脉冲包的基本时钟脉冲分配至每个所述显示子周期,当根据最高位部分数据所计算的基本时钟脉冲包都分配完后,剩下的基本时钟脉冲包将不足所述预设数量;然后,取灰阶数据的次高位部分数据来计算每个显示子周期有多少个基本时钟脉冲包,假设计算出来的数字为B,则按逻辑顺序逐个显示子周期补入一个基本时钟脉冲包的基本时钟脉冲,直至补完;当根据次高位数据所计算的基本时钟脉冲包都分配完后,剩下的基本时钟脉冲将不足1个基本时钟脉冲包的数量;最后,根据灰阶数据的低位部分数据计算这个不足一个基本时钟脉冲包数量的基本时钟脉冲数,并将计算出来的基本时钟脉冲数的基本时钟脉冲补入第B+1个显示子周期。
优选的,一种智能LED驱动脉冲调制方法,将与所述LED脉冲对应的灰度数据的一个显示周期均分为64个显示子周期;将8个基本时钟脉冲定义为一个基本时钟脉冲包,取灰阶数据的最高位部分数据来计算每个显示子周期有多少个基本时钟脉冲包,假设计算出来的数字为A,则将A个基本时钟脉冲包的基本 时钟脉冲分配至每个所述显示子周期,当根据最高位部分数据所计算的基本时钟脉冲包都分配完后,剩下的基本时钟脉冲包将不足64个;然后,取灰阶数据的次高位部分数据来计算每个显示子周期有多少个基本时钟脉冲包,假设计算出来的数字为B,则按逻辑顺序逐个显示子周期补入一个基本时钟脉冲包的基本时钟脉冲,直至补完;当根据次高位数据所计算的基本时钟脉冲包都分配完后,剩下的基本时钟脉冲将不足1个基本时钟脉冲包,也就是不足8个基本时钟脉冲;根据灰阶数据的低位部分数据计算这个不足一个基本时钟脉冲包数量的基本时钟脉冲数,并将计算出来的基本时钟脉冲数的基本时钟脉冲补入第B+1个显示子周期。
优选的,一种智能LED驱动脉冲调制方法,将与所述LED脉冲对应的灰度数据的一个显示周期均分为64个显示子周期;将4个基本时钟脉冲定义为一个基本时钟脉冲包,取灰阶数据的高8位部分数据来计算每个显示子周期有多少个基本时钟脉冲包,假设计算出来的数字为A,则将A个基本时钟脉冲包的基本时钟脉冲分配至每个所述显示子周期,当根据高8位部分数据所计算的基本时钟脉冲包都分配完后,剩下的基本时钟脉冲包将不足64个;然后,取灰阶数据的中6位部分数据来计算每个显示子周期有多少个基本时钟脉冲包,假设计算出来的数字为B,则按逻辑顺序逐个显示子周期补入一个基本时钟脉冲包的基本时钟脉冲,直至补完;当根据中6位数据所计算的基本时钟脉冲包都分配完后,剩下的基本时钟脉冲将不足1个基本时钟脉冲包;也就是不足4个基本时钟脉冲;根据灰阶数据的低位部分数据计算这个不足一个基本时钟脉冲包数量的基本时钟脉冲数,并将计算出来的基本时钟脉冲数的基本时钟脉冲补入第B+1个显示子周期。
一种智能LED驱动脉冲调制系统,所述调制系统包括:
周期均分模块,用于将与LED驱动脉冲对应的灰阶数据的一个显示周期均分为预设数量的显示子周期;
基本时钟脉冲包定义模块,用于将2n(1≤n≤10)个基本时钟脉冲定义为一个基本时钟脉冲包;
最高位子脉冲分配模块,用于根据灰阶数据的最高位部分数据来计算每个 显示子周期有多少个基本时钟脉冲包,假设计算出来的数字为A,则将A个基本时钟脉冲包的基本时钟脉冲分配至每个所述显示子周期;
次高位子脉冲分配模块,用于根据灰阶数据的次高位部分数据来计算每个显示子周期有多少个基本时钟脉冲包,假设计算出来的数字为B,则按逻辑顺序逐个显示子周期补入一个基本时钟脉冲包的基本时钟脉冲,直至补完;
低位子脉冲分配模块,用于当根据次高位数据所计算的基本时钟脉冲包都分配完后,根据灰阶数据的低位部分数据来计算基本时钟脉冲数,并将最后这个不足一个基本时钟脉冲包的基本时钟脉冲数,补入第B+1个显示子周期。
本发明通过采用2的n次方(0≤n≤10)个基本时钟脉冲打包的方法,将一个周期的灰阶数据智能地根据灰阶数据大小调整每个子周期的基本时钟脉冲数,避免灰阶数据较小时,输出波形切割得过于分散而导致脉冲失真损耗较大。
附图说明
图1为现有技术所采用灰阶数据为64时的PWM输出;
图2为本发明所实施的灰阶数据为64时的PWM输出(验证CLOCK用的是12M频率)
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释发明,并不用于限定发明。
一种智能LED驱动脉冲调制方法,将与所述LED脉冲对应的灰度数据的一个显示周期均分为64个显示子周期;将8个基本时钟脉冲定义为一个基本时钟脉冲包,取灰阶数据的最高位部分数据来计算每个显示子周期有多少个基本时钟脉冲包,假设计算出来的数字为A,则将A个基本时钟脉冲包的基本时钟脉冲分配至每个所述显示子周期,当根据最高位部分数据所计算的基本时钟脉冲包都分配完后,剩下的基本时钟脉冲包将不足64个;然后,取灰阶数据的次高位部分数据来计算每个显示子周期有多少个基本时钟脉冲包,假设计算出来的数 字为B,则按逻辑顺序逐个显示子周期补入一个基本时钟脉冲包的基本时钟脉冲,直至补完;当根据次高位数据所计算的基本时钟脉冲包都分配完后,剩下的基本时钟脉冲将不足1个基本时钟脉冲包,也就是不足8个基本时钟脉冲;根据灰阶数据的低位部分数据计算这个不足一个基本时钟脉冲包数量的基本时钟脉冲数,并将计算出来的基本时钟脉冲数的基本时钟脉冲补入第B+1个显示子周期。
假设灰阶数据为19627,转换成二进制则为0100110010101011,将8个CLOCK(基本时钟脉冲)定义为一个CLOCK(基本时钟脉冲)包,则高7位的数据是0100110,中6位的数据是010101,低3位的数据是011,换成十进制,高7位的数据是38,中6位的数据是21,低3位的数据是3。也就是说,64个子周期都有38个CLOCK包,还剩下21个CLOCK包+3个CLOCK。然后将21个CLOCK包按照逻辑组合顺序,插在每个子周期的固定位置,每个子周期只能插一个。插完21个CLOCK包后,在第22个子工作周期补3个CLOCK,全部数据填完。验证38*64*8+21*8+3,结果等于19627。因此,该周期内,有21个子周期是39*8=312个CLOCK,有1个子周期是38*8+3=307个CLOCK,有42个子周期是38*8=304个CLOCK。
如图2所示的实施例,当灰阶数据为64时,转换成二进制则为1000000,将8个CLOCK定义为一个CLOCK包,则高7位的数据是1,中6位的数据是000000,换成十进制,高7位的数据是1,中6位的数据是0,因此,本发明中是将8个CLOCK打包一起发送,而在对比技术图1所示的解决方案中,该8个CLOCK是在8个子周期内单独发送的。因此,本发明的技术方案中,总共64个子周期中,最初的8个CLOCK集中在一个子周期内发送,而其它7个子周期全为0,然后中间48个子周期存在有6个这样的8位CLOCK包,再加上最后一个8位CLOCK包,总共是8个CLOCK包,即刷新率为8,8*8=64。
本发明比较于现有技术聚积的MBI5041所公开的方法,其不同之处在:MBI5041是将灰阶数据按序将CLOCK一个一个地穿插,再拼接。而本发明是将CLOCK八个八个地穿插,再拼接。
例如,当灰阶数据是7。MBI5041将会发出7个单CLOCK(一个周期内刷新 频率为7),而本发明将连续发送7个CLOCK(一个周期内刷新率为1)。
当灰阶数据是9。MBI5041将会发出9个单CLOCK(一个周期内刷新频率为9),而本发明将在指定的某子周期内连续发送8个CLOCK,然后在另一个指定的某子周期内发送1个CLOCK(一个周期内刷新率为2)。
当灰阶数据是23。MBI5041将会发出23个单CLOCK(一个周期内刷新频率为23),而本发明将在指定的某子周期内连续发送8个CLOCK,然后在第二个指定的某子周期内连续发送8个CLOCK,然后在第三个指定的某子周期内连续发送7个CLOCK(一个周期内刷新率为3)。
依此类推,假如灰阶数据为64,MBI5041将会发出64个单CLOCK(一个周期内刷新频率为64),而本发明将是在八个子周期内各穿插8个CLOCK。
当灰阶数据大于64时,MBI将保证每个周期的刷新率为64,而本发明将随数据的增大缓慢提升刷新率,当灰阶数据≥505(8*63+1)时,本发明刷新率才达到64。
本发明的有益效果在于:当灰阶数据比较小时,还是以64举例,MBI将是以每周期64HZ的频率发送,即64个CLOCK都是单独的,那么每个CLOCK都处在转换边缘,也就意味着每个CLOCK都存在脉冲失真损耗;而本发明采用的方法,64的灰阶数据是以每周期8HZ的频率发送,那么只有8个CLOCK处在转换边缘,只有8个CLOCK存在脉冲失真损耗。
事实上,经过试验证明,当分别以两种方案去驱动LED时,当灰阶数据比较小时,明显地可以看出,采用本发明,LED亮度要高一些,更接近真实。
当然,如果灰阶数据比较大时,效果就差不多了。不同的只是,每个子周期的数据有些许的差异。
一种智能LED驱动脉冲调制系统,所述调制系统包括:
周期均分模块,用于将与LED驱动脉冲对应的灰阶数据的一个显示周期均分为预设数量的显示子周期;
基本时钟脉冲包定义模块,用于将2n(1≤n≤10)个基本时钟脉冲定义为一个基本时钟脉冲包;
最高位子脉冲分配模块,用于根据灰阶数据的最高位部分数据来计算每个 显示子周期有多少个基本时钟脉冲包,假设计算出来的数字为A,则将A个基本时钟脉冲包的基本时钟脉冲分配至每个所述显示子周期;
次高位子脉冲分配模块,用于根据灰阶数据的次高位部分数据来计算每个显示子周期有多少个基本时钟脉冲包,假设计算出来的数字为B,则按逻辑顺序逐个显示子周期补入一个基本时钟脉冲包的基本时钟脉冲,直至补完;
低位子脉冲分配模块,用于当根据次高位数据所计算的基本时钟脉冲包都分配完后,根据灰阶数据的低位部分数据来计算基本时钟脉冲数,并将最后这个不足一个基本时钟脉冲包的基本时钟脉冲数,补入第B+1个显示子周期。
以上所述是针对一种16位脉冲宽度的情况,但仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。