首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

LED控制系统(基于FPGA)

LED控制系统(基于FPGA)

LED大屏幕视频显示系统由于具有亮度高、视角广、寿命长、性价比高,因此在银行、交通、广场、体育场馆等公共场合得到了广泛的应用。笔者用按位分时显示 的方法研制了256×256灰度级的LED大屏幕视频显示系统,画面清晰稳定,颜色丰富,取得了良好的视觉效果。
视 频控制系统是LED大屏幕视频显示系统的核心,它负责产生各种显示控制信号,对视频数据进行分割、存储、灰度扫描并按特定的方式输出数据到显示屏体供驱动 显示。从电路组成看,视频控制系统包括计算机箱体内的预处理卡及显示屏体内的可级联的视频控制器单元;视频控制器单元(或预处理卡)由控制单元 (CPLD)和存储器单元(SRAM组)以及I/O接口单元等部分组成。计算机屏幕上每8×16行单色数据对应两片SRAM存储器(1024列×8×16 行为1个存储器单元)8×1位数据口,所有存储器的地址和控制信号由一片控制芯片(ispLSI1032E)产生。它们在显示系统中的关系如图1所示。
大 屏幕显示范围为1024列×768行,时钟频率65MHz,整个显示区域分为6个存储器单元,每个存储器单元对应1024列×128行数据,2个存储器单 元及1片控制芯片共同组成一个视频控制器单元(3个视频控制器单元可以级联控制1024列×768行)。计算机视频数据经过预处理卡(如γ反校正)后输出 到视频控制器单元,视频控制器单元根据时钟和行、场同步信号对数据进行分割并分时写入到2个存储器单元内,视频控制器的存储器单元同时读出的数据经灰度调 制后变成串行数据流,并行输出到显示屏体驱动电路经移位后以1行为周期打入到屏体显示,同时行扫描信号以19行数据刷新时间为周期进行垂直扫描。3 视频控制器单元的实现

3.1 灰度扫描方法
对于多灰度级LED大屏幕显示而言,灰度的分层(灰度扫描)显示方法是视频控制器设计的关键,由于LED的发光亮度与扫描周期内的发光时间近似成正比,所 以灰度等级的实现通常是由控制LED的发光时间与扫描周期的比值,即采用调制占空比来实现的。
(1) 灰度扫描约束公式
首 先给出几个定义:行周期h指视频控制器输入1行数据的时间,即计算机输出视频行周期。显示基本时间单位td定义为灰度级为1的像素在屏体的对应点亮时间。 帧扫描周期T定义为存储单元的存储器中1帧图像的读出时间,存储器中1帧图像对应2×8×16行1/n屏(n=l,2,3,…)输入视频图像。帧频F为帧 扫描周期的倒数,为满足人眼的视觉要求,假定帧频不低于60Hz。屏体显示效率η定义为帧扫描周期内LED屏体全亮(即全屏数据皆为最高灰度级)时间与帧 扫描周期的比值。全屏显示指视频控制器每个存储单元存储的数据列数 为计算机屏幕全屏的有效显示列数,相对应的是半屏显示、l/3屏显示等等。
设显 示灰度等级数为N,由于灰度级为1的像素在屏体的对应点亮时间为td,因而灰度线性调制后灰度级为i的数据显示时间为i×td,灰度级最高的数据显示时间 为(N-1)×td。通常的考虑[3]是在td内完成对存储器一行数据的一次读出,同时以td为周期将读出的一行数据打入到屏体进行灰度显示。由于共有N 级灰度级数,帧扫描周期为


由以上分析可知,高的灰度级数、高扫描帧频与低的存储器读出速率是相互矛盾的。要获得高的灰度级数,就必须提高存储器读出速率,或者降 低帧扫描频率,当灰度级数较高时,以目前的集成电路实现水平难以达到三者的兼顾。
解决的方法之一是大量采用并行结构,但扫描频率每减小一倍成本就增加将近一倍,而且电路的复杂程度也有所增加;另一种方法是适当牺牲屏体显示效率η以求得 帧频与速率的折中,这种方法经实践验证是可行的。
仍 然以td作为显示基本时间单位,以对存储单元1行数据的一次读出时间作为屏体数据更新时间(屏体数据打入周期),引入“消隐时间”的概念:“消隐时间”指 屏体正常工作时间里的无效显示时间。屏体数据更新时间可以大于显示基本时间单位,即在屏体数据更新低灰度级时存在“消隐时间”,它虽然使显示效率有所下 降,但可以实现较低的扫描速率和较高的扫描帧频。举例来说,若屏体数据更新时间为h,而显示基本时间单位td为h/16,则灰度级为1的数据会引入 15/16行“消隐时间”,灰度级为2的数据会引入7/8行“消隐时间”…,灰度级为8的数据会引入1/2行“消隐时间”,而灰度级为16的数据则不会引 入“消隐时间”,这样就能在不提高存储器读出速率(λ≤1)的情况下(而且可以降低存储器读出速率Vo=32.5MHz,h=31.7,λ=0.5)实现 256级灰度扫描。这时帧扫描周期为
T=(1+1+1+1+1+2+4+8)×h×m=304h=9.64(ms) (11)
帧频为,F=1/T=103.6(Hz)???? (12)
但这时LED大屏幕显示屏体的显示效率降低为
η'=(1/16+1/8+1/4+1/2+1+2+4+8)×h×m/T=83.88% (13)
也可以取显示基本时间单位td为h/32或h/8,经计算得256级灰度td与帧频F的关系如图2所示,td与LED屏体显示效率η的关系如图3所示。


