随着数字技术的飞速发展,各种数字显示屏也随即涌现出来有LED、LCD、DLP等,各种数字大屏幕的控制系统多种多样,有用ARM+FPGA脱机控制系统,也有用PC+DVI接口解码芯片+FPGA芯片联机控制系统,在这里我们讲述一种不仅可以用于控制全彩LED大屏幕的显示,而且还可以作为发送端输出高清图像数据。采用的联机控制系统对全彩LED大屏幕进行控制。即PC+DVI接口解码芯片+FPGA芯片+输出接口模式的联机控制系统。
DVI接口概述
DVI全称为Digital Visual Interface,它是基于TMDS(Transition Minimized Differential Signaling,最小化传输差分信号)电子协议作为基本电气连接。TMDS是一种微分信号机制,可以将像素数据编码,并通过串行连接传递。显卡产生的数字信号由发送器按照TMDS协议编码后通过TMDS通道发送给接收器,经过解码送给数字显示设备。
目前的DVI接口分为两种,一个是DVI-D接口,只能接收数字信号,接口上只有3排8列共24个针脚,其中右上角的一个针脚为空,不兼容模拟信号。
另外一种则是DVI-I接口,可同时兼容模拟和数字信号。兼容模拟幸好并不意味着模拟信号的D-Sub接口可以连接在DVI-I接口上,而是必须通过一个转换接头才能使用,一般采用这种接口的显卡都会带有相关的转换接头。
本文叙述中用到的接口是DVI-D全数据接口。
FPGA控制全彩LED大屏幕系统原理
1 DVI解码芯片控制原理
图3输入部分显示了FPGA芯片控制解码芯片控制原理图,所选的FPGA芯片是Xilinx公司的Spantan_3系列的X3C1400A-5,该芯片可以实现对DDR_SDRAM最大时钟为200MHz的控制。在该系统中用到的DVI解码芯片是TI公司生产的芯片型号为tfp401的解码芯片,该芯片通过接收由计算机DVI接口传输来的编码图像数据,输出到DVI解码芯片,该芯片将串行数据解码成24位的R(Red)、G(Green)、B(Blue)三原色并行数据,以及行同步、场同步、数据使能和时钟信号,然后将解码后的RGB图像数据、行同步、场同步、数据使能和时钟控制信号送给FPGA芯片,将图像数据缓冲到FPGA芯片的FIFO中,在这里须注意,当采集图像的分辨率很大时,该数据传输的时钟信号最高可达到 165MHz,输出的并行图像数据为24位的数据,所以最大带宽可达到3.96GHz,在选取外部存储器是须考虑带宽的要求。
图1 DVI-D接口
DDC:Display Data Channel (显示数据通道)----指主机与显示设备的通讯方式。基于End-user的即插即用功能的需求,VESA定义了DDC标准。包含 DDC1/DDC2B/DDC2B+等方式。DDC2B是主机与显示设备准双向通信,基于I2C通信协议。只有主机向显示器发出需求信号,并得到显示器的响应后,才送出EDID资料。EDID:Extended Display Identification Data(外部显示设备标志数据)----指DDC通信中传输的显示设备数据。EDID包含显示设备的基本参数,如制造厂商、产品名称、最大行场频、可支持的分辨率等。图中的E2PROM是一个重要的存储器,存储由计算机传来的制造厂商、产品名称、最大行场频、可支持的分辨率等参数,只有该存储器工作起来后,DVI接口才可以正常工作,该存储器显示数据通道为DDC,在这里与DVI接口插上时,该处有个上拉电阻进行指示,计算机会自动将各种参数输入到该存储器,这样才可以从DVI接口输出以各种参数为标准的图像数据。
图2 DVI-I接口
2 选取存储图像数据的缓冲存储器
根据上述采集图像数据的带宽要求,在这里用的是DDR-SDRAM存储器,时钟最大为200MHz,数据位宽为16位,所以,最高带宽可达到6.4GHz,利用率达到65%即可满足上述DVI接口芯片输入到FPGA芯片的带宽要求。
由于从DVI芯片输入到FPGA芯片的图像数据最大的时钟是165MHz,与输出到DDR-SDRAM存储器的时钟频率200MHz不同步,所以,在这里FPGA芯片中要用到异步FIFO进行缓冲,将从DVI解码芯片输入的图像数据缓冲到宽度为24位,深度为2048的FIFO中,其中输入时钟根据输入的图像分辨率计算得出,最大可输出的时钟为165MHz,然后再从FIFO缓冲期将数据输出到DDR-SDRAM存储器,其中输出到DDR -SDRAM的图像数据的时钟为200MHz,输出的时钟为双数据率始终,即数据有效时钟可达到400MHz,再将DDR-SDRAM存储器中的图像数据输出到FPGA芯片中,在这里输出到FPGA芯片的缓冲阶段,需要借助FIFO对输出到外部接口芯片进行缓冲。
3 图像处理
由于人眼看到的图像亮度是非线性等级的,该系统的输出到存储器的图像是线性的,所以需进行校正处理,在这里运用了gamma校正算法进行处理,Y=KXr,FPGA芯片对gamma校正的实现过程就是进行数据的映射,对从FIFO输出到外部接口的图像数据进行数据的一一映射。得到输出图像,从输出接口将校正后的图像数据输出到外部器件。
图3 FPGA控制全彩大屏幕LED系统原理图
4 应用于不同领域的两种输出接口模式
①FPGA芯片输出端连接驱动电流芯片
该接口的使用适合于输出的是多路驱动电流芯片,用FPGA芯片输出管脚时序控制多路外部驱动电流芯片,驱动电流芯片再对RGB发光二极管进行控制,最后将整个电脑想要显示的图像显示到大屏幕LED上。
②接收端为以太网线的接口
该接口适合于对一路输入DVI解码芯片接口图像的输出,该接口可以用于远距离传输图像信息,应用于大屏幕的LED的显示。
显示设备采用DVI接口优点
DVI传输的是数字信号,数字图像信息不需经过任何转换,就会直接被传送到显示设备上,减少了数字向模拟再到数字烦琐的转换过程,大大节省了时间,因此它的速度更快,能有效消除拖影现象,使用DVI进行数据传输,信号不衰减,色彩更纯净,更逼真。计算机内部传输的是二进制的数字信号,使用VGA接口连接全彩LED大屏幕显示器,就需要先把信号通过显卡中的D/A转换器转变为R、G、B三原色信号和行、场同步信号,这些信号通过模拟信号线传输到全彩LED大屏幕上,还需要相应的A/D转换器将模拟信号再一次转变成数字信号,才能在全彩LED大屏幕上显示出图像。在上述的D/A、A/D转换和信号传输过程中不可避免信号的损失和受到干扰,从而导致图像出现失真甚至显示错误。DVI接口无须进行这些转换,避免了信号的损失,使图像的清晰度和细节表现力都得到了大大的提高。
结束语
该设计系统实现的FPGA芯片控制全彩大屏幕的图像显示系统,不仅可以用于小尺寸分辨率(256×192)的全彩LED大屏幕控制系统的显示,还可以远距离的以太网传输图像数据,将该图像数据发送到多块接收模板,多块接收板的拼接可以用于显示分辨率(1920×1280)的高清彩色图像的大屏幕。