一种基于FPGA控制全彩大屏幕显示的设计
随着数字技术的飞速发展,各种数字显示屏也随即涌现出来有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输出到外部接口的图像数据进
- 蓄电池化成控制系统中显示功能的实现(11-05)
- 基于DSP实现的LCD液晶屏显示技术(06-04)
- 军事指挥系统中VxWorks下汉字显示技术(07-16)
- DSP在LED显示中的应用(08-21)
- 基于Android系统的影音播放器开发(03-25)
- 基于MC9S12XS128的单片机开发板的设计(08-13)