设计中考虑到帧频与LED屏体显示效率的折中,采用td=h/16,即存储器读出速率等于1/2数据输入速率,显示基本时间单位为1/16 倍行周期。灰度扫描通过对灰度数据按位分时显示的方法实现,即计算机屏幕图像以每像素24bit输出(红、绿、蓝各8bit)时,通过给每种颜色8bit 字节的不同位分配不同的显示时间达到灰度显示的目的。比如,最低位(第8位)对应1/16行显示时间,第7位对应1/8行显示时间,…,第2位对应4行显 示时间,最高位对应8行显示时间。屏体数据更新时间以行周期为单位,最低位对应更新时间为1行时间,其中显示1/16行时间,其余15/16行时间里,由 控制电路产生消隐信号进行消隐,其余位类同。
3.2 视频控制器单元设计
根据上述256级灰度视频数据灰度扫描的原理设计了256级灰度视频控制器,原理(单个颜色通道)如图4所示。


按功能来分,设计的视频控制器单元可以分为四个部分:控制单元、存储器单元(SRAM)、数据缓冲器和接口单元。视频控制器单元的核心是存 储器单元,计算机屏幕上每128行数据对应一个存储器单元,显示屏所要实时显示的内容(即计算机屏幕图像数据)都存放在存储器单元中。控制单元产生存储器 单元的地址信号和分时选通控制信号及灰度扫描控制信号如扫描地址信号、消隐、移位、锁存脉冲等。数据缓冲器用于实现视频数据的读写(输出输入)缓冲。接口 单元用于产生符合显示屏驱动电路接口格式的信号。
当一个帧存储器进行数据写入时,另一个帧存储器进行数据扫描读出,这样两组存储器可以分别交替工作于视频数据高速扫描和高速写入两种方式,因而可以提高数 据读写的速率和显示屏的帧频,播放出来的图像更加稳定。
3.3 视频控制器单元设计
视 频图像信号频率高、数据量大,要求实时处理,加之LED大屏幕的数字逻辑相当复杂,采用复杂可编程逻辑器件(CPLD)设计系统中的关键控制电路,可以简 化系统结构,便于调试。笔者利用Lattice公司的CPLD器件,用按位分时显示的方法设计了256级灰度*256级灰度(红、绿双基色)视频控制器单 元的控制单元部分,经测试画面清晰稳定,颜色丰富,取得了预期的效果。以下是设计的大致过程。
首先是器件选型。为了提高器件的利用率,从结构化观 点出发,统计出视频控制器存储单元、数据缓冲器和接口单元需要的控制信号数目为56,决定采用1片Lattice的ispLSI1032作为控制芯片。该 芯片包含32个GLB,192个寄存器,I/O口及输入数为72,门数为6000,速度为70MHz,具有在系统编程功能,能够比较高效地满足应用要求, 同时还可兼顾系统今后的重构。
按照设计要求,控制芯片用于产生读、写地址信号、扫描地址信号、分时选通控制信号和一些显示控制信号如消隐、移位、打入脉冲等。在设计中采用了“自顶向 下,逐步细化”的策略。
设计中开发软件采用Lattice公司的EDA工具ispEXPERT7.0,设计输入采用了原理图和硬件描述语言混合输入的方法,并对设计结果进行了仿 真。定时分析结果为最小时钟周期为26.7ns,时钟周期计算公式为
时钟周期=路径延时+时钟到输出端延时+建立时间
存储单元采用双总线结构的高速SRAM,每行数据对应19行时间读出,读出后帧频为103.6Hz。计算机视频工作频率为65MHz,行频 48.4kHz,帧频60Hz。
返回列表