掌桥专利:专业的专利平台
掌桥专利
首页

一种灰度数据显示驱动模块及灰度数据传输方法

文献发布时间:2023-06-19 11:05:16


一种灰度数据显示驱动模块及灰度数据传输方法

技术领域

本申请涉及灰度显示领域,具体涉及一种灰度数据显示驱动模块及灰度数据传输方法。

背景技术

灰度数据是显示器进行灰度显示强度的数据,在中高阶显示屏中,通常采用能够输出高刷新PWM的恒流源驱动芯片,这类芯片通常全部接收存储灰度数据,再利用PWM产生装置生成PWM驱动信号。全存储灰度数据需要较大的存储器,特别是采用ping-pong存储结构的芯片,需要两颗存储器,这增加了芯片的成本。基于该前提下,提出了将灰度数据分开发送的方式,例如公开号Ci105096821B的中国专利,就公开了一种灰度显示驱动方法及灰度显示驱动装置,该专利中,灰度显示驱动装置根据视频信号中的显示数据计算了包括高有效位和余数位的灰度数据,然后将高有效位和余数位的权重分散到m个子帧中,获得多个子帧位权重序列和多个子帧位数值序列,逐个子帧地输出灰度驱动信号,以驱动LED显示屏的LED。

该专利中给出了将灰度数据分为高有效位和余数位的灰度数据,然后进行分别显示,解决了一次传输灰度数据需要较大存储器的问题,同时也提升了灰度数据的刷新率。在一定成都上解决了灰度显示过程中显示不均匀和刷新率较低的问题。然而,该专利没有解决灰度数据传输过程中的显示问题。一般情况下,灰度数据是采用数据总线进行传输,就目前而言,驱动芯片普遍采用的是一条数据总线,而将灰度数据分为高有效位和余数位的灰度数据进行显示时,高有效位和余数位的灰度数据采用的是分开传输的方式。

对于公共整数数据与余数系数数据分开接收的装置,接收公共整数需要占用一定的总线时间(总线带宽),进一步的,对于先接收公共整数再接收余数系数的情况,余数系数接收之前,灰度不完整,显示效果较差,尤其是对于低灰数据而言,画面显示效果更差。

发明内容

本申请的目的在于克服现有技术的不足,提供一种灰度数据显示驱动模块及灰度数据显示传输方法,通过混合发送和接收整数数据和余数系数数据,不仅降低了芯片成本,还使得余数系数数据更均匀地分布在每一帧中,从而提升显示效果。

本申请的目的是通过以下技术方案来实现的:

一种灰度数据显示驱动模块,包括第一存储单元、余数系数解析单元和PWM产生单元;

第一存储单元,存储灰度数据的公共整数数据和余数高位数据,公共整数数据输出至PWM产生单元;

余数系数解析单元,控制所述第一存储单元选择性输出余数高位数据至PWM产生单元;

第一存储单元不输出余数高位数据时,由数据总线传输余数系数数据至PWM产生单元;

PWM产生单元,根据共整数数据和余数高位数据或余数系数数据生成PWM进行显示。

为了提高灰度数据显示的均匀性,以及降低存储器容量从而降低芯片成本,本申请将灰度数据分为公共整数数据和余数数据,其中余数数据分若干余数系数数据,传输数据时仅存储公共整数数据和余数高位数据,极大的降低了数据存储量,降低了对存储器的要求,使得存储器的容量和尺寸都得以减小,从而降低了成本。在传输过程中,公共整数数据和余数系数数据混合发送,使得显示PWM中,一开始就有余数系数数据+公共整数数据,同时也不需要额外显示多显示公共整数,从而解决了传统公共整数据和余数系数数据传输过程中需要额外显示几组公共整数或者是等待余数系数数据的问题,使得PWM显示更加均匀。

进一步的,所述余数系数数据发送至余数系数解析单元,由余数系数解析单元解析后传输至PWM产生单元;

或,

余数系数数据发送至第一存储单元进行存储,由余数系数解析单元解析后传输至PWM产生单元;

或,

余数系数数据直接发送至PWM产生单元。

公共整数需要反复使用,因此必须将完整的公共整数存储在第一存储单元中,这里第一存储单元所存储的公共整数数据是指驱动模块(驱动芯片)全部通道所对应的公共整数数据,也就是说公共整数发送完以后,就不需要再发送公共整数,也就是只发送余数系数数据。

进一步的,所述第一存储单元由存储器1-A和存储器1-B组成,存储器1-A和存储器1-B采用ping-pong结构交替收发数据;或,所述第一存储单元仅包括一个存储器。

采用ping-pong结构交替收发数据可完全解决画面撕裂问题,其缺陷在于相较于单存储器的结构成本更高,但相较于传统模式下,本方案中的存储器1-A和存储器1-B容量均更小,也就是相较于现有技术仍具有成本更低的技术进步。

进一步的,在一个完整显示帧内,当前显示帧的公共整数数据和余数高位数据存储在所述存储器1-A中,当存储器1-A输出余数高位数据时,数据总线传输下一显示帧的公共整数数据和余数高位数据存储在所述存储器1-B中。

本申请还提供了另一种灰度数据显示驱动模块,包括:

包括第一存储单元、第二存储单元和PWM产生单元;

第一存储单元,存储灰度数据的公共整数数据并据输出至PWM产生单元;

第二存储单元,存储灰度数据的余数数据并输出至PWM产生单元,该余数数据显示完以后存储其他位的余数数据并持续输出至PWM产生单元直至全部的余数数据显示完;

PWM产生单元,根据共整数数据和余数数据生成PWM进行显示;

或,

还包括一个余数系数解析单元,控制所述第二存储单元选择性输出余数数据至PWM产生单元,该余数数据为余数高位数据;

第二存储单元不输出余数高位数据时,由数据总线传输余数系数数据至PWM产生单元;

PWM产生单元,根据共整数数据和余数高位数据或余数系数数据生成PWM进行显示。

相较于前文所述的一种灰度数据显示驱动模块,这里的另一种灰度数据显示驱动模块的区别在于增加了一个第二存单元用于存储余数系数数据,但相对的第一存储单元的存储容量降低,因为第一存储单元可以仅存储公共整数数据,相较于传统技术,本申请仍具有成本更低的技术进步。

进一步的,所述第二存储单元的存储容量小于第一存储单元。

进一步的,所述第一存储单元由存储器1-A和存储器1-B组成,存储器1-A和存储器1-B采用ping-pong结构交替收发数据;或,所述第一存储单元仅包括一个存储器。采用ping-pong结构交替收发数据可完全解决画面撕裂问题,其缺陷在于相较于单存储器的结构成本更高,但相较于传统模式下,本方案中的存储器1-A和存储器1-B容量均更小,也就是相较于现有技术仍具有成本更低的技术进步。

进一步的,在一个完整显示帧内,当前显示帧使用的公共整数数据和余数数据存储在所述存储器1-A中,当存储器1-A输出余数数据时,数据总线传输下一显示帧的公共整数数据和余数数据存储在所述存储器1-B中。

进一步的,所述公共整数数据和余数高位数据混合发送,包括:

公共整数数据和余数高位数据混合形成数据包A进行循环发送;

或;

公共整数数据作为数据包A,余数高位数据作为数据包B,数据包A和数据包B混合发送;

或;

公共整数数据和余数高位数据混合形成数据包A,余数系数数据作为数据包B,数据包A和数据包B混合发送。

由于需要选择性输出公共整数数据和余数高位数据,也就是说公共整数数据和余数高位数据都需要进行存储,在数据发送时,如果先发公共整数数据,公共整数数据发送完以后再发送余数高位数据就会造成显示初始阶段缺少余数系数数据,本申请中将公共整数数据和余数高位数据混合发送并存储。

进一步的,所述余数系数解析单元和PWM产生单元共同作为PWM产生装置进行封装;

或;

PWM产生单元作为PWM产生装置进行封装,余数系数解析单元与PWM产生装置电性连接。

进一步的,所述所述PWM产生单元或余数系数解析单元存储有余数系数数据和余数数据的权重W

余数系数数据和余数高位数据实际显示的灰度值=W

