一种多行扫LED灰度切换显示方法及系统转让专利

申请号 : CN202010074883.6

文献号 : CN111489685B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张若平宋霄陈君杰蒋召宇何书专

申请人 : 南京浣轩半导体有限公司

摘要 :

本发明公开了一种多行扫LED灰度切换显示方法及系统,属于LED显示技术领域。针对现有技术中存在的对于多行扫恒流源芯片存在的刷新率不足,灰度等级不高,低灰效果差等问题,本发明提供了一种多行扫LED灰度切换显示方法及系统,该方法在显示较高灰度时,将显示周期打散,使得点亮的周期尽可能平均地分配到每一帧画面里,在显示较低灰度时进行灰度的合并,并通过灰度补偿方法,弥补模拟电路响应时间带来的灰度损失,本发明可以在行扫数较多的情况下,仍然保证较高的刷新率和灰度等级,同时在低灰显示的情况下,解决低灰麻点、低灰偏暗和较差的低灰线性度等问题,实现显示画面效果的提升。

权利要求 :

1.一种多行扫LED灰度切换显示方法,其特征在于,包括以下步骤:步骤1:获取LED的灰度等级L和灰度数据K;

步骤2:设定补偿等级,根据补偿等级,将灰度数据K加上一个补偿数值,得到灰度数据K′,如果灰度数据K′超过最大灰度值,则灰度数据K′等于最大灰度值;

步骤3:根据LED的刷新倍率,将补偿处理后的灰度数据K′划分为高位有效数据KMSB和低位有效数据KLSB,对灰度数据K′的划分包括以下步骤:获取LED的刷新倍率和帧频;

将刷新倍率乘以原始刷新率,得到目标刷新率;

将目标刷新率除以帧频得出低位有效数据KLSB的位宽N;

将灰度等级减去低位有效数据KLSB位宽N,得出高位有效数据KMSB位宽M;

步骤4:设定合并等级Q,判断合并等级Q是否为0或者2Q是否不大于高位有效数据KMSB,如果是,则对灰度数据K′进行打散显示,否则对灰度数据K′进行合并显示;

对灰度数据K′进行打散显示包括以下步骤:将高位有效数据KMSB分别在2N组中显示;

将剩余的低位有效数据KLSB按照二分法分配到2N组中显示;

对灰度数据K′进行合并显示包括以下步骤:将灰度数据K′除以2N得出整数部分与余数部分;

将整数部分按照二分法分配到2N组中显示;

将余数部分分配到第一组的子周期中显示;

步骤5:根据LED恒流驱动芯片显示的行数R和通道数C,重复R*C次步骤1至步骤4,形成完整的显示输出。

2.根据权利要求1所述的一种多行扫LED灰度切换显示方法,其特征在于,将剩余的低位有效数据KLSB按照二分法分配到2N组中显示包括以下步骤:生成一个N位的计数器CNT,记录划分的组数;

判断CNT[0:N-1]是否小于低位有效数据KLSB,若小于,则在该组显示一个额外点亮时间的PWM脉冲,否则该组不显示一个额外点亮时间的PWM脉冲。

3.根据权利要求2所述的一种多行扫LED灰度切换显示方法,其特征在于,将整数部分按照二分法分配到2N组中显示包括以下步骤:生成一个N位的计数器CNT,记录划分的组数;

判断CNT[0:N-1]是否小于灰度数据K′的整数部分数值,如果小于,则在该组显示2Q个单位时间的PWM脉冲,否则该组不需要显示PWM脉冲。

4.根据权利要求3所述的一种多行扫LED灰度切换显示方法,其特征在于,生成一个N位的计数器CNT记录划分的组数包括以下步骤:计数器CNT记录划分的组数;

将计数器CNT的高低位互换,生成新的二分法组数。

5.一种多行扫LED灰度切换显示系统,其特征在于:用于执行权利要求1-4中任一项所述的方法步骤。

