集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 683|回复: 0

基于LED的视频显示板设计

[复制链接]
羽蒙 发表于 2014-8-20 10:01:05 | 显示全部楼层 |阅读模式
粗略估计,全球已安装的大型LED视频显示板已经达到数万台。随着整体系统价格的下降,显示板操作流程的简化,LED视频显示板必将得到进一步普及。本文介绍一种基本的低成本LED视频显示模块。这一新型设计利用廉价的FPGA芯片完成数字视频比特流的分配,由MAX6974 LED驱动器构成QVGA(320×240)分辨率的LED视频显示器。该显示板可通过PC控制,用作辅助监视器显示任意文本、图表或多媒体信息。
1 目前LED显示卡架构
目前,所有顶级LED视频显示板厂商都在使用色彩像素尺寸不同但结构类似的LED视频显示屏。视频显示模块像素大约在256~15 552范围内。将视频显示模块拼接在一起可以构成边长达到数米的视频墙。每块视频显示模块带有不同的PCB,PCB上安装了LED及其驱动器。另外,安装LED驱动器的PCB上还安装有FPGA和视频缓存芯片。在一个视频墙中,视频显示模块之间通常采用同轴电缆连接。视频墙通过光纤连接到控制和视频处理单元。控制单元用于配置这些视频显示模块、正确选择视频源。视频处理器接收所选择的视频信号,进行格式转换后把正确的数据信息发送到相应的像素位置。视频处理器还需要进行数据缓存和比例调节。该应用的控制器和视频处理器单元属于专业设备,价格非常高。
1.1 Maxim方案
利用MAX6974 LED驱动器的独特功能,可以结合一片低成本、中等规模的FPGA构建一块LED视频显示板,通过PC控制整个系统,如图1。利用一块额外的视频接口PC卡可以支持不同的视频信号源,从而组成完整的LED视频显示板,只需要很少的电子元件,无需专业设备。



1.2 MAX6974 LED驱动特性
MAX6974 LED驱动器专为LED视频显示板应用而设计。每个LED驱动器包含24路同等的恒流、PWM LED驱动器端口,可驱动8个或16个(双模)RGB像素。为适应视频或静态图片,消除黑屏现象,芯片的PWM速率非常高。当视频刷新速率为60 f/s(每秒帧)时,PWM速率约为7 680 Hz。MAX6974的数据输入接口包含一个LVDS时钟和一对LVDS数据,也可以通过数据输出接口串联MAX6974 LED驱动器,以提供更高的数据位,同样包含LVDS时钟和LVDS数据对。根据视频刷新速率和时钟频率,可以将数百片MAX6974器件通过LVDS接口连接在一起。利用这个接口,LED驱动器和视频显示模块PCB之间可以通过几英尺长的双绞线电缆连接在一起。
MAX6974可通过3种方式控制每个LED的亮度。首先,每个独立的LED(红、绿或蓝)都有一个12位的PWM亮度控制器,远远高于DVITM接口规定的每种颜色8 bit的分辨率,其余位可用于对比度调整,以适应不同的环境光条件;其次,7 bit PDM亮度控制用于调节所有LED驱动端口,这些PDM位可用于亮度控制。最后,每组LED驱动端口都带有步长为256的恒流控制(6 mA~30 mA)。这些校准步长用于配置不同温度下所要求的视频颜色。
1.3 基于MAX6974的LED视频显示板架构
该LED视频显示板采用一片FPGA实现视频数据位的分配,它还可以捕获控制帧,直接将它们转发到每片MAX6974 LED驱动器内部相应的寄存器。图2所示为QVGA分辨率(320×240)的参考设计框图,采用了TFP401A DVI接收器、用于存储EDID的AT24C02 EEPROM、EP2C20 FPGA和9 600片MAX6974 LED驱动器,用于驱动76 800个OVSRRGBCC3 RGB LED。




框图左侧的DVI信号由TFP401A DVI接收器接收,AT24C02 EEPROM提供EDID给Windows?誖操作系统。解串后的信号和TMDS解码信号发送到EP2C20。重新编排视频位,通过5个LVDS通道以32 Mb/s的速度传递到LED视频模块PCB列。每路LVDS包含2个差分对、CLKI(O)±、DIN(OUT)±、1个LOADI(O)引脚和1个GND(地)引脚,共6条线。每个LED显示模块PCB包含64片MAX6974 LED驱动器和512个OVSRRGBCC3 RGB LED。
1.4 视频流分配和视频帧控制
DVI最低分辨率是VGA,该QVGA参考设计可用于隔行扫描的奇数或偶数像素。TFP401A DVI接收器的半像素时钟速率为12.5 MHz,消隐期占用大约40%。由于MAX6974接口只用于奇数或偶数行,无需考虑消隐期,串行转换(24位RGB)QVGA数据速率为12.5/2/1.4×24=107.14285 Mb/s。考虑到DVI每种颜色8 bit分辨率,相应于MAX6974每种颜色的12 bit转换器,有效数据速率为(107.142857/8)×12=160.714286 Mb/s。FPGA缓存来自TFP401A DVI接收器的像素数据流,数据流划分成5组,然后将其发送到相应的LVDS通道。每个LVDS通道的数据速率为160.714286/5=32.1428571 Mb/s。
TFP401A DVI接收到的每个像素按照每行从左到右、每帧从上到下依次传递。MAX6974每个PWM帧格式要求相同的颜色信息,以8像素为一组传输,如表1。需要一个至少存储8个像素数据的缓存器支持这一格式转换。考虑到隔行扫描以及消隐,为了保持LVDS通道固定的传输速率,参考设计中用缓存器存储一帧视频数据。缓存器能够将多片MAX6974器件在PCB的两端连接起来,避免从右到左使用较长的LVDS链路。
除传递每个端口的PWM信息外,帧头CMD位为010101、101010和111111的3个数据帧,通过MAX6974 LVDS接口传送CALDAC、全局亮度PDM和配置信息,如表2。每个帧头包含24 bit,第一字节为同步模板11101000,随后是6 bit CMD和10 bit计数器值(CNTR)。每个端口PWM数据帧的CMD位是000000。