进一步的,所述x≥1时,需要额外发送余数低位数据D[x-1:0]进行显示,其显示方式包括:

在余数系数数据恒为0的PWM中显示余数低位数据D[j],其中j取值为[0,x-1];

或,

在余数余数系数数据恒为0的PWM和额外的PWM中显示余数低位数据D[j],其中j取值为[0,x-1];

或,

在无需传输余数系数数据时的PWM中显示余数低位数据D[j],其中j取值为[0,x-1]。

进一步的,所述在无需传输余数系数数据时的PWM中显示余数低位数据D[j]时,其对应的PWM显示周期延长,以保证显示周期所对应的灰度值大于等于公共整数数据+余数系数数据+余数低位数据D[j];

或,其对应的PWM显示周期不延长,当公共整数数据+余数系数数据+余数低位数据D[x-1:0]大于该PWM所对应的灰度数据时,其溢出部分部分忽略。

在一个完整显示帧内,前M组PWM或前M个奇数组PWM,使用第一存储单元存储的公共整数数据和余数高位数据进行显示,其余组PWM交替使用第一存储单元存储的余数高位数据和数据总线传输的余数系数数据。

进一步的,所述余数高位数据为余数数据的第ibit,或第[(i-b)-i]bit;其他bit的余数数据作为余数系数数据,其中,1≤b;

或,所述余数高位数据通过余数数据计算得出。

也就公共整数数据和余数系数数据混合后作为数据包进行发送时,每个数据包A中只有1bit或ibit余数系数数据,为了降低第一存储单元的存储空间,数据包A中只有1bit余数系数数据是最佳选择。根据数据总线的宽度,每次发送2-3个数据包A,一般情况下累计不超过16bit(数据总线的传输带宽一般为16bit)。当灰度数据不是二进制时,也可以通过查找表的方式确认余数高位数据。

进一步的,在一个显示帧周期内,PWM的显示时序为:

时序1:奇数组PWM中包括公共整数数据和余数高位数据,偶数组PWM中包括公共整数数据和余数系数数据;或偶数组PWM中包括公共整数数据和余数高位数据,奇数组PWM中包括公共整数数据和余数系数数据;

或,

时序2:前M组PWM中包括公共整数数据和余数高位数据,剩下的PWM中余数系数数据和余数高位数据交替显示,且公共整数在M组PWM显示周期内全部发送完。

进一步的,所述余数系数解析单元根据时序1或时序2控制所述第一存储单元输出余数高位数据至PWM产生单元。

进一步的,各显示帧之间,采用动态切换的方式在时序1和时序2之间进行切换。

进一步的,所述时序1和时序2的切换通过控制器/逻辑处理模块完成,所述控制器/逻辑处理模块与余数系数解析单元连接,所述控制器/逻辑处理模块内置阈值K,并根据阈值K控制余数系数解析单元是解析第一存储单元存储的余数系数数据还是解析由数据总线传输余数系数数据。

进一步的,所述时序1和时序2根据画面灰度进行动态切换,当画面灰度大于等于灰度阈值K时采用时序2,小于灰度阈值K则采用时序1。

进一步的,所述灰度阈值K表示:

一个完整显示帧的灰度值;

或,一个完整显示帧内各PWM所对应的平均灰度值;

或,判断整数是否小于某个阈值,进一步,统计显示区域中满足条件的像素点个数,是否小于某个预设值。

进一步的,所述余数系数解析单元和PWM产生单元共同作为PWM产生装置进行封装;

或;

PWM产生单元作为PWM产生装置进行封装,余数系数解析单元与PWM产生装置电性连接。

进一步的,所述PWM产生单元或余数系数解析单元存储有余数系数数据和余数高位数据的权重W

PWM产生单元根据公共整数数据、余数系数数据以及权重W

进一步的,所述x≥1时,需要额外发送余数低位数据D[x-1:0]进行显示,其显示方式包括:

在余数系数数据恒为0的PWM中显示余数低位数据D[j],其中j取值为[0,x-1];

或,

在余数余数系数数据恒为0的PWM和额外的PWM中显示余数低位数据D[j],其中j取值为[0,x-1];

或,

在无需传输余数系数数据时的PWM中显示余数低位数据D[j],其中j取值为[0,x-1]。

进一步的,所述在无需传输余数系数数据时的PWM中显示余数低位数据D[j]时,其对应的PWM显示周期延长,以保证显示周期所对应的灰度值大于等于公共整数数据+余数系数数据+余数低位数据D[j];

或,其对应的PWM显示周期不延长,当公共整数数据+余数系数数据+余数低位数据D[x-1:0]大于该PWM所对应的灰度数据时,其溢出部分部分忽略。

一种灰度数据传输方法,该方法包括:

S100:数据分组,将每一帧灰度数据分为公共整数数据和余数数据,其中余数数据分为若干组余数系数数据;

S200:数据发送,先混合发送公共整数数据和部分余数系数数据,共整数数据发送完以后继续发送剩下的余数系数数据。

进一步的,所述公共整数数据和部分余数系数数据的发送时序包括:

时序A1:在前M组时序将公共整数数据和部分余数系数数据发送完;

时序A2:在前M个奇数组时序将公共整数数据和部分余数系数数据发送完。

进一步的,所述时序A1和时序A2可根据各显示帧之间根据灰度阈值K进行切换,当画面灰度大于等于阈值K时采用时序A2,小于阈值K则采用时序A1。

进一步的,所述S200中的数据发送包括:

S201:将公共整数数据和部分余数系数数据组成数据包A,其余余数系数数据作为数据包B;

S202:数据发送,先循环发送数据包A,后发送数据包B;或先混合发送数据包A和数据包B,后发送数据包B;

或;

S201:将公共整数数据组成数据包A,部分余数系数数据作为数据包B1,其余余数数据作为B2;

S202:数据发送,先混合发送数据包A和数据包B1,后发送数据包B2。

进一步的,所述部分余数系数数据是余数数据中的余数高位数据t。

进一步的,所述余数高位数据为余数数据的第ibit,或第[(i-b)-i]bit;其他bit的余数数据作为余数系数数据,其中,1≤b;

或,所述余数高位数据通过余数数据计算得出。

进一步的,所述公共整数数据和部分余数系数数据存储在驱动芯片中;

剩下的余数系数数据不存储,或存储在驱动芯片。

进一步的,所述余数系数数据的权重W

进一步的,所述x≥1时,需要补充发送余数低位数据D[x-1:0];

所述余数低位数据D[x-1:0]在空闲的时序组中发送;

或,新增若干组时序发送余数低位数据D[x-1:0]。

进一步的,在空闲的时序组中可用于传输下一显示帧的公共整数数据和部分余数系数数据以及寄存器数据和双沿指令。

本申请的有益效果是:

(1)和传统的灰度数据传输相比,本申请中将灰度数据分为公共整数数据和余数数据,其中余数数据分若干余数系数数据,在存储时仅存储公共整数数据,相较于传统模式下,本申请对存储器的要求更低,可降低存储器容量和尺寸,节约芯片成本;

(2)在数据传输过程中,本申请将公共整数数据和余数系数数据混合发送,使得显示公共整数时就已经有了余数系数数据,从而使得画面显示更加均匀,可避免跳灰;

(3)公共整数数据和余数系数数据混合发送,显示时一开始就有了余数系数数据,因此不需要额外显示公共整数,可避免图像失真。

附图说明

图1是本申请的硬件原理图;

图2是本申请的一种实施例原理框图;

图3是本申请的另一种实施例原理框图;

图4是数据包A循环发送示意图;

图5是数据包A和数据包B混合发送示意图;

图6是数据包A和数据包B另一种混合发送时示意图;

图7是本申请余数系数数据分开存储的原理图;

图8是余数系数全部存储的原理图;

图9是现有技术中数据接收和显示原理图;

图10是现有技术数据包发送和显示关系图;

图11是本申请数据接收和显示原理图;

图12是本发数据包发送和显示关系图;

图13是时序1的示意图;

图14是时序2的示意图;

图15是时序1和时序2动态切换的结构原理图;

图16是数据传输系统示意图;