6.根据权利要求5所述的一种多行扫LED灰度切换显示系统,其特征在于,包括:移位寄存器,接收外部输入的灰度数据,将灰度数据存储到SRAM中;

SRAM,接收并存储灰度数据,将灰度数据发送到数据处理模块;

数据处理模块,接收灰度数据,对灰度数据进行处理,将处理后的数据值发送到比较器中;

计数器,记录当前显示的时钟周期个数,将时钟周期个数发送到比较器中;

比较器,接收数据处理模块的数据值与计数器中的时钟周期个数,对两者进行比较,输出PWM脉冲。

说明书 :

一种多行扫LED灰度切换显示方法及系统

技术领域

[0001] 本发明涉及LED显示技术领域,更具体地说,涉及一种多行扫LED灰度切换显示方法及系统。

背景技术

[0002] LED作为一种新型的照明材料,具有寿命长,功耗低,体积小,安全可靠等优点。目前在照明,显示屏等设备中已经广泛使用。随着小点距LED技术和灰度调制技术的发展,LED显示屏目前已经能够显示出更加细腻逼真的图像与画面。小点距的LED显示屏会在一个比较小的灯板上放置较多的发光二极管,为了提高芯片的使用效率和节省构建屏幕的成本,一般会使用多行扫的恒流源芯片来控制每个发光二极管。因此,驱动芯片的显示算法对于LED显示屏是否能够产生高质量的图像起到了关键作用。
[0003] 控制LED显示屏灰度的方法有两种:一种是改变流过的电流,一般LED管允许连续工作电流在20毫安左右,除了红色LED有饱和现象外,其他LED灰度基本上与流过的电流成比例;另一种方法是利用人眼的视觉惰性,用脉宽调制方法来实现灰度控制,也就是周期性改变光脉冲宽度,只要这个重复点亮的周期足够短,人眼是感觉不到发光象素在抖动。
[0004] 在灰度调制算法中,常用到两种算法。一种是常见的内置PWM算法,即集中显示LED的亮/暗时间,来体现不同灰阶的显示效果。但该方法存在一个主要的缺陷,就是显示刷新率会很低,因为相邻两个发光周期的时间间隔会比较长,如果帧频比较低的话,可能会有人眼容易感觉到的闪烁现象。另一种方法是SPWM(scrambled-PWM)算法,即将一组数据的导通时间打散成许多个时间段,以增加LED显示屏的整体刷新率。这种方法虽然改善了内置PWM算法刷新率低的缺点,但是低灰下本来点亮的导通时间就非常短,如果再将这些灰度打散,每一组周期内的单个灰度值很可能显示不完整,从而出现低灰麻点,低灰偏暗和较差的低灰线性度。当灰度显示时钟频率较高时,这一现象尤为明显。

发明内容

