北方工業大學信息工程學院 孫 濤 魯亞松 米國鑫 饒品濤 戴 瀾
基于F P G A的L E D大屏幕顯示控制器設計
北方工業大學信息工程學院 孫 濤 魯亞松 米國鑫 饒品濤 戴 瀾
描述了一個使用FPGA控制LED點陣屏幕的系統,該系統使用Verilog HDL編制代碼,實現了LED屏幕的字符、圖像顯示與簡單的動畫效果,在Quartus II平臺上通過了編譯與仿真。本系統穩定可靠,性能強。
FPGA;LED點陣;動態顯示
LED顯示技術相比于投影顯示、液晶顯示、激光顯示等其他大屏幕顯示技術,有其獨特的優越性,例如:高亮度、寬可視角度以及可定制的屏幕外形等。這些特點使得LED顯示屏被廣泛應用于工業、信息發布、體育比賽等各個領域。
當今市場上的LED顯示系統,通常使用單片機作為主控芯片連接I/O擴展電路來控制LED顯示屏。但是,對于LED大屏幕顯示屏來說,要求掃描速度快,而單片機內部的資源較少、運行速度較慢,在很多時候難于滿足系統要求。同時,也使產品的靈活性和穩定性受到一定程度的影響。FPGA器件具有處理速度快,有大量的可編程邏輯單元和豐富的布線資源,在處理大流量數據應用時具有明顯的優勢,它的引腳資源豐富,可擴展性強。因此,基于FPGA實現的大屏幕LED顯示成為目前的應用熱點。

圖1 系統架構圖

圖2 16×16點陣示意圖
本系統使用的FPGA芯片是Altera公司Cyclone II系列的EP2C35。該芯片具有33216個邏輯單元、322個引腳,是一個功能十分強大、內部資源十分豐富的高密度FPGA芯片。系統使用Verilog HDL語言編制系統代碼,實現了雙色顯示屏控制字符顯示與簡單動畫。本系統由FPGA系統板、74HC595組成的移位寄存器組兩組、74HC138組成的行選擇信號產生電路、三極管組成的驅動電路以及8塊8×8雙色點陣組成大屏幕顯示單元組成,系統的具體結構如圖1所示。
本系統的顯示控制原理是采用動態行掃描顯示,這也是本系統顯示關鍵技術。具體實施方法如下:首先通過移位寄存器組向顯示模塊的列端輸出相應行的數據,然后使用譯碼電路點亮對應的行;根據掃描頻率,再切換成下一行的數據,再點亮對應行。依次輪流下去,即可實現動態行掃描顯示控制。
如圖2所示,這是16×16點陣示意圖,其中Column是LED點陣中發光二極管的負端,Row是發光二極管的正端。顯示過程中,先選擇好需要顯示的行(Row),再在Column上施加對應行的數據。例如,當需要第一行亮時,先通過驅動電路給Row0高電平,然后在Column上輸出對應的信號值。依照這個原理,當給Row1高電平時,第二行亮。依此類推,然后循環顯示,以達到動態顯示的目的。
本系統中,使用74HC138組成了4-16線譯碼電路,譯碼電路和三極管組成的驅動電路共同組成了本系統的行掃描控制。FPGA中存儲了需要顯示的字符和圖形數據,在顯示時通過74HC595組成的32位移位寄存器輸出到列(Column)端,與行掃描控制共同完成顯示。

圖3 系統實物圖
系統在圖像的動畫顯示方面,可以實現圖像的左、右移動,上、下移動四個動畫效果。本系統實施動畫顯示的原理是,在顯示控制上添加了一個圖像數據暫存單元。行列掃描單元都是從這個圖像數據暫存單元中取得數據,而FPGA也要先將將字符和圖像數據放到這個暫存單元。這樣實現動畫效果,其實也就變成了對這個圖像暫存單元進行數據處理的問題,從而簡化了問題,使得動畫顯示變得容易。
本系統時在設計時考慮到多種顏色顯示的需要,采用的是雙色(紅色、綠色)LED點陣屏幕,同時在32位移位寄存器上也使用了2組,從而保證了硬件上是支持三色(紅黃綠三色)顯示的。控制時,根據每個點需要的顏色不同,通過調整移位寄存器的輸出即可實現。
利用上述研究結果,對基于FPGA的大屏幕顯示控制器進行設計,整個系統采用只顯示兩個字的簡化模型進行實現(大顯示屏增加相應的硬件電路即可),具體實現結果如圖3:系統使用FPGA控制LED點陣顯示屏,實現了雙色LED點陣的基本字符顯示與簡單動畫的效果。具有較大的穩定性和靈活性,也使系統設計上可擴展性更大。從而使其具有極高的研究與實用價值。
[1]夏宇聞.Verilog數字系統設計教程(第2版)[M].北京:北京航空航天大學出版社,2008.
[2]NXP Semiconductors.74HC59;74HCT595 Product data sheet.NXP Semiconductors,2011.
[3]吳厚航.深入淺出玩轉FPGA[M].北京:北京航空航天大學出版社,2010.
注:本課題獲得大學生科學研究與創業行動計劃支持。