图17是数据包A和数据包B的组成示意图;

图18是先发余数系数数据和显示关系示意图;

图19是第一存储单元采用ping-pong结构的原理框图;

图20是余数系数数据多个不打散时的数据传输和显示示意图;

图21是余数系数数据多个不打散时的数据传输和显示的另一种示意图;

图22是余数系数数据多个不打散时的数据传输和显示的又一种示意图;

图23是灰度数据分为32组进行传输的实例图;

图24是灰度数据分为64组进行传输的实例图;

图25是单脉冲显示的波形示意图;

图26是优化后的显示波形图。

具体实施方式

下面结合具体实施例进一步详细描述本申请的技术方案,但本申请的保护范围不局限于以下所述。

应说明的是,在没有特殊说明的情况下,本实施例以及前文所述的余数数据和公共整数数据都是指LED显示屏中同一显示帧的灰度数据。

在一个完整显示帧内,灰度数据分为公共整数数据和余数数据,以一个13bit的二进制灰度数据为例进行说明,定义该13bit的数据为D[12:0],也就是一个位宽为13bit的数据。就目前而言,灰度数据一般最大为16bit,不管是多大的灰度数据,在进行公共整数数据和余数数据划分时,其原理均如下:

公共整数数据

余数数据

其中N为整数部分权重,可以理解为公共整数数据的组数,例如在本实施例中,令N=64,也就是包括64组公共整数数据,也就是Q=D[12:6],R=D[5:0],换言之,公共整数数据是7bit的灰度数据高位数据,余数数据是6bit的灰度数据的低位数据,总共为64个PWM。而6bit的低位数据中的每1bit或2bit或者多bit则是余数系数数据。

除以上方式外,本实施例还提供本领域的另一种划分方式,例如一个13bit的灰度数据,在数据形式上表现为一个13位的二进制数字串,则对该13位的二进制数字串进行拆分,分为公共整数数据和余数数据,也就是按数据位进行划分,高位数据作为公共整数数据低位数据作为余数数据,其中高位数据和低位数据是相对而言的,当确定划分位数时,则自动生成高位数据和低位数据,例如在一个13bit的灰度数据中,当定义低6位作为余数数据时,则高7位自动作为公共整数数据,也就是第1-6位数据为低位数据,7-13位作为高位数据,反之亦然,当确定高位数据时,低位数据也自然确定。

也就是说是,灰度数据分为公共整数数据和余数数据的本质也就是将灰度数据分为高位数据和低位数据,这也本领域比较常用的分解方式,例如公开号为CN105096821B的专利,灰度显示驱动方法及灰度显示驱动装置中将灰度数据分为高有效位和低有效位。

基于该分解,可以看出,对于任意一个灰度数据而言,公共整数数据是固定的,例如灰度值为1110111111011中,公共整数数据固定为1110111,其权重为64,也就是需要显示64次,相当于公共整数数据需要循环显示64次,因此本申请中将公共整数数据进行存储,以便反复使用,相较于传统模式下,存储整个灰度数据13bit,本申请仅存储公共整数的7bit,相当于节约了近一半的存储器容量,因此本申请具有芯片成本更低、存储器尺寸更小的技术进步。

而余数数据则可以进一步拆分,如下:

R[5]:在其中32组内显示。

R[4]:在其中16组内显示。

R[3]:在其中8组内显示。

R[2]:在其中4组内显示。

R[1]:在其中2组内显示。

R[0]:在其中1组内显示。

其中,R[0]-R[5]就是余数系数数据的位阶,也就是将余数数据分解为1bit的数据(也可以分解为多bit),其中每位余数系数数据可能都不相同。其中,R[5]可决定32组PWM中的余数系数,也就是表示了32个余数系数数据的值,R[4]可决定16组PWM中的余数系数,R[3]可决定8组PWM中的余数系数,依次类推。累计为63组,累计为63组,即63个余数系数数据R

以上是N取值为2

当N的取值不为时2

除以上二进制的灰度数据外,对于十进制、十六进制的数据处理,其原理与之相同。本实施例中以十进制数进行介绍,例如十进制数据8191,假设令N=64,则公共整数数据为127,63作为余数数据,那么8191则包括了64组127,余数数据63可以在每个组显示1,则剩下一组不包含余数数据,或者认为这一组的余数数据恒为0,其原理与二进制完全一致。这样表示下来的最终结果仍然是8191。

参考图1所示,一种灰度数据显示驱动模块以下简称驱动芯片或芯片,包括包括第一存储单元100、余数系数解析单元400和PWM产生单元200。第一存储单元100,存储灰度数据的公共整数数据和余数高位数据,公共整数数据输出至PWM产生单元200。余数系数解析单元400,控制所述第一存储单元100选择性输出余数高位数据至PWM产生单元200,这里所指的选择性输出是指第一存储单元100可以在任意组输出余数高位数据至PWM产生单元200使用,并不局限于某些固定组中。第一存储单元100不输出余数高位数据时,由数据总线传输余数系数数据至PWM产生单元200。假设在第1、2、3、5、7、8组显示的余数系数数据使用的是第一存储单元100存储的余数高位数据,则在第4、6组显示的余数系数数据则通过数据总线传输。PWM产生单元200,根据共整数数据和余数高位数据或余数系数数据生成PWM进行显示。

在一个完整的显示帧内,将其分为了N组PWM,这里的N就是上文所说的整数部分权重,其中每个PWM中均包括一个共整数数据和余数系数数据(经上述分析可以看出实际有1组PWM是不包含余数系数数据的),这里的余数系数数据要么是由数据总线直接传输得到的,要么是从第一存储单元100存储的余数高位数据得到。其中,共整数数据和余数系数数据可以作为1个PWM进行显示,也可以作为2个PWM进行显示,不管是1个还是2个都称为1组PWM。通常情况下,都是作为1个PWM进行显示。本申请的核心是将原本的一个显示帧分为N组PWM进行显示。也就是产生的PWM包含两种类型一种PWM由公共整数数据+余数高位数据组成,另一个PWM由公共整数数据+余数系数数据组成。

更为具体的,第一存储单元100与数据总线连接,接收来自数据总线传输的数据包进行存储,第一存储单元100存储的数据中不仅包括公共整数数据还包括余数高位数据,第一存储单元100将存储的数据供余数系数解析单元400和PWM产生单元200使用。

余数系数解析单元400包括两个输入接口,一个与数据总线连接接收来自数据总线传输的数据包进行解析输出余数系数数据,另一个接口与第一存储单元100连接,读取存储的余数高位数据进行解析得到相应的余数系数数据。当余数系数解析单元400使用第一存储单元100存储的余数高位数据产生余数系数数据时,数据总线就处于空闲状态,可用于发送寄存器数据或者双上升沿指令等。当余数系数解析单元400不适用第一存储单元100存储的余数高位数据产生余数系数数据时,数据总线就直接发送余数系数数据给余数系数解析单元400或PWM产生单元200。

如果不存储余数系数数据,则余数系数数据就需要通过数据总线发送,也就是需要发送63次,除此之外还需要发送公共整数数据,而公共整数数据一般需要多次才能发送完成,一般情况下,数据总线的传输量一般16bit,对于一个16通道的芯片而言,其需要的公共整数数据量为16*7bit,而数据总线每次只能发送2个7bit的公共整数数据,因此需要8次才能传输完成,在传输公共整数数据时,缺乏余数系数数据,这就使得显示的PWM中缺少余数系数数据,从而使得画面不均匀,性能较差。所以目前一般采用的就是发送公共整数数据时不显示,其原理如图9和图10所示,这种情况就会出现帧间黑场,当芯片刷新率足够大时,肉眼一般难以发现,为了解决该问题,本领域有采用在缺少余数系数数据时额外显示公共整数数据,但这又会造成跳灰现象,画面均匀性不够。

