基于FPGA的LED大屏幕控制系統(tǒng)的設(shè)計與實現(xiàn)
相比于液晶顯示、投影顯示等其他大屏幕顯示技術(shù),LED顯示技術(shù)有其獨特的優(yōu)越性:高亮度、寬可視角度、豐富的色彩以及可定制的屏幕形狀。這些特點使得led顯示屏被廣泛應(yīng)用于工業(yè)、交通、商業(yè)廣告、信息發(fā)布、體育比賽等各個領(lǐng)域。
led大屏幕幕控制系統(tǒng)是一個融合計算機控制技術(shù)、視頻技術(shù)、光電子技術(shù)、通信技術(shù)的綜合系統(tǒng)。當(dāng)前主流的led大屏幕幕控制系統(tǒng)多以FPGA或FPGA結(jié)合其他芯片為主控芯片。目前led大屏幕幕正朝著顯示面積更大、顯示亮度更高、顏色更鮮艷的方向發(fā)展。這些都給led大屏幕幕控制系統(tǒng)提出了新的挑戰(zhàn)。
本文基于Altera公司的低成本Cyclone II系列芯片EP2CQ208C設(shè)計了led大屏幕幕控制系統(tǒng),在傳統(tǒng)的SDRAM緩存技術(shù)上,提出了優(yōu)化的SDRAM乒乓式緩存技術(shù)并詳細(xì)闡述了反γ校正、顏色調(diào)節(jié)、灰度級調(diào)節(jié)等在FPGA中的實現(xiàn)。本系統(tǒng)最終實現(xiàn)了最大1 280×1 024分辨率、最低240 Hz刷新率的超大LED屏幕顯示。同時可以通過PC機上軟件對LED屏幕進行亮度、對比度、灰度級等參數(shù)的靈活調(diào)節(jié),得到更加細(xì)膩的顯示畫面。
1 系統(tǒng)結(jié)構(gòu)
本文所設(shè)計的led大屏幕幕控制系統(tǒng)結(jié)構(gòu)如圖1所示,整個系統(tǒng)分為發(fā)送卡和接收卡兩部分。以Altera公司的EP2CQ208C作為主控芯片,DVI數(shù)據(jù)解碼選用了TI公司的TFP201A(最高支持SXGA),數(shù)據(jù)緩存選用了Samsung的K4S643232C,千兆以太網(wǎng)芯片選用了Realtek公司的RTL8212(雙端口千兆物理層芯片)。
本系統(tǒng)的數(shù)據(jù)流分為控制數(shù)據(jù)和顯示數(shù)據(jù)?刂茢(shù)據(jù)由PC機上的軟件發(fā)出,發(fā)送卡的FPGA接收控制數(shù)據(jù),判定是控制發(fā)送卡還是控制接收卡的數(shù)據(jù),如果是控制接收卡,則通過千兆網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送至接收卡。TFP201A從DVI接口解碼出顯示數(shù)據(jù)后由FPGA緩存入SDRAM,然后在讀出數(shù)據(jù)時按照顯示屏要求對數(shù)據(jù)塊結(jié)構(gòu)作一定調(diào)整后再由RTL8212打包發(fā)送至接收卡,接收卡接收顯示數(shù)據(jù),然后驅(qū)動led顯示屏。
本文主要討論系統(tǒng)中的FPGA部分,包括以下三點:
(1)對SDRAM乒乓式緩存的優(yōu)化;
(2)基于FPGA內(nèi)部RAM與PC機軟件的反γ校正與灰度級變換;
(3)led顯示屏的亮度、對比度等顏色調(diào)節(jié)在FPGA中的實現(xiàn)。
2 SDRAM乒乓式緩存的優(yōu)化
傳統(tǒng)的基于SDRAM的乒乓式緩存方案[1,2]都存在著數(shù)據(jù)讀寫操作復(fù)雜或者數(shù)據(jù)結(jié)構(gòu)調(diào)整局限性大的缺點。結(jié)合現(xiàn)有方案的優(yōu)點,本文提出了圖2所示的SDRAM數(shù)據(jù)緩存方案。
本系統(tǒng)的發(fā)送卡設(shè)計目標(biāo)是最大支持1 280×1 024分辨率、60 Hz刷新率的全彩數(shù)據(jù)發(fā)送,此時的像素頻率為:
即本方案滿足系統(tǒng)數(shù)據(jù)吞吐量的要求。由于兩個SDRAM中存儲相同數(shù)據(jù),具有相同格式,所以SDRAM讀寫模塊可以同時向兩個SDRAM中寫入或讀出顯示數(shù)據(jù),這樣兩塊SDRAM可以共用地址線,從而節(jié)省數(shù)十個FPGA IO端口,這是本方案的一大優(yōu)點。同時每塊SDRAM中劃分了兩個區(qū),用以存放連續(xù)的兩幀圖像,可以根據(jù)led顯示屏的具體要求,從SDRAM中讀出顯示數(shù)據(jù),滿足系統(tǒng)靈活性的要求。
3 反γ校正與灰度級調(diào)節(jié)
特定條件下創(chuàng)建的圖像在不同環(huán)境下工作時,往往會出現(xiàn)圖像看起來顯得太亮或者太暗的現(xiàn)象,所以led大屏幕幕顯示系統(tǒng)需要進行靈活的反γ值調(diào)節(jié)。當(dāng)前反γ校正多采用基于FPGA內(nèi)部ROM的查找表技術(shù)[3]。式(1)為反γ校正公式,式中默認(rèn)輸入圖像灰度級為256,輸出灰度級為G,x為輸入灰度值,y為輸出灰度值,γ為校正系數(shù)。要在FPGA中實現(xiàn)指數(shù)運算需要消耗大量邏輯單元,對于低成本要求來說是不現(xiàn)實的。本文提出了如圖3所示的基于FPGA片內(nèi)RAM、片外EEPROM和PC機軟件的反γ校正技術(shù)。
在FPGA中的具體實現(xiàn)為:首先使用Altera自帶的IP核,將3個數(shù)據(jù)寬度為16 bit、數(shù)據(jù)深度為256的雙端口RAM實例化作為查找表。系統(tǒng)起動時,初始化模塊首先從外部EEPROM中讀出256個配置數(shù)據(jù),初始化RAM查找表。初始化完成后,灰度變換模塊將24 bit RGB數(shù)據(jù)分離成3個8 bit數(shù)據(jù)作為RAM地址,讀出數(shù)據(jù)作為轉(zhuǎn)換后的灰度值。當(dāng)需要修改γ值時,通過PC機軟件生成新的γ校正表,然后通過串口發(fā)送到發(fā)送卡,發(fā)送卡將數(shù)據(jù)發(fā)送至接收卡,在灰度變換模塊的控制下將數(shù)據(jù)寫入RAM。如果需要保存校正數(shù)據(jù),初始化模塊從RAM中讀出數(shù)據(jù)寫入EEPROM中。3個RAM中存放的是相同的校正數(shù)據(jù),所以初始化模塊可以同時對3個RAM進行初始化,從RAM中讀出配置數(shù)據(jù)時也只需要其中一個RAM中的值。本方法結(jié)合PC機軟件可以實現(xiàn)1~5的γ值連續(xù)調(diào)節(jié)和1~16的灰度級連續(xù)調(diào)節(jié)。
4 對比度、亮度調(diào)節(jié)在FPGA中的實現(xiàn)
(1)對比度調(diào)節(jié)
增強對比度實際上是增強原圖各部分的反差,通過增加原圖里某兩個灰度值間的動態(tài)范圍來實現(xiàn)[4]。這樣壓縮較亮和較暗區(qū)域的灰度級,擴展中間區(qū)域的灰度級,從而使細(xì)節(jié)部分更加清晰。假設(shè)輸入灰度級為f(x,y),輸出灰度級為g(x,y),則對比度增強的計算如式(6)所示。由式(6)可以看出,通過這種方法調(diào)節(jié)對比度后會壓縮圖像的灰度級,使變換后的圖像丟失亮區(qū)和暗區(qū)的細(xì)節(jié),所以此種方法不適合大范圍調(diào)節(jié)。根據(jù)人眼對高亮度區(qū)域的灰度級變化不敏感,而對低灰度級區(qū)域灰度級變化十分敏感的視覺特點,本系統(tǒng)選擇不壓縮低灰度級區(qū)域。式中n為調(diào)節(jié)系數(shù),最終當(dāng)0
(2)亮度調(diào)節(jié)
本文在現(xiàn)有脈寬調(diào)制亮度調(diào)節(jié)技術(shù)[5]上提出了改進的亮度調(diào)節(jié)方案。本系統(tǒng)選用120 MHz的時鐘作為脈寬計數(shù)器的驅(qū)動時鐘,所以可以產(chǎn)生至少9 ns寬的脈沖。根據(jù)LED屏幕的驅(qū)動理論,選用9 ns作為最低亮度的最低灰度級的脈沖寬度,選用12灰度級時最高灰度級的脈沖寬度為9×211 ns。設(shè)豎直串行需要移2 560個數(shù)據(jù),本系統(tǒng)選用12 MHz的屏幕數(shù)據(jù)移位時鐘,則2 560個數(shù)據(jù)移入屏幕需要213 μs,在灰度級脈沖寬度時間小于213 μs時,就需要等待數(shù)據(jù)移入屏幕,而在灰度級脈沖寬度時間大于213 μs時,數(shù)據(jù)移位則需要等待脈沖寬度計數(shù)完成。調(diào)節(jié)亮度是對每一個灰度級的脈沖寬度乘上一個相同的系數(shù)。以64級亮度控制為例,最高亮度時最低灰度級的脈沖寬度為9×64 ns,最高灰度級的脈沖寬度為9×211×64 ns。采用脈沖寬度調(diào)制方式實現(xiàn)灰度控制,則掃描完一幀圖像所需要時間由式(7)計算得出:
213 μs×9+294.912μs+0.589 824 ms+1.1796 48 ms =3.981 384 ms
本系統(tǒng)接收的視頻源的刷新率為60 Hz,為了避免幀間圖像撕裂的現(xiàn)象出現(xiàn),led顯示屏的刷新率是視頻源刷新率的整數(shù)倍。視頻源的換幀時間為16.6 ms,LED顯示可以在這個時間內(nèi)讀取同一幀數(shù)據(jù)進行屏幕刷新,根據(jù)上面的計算結(jié)果有 3.981 384×4<16.6 ms,即可得出led顯示屏的刷新率為60 Hz×4=240 Hz。
本文基于Altera的低成本Cyclone II 系列FPGA EP2CQ208C設(shè)計了一種高性能、低成本的led大屏幕幕控制系統(tǒng)。通過改進SDRAM乒乓式緩存方案既節(jié)省了FPGA的IO口,又提高了系統(tǒng)的靈活性。設(shè)計了一種基于FPGA的片內(nèi)RAM和PC機軟件的反γ校正與灰度級設(shè)置方案,同時設(shè)計了在FPGA中實現(xiàn)的圖像對比度、亮度調(diào)節(jié)模塊。本系統(tǒng)最大可驅(qū)動1 280×1 024分辨率LED屏幕,刷新率不低于240 Hz,且灰度級、反γ校正系數(shù)、亮度、對比度等均可通過PC機軟件靈活調(diào)節(jié)。為了實現(xiàn)屏幕驅(qū)動面積、LED屏幕刷新率的靈活設(shè)置,今后的工作將深入討論這幾方面之間的關(guān)系以及各種設(shè)置在FPGA中的實現(xiàn)。
參考文獻
[1] 王臣凱.led大屏幕幕同步顯示系統(tǒng)硬件設(shè)計及實現(xiàn)[D].大連理工大學(xué)碩士學(xué)位論文,2008.
[2] 黃家善,張平均,陳建順.基于千兆以太網(wǎng)的led顯示屏關(guān)鍵技術(shù)分析與實現(xiàn)[J].福建師范大學(xué)學(xué)報,2006(3).
[3] 續(xù)天翔.LED圖象顯示屏Gamma校正及在FPGA中的實現(xiàn)[J].機械管理開發(fā),2008(12).
[4] 孟麗瑩,成亮,閆國梁,等.基于CPLD的視頻對比度調(diào)節(jié)硬件實現(xiàn)[J].科技情報開發(fā)與經(jīng)濟,2008.
[5] 王麗莉,董金明.LED全彩屏脈沖打散顯示方案[J].電子測量與技術(shù),2006(8).
更多相關(guān): AV集成
©版權(quán)所有。未經(jīng)許可,不得轉(zhuǎn)載。