[0005] 1.要解决的技术问题
[0006] 针对现有技术中存在的对于多行扫恒流源芯片的刷新率不足、灰度等级不高、低灰效果差等问题,本发明提供了一种多行扫LED灰度切换显示方法及系统,它可以在行扫数较多的情况下,仍然保证较高的刷新率和灰度等级,同时在低灰显示的情况下,能够解决低灰麻点,低灰偏暗和较差的低灰线性度等问题,使得显示画面的效果大大提升。
[0007] 2.技术方案
[0008] 本发明的目的通过以下技术方案实现。
[0009] 一种多行扫LED灰度切换显示方法,其特征在于,包括以下步骤:
[0010] 步骤1:获取LED的灰度等级和灰度数据,灰度数据K为灰度等级所对应的二进制数值;
[0011] 步骤2:设定补偿等级,根据补偿等级,将灰度数据K加上一个补偿数值,得到灰度数据K′,将补偿值与实际电路响应时间所带来的亮度损失相抵消;
[0012] 步骤3:根据LED的刷新倍率,将补偿处理后的灰度数据K′划分为高位有效数据和低位有效数据,低位有效数据的位宽N用于将完整的显示时钟周期划分成2N组显示,高位有效数据的位宽M表示划分后每组时钟周期有2M个子时钟周期;
[0013] 步骤4:设定合并等级Q,判断合并等级Q是否为0或者2Q是否不大于高位有效数据KMSB,如果是,则对灰度数据K′进行打散显示,否则对灰度数据K′进行合并显示,实现对灰度数据的切换显示;
[0014] 步骤5:根据LED恒流驱动芯片显示的行数R和通道数C,重复R*C次步骤1至步骤4,形成完整的显示输出。
[0015] 进一步的,在步骤2中,如果灰度数据K′超过最大灰度值,则灰度数据K′等于最大灰度值,避免数据溢出。
[0016] 更进一步的,步骤3中对灰度数据K′的划分包括以下步骤:
[0017] 获取LED的刷新倍率和帧频;
[0018] 将刷新倍率乘以原始刷新率,得到目标刷新率;
[0019] 将目标刷新率除以帧频得出低位有效数据的位宽N;
[0020] 将灰度等级减去低位有效数据位宽N,得出高位有效数据位宽M。
[0021] 更进一步的,步骤4中对灰度数据K′进行打散显示包括以下步骤:
[0022] 将高位有效数据KMSB分别在2N组中显示,将高位数据进行打散显示;
[0023] 将剩余的低位有效数据KLSB按照二分法分配到2N组中显示,将剩余的低位数据均匀分配到划分的分组中。
[0024] 更进一步的,步骤4中对灰度数据K′进行合并显示包括以下步骤:
[0025] 将灰度数据K′除以2N得出整数部分与余数部分;
[0026] 将整数部分按照二分法分配到2N组中显示,整数部分所代表的组数是2N组中显示的部分;
[0027] 将余数部分分配到第一组的子周期中显示,将额外的点亮时间分配到第一组中显示。
[0028] 更进一步的,将剩余的低位有效数据KLSB按照二分法分配到2N组中显示包括以下步骤:
[0029] 生成一个N位的计数器CNT,用于记录划分的组数;
[0030] 判断CNT[0:N-1]是否小于低位有效数据KLSB,若小于,则在该组显示一个额外点亮时间的PWM脉冲,否则该组不显示一个额外点亮时间的PWM脉冲。
[0031] 更进一步的,将整数部分按照二分法分配到2N组中显示包括以下步骤:
[0032] 生成一个N位的计数器CNT,用于记录划分的组数;
[0033] 判断CNT[0:N-1]是否小于灰度数据K′的整数部分数值,如果小于,则在该组显示2Q个单位时间的PWM脉冲,否则该组不需要显示PWM脉冲。
[0034] 更进一步的,生成一个N位的计数器CNT记录划分的组数包括以下步骤:
[0035] 计数器CNT记录划分的组数;
[0036] 将计数器CNT的高低位互换,生成新的二分法组数,新的二分法组数用于对低位有效数据KLSB以及灰度数据K′的整数部分数值进行比较。
[0037] 一种多行扫LED灰度切换显示系统,用于执行上述方法,完成对所有灰度数据的显示。
[0038] 进一步的,一种多行扫LED灰度切换显示系统包括:
[0039] 移位寄存器,接收外部输入的灰度数据,将灰度数据存储到SRAM中;
[0040] SRAM,接收并存储灰度数据,将灰度数据发送到数据处理模块;
[0041] 数据处理模块,接收灰度数据,对数据进行处理,将处理后的数据发送到比较器中;
[0042] 计数器,记录分组数据的时钟个数,将时钟个数发送到比较器中;
[0043] 比较器,接收数据处理模块与计数器中的数据,对数据进行比较,输出PWM脉冲。
[0044] 3.有益效果
[0045] 相比于现有技术,本发明的优点在于:
[0046] 本发明提供了一种SC-PWM算法,该方法在显示较高灰度时,将显示周期打散,提高了整体的显示刷新率,并通过二分法分配的原理,使得点亮的周期尽可能平均地分配到每一帧画面里,使显示出的图像更加细腻清晰;而在显示较低灰度时进行灰度的合并,解决了低灰麻点、偏暗和线性度差等问题,使得在行扫数较多的条件下,仍然可以保证较高的灰度等级。同时本发明给出了一种低灰补偿方法,用于弥补因为模拟电路响应时间带来的灰度损失,使得实际的显示灰度与理论值可以更加接近,可配合SC-PWM算法使用,使得低灰显示效果大大提高。