为了解决该技术问题,本申请中将公共整数和余数系数数据(余数高位数据)混合发送,使得显示一开始就有余数系数数据,从而保证PWM的完整性,提升显示效果,其原理如图11和图12所示,参考图11所示,数据的接收和显示之间存在一定的延时,这个时长受限于数据总线的传输速率,一般情况下,该延时肉眼无法观测,因此在后续的示意图中一般将接收和显示视为同步,但本领域技术人员应知晓,实际上该延时仍然存在,例如在图12中,就将公共整数数据包与显示做了对齐处理,其中,图12左侧第一个公共整数数据包是指上一显示帧的公共整数数据而非当前帧。

在一个实施例中,公共整数和余数系数数据混合发送的具体实现方案如下:

显示帧前段,公共整数数据和余数系数数据混合发送至第一存储单元100进行存储。也就是在发送公共整数数据时,将余数系数数据也存储在第一存储单元100,使得PWM产生单元200不仅可以读取公共整数数据还可以读取余数系数数据,从而产生完整的PWM进行显示。

如上文中13bit的灰度数据为例进行说明,公共整数数据为7bit,每次发送2个公共整数数据,则占据14bit的数据位宽,因此可以额外发送2bit的余数系数数据。

由于公共整数数据需要8次传输完成,也就是可以额外发送2bit*8=16bit的余数系数数据,而芯片为16通道,也就是刚好每个通道对应1bit的余数系数数据。换言之,每次发送2bit的余数系数数据即可,而公共整数数据为2个,也就是1个数据包中包括2通道的数据,即每个通道对应7bit公共整数数据和1bit余数系数数据,其原理图可以参考图17所示。

除以上所述的实施例以外,当公共整数数据小于7bit时,则余数系数数据可发送的就大于1bit,只要满足公共整数数据+余数系数数据≤16bit即可。本领域的技术人员应知晓,凡是符合该公式的数据组合均应纳入本申请的保护范围内。

显而易见,为了尽可能的降低存储器的容量,也就是减小第一存储单元100的容量,余数系数数据自然是越小越好,因此每个通道只存储1bit的余数系数数据是最优选择。例如,在上述13bit的灰度数据中,余数系数数据为6bit,分别为R[0]-R[5],那么存储哪一个余数系数数据最好呢,由于公共整数数据需要8次才能发送完成,而发送数据的时间和显示基本相等,也就是在发送公共整数数据时,显示了8个PWM,为了保证每个PWM中都有余数系数数据,因此应该要求存储的余数系数数据至少能在8组中显示,显而易见的,R[0]-R[2]都不满足,而R[3]-R[5]都是满足这个要求的,也就是说存储的余数系数数据应该是余数高位数据,其原理可参考图3所示。

进一步的,在R[3]-R[5]中存储哪一位余数系数数据效果最佳呢,由于余数系数数据只能存储一位,其余的需要通过数据总线传输,基于前述分析可以看出,R[5]需要在32组中显示,也就是需要传输32次,很显然存储余数系数数据最高位时,可以最大程度的减少数据总线传输数据所占用的时间,也就是将余数数据的高位R[5]发送至第一存储单元100进行存储。也就是将公共整数数据和余数高位数据混合形成数据包A进行循环发送,这里的余数高位数据优选R[5]。数据接收和显示示意图可参考图4所示,图4中的第n组合n+1组表示的LED屏的不同显示行。由于数据包A中包含余数系数数据,所以在开始显示的PWM中也就包含了余数系数数据,以保证了PWM的完整性。

如上分析,在另一个方面,存储余数数据的高位,也就减少了数据总线的数据传输量,原本数据总线需要发送63次余数系数数据,当余数系数数据最高位存储以后,就只需要再发送31次即可,相当于减少了数据总线一半的传输量,也就是说相较于现有技术,本申请具有数据总线传输负载更低的技术进步。

公共整数数据和余数系数数据除以上混合方式以外,本实施例中还提供了另一种混合方式,其具体方式如下:

公共整数数据作为数据包A,余数高位数据作为数据包B,数据包A和数据包B混合发送;

或者;

公共整数数据和余数高位数据混合形成数据包A,余数系数数据作为数据包B,数据包A和数据包B混合发送。

以上两种方式的数据接收示意图可参考图5和图6所示,其中数据包A和数据包B可以交替发送,也可以是多发送几个数据包A再发送1个数据包B,基于上述分析可以看出,余数系数数据每个通道至少要发送1bit的灰度数据,对于16通道的芯片而言,至少需要发送16bit的余数系数数据,而数据总线传输量最大为16bit,也就是仅发送1次数据包B即可满足余数系数数据的需求,但不排除多次发送的情形,例如每通道发送2-3bit的余数系数数据时,就需要多次才能将余数系数数据完全发送完,发送大于1bit的余数系数数据的优势在于可以进一步降低数据总线的传输量,其弊端在于会导致第一存储单元100的存储容量增加,使得芯片成本增加。

参考图6所示,数据包B的发送顺序可以任意设置,为了保证PWM中尽快拥有公共整数数据,数据包B应尽量靠前发送,也就是第一个数据包和第二数据包应包括数据包A和数据包B,尤其是数据包A中不包含余数系数数据时。

相较于将公共整数数据和余数高位数据混合形成数据包A进行循环发送,当数据包A仅包括公共整数数据时,显示的第一个PWM中不包含余数系数数据或公共整数数据。例如第一个是数据包B则不包含公共整数,第一个是数据包A则不包含余数系数数据,对显示的影响就是第一个PWM灰度数据不完整,当相当于传统模式下的多个PWM数据不完整,本方案仍具有较大的进步和优势,以上述13bit的灰度数据为例,公共整数数据为64组,也就是需要显示64组PWM,而余数系数数据只有63组,恰好有一组没有余数系数数据,因此先发送数据包A时恰好与实际情况相吻合,也就是说先发送数据包A(数据包A不包含余数系数数据时)是最佳选择。

当显示帧前段数据发送完以后,则进入显示帧后段的数据传输,由于公共整数数据已经全部存储在第一存储单元100中,因此示帧后段,只发送余数系数数据。

其发送的方式包括以下几种:

(1)余数系数数据发送至余数系数解析单元400,其结构可参考图1或图3所示,也就是余数系数数据经由余数系数解析单元400发送至PWM产生单元200。

(2)余数系数数据发送至第一存储单元100进行存储;其结构可参考图8所示,这种情况下,可极大的节约数据总线传输数据的时间,其区别在于需要覆盖在先存储的余数系数数据,这就可能导致数据发送和接收存在一个延时(如前文所言,该延时可忽略不计)。

(3)余数系数数据直接发送至PWM产生单元200,其结构可参考图2所示,也就是直接发送至PWM产生单元200进行显示,无需经过余数系数解析单元400,这种情况下可以通过时钟进行控制或者通过控制器(控制卡)对发送数据的时序进行控制。

综上所述,显示帧后段发送的剩下的余数系数数据,其整体可分为存储和不存储两种类型,也就是剩下的余数系数数据全部通过数据总线传输不存储,或者是剩下的余数数据数据继续存储,前提是在先存储的余数系数数据全部显示完成,例如存储的是余数系数数据R[5]就必须在显示了32组PWM以后才能发送剩下的余数系数数据。

值得强调的是,本申请中的显示帧前段和显示帧后段以公共整数全部发送完作为区分节点。也就是将发送公共整数数据作为显示帧前段,公共整数数据发送完以后作为显示帧后段。

可选的,在一种实施例中,当PWM组数为2

例如在上述13bit的灰度数据中,余数系数数据为6bit,也就是n=6。这里的余数高位数据是指与公共整数数据混合作为数据包A的余数系数数据,循环发送数据包A时,可以理解为公共整数数据和余数系数数据同时发送,其中余数系数数据可以是1bit(这里是指芯片的每通道1bit余数系数数据,而不是整个数据包A中只有1bit余数系数数据)。也可以是多bit的余数系数数据,当i-b=0时,其本质相当于是将灰度数据作为一个整体发送,本方案在实际操作中一般不采用这种模式,也就是余数高位数据的位宽一般不超3bit。

