LED显示屏高灰度扫描控制的FPGA实现
摘要: 本文在分析LED 显示屏的显示扫描控制方法的基础上,提出了用并行结构实现高灰度扫描控制的方案,设计了基于FPGA 的8 位并行输入LED 扫描控制芯片,并结合外围电路、显示面板及计算机构成了LED 大屏幕显示系统,实现了LED显示屏的256 级灰度显示,在简化系统硬件结构的前提下取得了清晰稳定的画面显示。
1 介绍
LED(light emitting diode)显示屏由发光二极管阵列构成。发光二极管(LED)是一种电流控制器件,具有亮度高、体积小、单色性好、响应速度快、驱动简单、寿命长等优点,能胜任各种场合实时性、多样性、动态性的信息发布任务,因此得到了广泛的应用。LED 大屏幕是通过一定的控制方式, 用于显示文字、图像、行情等各种信息以及电视、录像信号,并由LED 器件阵列组成的显示屏幕。LED 大屏幕作为现代信息发布的重要媒体,正受到社会各界尤其是商业界、广告界的极大重视,被广泛应用于工业、交通、商业、广告、金融、体育比赛、模拟军事演习、电子景观等领域。
本论文介绍了一种8 位并行输入LED 显示驱动芯片,在大屏幕LED 显示系统中实现了从白到黑的多色彩的256 级灰度显示,画面稳定清晰,取得了良好的视觉效果。
2 大屏幕LED 的系统构成
考虑到LED 电气特性以及机械安装等实际应用的要求,无论是室内LED 电子显示系统或是室外LED电子显示屏,在结构上都采用了标准单元块的形式,即采用16×16、16×32、24×24 或32×32 个显示象素灯管构成一个单元块。每一个单元块形成自身独立的电子扫描功能、控制功能、存储功能,并以此构成一个独立的子系统; 然后,再由各个标准源以及通讯驱动部件后就构成了全点阵LED 大屏幕电子显示系统,外加一定的计算机控制部件、带有数字化分量输出的多媒体卡或DVI 卡及电源记忆通讯驱动部件后就构成了全点阵LED 大屏幕电子显示系统。该系统的结构框图如图1 所示。
其中的核心部分是LED 扫描控制芯片,这个也是本文所要讨论的重点。该芯片为8 位并行输入的LED显示驱动结构,可驱动16×8 的LED 屏体,应用在LED大屏幕上可以通过多片级联来实现LED 大屏幕的显示。
图1 LED 大屏幕系统结构框图
3 LED 扫描方法和控制芯片的研究
1、灰度扫描方法的研究
对高灰度级LED 大屏幕显示而言,灰度的分层(灰度扫描)方法是视频控制器设计的关键,由于LED的发光亮度与扫描周期内的发光时间近似成正比,所以灰度等级的实现通常是由控制LED 的发光时间与扫描周期的比值,即采用调制占空比来实现的。
(1)灰度扫描约束公式
设显示灰度等级数为N, 由于灰度级为1 的像素在屏体的对应点亮时间为td, 因而灰度线性调制后灰度级为i 的数据显示时间为itd, 灰度级最高的数据显示时间为(N 一l)×td.通常的考虑是在td 内完成对存储器一行数据的一次读出,同时以td 为周期将读出的一行数据打人到屏体进行灰度显示。由于共有N 个灰度级数,帧扫描周期为:
T=n×td ×m (1)
屏体显示效率:η=(N 一l)×td ×m/T=(N 一l)/N(2)
设视频数据输人速率为VI, 存储器读出速率为Vo, 由于必须在td 内完成存储单元内一行数据的一次读出,故有:Vo/Vi >=h/(td ×n) (3)
设λ为存储器读出与输人速率的比值,即λ=Vo/Vi, 将(l)式代人(3)式中,有:λ>=h×N×m/(T×n) (4)
为保证图像的稳定显示,扫描帧频必须足够高,设F>=F0 (即T<=T0, T0=1/F0),F0 为人眼可接受的扫描帧频(F0>=60),代入(4) 式得:
λ>= h×N×m/(T0×n)(5)
代入(1)式得:td= T0/(N×m) (6)
式(5)和(6)即为灰度扫描约束公式。
(2)256 灰度级全屏扫描
对于256 灰度级全屏扫描,高的灰度级数、高扫描帧频与低的存储器读出速率是相互矛盾的。要获得高的灰度级数,就必须提高存储器读出速率,或者降低帧扫描频率,当灰度级数较高时,以目前的集成电路实现水平难以达到三者的兼顾。解决的方法之一是大量采用并行结构,但扫描频率每减小一倍成本就增加将近一倍,而且电路的复杂程度也有所增加;另一种方法是适当牺牲屏体显示效率以求得帧频与速率的折中,这种方法经实践验证是可行的。
设计中考虑到帧频与LED 屏体显示效率的折中,采用λ=l, td=h/16, 即存储器读出速率等于数据输人速率,显示基本时间单位为1/16 倍行周期。灰度扫描通过对灰度数据按位分时显示的方法实现,即计算机屏幕图像以每像素24bit 输出(红、绿、蓝各8bit)时,通过给每种颜色sbit 字节的不同位分配不同的显示时间达到灰度显示的目的。比如,最低位(第8 位)对应1/16 行显示时间,第7 位对应1/8 行显示时间,第2 位对应4 行显示时间,最高位对应8 行显示时间。屏体数据更新时间以行周期为单位,最低位对应更新时间为1行时间,其中显示1/l6 行时间,其余15/16 行时间里,由控制电路产生消隐信号进行消隐,其余位类同。
[#page#]
2、LED 扫描控制芯片
通过数据比较之后,本论文采用了恒流源驱动方式,设计了一款可以实现从白到黑的256 级灰度显示的控制单元。该显示控制芯片具有与时钟同步的8 位并行输入端口,内含16 个8 位的移位寄存器和16 个8 位的数据锁存器,可以对8 位并行数据进行移位并锁存。图2 为该扫描和显示控制芯片的电路图。
图2. 扫描和显示控制芯片电路图
当电路开始工作时,8 位并行数据在移位时钟脉冲的作用下打入芯片的移位寄存器模块中,其内部含有16 个移位寄存器,故移位16 次后,数据将从该芯片的DOUT0~DOUT7 输出到下一芯片; 同时将移位所得的16 个8 位数据输入到锁存器中锁存。这时只要输出控制信号为低,并给出同名行的行选通信号同时使输出开放, 各列即可开始输出恒流,同时8 位计数器开始对灰度级时钟进行计数,当计数值与该列所存储的灰度值相等时,该列的恒流输出结束,从而实现相应LED 的显示时间控制,即占空比控制。若采用10 个该显示控制单元级联驱动LED 显示屏,则一直并行移位160 次就可完成第一行数据的传输。
运用VerilogHDL 编写代码并用Modelsim 仿真软件对该电路代码进行编译仿真,得出了如图3、图4 所示得时序图。
图3 灰度控制单元时序图
图4 亮度控制单元时序图
通过时序图我们可以看到在控制端:
enable、rsel、bc_ena、latch 等控制端的控制下,可以按照不同的需求来实现对不同灰度和亮度的实现。在灰度控制单元中,数据在经过了16 个脉冲之后移位传输至输出端输出,并且实现了8 列或者16 列输出的可调; 在亮度控制单元中,通过调整enable、bc_ena、latch 的值实现了输出数据的可调,从而准确的实现了亮度的控制功能。
根据各部分同名行的全部传输时间等于该同名行的显示时间,可以得到行周期和点(列)周期的值,即行周期=帧周期/扫描方式的行数,点周期=行周期/(每行点数×部分数)。若帧频为120Hz , 则帧周期为1/120s = 8.33ms, 根据扫描方式为1/16 可将80 行分为5个16 行,每行160 列,这样,行周期即为520.6μs; 点周期为650.75ns; 点频为1.54×106Hz.
4 结论
本文讨论了LED 大屏幕视频控制器中的灰度扫描方法,本文提出了256 灰度级扫描时的实现方案,作者的创新点在于并设计了一款从暗到亮的256 级灰度显示的LED 显示控制芯片,在本设计中帧频可达120Hz ,行周期为520.6μs, 点周期为650.75ns; 点频为1.54×106Hz.该芯片可以通过多块级联来驱动LED 大屏幕,有着较好的应用前景。
暂无评论