附图说明

[0047] 图1为本发明的方法流程示意图;
[0048] 图2为本发明的低灰度补偿示意图;
[0049] 图3为本发明的打散原理示意图;
[0050] 图4为本发明的打散原理示意图;
[0051] 图5为本发明的合并PWM和打散PWM的对比示意图;
[0052] 图6为本发明的二分法分配原理示意图;
[0053] 图7为本发明的二分法分配低位数据示意图;
[0054] 图8为传统打散算法低灰度不合并显示示意图;
[0055] 图9为本发明的低灰合并显示示意图;
[0056] 图10为本发明的多行扫显示示意图;
[0057] 图11为本发明的恒流LED显示模块示意图。

具体实施方式

[0058] 对于LED常用的多行扫的恒流源芯片来说,该芯片能够支持尽量多的行扫数,从而实现节电的效果。但是一旦行扫数增加,单位点亮导通时间会低于10ns或更短,由于模拟电路需要响应时间,很有可能造成实际的点亮导通时间比理论时间小很多,造成低灰下偏暗,麻点,线性度差等各种显示问题。目前市面上的产品,如果行扫数达到64扫,想要保证较好的低灰效果,单位点亮导通时间就必须较大,这样的话只能有12或13位的灰度等级,并且刷新率不能很高。最终显示出的颜色的种类和渐变度就会很有限,画面质量就会比较差,影响显示效果。
[0059] 本发明提供了一种多行扫LED灰度切换显示方法及系统,可以应用于HX80XX系列芯片中。本发明可根据获取到的LED灰度数据、灰度等级、合并等级、刷新倍率以及补偿等级,进行PWM的打散和合并,在行扫数较多的情况下,仍然保证较高的刷新率和灰度等级,同时在低灰显示的情况下,能够解决低灰麻点,低灰偏暗和较差的低灰线性度等问题,使得显示画面的效果大大提升。
[0060] 下面结合说明书附图和具体的实施例,对本发明作详细描述。
[0061] 如图1所示,本发明主要包括以下步骤:
[0062] 步骤1:获取LED的灰度等级和灰度数据,这里令灰度等级位数有L位,对应的灰度数据的值为K,灰度等级指的是LED屏幕从最暗到最亮所具有的变化数量,代表灰度数据的位宽,而灰度数据K为灰度等级所对应的二进制数值,是包含在灰度等级范围里的任意一个具体数值,代表一个确定的亮度,数值越大代表亮度越高,如灰度等级有L位,那么该LED屏幕具有2L种颜色的变化,灰度数据就是2L范围内的一个具体数值,L位的灰度数据{DL-1,DL-2...D1,D0}由发送卡送给芯片,所显示的灰度范围为0至2L-1。
[0063] 步骤2:设定补偿等级S,根据补偿等级S,对灰度数据K进行补偿处理,将灰度数据K转化成灰度数据K′,补偿处理是将灰度数据K加上一个补偿数值,得到位宽依然为L的二进制数K′,补偿处理的补偿数值由补偿等级决定。
[0064] 补偿处理中的补偿等级为可调参数,补偿等级的数值由单个灰度的显示时间来设置,而显示时间的周期由LED屏幕的控制面板决定,因此可以根据软件仿真出各种周期下损失的时间,结合实际选择的显示时间周期来预先设定合适的数值,例如设定为0、1、2、……、S,这使得系统的灵活性和可操作性大大提高。当外部输入的灰度数据K较大时,若加上补偿的灰度值已经超过最大灰度值,则补偿后的灰度数据K′保持在最大灰度值处不变,避免数据溢出。最大灰度值就是在某一灰度等级下的最大灰度数据,例如14位的灰度等级所对应的灰度数据变化范围为0至16383,那么最大灰度值就是16383,灰度等级由人为设定,如果灰度等级设定过高,但显示的算法设定的不好,即显示灰度数据全采取单一的解决方法,例如全局采用打散算法或合并算法,就会在一些条件下出现显示效果不佳的现象。例如单一的打散算法在低灰度条件下由于亮度不足导致显示效果不良,合并算法在中高灰条件下的刷新率不高导致的画面细腻感不足。
[0065] 如图2所示,当行扫数较多,且灰度等级较高时,低灰下的显示时间就会非常的短。在灰度为1时,假如理想情况下灰度的显示时间为10ns,但是实际模拟电路开关需要一定的响应时间,所以实际点亮的时间很可能远远小于理论值,会造成低灰麻点,低灰偏暗和较差的低灰线性度等问题。因此获取到LED的灰度等级和灰度数据后,需要对灰度数据K进行补偿处理,对灰度数值进行补偿处理实质上是对模拟电路响应时间内丢失的PWM脉冲亮度进行补偿。例如灰度数据K为1,对其进行灰度值为1的补偿处理,将灰度数据K转化成值为2的灰度数据K′,那么实际电路响应时间所带来的亮度损失就会和增加的补偿值相抵消,使得能够真实的显示出理论的灰度数值,因此低灰下的显示效果会大大提高。
[0066] 步骤3:根据LED的刷新倍率,将补偿处理后的灰度数据K′划分为M位的高位有效数据和N位的低位有效数据,低位有效数据的位宽N用于将完整的显示时钟周期划分成2N组显示,高位有效数据的位宽M表示划分后每组时钟周期有2M个子时钟周期,例如灰度数据K′的显示时钟周期为2L,则将2L个显示时钟周期分成2N组显示,每组2M个时钟周期,其中M+N=L,M和N均为正整数。显示时钟为单位显示时间,即一个灰度的显示时间,显示时钟周期与灰度数据对应,如灰度等级是14位,那么显示的总周期就是固定的16384个时钟周期。灰度数据是80,就会点亮80个时钟周期,熄灭16304个时钟周期。灰度数据是8000,就会点亮8000个时钟周期,熄灭8384个时钟周期。刷新倍率表示在基础刷新率的基础上可以进一步提升的刷新倍数,目标刷新率指所要得到的显示刷新率,单位是赫兹(Hz),定义为每秒钟画面变化的次数。比如刷新率为1920Hz,代表画面1秒变化了1920次;刷新倍率指建立在最小刷新率基础上的倍数,单位是倍。比如设计的芯片可显示的最小刷新率为960Hz,那么这个960Hz的刷新率就称为刷新倍率1,那么1920Hz的刷新率就称为刷新倍率2,3840Hz的刷新率就称为刷新倍率4,1920Hz和3840Hz的刷新率是我们的目标刷新率,目标刷新率由刷新倍率和基础刷新率决定。上述的低位有效数据和高位有效数据的位数指的是位宽,无论低位有效数据和高位有效数据的数据本身值为多少,都被打散成低位有效数据的位宽所对应的组数,而低位有效数据的值代表将有几组能获得额外的一个单位时间的点亮,在合并模式下不看低位数据,而是根据整数和余数来分配。
[0067] 划分高位有效数据和低位有效数据用于提高LED的刷新率,低位有效数据的位数越多,显示时钟周期分的组数越多,LED的刷新率也就越高。例如LED的画面一秒钟有60帧,15位的灰度数据如果不分组显示,那么显示刷新率就是60*1=60赫兹,如果划分成10位高位有效数据,5位低位有效数据,即将15位的灰度数据分成了25组显示,那么显示刷新率就是60*32=1920赫兹,显示刷新率大大提高,LED显示的图像质量也越高。所以根据LED屏幕所要求的显示刷新率来划分M+N的形式,以达到提高刷新率的要求。
[0068] 这里将刷新倍率定义为P,刷新倍率可设定为20,21...2P倍原有刷新率,由于灰度数据和刷新率均为二进制数,因此刷新倍率为2的倍数。令上述划分的每组子时钟周期的最大个数为2J,则M=J-P,P
[0069] 如图3和图4所示,显示的灰度数据为15位,灰度值为16400。根据SC-PWM算法,首先会将15位的灰度数据分为高位有效数据和低位有效数据,比如10位的高位有效数据和5位的低位有效数据,其中低位有效数据的位宽决定这打散的子周期数,5位低位有效数据将灰度数据打散成25个子周期。由于高位的数据对于显示起着主导作用,因此高位中的数据将会在每个子周期中重复显示。位宽为10的高位数据为10’b10_0000_0000,代表512个单位点亮时间,会在子周期中先显示出来。由于10位高位数据最大值为1023,二进制为10’b11_1111_1111,而每一组的显示时间为1024,所以低位数据会被分配到这32组子周期中来决定最后一个单位时间的亮暗。如果低位数据KLSB为16,二进制为5’b1_0000,则按照二分法的原则分配到32个子周期中,即16个低位数据会依次分配到第1、17、9、25、……、31组中,被分配到的子周期会显示一个额外的点亮时间。
[0070] 额外点亮时间指该周期会多出一个时钟的点亮时间,如灰度数据是67,打散成32组,那么根据打散分配的原则,会有29组显示2个灰度,会有3组显示3个灰度,这三组就是所谓的1个额外的点亮时间,点亮时间即灰度显示时间。
[0071] 本发明中SC-PWM算法对灰度数据的划分可根据具体的需求改变,首先获取设定的刷新倍率和基础刷新率,相乘得到目标刷新率,根据目标刷新率选取适当的打散组数,确定低位位宽,然后将总位宽减去低位位宽得出高位位宽,如显示刷新率需要设定为3840Hz,帧频要求为60Hz,计算公式为刷新率=帧频*打散组数,则需要打散成3840/60=64组,则低位数据为6位,高位数据为15位灰度数据减去6位低位数据,15位灰度数据被划分为9位高位数据和6位低位有效数据,通过对灰度数据划分的灵活调整,提高了算法的鲁棒性。
[0072] 步骤4:设定合并等级Q,判断合并等级Q是否为0或者2Q是否不大于高位有效数据KMSB,如果是,则进行打散显示,将高位有效数据KMSB分别在2N组中显示,即在划分出的每个N子周期里显示,将剩余的低位有效数据KLSB按照二分法分配到2组中显示;否则进行合并显示,高位有效数据KMSB在2N组中都不显示,即在划分出的每个子周期里全都不显示,而是将二进制数据K′[N+Q-1:Q]按照二分法分配到2N组中显示,并将K′[Q-1:0]分配到第一组子周期显示,K′[N+Q-1:Q]代表灰度数据K′除以2N得出的整数部分,K′[Q-1:0]代表灰度数据K′N N Q
除以2 得出的余数部分,整数部分为2 组中有显示的组数,每组显示灰度值为2 ,余数部分为第一组额外显示的时钟周期数,即使对灰度数据进行合并显示,却还是按照打散显示的方法进行分组,比如15位的灰度数据分成10+5的形式,我们计算出的整数部分是19,但仍然把数据分成了32组,只不过是这32组中只有19组会有数据显示,其余的13组没有显示。
[0073] 二分法分配通过一个N位的计数器CNT计数划分的组数,当进行打散显示时,如果CNT[0:N-1]小于KLSB时,则该组需要显示一个额外点亮时间的PWM脉冲,否则该组不需要显示一个额外点亮时间的PWM脉冲,CNT[0:N-1]代表二分法组数,用于实现二分法分配。当进行合并显示时,如果CNT[0:N-1]小于K′[N+Q-1:Q],则该组会显示2Q个单位时间的PWM脉冲,否则该组不需要显示PWM脉冲,另外第一组的打散周期会显示额外的K′[Q:0]个单位时间的PWM脉冲。
[0074] 合并等级Q表示总灰度数据被打散后每一组显示的最小时钟周期,可设定为20、21、……、2Q个显示时钟周期。合并等级的设定规则与显示的灰度等级有关,在本实施例中,当灰度等级为13位以下时,合并等级设定为0;灰度等级为14位时,合并等级设定为1;灰度等级为15位时,合并等级设定为2;灰度等级为16位时,合并等级设定为3。如果每个分组中显示的子灰度数据小于设定值或合并等级为0,则进行对子灰度数据进行合并显示,不显示高位有效数据KMSB;否则进行打散显示,即高位有效数据KMSB分别在每个子周期内显示,每个子周期里都会显示KMSB个单位时间的PWM脉冲。子灰度数据指每组时钟周期内的灰度数据KMSB,当子灰度数据低于设定值时,说明屏幕亮度不够,可能会造成画面不清晰,因此通过合并显示增加亮度;当子灰度数据高于设定值时,说明屏幕亮度足够,因此通过打散显示,提高屏幕的显示刷新率,从而提高画面流畅度。例如合并等级Q设定为1,当高位有效数据不小于21时会进行打散显示,当高位有效数据小于21时会进行合并显示。假设位宽为15的灰度数据,根据10+5的分组机制分组,当这个15位数据本身比较小的时候,高位数据就会小于2,认为此时属于低灰度值,因此会采用合并显示的方法,当15位数据本身比较大的时候,高位数据就会大于2,认为此时属于高灰度值,因此会采用打散显示的方法。
[0075] 如图5所示,以显示总周期为80个单位时间,显示灰度为40为例,合并PWM显示就是将40个单位点亮时间全部集中到一起显示,之后是40个单位时间的熄灭时间。而打散PWM显示则是将总共40个单位点亮时间平均分成了4组显示,每显示10个单位点亮时间后熄灭10个单位时间,这样将原来的一个周期的显示变成的4个更小周期的显示,所以刷新率提高了4倍,因此打散的PWM方法可以在不影响灰度的情况下提高LED显示屏的刷新率。
[0076] 如图6所示,该方案将灰度数据分为16组,可以用一个4位的计数器来计数,计数范围为4’b0000到4’b1111,即十进制的0到15,用CNT[3:0]来表示,而CNT[0:3]就是将CNT[3:0]的高低位互换,生成一个新的小组叫做二分法组数,当二分法组数序号小于KLSB时,该组会分配到一个数,以此实现低位有效数据KLSB为3和5的二分法分配。
[0077] 如图7所示,这种二分法分配方式使得LED屏幕点亮的周期尽可能平均,对人眼的视觉效果非常友好。这样总的显示时间仍然为1024t*32=32768t,在点亮的总时间不变的前提下,刷新率提高了32倍。显示刷新率的改变可通过改变刷新倍率来改变打散的子周期数实现。
[0078] 以位宽为15位的灰度数据为例,合并等级Q设定为2,K′=15’b000_0000_0100_0001,即十进制65。按照M=10,N=5的分组规则划分,则10位高位数据为10’b00_0000_
0010,即十进制的2,5位低位数据为5’b0_0001,即十进制的1。根据判断机制,高位有效数据KMSB值为2,小于合并等级22,所以要合并显示,显示的每一组都有4个单位灰度。因为65/4=
16,余数为1,整数部分为K′[N+Q-1:Q]就是K′[5+2-1:2]=K′[6:2],此为数字电路中位宽的标准定义,K′[0]代表15位数据K′的第1位,K′[6:2]代表K′的第7位到第3位,为5’b10000,即十进制的16,而余数部分为K′[Q-1:0]就是K′[2-1:0]=K′[1:0],为2’b01,即十进制的1。因此,将整数部分16按照二分法分到32组当中,每组显示4个单位灰度,余数1分到第一组的子周期显示,即第一子周期会显示4+1=5个单位灰度,总灰度为4*16+1=65不变。
[0079] 如图8的传统PWM算法所示,以4位灰度数据为例,将灰度数据打散成4组,每组分配4个灰度数据,传统PWM算法按顺序将灰度数据均匀分配到每组中,这种打散的机制在灰度值较小的情况下每个子周期的点亮时间很短,由于模拟电路不能快速反应数字信号的变化,再加上每颗芯片的通道间或者不同芯片之间可能会有差异性,所以会在LED显示屏上出现麻点或者偏暗的状况。本发明的低灰度合并机制可以增强低灰下的显示,设置每个打散子周期最小的灰度值2Q,当灰度值小于2Q*打散组数时采用合并显示的方法,否则采用打散显示的方法。
[0080] 如图9所示,设置合并等级Q为1,即每个打散的子周期中的点亮时间必须不小于21,灰度数据为1除外,打散组数为4。所以当灰度值所以当灰度值小于2*4时,采用合并显示的方法,这样通过集中显示增加通道的打开时间,有效缓解脉宽过短带来的低灰麻点或者亮度偏暗等问题,能够清楚的看出每一个灰度值的变化,若配合之前所提到的低灰补偿功能,可以进一步提高显示效果,以适应不同的行扫数,灰度等级等等。而当随着灰度值的增加,每个子周期中的点亮时间本身已经比较长,可通过打散生成较多的组数来提供较高的刷新率。
[0081] 步骤6:根据单个LED恒流驱动芯片显示的行数R和通道数C,重复R*C次上述步骤,形成完整的显示输出,其中R、C为正整数。通道数是指一颗芯片所驱动的像素点的个数,如一个LED驱动芯片有16个通道,那么每次换行时,每行就会有16个像素点跟着一起变化。对于多行扫多通道的LED恒流驱动芯片,在每一行的子周期数据显示完毕后,会由行芯片进行换行显示操作,各个通道互相之间不会干扰并且同时显示,直至显示完所有的数据。
[0082] 如图10所示,以64行扫,32打散为例,在每一个打散的子周期中,从1至64行依次进行每行的子周期显示,然后进行下一个子周期的行扫显示,当最后一个子周期的最后一行数据显示完毕后,一帧数据便进行了完整的显示。
[0083] 如图11所示,假设每个输出的数据为16位的位宽,首先通过移位寄存器将外部串行输入的64行扫16通道所有灰度显示数据存储到SRAM中,然后每一次从SRAM里拿出某行行扫时16个通道所需要的所有数据,总计16x16bit,这16组数据经过数据处理模块的SC-PWM算法的相关数据处理,通过一个16bit的计数器记录当前显示的时钟周期个数,将数据处理模块处理后的数据值与计数器中的数据通过16路的16bit比较器进行比较,输出每个通道的PWM脉冲,计数器记录的是当前显示的时钟周期个数。灰度数据值代表需要点亮多少个时钟周期的时间,所以要比较计数器的时钟个数和灰度数据,当计数器的值比灰度数据小的时候就表示没显示完,继续显示,当计数器的值比灰度数据大的时候就表示已经显示完了,便不再显示。各个通道互相之间不会干扰并且同时显示,直至显示完所有的数据。
[0084] 以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。附图中所示的也只是本发明创造的实施方式之一,实际的结构并不局限于此,权利要求中的任何附图标记不应限制所涉及的权利要求。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。此外,“包括”一词不排除其他元件或步骤,在元件前的“一个”一词不排除包括“多个”该元件。产品权利要求中陈述的多个元件也可以由一个元件通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。