摘 要: 目前,所有頂尖視頻顯示板生產商都在使用不同色彩像素尺寸的LED視頻顯示模塊,結構相似但又各具特色。將Maxim獨特的LED視頻顯示技術應用于這一領域,推出了MAX6974 LED驅動器,并結合低成本、中等規模的FPGA芯片提供了一個基于LED視頻顯示板的參考設計。
關鍵詞: LED顯示屏;視頻;LED驅動器;MAX6974
粗略估計,全球已安裝的大型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] MAX6974數據手冊.Maxim集成產品公司.2006.