本系统的数据流分为控制数据和显示数据。控制数据由PC机上的软件发出,发送卡的FPGA接收控制数据,判定是控制发送卡还是控制接收卡的数据,如果是控制接收卡,则通过千兆网络将数据发送至接收卡。TFP201A从DVI接口解码出显示数据后由FPGA缓存入SDRAM,然后在读出数据时按照显示屏要求对数据块结构作一定调整后再由RTL8212打包发送至接收卡,接收卡接收显示数据,然后驱动LED显示屏。

本文主要讨论系统中的FPGA部分,包括以下三点:

(1)对SDRAM乒乓式缓存的优化;

(2)基于FPGA内部RAM与PC机软件的反γ校正与灰度级变换;

(3)LED显示屏的亮度、对比度等颜色调节在FPGA中的实现。

2 SDRAM乒乓式缓存的优化

传统的基于SDRAM的乒乓式缓存方案都存在着数据读写操作复杂或者数据结构调整局限性大的缺点。结合现有方案的优点,本文提出了图2所示的SDRAM数据缓存方案。

LED大屏幕控制系统是怎样设计实现的

本系统的发送卡设计目标是最大支持1 280×1 024分辨率、60 Hz刷新率的全彩数据发送,此时的像素频率为:

LED大屏幕控制系统是怎样设计实现的

即本方案满足系统数据吞吐量的要求。由于两个SDRAM中存储相同数据,具有相同格式,所以SDRAM读写模块可以同时向两个SDRAM中写入或读出显示数据,这样两块SDRAM可以共用地址线,从而节省数十个FPGA IO端口,这是本方案的一大优点。同时每块SDRAM中划分了两个区,用以存放连续的两帧图像,可以根据LED显示屏的具体要求,从SDRAM中读出显示数据,满足系统灵活性的要求。

3 反γ校正与灰度级调节

特定条件下创建的图像在不同环境下工作时,往往会出现图像看起来显得太亮或者太暗的现象,所以LED大屏幕显示系统需要进行灵活的反γ值调节。当前反γ校正多采用基于FPGA内部ROM的查找表技术。式(1)为反γ校正公式,式中默认输入图像灰度级为256,输出灰度级为G,x为输入灰度值,y为输出灰度值,γ为校正系数。要在FPGA中实现指数运算需要消耗大量逻辑单元,对于低成本要求来说是不现实的。本文提出了如图3所示的基于FPGA片内RAM、片外EEPROM和PC机软件的反γ校正技术。

LED大屏幕控制系统是怎样设计实现的