基于FPGA的LED大屏幕控制系統的設計與實現
在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為調節系數,最終當0n100時比較合適。

(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 (7)
本系統接收的視頻源的刷新率為60 Hz,為了避免幀間圖像撕裂的現象出現,LED顯示屏的刷新率是視頻源刷新率的整數倍。視頻源的換幀時間為16.6 ms,LED顯示可以在這個時間內讀取同一幀數據進行屏幕刷新,根據上面的計算結果有 3.981 384×416.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).本文引用地址:http://www.cqxgywz.com/article/162722.htm

















評論