除PWM信息外,数据帧也利用基于PC的GUI通过DVI接口发送。数据帧类型由FPGA内部的相应电路识别。在一个控制视频帧内,0至1行的每个像素都包含24 bit帧头配置信息(HDR);第32行和33行包含全局亮度PDM的帧头信息,第64行和65行包含CALDAC的帧头信息。本参考设计中,每组2行帧头之后的30行数据对应于LED显示模块PCB的30行信息。每个特定的LVDS列提供每行64像素的信息,用于传输每块LED显示模块PCB上64片MAX6974 LED驱动器的信息。每片MAX6974器件的每个像素包括24 bit控制信息,视频帧控制中不使用95行以上的数据。
1.5 视频显示板控制GUI
GUI如图3,用于配置参考设计中所有MAX6974的全局亮度PDM和CALDAC寄存器。GUI包括一个全局设置选项,用于调节视频显示板上所有芯片的相关参数,还包含一个器件制表符,用于调节每个芯片的参数。所有寄存器和MAX6974 LED驱动器的设置可以存储到一个文件,当视频显示板运行时下载数据。提供一个初始化设置文件,其中包括典型的寄存器参数的初始设置,大大简化了视频显示板的初始化过程。




GUI作为一个独立的操作窗口出现在Windows操作系统。一旦使能GUI上的Write按钮,它将创建一个视频控制帧并将其发送到视频显示板。视频控制帧只能按照60 Hz的视频刷新率显示。视频控制帧也会占据视频显示板的整个屏幕;而FPGA会检测控制帧头行并将相应的信息发送到MAX6974寄存器。因此,视频控制帧的内容不会显示在视频显示板上。虽然视频帧刷新时也会传递控制信息,但人眼不会注意到这些更新。
2 方案实施
DVI接收板包括TFP401 DVI接收器和AT24C02 EEPROM,另外还有几个旁路电容。TFP401 DVI接收器实现串并转换和TMDS解码,并保证在半像素时钟速率下同时得到RGB位的奇、偶像素。因为DVI决定屏幕的最小分辨率是VGA,参考设计消除了每个邻近像素,支持隔行扫描。半像素时钟对于FPGA非常便利,允许其挑选所需要的像素。在Windows操作系统识别显示器之前,通过DDC按照I2C协议检测显示器。然后,该显示器响应其EDID,包含制造商信息和操作信息。同样,AT24C02 EEPROM用于储存LED视频显示板的EDID信息。制造商ID必须从视频电子标准协会(VESA)获取,本参考设计中,借用DVI LCD显示器的EDID,储存在AT24C02 EEPROM中。当所有的3个地址引脚接地时,AT24C02 EEPROM的I2C地址是0x0A,这是操作系统将要搜索的地址。
FPGA板主要包括2个SRAM和1片Altera?誖FPGA器件。FPGA内部具有LVDS接口和存储器读取功能。该参考设计中,FPGA主要用于DVI数字视频信息的输出分配。FPGA的另一重要作用是识别数据帧配置、全局亮度PDM和CALDAC信息。当识别到视频控制帧时,这些数据帧中除了独立的PWM信息外,都被接收下来并直接发送到相应的MAX6974寄存器。
图4给出了FPGA的内部功能电路,一帧像素的数据位存储在SRAM缓存内。FPGA内部的行缓存器用于连接TFP401A DVI接收机和LVDS通道。两行缓存器,一行用于接收TFP401A接收的数据位,连接SRAM的另一行缓存器用于接收TFP401A DVI接收机的数据。同样,两行缓存器用于每个LVDS通道。FPGA提供完整的逻辑电路使DVI和LVDS数据吞吐率保持一致,并提供所要求的SRAM数据、地址以及控制信号的时序。因为SRAM为单端口,同时进行读、写操作时需要在FPGA内部配置存储器访问。




每片MAX6974驱动8个RGB LED,每个显示模块包含64个MAX6974 LED驱动器,按照8行、8列分布,另外还有8行、64列的512个RGB LED。所有LED安装在PCB的一侧,LED中心距离为8 mm(上、下、左、右间距),显示模块电路板尺寸为512 mm×64 mm。所有MAX6974器件都安装在PCB的另一侧。在安装MAX6974器件的一侧,铺设电源和地线,包括1×6接头,共需2组1×6接头:一个用于左上角的LVDS输入接口,另一个用于左下角的LVDS输出接口。显示模块电路板可以嵌在视频显示板框架上,所有互联板都安装在框架内。邻近LED显示模块PCB之间的LVDS接口不需要额外引线。
3 功耗
3.3 V VCC供电时,每片MAX6974的工作电流为28 mA(CALDAC关闭)或54 mA(CALDAC使能)。一个LED显示模块PCB上包含64个LED驱动器,工作电流为1.8 A或3.5 A。采用5 V VLED供电时,MAX6974每个端口提供的最大LED电流为30 mA。512个RGB LED显示模块的最大电流为46 A,需要多个3.3 V和5 V电源为整个视频显示板供电。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-26 14:44 , Processed in 0.085807 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表