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