一种基于FPGA控制全彩大屏幕显示设计
扫描二维码
随时随地手机看文章
随着数字技术的飞速发展,各种数字显示屏也随即涌现出来有LED、LCD、DLP等,各种数字大屏幕的控制系统多种多样,有用ARM+FPGA脱机控制系统,也有用PC+DVI接口解码芯片+FPGA芯片联机控制系统,在这里我们讲述一种不仅可以用于控制全彩LED大屏幕的显示,而且还可以作为发送端输出高清图像数据。采用的联机控制系统对全彩LED大屏幕进行控制。即PC+DVI接口解码芯片+FPGA芯片+输出接口模式的联机控制系统。
DVI接口概述
DVI接口由1998年9月,在Intel开发者论坛上成立的数字显示工作小组(Digital Display Working Group简称DDWG)发明的一种高速传输数字信号的技术,有DVI-A、DVI-D和DVI-I三种不同的接口形式。DVI-D只有数字接口,DVI-I有数字和模拟接口,目前应用主要以DVI-D为主。
DVI(Digital Visual Interface),即数字视频接口。它是1999年由Silicon Image、Intel(英特尔)、Compaq(康柏)、IBM、HP(惠普)、NEC、Fujitsu(富士通)等公司共同组成DDWG(Digital Display Working Group,数字显示工作组)推出的接口标准。
DVI是基于TMDS(Transition Minimized Differential Signaling,转换最小差分信号)技术来传输数字信号,TMDS运用先进的编码算法把8bit数据(R、G、B中的每路基色信号)通过最小转换编码为10bit数据(包含行场同步信息、时钟信息、数据DE、纠错等),经过DC平衡后,采用差分信号传输数据,它和LVDS、TTL相比有较好的电磁兼容性能,可以用低成本的专用电缆实现长距离、高质量的数字信号传输。TMDS技术的连接传输结构如图1所示。数字视频接口(DVI)是一种国际开放的接口标准,在PC、DVD、高清晰电视(HDTV)、高清晰投影仪等设备上有广泛的应用。
目前的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-Integrated(DVI-I)接口(18+5和24+5)是兼容数字和模拟接口的,所以,DVI-I的插座就有18个或24个数字插针的插孔+5个模拟插针的插孔(就是旁边那个四针孔和一个十字花)。比DVI-D多出来的4根线用于兼容传统VGA模拟信号。基于这样的结构,DVI-I插座可以插DVI-I和DVI-D的插头,而DVI-D插座只能插DVI-D的插头。DVI-I兼容模拟接口并不意味着模拟信号的接口D-Sub插头可以直接连接在DVI-I插座上,它必须通过一个转换接头才能连接使用。一般采用这种接口的显卡都会带有相关的转换接头。考虑到兼容性问题,目前显卡一般会采用DVI-I接口,这样可以通过转换接头连接到普通的VGA接口。而带有两个DVI接口的显示器一般使用DVI-D类型。而带有一个DVI接口和一个VGA接口的显示器,DVI接口一般使用带有模拟信号的DVI-I接口。
显示设备采用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)的高清彩****像的大屏幕。