可选的,在一种实施例中,数据包B的数据量最大为mbit,其中m为驱动芯片的通道数,即每个通道对应1bit或ibit的余数系数数据,目前主要的芯片通道一般为16通道,由于数据总线的位宽为16bit,因此数据包一般最大为16bit,这里可以理解为,也就是对于一个16通道的芯片而言,如果每个通道发送1bit余数系数数据,则可以通过1个数据包B发送完成,当每个通道需要2bit余数系数数据时,则需要2个数据包B发送完,在实际情况中,数据包B中是余数系数数据,一般只有1bit,也就是每次只需要1个数据包B就能发送完全部通道所需的余数系数数据,以减少余数系数数据传输的次数,节约数据总线的占用时间,同时由于第一存储单元100中还存储了余数系数数据,当第一存储单元100采用两个存储器按ping-pong结构工作时,节约出来的时间就可以用于发送下一显示帧的公共整数数据(也就是混合发送下一显示帧的公共整数数据和余数系数数据)。

经过上述说明已经知晓,将公共整数数据和余数系数数据混合发送进行存储时,存储的余数系数数据最好是余数高位数据,也就是说余数高位数据非余数数据的最低位和次低位,即存储余数数据的最低位和次低位的意义不大。

可选的,在一种实施例中,余数高位数据是余数数据的最高位或次高位,也就是或最高位+次高位,也就是当余数系数数据为2bit时,可以存储余数数据的高位和次高位这2bit数据,从而可以最大程度的降低数据总线传输余数系数数据所占用的时间,这些省下来的时间就可以用于传输整数数据或寄存器、双沿指令等。

为了进一步提升灰度数据显示的均匀性,本实施例对存储的余数系数数据在哪些组PWM进行显示做出了进一步设计。

经过上述分析可以获知,当第一存储单元100中存储的是余数高位数据时,其可以决定多组PWM中的灰度数据,为了方便阐述,还是以13bit的灰度数据进行举例说明,公共整数为7bit,余数系数为6bit。由上述可知R[5]在其中32组内显示,而总共有64组PWM,也就是说R[5]具体在哪些组中进行显示可以进行控制,对此本申请中提供以下几种实施方式。

可选的,在一种实施例中,一个完整显示帧内的全部PWM中,若干组的余数系数数据由第一存储单元100存储的余数高位数据产生,其他组的余数系数数据由总线传输,也就是说不限定第一存储单元100存储的余数高位数据具体在哪些组PWM中显示,也就是随机显示即可,即不强调R[5]具体控制哪几组,可以是前32组或者中间的32组或者是最后32组,或者是随机显示32组,但本领域技术人员应知晓,由于公共整数数据对PWM显示影响最大,因此应该尽可能快的将公共整数数据发送完,如果存储的余数系数数据控制最后32组,这就意味着前32组需要额外发送余数系数数据,而数据总线不能同时发送数据包A和数据包B,这就极大的延缓了公共整数数据传输时间。

可选的,在一种实施例中,一个显示帧周期内,PWM按时序1进行显示,也就是奇数组PWM中的余数系数数据由第一存储单元100存储的余数高位数据产生,偶数组PWM中的余数系数数据由数据总线直接传输,其原理如图13所示。

由图13可以看出,在显示的PWM中,第奇数组中显示的整数(公共整数数据)+余数高位,这里的余数高位也就是存储在第一存储单元100中的余数系数数据,而偶数组PWM中就只有整数(公共整数数据)不包含余数高位,但是在实际显示中必须显示余数系数数据,因此在偶数组PWM显示中,必须通过数据总线发送余数系数数据来进行填充。这种情况下,公共整数数据和余数系数数据混合发送就是按照“公共整数数据和余数高位数据混合形成数据包A,余数系数数据作为数据包B,数据包A和数据包B混合发送”发送的,其中数据包A和数据包B采用交替发送的方式,该方案的优势在于,将余数高位均匀分摊在各组PWM中,可以使得整个显示更加均匀,提升画面效果。其缺陷在于,公共整数需要更长时间才能发送完成。假设灰阶值D有13bit;权重为64,共显示64组,这样公共整数数据为D[12:6],余数系数数据为D[5:0](此处假设不考虑多个不打散),发送整数的一个数据包A可以发送2个公共整数数据和2个余数高位,即{D0[12:5],D1[12:5]},其原理可参考图17所示,也就是数据包A中包括点P1和点P2的公共整数数据,以及点P1和点P2的余数系数数据,这里的点P1和P2就对应D0和D1,数据包B也是相同的,包含了多个点的余数系数数据,一般来说当只发送1bit余数系数数据时,一个数据包B最多可以包括16个点的余数系数数据。假设共32行且每颗IC有16个通道,这样共有32*16=512的整数数据需要存储;假设总线传输一个联合数据包的时间与一行显示时间相近,这样传送完所有整数数据(含余数高位)共需512/2=256个行显示时间,即256/32=8个组显示时间。考虑的显示分组均匀性,假设余数高位D[5]控制的是第1/3/5/7…63共32个奇数组的余数系数。基于上述分析可以看出,公共整数原本只需要8次就能传完,但是在本实施例中由于需要间隔插入余数系数数据(数据包B),因此在第15次时,才能将公共整数数据全部发送完,相当于变相延迟了显示帧前段的时长,其缺陷就在于会导致画面撕裂,但是当灰度数据较低时,基本不影响。

时序1除以上显示方式以外,奇数组和偶数组还可以互换,也就是偶数组PWM中的余数系数数据由第一存储单元100存储的余数高位数据产生,奇数组PWM中的余数系数数据由数据总线直接传输,区别在于该显示时序中发送的第一个数据包必须是余数系数数据包,这就使得显示的第一个PWM中没有公共整数,但是对于整个显示帧而言,几乎不会造成任何影响,其原理可参考图18所示。

当数据包A只有公共整数数据,数据包B为余数系数数据时,显而易见的,当先发送数据包A时,第一组PWM没有余数系数可以使用。基于上文所述,余数系数数据显示的组数要比公共整数数据少1组,例如在13bit的灰度数据中,如果公共整数数据的权重为64(显示64组),余数系数数据则只有63组,也就是说有一组PWM中必然没有余数系数数据,因此当数据包A只有公共整数数据,数据包B为余数系数数据时,刚好令第一组PWM不显示余数系数数据。

换言之,时序1限定的是显示的PWM序列中交替循环使用存储的余数系数数据和数据总线传输的余数系数数据,并不限定具体哪一组余数系数数据的来源,也就是说奇数组使用存储的余数系数数据时,则偶数组必然使用数据总线传输的余数系数数据,反之亦然。其本质就是前M个奇数组显示的余数系数数据是有第一存储单元100存储的余数高位数据产生的。

可选的,在一种实施例中,一个显示帧周期内,PWM按时序2进行显示,前M组PWM中的余数系数数据由第一存储单元100存储的余数高位数据产生,剩下的PWM中混合使用存储的余数系数数据和数据总线传输的余数系数数据,且公共整数在M组PWM显示周期内全部发送完,其原理可参考图14所示。在前M组PWM显示的是整数(公共整数数据)+余数高位,这里的余数高位也就是第一存储单元存储的余数系数数据,也就是说在前M组中,不需要额外占用数据总线来传输余数系数数据,可以快速的发送完公共整数数据,以上述13bit的灰度数据为例,7bit的公共整数数据,16通道的芯片仅需要8次即可全部传输完成,也就是M=8。本实施例的优势在于,可以尽可能的快速发送完公共整数数据,其优势可以降低画面的撕裂程度,缺陷在于,PWM的显示不如时序1均匀,但是当灰度数据较大时,余数系数数据对画面的影响就比较小,其均匀度也基本不受影响。

可选的,在一种实施例中,时序1和时序2所需的余数系数数据由余数系数解析单元提供,也就是余数系数解析单元400根据时序1或时序2解析出相应的余数系数数据并发送至PWM产生单元200,也就是在显示过程中,余数系数解析单元400要么将第一存储单元100存储的余数高位数据进行解析获得余数系数数据,要么直接将数据总线传输而来的余数系数数据发送至PWM产生单元200。

