一种基于模拟PWM的全彩色LED显示屏
2014-05-10李相国姚晓魁赵广河
李相国,姚晓魁,赵广河
(河南工业大学 信息科学与工程学院,河南 郑州 450001)
1 引 言
发光二极管(LED)具有色彩鲜艳、亮度高、寿命长及可靠性高等众多优点[1],因而LED显示屏在户外多媒体广告、体育场馆赛事播报、市政广场及城市亮化工程、以及商场购物中心等众多场合获得广泛应用。从早期的单色发展到彩色全彩色,从简单的文本显示发展到复杂的图像视频显示,画面越来越完美,功能越来越强大。
根据人眼视觉系统的三基色原理,全彩色LED显示屏中每一个像素由红绿蓝3种颜色的LED组成,并通过调节3种LED的发光亮度来合成人眼视觉上的任意颜色[2]。理论上,LED的发光亮度与流经的前向电流大小成正比,但是,随着电流的变化,不但发光亮度有改变,色度也会发生偏移[3]。因此,在全彩色LED显示屏设计中,不适合采用直接改变LED电流大小方式来调节其发光亮度,而普遍采用恒流驱动但改变LED通断时间的方式,利用人眼视觉系统的暂留效应,从而产生亮度改变的视觉效果。这种调节通断的方法可以采用脉宽调制(PWM)技术实现。由于全彩色LED显示屏需要对每一个LED进行独立的亮度控制,而在传统的静态驱动方案中,由于显示屏中LED数以万计,因此对PWM驱动芯片需求量较大,使得显示屏的功耗及成本较高;而在传统的动态扫描驱动方案中,由于对LED采用分时导通方式,因此可能存在闪烁问题,并牺牲掉部分亮度范围。
近几年来,随着信息技术的发展,嵌入式系统得到越来越广泛的应用。本文在分析比较传统静态驱动与动态扫描驱动优缺点基础上,结合嵌入式系统功能灵活的特点,提出一种基于模拟PWM功能的全彩色LED显示屏方案。在该方案中,每个LED都对应一个用于信息存储及通断控制的D触发器,阵列中所有D触发器构成一个存储阵列,对存储阵列进行信息更新就可以改变屏幕LED的通断状态,而按照每个像素PWM二进制序列串的值对存储阵列进行周期有序的扫描及信息更新,就可以对每一个LED实现PWM控制功能。实际上是利用D触发器的状态保持功能,并结合扫描方式来实现全部的PWM波形,从而代替实际的PWM硬件芯片。本文对该方案的组成及工作原理进行了详细的介绍,对扫描控制器进行了分析与设计,并对系统的参数及可行性进行了分析。
2 系统简介
图1 系统组成框图Fig.1 Block diagram of the system
该方案的系统组成如图1所示,它由数据处理模块和显示驱动模块组成,两个模块通过双端RAM进行数据传递。数据处理模块是一个嵌入式系统,它负责接收图像/视频数据,并依次对每帧图像数据进行校正处理、像素灰度值的PWM序列化展开与格式重组、写入双端RAM等步骤;它仅对新数据进行处理,若无新数据则处于等待状态。显示驱动模块主体是一个LED阵列,且每个LED均对应一个D触发器,用于信息存储及LED通断控制,并通过一个扫描控制器周期循环地从双端RAM中读取扫描数据然后写入LED阵列对应单元的D触发器,从而用模拟手段实现对全部LED的PWM亮度控制功能。
在该方案中,数据处理模块负责信号处理相关的所有工作。比如,对LED的亮度及色度校正处理,传统方案一般直接启用PWM驱动芯片的校正功能,本方案通过软件处理方式对数据进行校正处理。此外,软件处理方式具有相当的灵活性,可以方便地添加新功能及算法更新,比如,可以根据传感器的输入对数据进行实时调整,实现显示屏亮度匹配环境变化。从两个模块的工作模式看,数据处理模块仅在有新数据时工作,而显示驱动模块则是周期循环地工作。因此,两个模块之间任务分割清晰,从而使得两个模块可以独立工作。
3 数据处理模块
数据处理模块主要完成数据接收、数据校正、数据PWM序列化与重组、以及写入双端RAM等步骤,其工作流图如图2所示。其仅在新数据到来时触发一次完整的数据处理流程,若无新数据则处于等待状态。
3.1 校正处理
由于LED芯片、外围电路以及工作条件等方面存在个体及局部差异因素,使得阵列中不同LED在发光特性方面可能存在差异,主要包括亮度和色度两个指标。具体来说,对于同一种颜色LED,它们对于相同的数值驱动可能表现出发光亮度与发光色度等方面的不同,即LED面板阵列可能存在均匀一致性方面的问题。因此,在LED显示屏的设计与使用过程中需要进行亮度校正与色度校正处理[4-5]。
图2 数据处理模块工作流程图Fig.2 Flowchart of the data processing module
亮度与色度的物理含义截然不同,但是,根据人眼视觉系统的三基色原理,通过三基色的不同比例混合可以产生人眼视觉上的其它颜色,反过来说,假如某个LED发光时的色度发生了偏移,则可以看作是标准三基色LED以某种亮度比例混合的结果。因此,亮度校正和色度校正的含义不同但又密切联系在一起,实质上都是针对选定基准进行的亮度校正,其中,亮度校正以单个LED为基本单元进行校正,而色度校正以像素为基本单元对三色LED进行联合亮度校正。已有研究者提出了多种校正算法及方案[6-9],这里不再展开论述。
经过校正系统的测量及分析处理后,即可获得校正系数并用于校正处理。如前所述,传统硬件PWM驱动方案一般启用PWM芯片提供的“点校正”功能[10]。本方案把校正处理移到前端的数据处理模块中,采用软件处理方式实现,这样可以灵活地选用校正算法,也可以方便地进行算法更新及添加新的功能,比如添加γ校正功能[11]。
值得说明的是,校正处理针对面板阵列中不同LED在各自恒流工作时表现出来的差异问题,对各自驱动数据进行预补偿处理,使得最终显示效果保持一致;由于并不能调节LED本身及外围电路的参数,它属于事后补偿措施。以亮度校正为例,要实现所有LED亮度一致,必然需要以发光亮度最低的LED为基准,相应地下调其他LED的对应数值,即亮度校正会引起亮度损失;同时,尽管亮度校正不会引起数据溢出,即数据位数保持不变,但经校正LED的驱动数值减小,有效量化阶次也相应减少,从量化角度看,量化阶次减少对应信噪比变差,而且,LED之间的量化差异可能影响视觉效果。因此,在显示屏装配前需要进行元器件筛选,尽量从源头上提高LED的一致性。
后来等到宫宝田护主再回北京时,已经物是人非了,昔日的京城武林落得一片凄凉,宫宝田不知道是出于伤感还是什么,于1905年称病离开宫廷,回到山东老家,从此深居简出,16年不谈朝廷江湖,更不在人前炫耀自己的功夫。
3.2 扫描数据生成
数据处理模块最主要的任务是生成显示驱动模块的扫描数据,这通过两个步骤来完成。首先,把图像数据转换为二进制序列串,其中‘1’的数目等于图像数据的数值大小。比如,对于8位整型数据,它最大数值为255,则把每个数据分别展开为一个255长度的二进制序列串,如下面所示。
上面的展开方式及表达式可以称作线性PWM(LPWM),即序列串中‘1’从起始位置连续分布。这意味着绝大多数LED在每个PWM扫描周期开始时导通而在扫描周期结束时关闭,即LED阵列的工作状态出现整体性周期起伏,给电源系统带来很大压力。为了缓解这个问题,可以将PWM序列中‘1’打散,比如二值加权PWM(BPWM)和谱增强型PWM(ES-PWM)[12]。
然后,对得到的PWM序列串重组,重组数据格式与显示驱动模块的工作模式相对应。显示驱动模块的工作特点是周期性地对LED阵列进行逐行扫描,并把每行像素中的红绿蓝三色LED当作依次排列的三行LED对待。因此,在数据重组时,按照LED的行次序进行,如图3所示。
图3 数据的PWM序列展开及重组示意图Fig.3 Illustration of data PWM expansion and reorganization
图3中各个参数的含义分别为:SC表示LED阵列中每一行的LED个数,即阵列的列数;SA为阵列中单色LED的个数,即像素行数乘以像素列数;DW表示扫描时的数据宽度,即重组时每DW位作为一组;PSA表示每一行生成的数据单元个数,它等于SC/DW;PSB表示每一位生成的数据个数,它等于3×SA/DW;PSC表示全部数据个数,它等于255×PSB。
数据重组依照序列串位次序进行,以扫描数据宽度DW为基本单位,DW也等于双端RAM的数据宽度。在每一位数据重组时,按照行的次序进行重组,且三色LED交织进行;首先对蓝色分量的第一行进行重组,其次是绿色分量的第一行,然后是红色分量的第一行,之后转入蓝色分量的第二行,依次类推:在每一行重组时,依次把DW位组成一个数据单元后连续存放;待全部重组完成后,把得到的数据写入双端RAM,并从起始位置开始存储。完成一次扫描数据生成后,等待下一帧数据的到来。
4 显示驱动模块
显示驱动模块是LED显示屏的主体,它由LED阵列和扫描控制器组成,并通过扫描控制器对LED阵列的周期循环扫描实现图像/视频显示。
4.1 LED阵列结构与原理
LED阵列中的红绿蓝三色LED采用如图4(a)所示倒“品”字型结构;电路连接如图4(b)所示,其中,每一像素行被当作独立且连续的3行LED;LED单元有两种实现方式,如图4(c)所示。LED阵列通过地址总线和数据总线接收扫描控制器的输入,其中,高位地址总线经过地址译码器生成阵列的行地址信号,低位地址总线接入多路分解器的选通信号,并生成(分组)列译码地址信号,行地址信号与列地址信号两两经过与门后用于LED单元组的选通,接入相应组D触发器的时钟输入端;数据总线输入经过多路分解器后生成相应列(组)单元的数据输出,每一列输出接入该列LED单元D触发器的数据输入端。由于使用D触发器控制LED通断,每组LED在下一次扫描到来之前保持状态稳定,消除了传统扫描法常见的闪烁问题。
图4 LED阵列组成示意图Fig.4 Illustrations of the LED array
4.2 扫描控制器工作原理
根据LED的PWM亮度控制原理,以一定占空比的方波控制LED的通断就可以产生人眼视觉上某个亮度。在本方案中,按照时间间隔要求周期性地把PWM二进制序列串值写入LED单元的D触发器,就可以实现对该LED的PWM亮度控制;对于整个LED阵列,只要能够在一个时间间隔内把所有D触发器扫描一遍,并且周期性扫描就可以实现对整个LED显示屏的PWM亮度控制。在3.2小节已经按照LED阵列工作方式生成了逐行扫描数据。
扫描控制器的基本操作是从双端RAM读取数据,并写入LED阵列对应单元D触发器,其工作流程图如图5所示。使用两个计数器C0和C1分别用于生成读取地址和写入地址;由于从双端RAM起始位置开始读取,C0的初始值为0;把C0值作为地址向双端RAM读取数据,并把读得的数据连同C1值分别写入LED阵列的数据总线和地址总线接口;完成一次基本操作后等待下一次扫描时刻的到来,时刻到来则C0和C1计数一次,判断C0值是否到达上限(即扫描数据的最大存储地址),如是则回到起始状态,否则C0值仍有效,继续判断C1值是否到达上限(即LED阵列最后单元组的地址),如是则清零,否则C1值仍有效,之后根据C0和C1值进行下一次基本操作。通过这种周期循环扫描就可以实现LED阵列的PWM亮度控制及显示,若双端RAM中数据不更新则显示静态画面,若双端RAM中数据随着视频输入实时更新则LED阵列显示动态画面。
图5 显示驱动模块工作流程图Fig.5 Flowchart of the display module
5 扫描控制器设计
如前所述,数据处理模块和显示驱动模块通过双端RAM进行数据传递,即前者向双端RAM写入扫描数据,而后者从双端RAM中读取数据。由于双端RAM的两个端口彼此独立,当两个端口同时向同一存储单元操作时,可能引起访问数据的冲突(Collision)问题。为保障数据安全可靠,双端RAM芯片一般都集成了冲突仲裁逻辑单元,其中,常用的防冲突机制包括中断方式、Busy信号以及信号量(Semaphore)等[13]。
本方案中两个模块之间是单向数据传递,且数据处理模块向双端RAM高速集中地写入,而显示驱动模块从双端RAM中周期读取,因此,可能出现的访问冲突情形比较简单,Busy信号方式适合本系统。此外,扫描控制器的工作特点使得其更适合于CPLD硬件实现。
5.1 地址计数器设计
扫描控制器从双端RAM读入数据,并把读得的数据写入LED阵列的对应单元,即需要产生正确的地址信号。由于扫描控制器周期循环地工作,地址信号发生器使用两个循环计数器实现。
系统使用Busy信号防冲突机制,当Busy信号有效时扫描控制器暂停工作,即地址计数器需要暂停计数,因此,在计数器设计中添加了使能信号控制。而且,为实现自动循环计数,在计数器设计中添加了异步复位功能。
5.2 扫描控制器设计
根据扫描控制器工作原理,进行扫描控制器的设计,代码综合后得到如图6(a)所示模块。其中,信号 busy、clk、cs、oe、re、read_addr、data_in属于双端RAM接口信号,rgb_addr和data_out属于LED阵列接口信号,信号rst用于上电后地址计数器复位,确保两个地址计数器起始一致。
功能仿真结果如图6(b)所示。由于扫描控制器仅从双端RAM中读取数据,为简单起见,仿真时使用一个ROM来代替双端RAM,并通过调用Quartus II参数化模块库(LPM)中的ROM模块实现。仿真中设定ROM大小为16个单元,数据宽度为8,并依次存储1~16的整型数据。此外,对地址信号rgb_addr做了延时处理使得与读出数据保持时间同步。从图中可以看出,当复位信号rst保持有效时(设计中使用高电平有效),地址信号read_addr和rgb_addr复位为0并保持不变,保证了两个地址计数器起始一致;复位信号rst失效后,扫描控制器开始正常工作,依次读取数据并传递给data_out接口;图中也仿真了冲突时
(a)扫描控制器RTL图(a)RTL diagram of the scan controller
图6 扫描控制器的RTL图与仿真结果Fig.6 RTL diagram and simulation results of the scan controller
的情形,当busy有效时(低电平有效),计数器停止计数,接口信号保持不变;仿真中PWM序列每一位生成8个数据,当地址rgb_addr达到7时自动复位,回到LED阵列的起始位置;仿真中PWM序列生成16个数据,当地址read_addr达到15时自动复位,回到双端RAM的起始位置,实现了不间断循环读取。
5.3 显示驱动模块设计
进一步设计LED阵列外围控制电路,并与扫描控制器一起构成较为完整的显示驱动模块,得到如图7(a)所示模块。在LED外围控制电路中,data_in和rgbaddre_in分别为输入接口的数据信号和地址信号,address_line_out和address_column_out分别为LED阵列的行译码输出和分组列译码输出,rgb_dat a_out为输入数据data_in经过多路分解器的输出,其宽度等于LED阵列的列数。尽管每一像素行等价于3个LED行,从扫描角度看它们并没有区别;仿真中假定行译码address_line_out宽度为2,即LED阵列为32列2行;仿真中输入数据data_in宽度等于8,即扫描时以8位进行分组,所以,列译码address_column_out宽度为4,即每一行被分为4组。
图7 显示驱动模块的RTL图与仿真结果Fig.7 RTL diagram and simulation results of the display module
功能仿真结果如图7(b)所示。根据LED阵列电路设计,address_line_out与address_column_out两两经过与门生成组选通信号,然后接入相应组D触发器的时钟信号端。因此,仅当行译码与列译码同时选通时,组选通信号才会产生一个从‘0’到‘1’的上升沿跳变,从而触发该组D触发器的数据选通,而其他组D触发器保持不变。从仿真图中可以看出,扫描控制器周期循环地从双端RAM读取数据并传递给LED阵列,在行译码与列译码的共同作用下选通对应D触发器,满足预期设计功能。
6 系统特点
该系统的基本原理是利用D触发器的状态保持功能,并结合扫描及信息更新来生成每个LED的PWM驱动波形,即用传统动态扫描方式实现了传统静态驱动方案中由PWM芯片完成的功能。如前所述,由于显示屏中LED数以万计,且每一个LED都需要独立的PWM亮度控制,因此,与传统静态驱动方案相比,本方案用模拟方式代替大量的PWM芯片,系统功耗及成本大为降低,更加绿色环保。另一方面,该方案不同于传统动态扫描中的分时导通方式,因此,它不存在传统动态扫描方案中的闪烁及亮度损失问题。
在传统硬件PWM驱动方案中,由于所有PWM芯片及LED单元并行工作,存在绝大多数LED同时导通或关闭的可能,即LED阵列工作状态可能出现整体性快速变化,从而产生浪涌电流(Inrush Current)现象[12],引起电源完整性及电磁干扰等方面的严重问题。本方案采用逐组扫描方式,无论起始阶段还是正常工作中,阵列中LED状态是逐组变化,因此,它的电源波动较慢,易实现电压稳定,从而保证LED阵列的电流平衡及色度稳定。这是扫描方式带来的一个优点。
此外,该系统中的数据处理与显示功能分离,而且,把更多的工作转移到前端数据处理模块中,用软件方式完成相应处理。这样,软件处理的灵活性便于功能扩展及算法更新。
7 参数分析
假定输入每秒25帧的视频信号,每帧图像尺寸为800×600像素,采用8bit量化,则每秒的输入数据量为:800×600×3×25=36 000 000字节,完成PWM序列化后的数据量为:36 000 000×255=9 180 000 000位;假定扫描控制器按照64位数据宽度进行扫描,则所需工作频率为9 180 000 000/64=143 437 500Hz,即大约150MHz的时钟就可以满足扫描要求。我们注意到,该频率为双端RAM到LED外围控制电路的时钟速率,可以在电路板上实现,而每组LED的刷新频率仅为255×25=6 375Hz,即LED外围控制器到LED单元之间线路的工作频率不高,对时序及布线要求不高。假如使用传统LED显示屏中的模组概念,用较小尺寸显示屏作为基本单元,则对器件及线路指标要求大为降低,也更容易实现。
8 结 论
提出一种基于模拟PWM功能的全彩色LED显示屏方案,其基本特点是采用D触发器进行信息存储与LED通断控制,并用扫描方式实现PWM亮度控制功能。本文详细分析了其工作原理,对扫描控制器进行了分析与设计,分析比较了系统特点,并对系统参数及可行性进行了分析。
[1] 邓宏贵,梅卫平,曹文晖,等.基于PWM 的 LED 显示屏像素亮度控制方法[J].光电子技术,2010,30(2):131-134.Deng H G,Mei W P,Cao W H,et al.Based on the PWM of the LED display pixel a brightness control method[J].Optoelectronic Technology,2010,30(2):131-134.(in Chinese)
[2] 赵梓权,王瑞光,郑喜凤,等.基于视觉感受的LED显示屏系统精度分析[J].液晶与显示,2012,27(3):324-331.Zhao Z Q,Wang R G,Zheng X F,et al.Systemic accuracy analysis of LED displays based on visual perception[J].Chinese Journal of Liquid Crystals and Displays,2012,27(3):324-331.(in Chinese)
[3] 刘祖隆,郭震宁,胡志伟,等.调光方式对LED色温和光通量的影响[J].华侨大学学报:自然科学版,2013,34(1):14-17.Liu Z L,Guo Z N,Hu Z W,et al.Effect of dimming on LED color temperature and luminous flux[J].Journal of Huaqiao University :Natural Science,2013,34(1):14-17.(in Chinese)
[4] 李熹霖.LED 显示屏逐点色度亮度校正技术讲座[J].现代显示,2011(7):5-9.Li X L.A lecture on the technology of color and brightness correction of pixel of LED display screen[J].Advanced Display,2011(7):5-9.(in Chinese)
[5] 张俏梅.LED显示屏色度校正原理与应用[J].现代显示,2012(9):270-273.Zhang Q M.The principle and application of LED display chroma correction [J].Advanced Display,2012(9):270-273.(in Chinese)
[6] 赵梓权,王瑞光,郑喜凤,等.LED显示屏的色域校正[J].液晶与显示,2013,28(1):92-98.Zhao Z Q,Wang R G,Zheng X F,et al.Color gamut correction of LED displays[J].Chinese Journal of Liquid Crystals and Displays,2013,28(1):92-98.(in Chinese)
[7] 邓宏贵,李志坚,郭晟伟.基于LED电脉冲响应的LED显示屏像素灰度校正方法[J].发光学报,2010,31(1):145-149.Deng H G,Li Z J,Guo S W.Method of gray value correction in LED display screen based on LED electroluminescence response[J].Chinese Journal of Luminescence,2010,31(1):145-149.(in Chinese)
[8] 阮海蓉,夏贵勇.基于照相的LED显示屏亮度校正方法[J].液晶与显示,2012,27(2):193-197.Ruan H R,Xia G Y.Brightness correction method of LED display based on photographing[J].Chinese Journal of Liquid Crystals and Displays,2012,27(2):193-197.(in Chinese)
[9] 宋超,王瑞光,冯英翘.LED大屏幕显示校正系数配置系统[J].液晶与显示,2013,28(3):392-397.Song C,Wang R G,Feng Y Q.Display calibration coefficient configuration system used in LED panel[J].Chinese Journal of Liquid Crystals and Displays,2013,28(3):392-397.(in Chinese)
[10] Day M.TLC5940PWM dimming provides superior color quality in LED video displays[J].Analog Applications Journal,2006:10-13.
[11] 李军,吴高英.彩色 LED 显示屏的γ校正[J].现代显示,2000(3):46-49.Li J,Wu G Y.Theγcorrection of full color LED [J].Advanced Display,2000(3):46-49.(in Chinese)
[12] Ahn J H.Implementation of an LED tile controller for high-quality image display [J].Displays,2013,34(1):17-26.
[13] 陈德明,熊列彬.双口 RAM 在自动化系统中的应用[J].国外电子元器件,2005(4):20-23.Chen D M,Xiong L B.Application of dual RAM in automation system [J].International Electronic Elements,2005(4):20-23.(in Chinese)