设计中考虑到帧频与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。
4 结束语
本文讨论了LED大屏幕视频控制器单元中的灰度扫描方法,提出了256级灰度扫描时的实现方案,并用CPLD器件实现其控制电路。由于采用了EDA工具,降低了设计难度,缩短了开发周朗,同时由于只需一片集成电路即可实现过去需要几十片中规模集成电路的控制功能,印刷板的面积大大缩小,系统抗干扰能力显著增强,此外ISP功能给电路板的调试和系统的维护带来了很大的方便,并且有利于系统今后的升级和重构。