基于RGB三色LED背光灯的白平衡调整方法
【技术领域】
本发明属于液晶显示器LED背光技术领域,特别涉及一种基于RGB三色LED灯的宽温度范围动态白平衡调整方法。
【背景技术】
在平面显示领域,传统的CRT(Cathode Ray Tube,阴极射线管)因为高辐射、高功耗、体积大、重量大,已逐渐被越来越先进的LCD(Liquid CrystalDisplay,液晶显示器)所取代。液晶显示器本身不能发光,需要在液晶显示器之后加上亮度分布均匀的白色光源才能显示图像。当前,LCD背光源主要以CCFL(Cold-Cathode Fluorescent Lamps,冷阴极射线管)为主。它具有线性发光、亮度高、光源均匀等特点。但CCFL启动时需要有1,000V以上的高压。电源逆变电路要占用一定的空间,高频工作时还会产生严重的干扰,此外,冷阴极射线管受震动冲击容易碎裂。相比而言,LED(Light Emitting Diode,发光二极管)背光源持有色彩还原好、省电、寿命长、污染小(不含水银)、可靠性高等优点。使用LED背光源可使液晶显示器色阶提高将近一倍,背光源响应速度大幅提高。由于LED具有这些优势,已受到越来越多的关注。使用LED作为背光源,一般有两种方案,一种是全部使用白色发光二极管作为背光源,另一种是采用红绿蓝三色的发光二极管混合成白色的背光源。全部使用白色发光二极管的背光源,与标准白色偏差较大,难以完全再现物体原来的颜色;而使用红绿蓝三色发光二极管的背光源又存在白平衡调整的问题。由于三种颜色的LED随温度和时间的衰减特性不同,会有长时间使用后,发光亮度不一致,导致白平衡不佳的问题,尤其在低温(-40℃)和高温(60℃)情况下,问题会更加严重。
【发明内容】
本发明所要解决的技术问题在于提供一种宽温度范围RGB三色LED背光灯白平衡调整方法。
动态白平衡调整方法主要根据颜色传感器的反馈数据,依照数据库中事先测量好的标准数据,来动态的调整白平衡。
本发明是通过以下技术方案解决上述技术问题的:
步骤301:控制系统开机,复位以及将背光灯调整到新的亮度级别。首先读取背光灯板上温度传感器的值,然后从存于ROM的数据库中读取此温度下与所给亮度级别对应的背光灯的驱动电流占空比和颜色传感器的标准值,并点亮背光灯。
步骤302:读取当前背光灯板上颜色传感器中红绿蓝三色的值;
步骤303:将步骤302中读取的当前颜色传感器的实际值与标准值相比较;
步骤304:判断当前颜色传感器的实际值与标准值是否相同?然后分别进入步骤305、306、307;
步骤305:若当前颜色传感器的红色分量实际值大于标准值,则降低红灯的占空比,若当前颜色传感器的红色分量实际值小于标准值,则增加红灯的占空比,然后返回步骤302循环;
步骤306:若当前颜色传感器的绿色分量实际值大于标准值,则降低绿灯的占空比,若当前颜色传感器的绿色分量实际值小于标准值,则增加绿灯的占空比,然后返回步骤302循环;
步骤307:若当前颜色传感器的蓝色分量实际值大于标准值,则降低蓝灯的占空比,若当前颜色传感器的蓝色分量实际值小于标准值,则增加蓝灯的占空比,然后返回步骤302循环。
该方法中使用的电路包括:温度传感器、颜色传感器、作为主控制器的单片机、脉冲信号产生单元FPGA、红灯功率放大电路、绿灯功率放大电路、蓝灯功率放大电路;
温度传感器采集背光板的温度并转换为数字信号供单片机使用,一方面供单片机检索当前亮度级别下的标准占空比及标准颜色传感器的数据,另一方面供单片机判断当前背光灯板的温度是否过高,如温度过高应牺牲亮度,降低占空比以保护背光灯;
颜色传感器采集背光灯当前发光强度下红绿蓝三色的配比及实际光强,供单片机判断背光灯是否已偏离了标准白色,如发生了偏离,则进行调整;
单片机负责采集温度传感器及颜色传感器的数据,并判断在当前温度和亮度级别下,白平衡是否已发生了偏移,如发生了偏移则开始调整,计算出合适的占空比数据并通过SPI总线发送给FPGA,FPGA将其转换为对应的占空比信号,单片机在发送数据之前要先发送地址,以区分这组数据是用来控制哪种灯的占空比的,FPGA在收到数据后便将其存于对应的寄存器中,在未收到调整某种LED灯的占空比数据之前,仍采用原来的数据,如不想改变某种灯的发光强度,则不给FPGA发送对应这种灯的占空比数据;
FPGA接受单片机传来的数据,并根据其数值的大小转换为对应不同占空比的PWM脉冲信号;
红灯功率放大电路、绿灯功率放大电路、蓝灯功率放大电路将来自FPGA的PWM脉冲信号转换为有很强驱动能力的脉冲电流,驱动各色二极管阵列发光。
实现该方法的硬件还包括显示屏、颜色分析仪,以及作为主控制器的PC机。在PC机上运行粒子群算法,自动搜索驱动电流占空比和颜色传感器的标准值,首先PC机产生一个个占空比数据,再通过串口发送占空比数据给背光灯上的单片机,单片机通过SPI总线发送数据给FPGA,FPGA再通过红灯功率放大电路、绿灯功率放大电路、蓝灯功率放大电路分别改变各色背光灯的占空比,然后由PC机读取颜色分析仪上对应的值,搜索最接近标准白色的占空比,并记下与此占空比对应的颜色传感器的值,以供背光板上的单片机在独立运行时使用。
上述动态白平衡调整方法的前提是要有“标准控制数据”,包括与亮度级别对应的背光灯驱动电流占空比和颜色传感器的标准值。“背光灯驱动电流占空比”的作用是,当调整显示器的亮度时,单片机将根据对应温度下的亮度级别从存储器中找到相应的占空比数据,用此数据产生控制信号,改变背光灯亮度。调整后的光一般不是标准白色的,且各色LED灯在点亮一段时间后发光效率会发生不同程度的改变,所以要使用“颜色传感器的标准值”动态调整各灯的占空比从而改变灯的亮度,使颜色传感器实际测量到的值与“标准值”相同。因为实验表明颜色传感器在显示器工作过程中性能非常稳定,所以可以作为参考标准。基于智能搜索算法(此处使用的是粒子群算法,实际上也可以使用遗传算法、进化策略、模拟退火等算法)的标准控制数据获取方法就是为获取这两种标准数据而设计的。当然,也可以采用人工测定标准值的方法,但是比较费时费力。
所述用于自动搜索标准数据的粒子群算法包括下述步骤:
步骤701:首先由应用程序随机生成若干个粒子,每个粒子实际是一个向量,其中的值对应RGB三种灯的占空比,因而对应不同的向量显示屏的颜色不同;
步骤702:评估各粒子的适应度;
步骤703:判断各粒子对应的颜色是否达到误差要求,如果达到,则进入步骤707,否则,进入步骤704;
步骤704:在这众多粒子中,必有一个粒子对应的颜色最接近标准白色,其它粒子要按照离该粒子的距离逐步向该最优粒子靠近,在此过程中还有可能出现离标准白色更近的粒子,在随后的调整中应以此新的最好粒子为准,其它粒子逐步向其靠近,因此在程序中应设置一个全局变量记录每次发现的最优粒子,同时还要为每个粒子设置一个局部变量,记录在各代进化中出现的最优值;
步骤705:计算各粒子的调整步长,在调整过程中,各粒子的步长,不仅与该粒子当前的值有关,还与全局最优变量的值以及各粒子在进化过程中出现的局部最优值有关;
步骤706:在得出各粒子的调整步长后,即对各粒子进行调整,然后返回步骤703;
步骤707:若显示屏上混合光的颜色达到标准白色的误差要求,则停止进化;
步骤708:由PC机发送数据读取命令给背光板控制电路上的单片机,让单片机发回此时背光板上温度传感器和颜色传感器的数据。
本发明的优点在于:能够自动进行宽温度下的白平衡调整,提高了响应速度,精度高;减轻人的劳动强度,提高了效率,降低成本。
【附图说明】
下面参照附图结合实施例对本发明作进一步的描述。
图1显示背光灯板上的元器件组成及布局。
图2显示白平衡调整方法所对应的硬件支持电路。
图3显示了宽温度范围白平衡调整方法。
图4显示了宽温度范围白平衡调整方法所用标准数据自动搜索装置的系统构成及信号流向。
图5显示了用于自动搜索标准数据的粒子群算法。
【具体实施方式】
图1显示背光灯板上的元器件组成及布局。每一个LED灯中均包含红绿蓝三种不同的发光单元,不同发光单元可以单独点亮,也可以同时点亮。由于LED灯的发光效率与温度有关系,因此,背光板上不仅要有颜色传感器110还要有温度传感器111。温度传感器111的一个作用是反馈温度数据供主控制器检索当前亮度级别下的标准占空比及标准颜色传感器的数据,另一个作用是为主控制器提供信息,调节背光板的功率,当背光板的温度过高时,应降低背光灯的功率(即降低背光灯驱动电流的占空比),以保护背光灯及整个显示器。红、绿、蓝三种灯的驱动,为占空比可调的PWM脉冲电流。
图2显示基于RGB三色LED背光灯的白平衡调整方法所用的硬件,包括:温度传感器111、颜色传感器110、作为主控制器的单片机201、脉冲信号产生单元FPGA(Field-Programmable Gate Array,即现场可编程门阵列)202、红灯功率放大电路203、绿灯功率放大电路204、蓝灯功率放大电路205。
温度传感器111采集发光二极管显示面板的温度并转换为数字信号供单片机201使用。一方面供单片机201检索当前亮度级别下的标准占空比及标准颜色传感器110的数据,另一方面供单片机201判断当前背光灯板的温度是否过高,如温度过高应牺牲亮度,降低占空比以保护背光灯。所述标准占空比数据和颜色传感器数据是事先测定好的并存于单片机201的ROM中的。
颜色传感器110采集背光灯当前发光强度下红绿蓝三色的配比及实际光强。供单片机201判断背光灯是否已偏离了标准白色,如发生了偏离,应进行调整。
单片机201控制全局,负责采集温度传感器111及颜色传感器110的数据,并判断在当前温度和亮度级别下,白平衡是否已发生了偏移,如发生了偏移则开始调整,计算出合适的占空比数据并通过SPI总线发送给FPGA,FPGA将其转换为对应的占空比信号。单片机201在发送数据之前要先发送地址,以区分这组数据是用来控制哪种灯的占空比的。FPGA202在收到数据后便将其存于对应的寄存器中,在未收到调整某种LED灯的占空比数据之前,仍采用原来的数据。如不想改变某种灯的发光强度,可以不给FPGA202发送对应这种灯的占空比数据。单片机201还负责与上位机(计算机)通信。
FPGA202接受单片机201传来的数据,并根据其数值的大小转换为对应不同占空比的PWM脉冲信号。
红灯功率放大电路203、绿灯功率放大电路204、蓝灯功率放大电路205将来自FPGA202的PWM脉冲信号转换为有很强驱动能力的脉冲电流,驱动各色二极管阵列发光。
该电路采用了温度传感器、颜色传感器,整个电路构成了一个闭环控制系统,提高了系统的稳定性和控制精度;脉冲信号不是由单片机直接产生,而是由单独的FPGA产生,提高了控制的响应速度和稳定性,减轻了单片机的负担。
单片机通过IIC总线与颜色传感器进行通信,降低了对芯片引脚数量的要求;单片机可以设置颜色传感器的控制寄存器(如设置数据转换的速度和精度),以及读取颜色传感器的状态寄存器及数据寄存器,提高了控制的灵活性;颜色传感器不仅可以返回红绿蓝三种颜色的数据,还可以返回未经过滤色片处理过的光线的数据——亮度。
单片机使用SPI总线与FPGA通信,降低了对芯片引脚数量的要求,将单片机从繁重的工作中解放出来,且使用FPGA专门负责产生PWM脉冲,避免了单片机在处理中断时不产生脉冲从而背光灯出现明显闪烁的情况,由于可以对FPGA编程实现寄存器功能,锁定已接收到的数据,若白平衡没有漂移则不需要发送数据给FPGA,避免了频繁的数据传送。
FPGA发送的PWM脉冲是很微弱的信号,若要用来驱动发光二极管,应用功率放大电路进行功率放大,具体说就是使发光二极管的驱动电源的电压保持恒定,以PWM脉冲作为开关信号,控制电路的导通和截止。通过使用开关电源芯片保持发光二极管驱动电源的电压不变,仅通过调节占空比改变背光灯的亮度,既降低了控制电路的复杂性又能有效保护发光二极管,因发光二极管对电压的变化十分敏感,电压变化一点点,通过发光管的电流变化却会很大。
图3显示了宽温度范围白平衡调整方法,本发明基于RGB三色LED背光灯的白平衡调整方法包括下述步骤:
步骤301:控制系统开机,复位以及将背光灯调整到新的亮度级别;首先读取背光灯板上温度传感器的值,然后从存于ROM的数据库中读取此温度下与所给亮度级别对应的背光灯的驱动电流占空比和颜色传感器的标准值,并点亮背光灯;
步骤302:读取当前颜色传感器中红绿蓝三色的值;
步骤303:将步骤302中读取的当前颜色传感器的实际值与标准值相比较;
步骤304:判断当前颜色传感器的实际值与标准值是否相同?然后分别进入步骤305、306、307,一般此时颜色传感器的值与标准值是不相同的,即合成的光不是标准白色的,因而需要将其调整成标准白色,另外在点亮的过程中,各灯的发光效率会发生不同程度的衰减,若各灯占空比仍与原来相同,屏幕发出的光将不再是标准的白色,因而也需要调整算法动态监控和调整,由于某一种颜色光的增强或减弱对颜色传感器中三种颜色感应器均有影响,因而,在将三种发光二极管的混合颜色调整为标准白色的过程中,不可以一步到位,而应采取逐步调整的方法,反馈值比标准值大的,应将该种灯的电流占空比减少一点,比标准值小的应将对应发光二极管的电流占空比增加一点,为了提高调整的速度,可以使用可变步长的调整方法,在最初的调整过程中使用较大的步长,在接近标准值的时候,使用较小的步长进行精细调整;
步骤305:若当前颜色传感器的红色分量实际值大于标准值,则降低红灯的占空比,若当前颜色传感器的红色分量实际值小于标准值,则增加红灯的占空比,然后返回步骤302循环;
步骤306:若当前颜色传感器的绿色分量实际值大于标准值,则降低绿灯的占空比,若当前颜色传感器的绿色分量实际值小于标准值,则增加绿灯的占空比,然后返回步骤302循环;
步骤307:若当前颜色传感器的蓝色分量实际值大于标准值,则降低蓝灯的占空比,若当前颜色传感器的蓝色分量实际值小于标准值,则增加蓝灯的占空比,然后返回步骤302循环。
图4显示了宽温度范围白平衡调整方法所用标准数据自动搜索装置的系统构成及信号流向。该系统包括显示屏501、颜色分析仪502,以及PC机503。此时,PC机503作为主控制器。在PC机503上运行粒子群算法,产生一个个占空比数据,再通过串口发送占空比数据给背光灯上的单片机201,单片机201通过SPI总线发送数据给FPGA202,FPGA202再通过红灯功率放大电路203、绿灯功率放大电路204、蓝灯功率放大电路205分别改变各色背光灯的占空比,然后由PC机503读取颜色分析仪502上对应的值,搜索最接近标准白色的占空比,并记下与此占空比对应的颜色传感器110的值,以供背光板上的单片机201在独立运行时使用。
自动搜索标准数据的粒子群算法的过程如下所述:PC机503上运行粒子群算法,将各向量(由表示红、绿、蓝三种颜色占空比的数据组成)向最优向量方向调整(在此调整过程中可能会发现更优的向量),然后由PC机503将调整后的向量通过串口逐个发送给背光灯上的单片机201;单片机201收到某向量后需对其进行解析,判断红、绿、蓝三种颜色LED灯的占空比各需调整为多少,此过程完成后便按解析出的数据改变与FPGA202相连的引脚上的信号电平,通知FPGA202改变对应背光灯控制信号的占空比(其中两位用于区分这是哪个灯的占空比,另外8位是表示新占空比的数据),再由红灯功率放大电路203、绿灯功率放大电路204、蓝灯功率放大电路205最终实现对该种LED亮度的调节。三种颜色LED灯的亮度都按此过程调整后,由PC机503读取颜色分析仪502软件上对应的色坐标值并暂存于文件中。至此,某代群体中的一个向量被处理完毕,按同样的方法对该代中其余向量进行处理。这一代群体中的所有向量都处理完毕后,PC机503根据各向量对应的色坐标搜索最接近标准白色(u=0.198,v=0.468,色温=6500)的占空比,作为粒子群算法中下一代群体调整的参考目标。若已发现某一向量对应的色坐标已是标准白色,则算法停止,将该向量作为对应亮度级别的标准占空比向量,同时记下与此占空比对应的颜色传感器110的值(PC机503发读命令,单片机201收到读背光灯板上颜色传感器110值的命令后,将颜色传感器110的值发给PC机503),以供背光板上的单片机201使用。按此过程继续寻找下一亮度级别对应的占空比向量,直至全部找出,寻找过程才终止。
图5显示了用于自动搜索标准数据的粒子群算法。通过Windows API函数设计一个外挂程序,抓取颜色分析仪502软件界面文本框中的数据,其值与标准白色的差值越小越好,在粒子群算法中,与标准白色差值越小的粒子适应度越高。所述用于自动搜索标准数据的粒子群算法包括下述步骤:
步骤701:首先由应用程序随机生成若干个粒子,每个粒子实际是一个向量,其中的值对应RGB三种灯的占空比,因而对应不同的向量显示屏的颜色不同;
步骤702:评估各粒子的适应度;
步骤703:判断各粒子对应的颜色是否达到误差要求,如果达到,则进入步骤707,否则,进入步骤704;
步骤704:在这众多粒子中,必有一个粒子对应的颜色最接近标准白色,其它粒子要按照离该粒子的距离逐步向该最优粒子靠近,在此过程中还有可能出现离标准白色更近的粒子,在随后的调整中应以此新的最好粒子为准,其它粒子逐步向其靠近。因此在程序中应设置一个全局变量记录每次发现的最优粒子,同时还要为每个粒子设置一个局部变量,记录在各代进化中出现的最优值;
步骤705:计算各粒子的调整步长,在调整过程中,各粒子的步长,不仅与该粒子当前的值有关,还与全局最优变量的值以及各粒子在进化过程中出现的局部最优值有关;
步骤706:在得出各粒子的调整步长后,即对各粒子进行调整,然后返回步骤703;
步骤707:若显示屏上混合光的颜色达到标准白色的误差要求,则停止进化;
步骤708:由PC机503发送数据读取命令给背光板控制电路上的单片机201,让单片机201发回此时背光板上温度传感器111和颜色传感器110的数据。