除以上方式以外,由于时序1和时序2各有优劣,两者结合无疑是最佳的选择方案,本实施例还提供一种时序1和时序2动态切换的方案,也就是在一种实施例中,时序1和时序2可以动态切换。基于上述分析可以看出,当灰度数据值不同时,采用不同的时序显示效果更佳,这里的灰度值是只某一显示帧的整体灰度。也就是说,在一个连续的多帧画面中,可以采用动态切换的方式在时序1和时序2之间进行切换。当画面灰度大于等于灰度阈值K时采用时序2,小于灰度阈值K则采用时序1。

可选的,在一些实施例中,在一个完整显示帧内,一种灰度数据显示驱动模块显示的PWM包含2

除以上切换的方式外,时序1和时序2也可以通过人工配置的方式进行切换。

参考图15所示,一种灰度数据显示驱动模块(以下简称驱动芯片或芯片),包括第一存储单元100,以及与第一存储单元100连接的PWM产生单元200和余数系数解析单元400,余数系数解析单元400连接至PWM产生单元200,PWM产生单元200根据余数系数解析单元400解析出的余数系数数据和第一存储单元100存储的公共整数数据产生PWM进行显示,时序1和时序2的切换通过控制器/逻辑处理模块500完成,控制器/逻辑处理模块500与余数系数解析单元400连接,控制器/逻辑处理模块500内置阈值K,并根据阈值K控制余数系数解析单元400是解析第一存储单元100存储的余数高位数据还是解析由数据总线传输余数系数数据。

可选的,在一种实施例中,控制器/逻辑处理模块500可以是采用灰度传输系统中的控制器来实现,其原理可参考图16所示,控制器与各级驱动芯片连接,用于控制余数系数解析单元400到底是接收数据总线传输的数据还是解析第一存储单元100存储的余数高位数据。

除此之外,也可以是单独设计一个逻辑处理模块来实现上述控制,其中逻辑处理模块可以与驱动芯片集成在一起。

不管是控制器还是逻辑处理模块,其本质都是通过控制显示时序的时钟信号来实现的,例如高电平余数系数解析单元400解析第一存储单元100存储的余数高位数据,低电平数据总线直接传输余数系数数据至余数系数解析单元400并输出余数系数数据至PWM产生单元200。

可选的,在一种实施例中,上述灰度阈值K表示一个完整显示帧的灰度值,或表示一个完整显示帧内各PWM所对应的平均灰度值;或判断整数是否小于阈值K1,进一步,统计满足条件的数据个数,是否小于某个预设值像素点个数,是否小于某个预设值K2,。不管是以平均灰度值作为灰度阈值K取值依据还是以整体灰度值作为灰度阈值K的取值依据,其最终都能衡量出画面的灰度值,也就是画面的明亮度。

可选的,在一种实施例中,余数系数解析单元400和PWM产生单元200共同作为PWM产生装置进行封装。即余数系数解析单元400和PWM产生单元200在硬件表现形式上是同一个模块内的不同功能单元,即相当于现有技术中PWM产生装置,这种设计方式,可以使驱动芯片在结构上更加简单,占用面积更小。

可选的,在另一种实施例中,PWM产生单元200作为PWM产生装置进行封装,余数系数解析单元400与PWM产生装置电性连接。在本实施例中,PWM产生单元200和余数系数解析单元400在表现形式上是两个独立的模块,PWM产生单元200和余数系数解析单元400电性连接以实现数据传输。

换言之,本申请所指的余数系数解析单元400和PWM产生单元200是以模块的功能进行限定的,并不是对硬件结构的具体限定,凡是本领域已知的,且具有这两者功能的模块均可用于本申请中作为替代。

其中,余数系数解析单元400其本质是一个逻辑模块,其作用主要是选择对应的余数系数数据输入到PWM产生单元200中,如上述实施例中,余数系数解析单元400可以通过控制器进行控制,也可以通过逻辑处理模块进行控制,或者其自身就是一个逻辑模块,根据时序1或时序2结合时钟模块即可实现余数系数数据的选择输出,凡是本领域已知的能实现该功能的模块均可作为余数系数解析单元400使用,或均应认为该模块就是余数系数解析单元400,如果仅仅是对功能模块名字的改变其最终实现的功能相同都应与本方案中的余数系数解析单元400作相同看待。

除以上实施例所记载的方案以为,本实施例还提供了另一种灰度数据显示驱动模块,与上述实施例的区别在于,本实施例中新增一个小储存器用于存储余数系数数据,第一存储单元则仅存储公共整数数据。

参考图7所示,包括第一存储单元100、第二存储单元300和PWM产生单元200;第一存储单元100,存储灰度数据的公共整数数据并据输出至PWM产生单元200;第二存储单元300,存储灰度数据的余数数据并输出至PWM产生单元200,该余数数据显示完以后存储其他位的余数数据并持续输出至PWM产生单元200直至全部的余数数据显示完;PWM产生单元200,根据共整数数据和余数数据生成PWM进行显示。这里所指的PWM可以是1个也可以是2个,在表现形式上,共整数数据和余数数据可以连续形成一个PWM,也可以是共整数数据和余数数据分别显示在该PWM的两端从而表现为2个PWM的形式,不管1个PWM还是2个PWM统称为1组PWM,即每组PWM中包含公共整数数据和余数系数数据。

在另一个实施例中,一种灰度数据显示驱动模块,除上述区别外,还包括一个余数系数解析单元400,控制所述第二存储单元300选择性输出余数数据至PWM产生单元200,该余数数据为余数高位数据;第二存储单元300不输出余数高位数据时,由数据总线传输余数系数数据至PWM产生单元200;PWM产生单元200,根据共整数数据和余数高位数据或余数系数数据生成PWM进行显示。

其包括第一存储单元100和第二存储单元300,与第一存储单元100连接的PWM产生单元200,与第二存储单元300连接的余数系数解析单元400,余数系数解析单元400连接至PWM产生单元200;在一个完整显示帧内,灰度数据分为公共整数数据和余数数据,其中余数数据分若干余数系数数据;显示帧前段,公共整数数据和余数系数数据混合发送,其中公共整数发送至第一存储单元100进行存储,余数系数数据发送至第二存储单元300进行存储;显示帧后段,只发送余数系数数据至第二存储单元300进行存储;或者说可以直接通过数据总线传输至PWM产生单元200或余数系数解析单元400,PWM产生单元200根据余数系数解析单元400解析出的余数系数数据和第一存储单元100存储的公共整数数据产生PWM进行显示。在本实施例中,新增了第二存储单元300用于存储余数系数数据,第一存储单元100用于存储公共整数数据,也就是公共整数数据和余数系数数据分开存储,相较于仅有第一存储单元100的情况,本实施例可进一步减小第一存储单元100的存储空间和尺寸,但也需要额外增加一个第二存储单元300,在成本上稍有增加,但相较于传统技术仍具有较大的技术进步。由于公共整数数据和余数系数数据分开存储,在混合发送时,只能采用数据包A和数据包B分开混合发送的方式,也就是数据包A只有公共整数,数据包B只有余数系数数据,数据包A和数据包B的发送方式与在先实施例相同。也就是说,在显示帧前段主要发送数据包A(公共整数数据),发送1个或2个数据包B即可,其发送的顺序可以是先发数据包A也可以是先发数据包B。显示帧前段和显示帧后段以公共整数全部发送完作为区分节点。可选的,显示帧前段发送的余数系数数据是余数数据的高位或次高位,或最高位+次高位。可选的,余数系数解析单元400和PWM产生单元200共同作为PWM产生装置进行封装;或PWM产生单元200作为PWM产生装置进行封装,余数系数解析单元400与PWM产生装置电性连接。

可选的,在一种灰度数据显示驱动模块中,第二存储单元300用于存储的是余数系数数,根据以上实施例可以知晓,余数系数数据最少可以只发送1bit,对于一个16通道的芯片而言,也仅仅需要16bit的存储空间即可,因此第二存储单元300的存储容量小于第一存储单元100,甚至说是远远小于第一存储单元100。

可选的,参考图19所示,在一种灰度数据显示驱动模块中,第一存储单元100由存储器1-A和存储器1-B组成,存储器1-A和存储器1-B采用ping-pong结构交替收发数据。采用ping-pong结构交替收发数据可完全解决画面撕裂问题,其缺陷在于相较于单存储器的结构成本更高,但相较于传统模式下,本方案中的存储器1-A和存储器1-B容量均更小,也就是相较于现有技术仍具有成本更低的技术进步。在该结构下,显示帧除按时序1和时序2的方式进行显示以外,本实施例中还提供另一种显示方式,以完全解决画面撕裂的问题。在一个完整显示帧内的全部PWM中,在数据总线不传输余数系数数据时发送下一帧的公共整数数据进行存储,也就是切换存储器1-A和存储器1-B的收发状态,完成一下显示帧需要存储的公共整数数据和余数系数数据的混合发送,也就是利用节约的数据总线传输时间用来提前发送下一显示帧的灰度数据,以避免占用下一显示帧的显示时间。其中M可以根据时序1和时序2进行确定,例如在上述13bit的实施例中,如果按时序1的混合发送公共整数数据和余数系数数据,则需要15个PWM才能完全发送完,也就是M=15,即在上一帧预留15个PWM进行下一显示帧的公共整数数据和余数系数数据混合发送;如果按时序2进行混合发送公共整数数据和余数系数数据,则M=8。

也就是在当前显示帧使用存储的余数系数数据进行显示时,数据总线传输下一显示帧的公共整数数据和余数系数数据进行存储。也可以是在时序1和时序2中使用存储的余数系数进行显示时,发送下一显示帧需要存储的公共整数数据或余数系数数据。具体方式为存储器1-A存储上一显示帧的公共整数数据和余数系数数据,显示时,使用存储器1-A存储的数据进行显示,当使用存储的余数系数数据时,数据总线处于空闲时间,则可以用来发送下一显示帧需要存储的公共整数数据和余数系数数据,发送至存储器1-B中,由于数据总线传输余数系数数据的时间可减少一半以上,因此完全有足够的时间发送下一显示帧需要存储的公共整数数据和余数系数数据,也就是显示帧前段混合发送的公共整数数据和余数系数数据。

值得说明的是,在拥有第二存储单元300没有第二存储单元300的两种实施例中,公共整数数据和余数系数数据混合发送的方式是相同的,区别仅在于存储位置不同,没有第二存储单元300的实施例中是将其存储在第一存储单元100,有第二存储单元300则存储在第二存储单元300中。

可选的,在一种实施例中,一种灰度数据显示驱动模块,PWM产生单元200或余数系数解析单元400存储有余数系数数据的权重W

PWM产生单元200根据公共整数数据、余数系数数据以及权重W

我们以4个不打散的情况为例(即x=2),假设原本的6bit余数数据为D[5:0],7bit公共整数为D[12:6],则4个不散以后,也就是余数低位D[1:0]损失掉了,6bit余数数据变为D[7:2]*D[1:0],公共整数则变为D[12:8]*D[1:0]。

进一步的,x≥1时,需要额外发送余数低位数据D[x-1:0]进行显示,以4个不打散的情况为例,对于损失掉的D[1:0],我们需要发送余数低位D[1:0]这2bit所对应的余数系数。由于显示的PWM中总有一个组的余数系数均为0,这个余数系数空闲组可以用来传输余数低位D[1:0]。D[1:0]对于16通道的IC来说,需要2个16bit数据包才能发送完,这样就会有两种情况:

A:如果总线传输速度足够快,可在一个行显示时间内发完这两个数据包(或联合数据包),则可以在这个余数系数空闲组传输并完成显示。

B:如果总线传输速度不够快,余数系数空闲组只能显示1bit,另1bit需要再增加一个显示组来显示,例如原本有32组PWM,增加一个显示组后变成了33组。

总线传输能足够快的情况通常难出现,我们重点考虑总线不够快,需要额外显示组的情况。

另外对于4个不打散的情况,传输不是非要1~2个数据包,也可以进一步展开用多个数据包发送;另外也可以不利用余数系数空闲组发送,但会额外增加更多显示、传输组。从节约显示时间和传输时间的角度,这样做没有意义不大。

常见的不打散个数有2、4、8、16四种情况,它们分别对应余数低位1bit、2bit、3bit、4bit,如果用上空闲显示组,它们额外要0、1、2、3个显示组。

按照前述D[12:0]灰度值、64组和4个不打散(x=2)的实例,可知我们每个显示组中一行的显示周期为27=128个周期,无需传输余数系数的组内(非余数系数恒为0的空闲组),它的显示数据为D[12:8]*4+D[7]*4,此时我们利用这一组传输余数系数,假设传输的是D[0],则总的显示数据为D[12:8]*4+D[7]*4+D[0],对于绝大多数情况这个数值不会大于128,但是对于极限情况D[12:8]max=31,D[7]max=1,D[0]max=1,总显示灰度=129,超过了128。当采用几个不打散时,对于低位灰度数据就丢失了,因此需要额外发送低位灰度数据,可以利用节约的数据总线时间进行传输,也就是显示使用存储的余数系数数据时来发送低位灰度数据,这样就不会造成数据总线延时。

这里对余数系数数据增加W

总结:

(1)如果总线传输速度足够快,能在一组时间内传输完所有余数低位,则可以在余数系数恒为0的空闲组(或者额外组)进行显示,在余数系数数据恒为0的PWM中显示余数低位数据D[j],其中j取值为[0,x-1],其原理可参考图20所示,假设第64组PWM中的余数系数数据为0,则余数低位数据D[x-1:0]在第64组PWM中显示,这种情况一般只适用于X=1的情况。因为实际很难“足够快”,只有2个不打散的情况,余数低位只有1bit,可以采用这种方式。

(2)在余数余数系数数据恒为0的PWM和额外的PWM中显示余数低位数据D[j],其中j取值为[0,x-1],参考图21所示,总共显示的PWM变为了65组,也就是额外增加了1组PWM用于显示1bit余数低位数据D[0],同时在第64组PWM也显示了1bit的余数低位数据D[1]。

(3)在无需传输余数系数数据时的PWM中显示余数低位数据D[j],其中j取值为[0,x-1],其显示参考图22所示,利用不传输余数系数数据的间隙用数据总线发送余数低位数据D[x-1:0]并进行显示,此时的一个PWM中包括的灰度数据=公共整数数据+存储的余数系数数据+1bit余数低位数据。这就可能造成该PWM的宽度溢出。针对这种情况其对应的PWM显示周期延长,以保证显示周期所对应的灰度值大于等于公共整数数据+余数系数数据+余数低位数据D[j];

一般情况下,余数低位数据D[x-1:0]采用不发余数系数数据的空闲时间进行发送,也就是在使用第一存储单元100存储的余数高位数据进行显示的组中,参考图23和图24所示,在一个32组PWM和64组的PWM中,均在最后几组空闲的PWM显示了余数低位数据。一般而言有几bit余数低位数据就在几组PWM中显示,即一组PWM中尽量只显示1bit的余数低位数据。

或,其对应的PWM显示周期不延长,当公共整数数据+余数系数数据+余数低位数据D[x-1:0]大于该PWM所对应的灰度数据时,其溢出部分部分忽略。

在另一个方面,本实施例还提供一种灰度数据传输方法,该方法包括:

S100:数据分组,将每一帧灰度数据分为公共整数数据和余数数据,其中余数数据分为若干组余数系数数据;

S200:数据发送,先混合发送公共整数数据和部分余数系数数据,共整数数据发送完以后继续发送剩下的余数系数数据。

参考图16所示,是一个芯片数据传输系统示意图,多块芯片依次级连(这里的芯片就是本方案中的一种灰度数据显示驱动模块),数据的传输由控制器控制实现,控制器和芯片之间通过数据总线连接完成数据传输,整体的系统框架上与传统的芯片数据传输系统完全一致。区别在于控制器对数据的处理流程上,也就是本实施例所提供的灰度数据传输方法。

由控制器将灰度数据分为公共整数数据和余数数据,其中余数数据分若干余数系数数据,其分解方式与上述实施例相同,也就是将灰度数据分为高位数据和低位数据,例如将13bit的灰度数据分为7bit的公共整数和6bit余数系数数据,除此之外也可以分解为8bit的公共整数数据和5bit余数系数数据,一般来说,余数系数数据以不超过7bit为宜。再例如,在一个16bit的灰度数据中,可以分解为10bit的公共整数数据和6bit的余数系数数据,这种分解方式也是本领域常用的分解方式,在此就不在赘述,但本领域技术人员应知晓,凡是本领域已知的公共整数数据和余数系数数据分解方式均可用于本方案。

灰度数据分解完成后,控制器控制数据包A和数据包B的发送顺序,必然的,数据包A和数据包B在发送端和接收端还包括一个压缩和解压过程。

在一些实施例中,数据发送的步骤包括:

S201:将公共整数数据和部分余数系数数据组成数据包A,其余余数系数数据作为数据包B;

S202:数据发送,先循环发送数据包A,后发送数据包B;或先混合发送数据包A和数据包B,后发送数据包B;

在另一些实施例中,数据发送的步骤包括:

S201:将公共整数数据组成数据包A,部分余数系数数据作为数据包B1,其余余数数据作为B2;

S202:数据发送,先混合发送数据包A和数据包B1,后发送数据包B2。

可选的,一种灰度数据传输方法,将公共整数数据和余数高位数据组成数据包A,余数系数数据作为数据包B。本申请中的余数系数数据作为数据包B并不是指其余余数系数数据压缩在一个数据包B中,而是一个数据包B中包含芯片每个通道1bit或数bit的余数系数数据,即数据包B为多个。其中,数据包A中的余数高位数据一般是指余数数据最高位或次高位,或最高位+次高位。例如一个16bit的灰度数据,假设为1111111001110111,定义公共整数数据为9bit,余数系数数据为7bit,则公共整数数据为R[15,7]=111111100,余数系数数据为R[6,0]=1110111,也就是R[6]=1、R[5]=1、R[4]=1、R[3]=0、R[2]=1、R[1]=1、R[0]=1,其中R[6]在64组中显示、R[5]在32组中显示、R[4]在16组中显示、R[3]在8组中显示、R[2]在4组中显示、R[1]在2组中显示、R[0]在1组中显示。在多少组中显示也就意味需要通过数据总线发送多少次,本申请中则将余数高位数据进行存储以减少占用数据总线的时间。也就是说累计需要63个数据包B,其中32个数据包B中的数据为R[5]、16个数据包B中的数据为R[4],以此类推。

显而易见的,存储的余数系数数据位数越高,其减少的数据总线占用时间也更多,在本实施例中如果将R[6]存储则可以降低数据总线一半的时间,因此在进行存储时一半存储余数数据的高位或次高位。或者同时存储最高位+次高位,相较于仅存储一位(1bit)余数系数数据,存储最高位+次高位显然需要更大的存储空间,因此在实际运用中以存储1bit余数系数数据为最佳方案,所需的累计存储空间等于m*1bit1,其中m是芯片的通道数量,其原理如图17所示,在一个数据包B中包含多个点(也就是通道)的余数高位数据,同理的一个数据包A中也包含了1-3个点的公共整数数据。但并不排除存储2bit或3bit的余数系数数据的情况。也就是说,当仅存储R[6]时,R[5]-R[0]累计需要发送63次,这就意味着数据包B有63个,需要发送63次数据包B。进一步的,数据包A和数据包B在进行发送时,显示帧前段,循环发送数据包A,其原理可参考图4所示。显示帧后段发送数据包B;由于需要在显示的PWM中均包括余数系数数据,因此在显示帧前段的M个PWM中的余数系数数据是存储的余数系数数据,将这种情况定义为时序2,其原理可参考图14所示。

除以上以外,余数高位数据也不一定是以余数数据的位数来确定的,也就是可以通过前文所述的查找表的方式确定余数高位数据,例如在63个余数系数数据中,余数系数数据累计为13个灰度值,也就是包含13个1和50个0,那么在混合发送阶段,例如仍需要8组PWM才能发送完公共整数数据,则通过查找表的方式确定至少8个余数系数数据进行存储,这里可以是8个1或者是8个0,这种情况下,余数高位数据表示的不是只余数数据的位数,而是表示其可以表示多个余数系数。

在另一个实施例中,显示帧前段混合发送数据包A和数据包B,显示帧后段发送数据包B,由于数据包B不存储,因此发送后就要显示,这种情况也包括两种情况,数据包A和数据包B交替发送,也就是发一个数据包A就发一个数据包B,显示的PWM中也是间隔使用存储的余数系数数据,将这种情况定义为时序1,其原理可参考图13所示。除了数据包A和数据包B交替发送时,数据包B还可以是随机或者无序发送,这种情况可以定义为时序3,在这种情况哪些组PWM使用存储的余数系数数据是随机的,在实际中这种情况使用较少,其原理可参考图6所示。可选的,显示帧前段,数据包A或数据包B发送至第一存储单元100进行存储;显示帧后段,数据包B不存储,直接通过数据总线发送,或数据包B发送至第一存储单元100进行存储。

可选的,一种灰度数据传输方法,第一存储单元100与PWM产生单元200连接,还包括一个与第一存储单元100连接的余数系数解析单元400,余数系数解析单元400输出端连接至PWM产生单元200;PWM产生单元200根据第一存储单元100存储的公共整数数据,以及由余数系数解析单元400解析出来的余数系数数据产生1组PWM;在一个完整显示帧,共产生N组PWM,N为公共整数数据的权重。

可选的,所述公共整数数据和部分余数系数数据的发送时序包括:

时序A1:在前M组时序将公共整数数据和部分余数系数数据发送完;

时序A2:在前M个奇数组时序将公共整数数据和部分余数系数数据发送完。其中时序A1和时序A2分别对应显示中的时序1和时序2。

在一个完整显示帧内,PWM的显示时序为:

时序1:奇数组PWM中的余数系数数据由存储的余数系数数据决定,偶数组PWM中的余数系数数据由数据总线传输;或者是偶数组PWM中的余数系数数据由存储的余数系数数据决定,奇数组PWM中的余数系数数据由数据总线传输,其原理可参考图13所示。

时序2:显示帧的前M组PWM中的余数系数数据由存储的余数系数数据决定,其余PWM中的余数系数数据由数据总线传输,且公共整数在M组PWM时序内全部发送完,其原理可参考图14所示。

可选的,一种灰度数据传输方法,各显示帧之间根据灰度阈值K在时序1和时序2之间进行切换,当画面灰度大于等于阈值K时采用时序2,小于阈值K则采用时序1。时序1和时序2的切换由控制器/逻辑处理模块500决定,控制器/逻辑处理模块500与余数系数解析单元400连接,用于控制余数系数解析单元400是解析存储的余数系数数据还是接收由数据总线传输的余数系数数据。

可选的,一种灰度数据传输方法,区别于上述实施例,本实施例中将公共整数数据组成数据包A,余数系数数据作为数据包B,显示帧前段混合发送数据包A和数据包B,显示帧后段发送数据包B,在显示帧前段数据包B可以只发1次也可以发送多次,其原理可参考图6所示。可选的,显示帧前段数据包A送至第一存储单元100进行存储,数据包B发送至第二存储单元300进行存储;显示帧后段,数据包B不存储,直接通过数据总线发送,或数据包B发送至第二存储单元300进行存储。第一存储单元100与PWM产生单元200连接,第二存储单元300与余数系数解析单元400连接,余数系数解析单元400连接至PWM产生单元200;余数系数解析单元400用于解析第二存储单元300所接收的余数系数数据,PWM产生单元200根据第一存储单元100存储的公共整数数据,以及余数系数解析单元400解析出来的余数系数数据产生1组PWM;在一个完整显示帧周期,共产生N组PWM,N为公共整数数据的权重。

在数据传输过程中,余数系数数据的权重W

可选的,一种灰度数据传输方法,在空闲的时序组中可用于传输下一显示帧的公共整数数据和部分余数系数数据以及寄存器数据和双沿指令。

以上所述仅是本申请的优选实施方式,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。

相关技术
  • 一种灰度数据显示驱动模块及灰度数据传输方法
  • 一种灰度数据显示驱动模块、控制器、传输系统、传输方法
技术分类

06120112793153