北方工業(yè)大學(xué)信息工程學(xué)院 孫 濤 魯亞松 米國鑫 饒品濤 戴 瀾
基于F P G A的L E D大屏幕顯示控制器設(shè)計
北方工業(yè)大學(xué)信息工程學(xué)院 孫 濤 魯亞松 米國鑫 饒品濤 戴 瀾
描述了一個使用FPGA控制LED點(diǎn)陣屏幕的系統(tǒng),該系統(tǒng)使用Verilog HDL編制代碼,實(shí)現(xiàn)了LED屏幕的字符、圖像顯示與簡單的動畫效果,在Quartus II平臺上通過了編譯與仿真。本系統(tǒng)穩(wěn)定可靠,性能強(qiáng)。
FPGA;LED點(diǎn)陣;動態(tài)顯示
LED顯示技術(shù)相比于投影顯示、液晶顯示、激光顯示等其他大屏幕顯示技術(shù),有其獨(dú)特的優(yōu)越性,例如:高亮度、寬可視角度以及可定制的屏幕外形等。這些特點(diǎn)使得LED顯示屏被廣泛應(yīng)用于工業(yè)、信息發(fā)布、體育比賽等各個領(lǐng)域。
當(dāng)今市場上的LED顯示系統(tǒng),通常使用單片機(jī)作為主控芯片連接I/O擴(kuò)展電路來控制LED顯示屏。但是,對于LED大屏幕顯示屏來說,要求掃描速度快,而單片機(jī)內(nèi)部的資源較少、運(yùn)行速度較慢,在很多時候難于滿足系統(tǒng)要求。同時,也使產(chǎn)品的靈活性和穩(wěn)定性受到一定程度的影響。FPGA器件具有處理速度快,有大量的可編程邏輯單元和豐富的布線資源,在處理大流量數(shù)據(jù)應(yīng)用時具有明顯的優(yōu)勢,它的引腳資源豐富,可擴(kuò)展性強(qiáng)。因此,基于FPGA實(shí)現(xiàn)的大屏幕LED顯示成為目前的應(yīng)用熱點(diǎn)。
圖1 系統(tǒng)架構(gòu)圖
圖2 16×16點(diǎn)陣示意圖
本系統(tǒng)使用的FPGA芯片是Altera公司Cyclone II系列的EP2C35。該芯片具有33216個邏輯單元、322個引腳,是一個功能十分強(qiáng)大、內(nèi)部資源十分豐富的高密度FPGA芯片。系統(tǒng)使用Verilog HDL語言編制系統(tǒng)代碼,實(shí)現(xiàn)了雙色顯示屏控制字符顯示與簡單動畫。本系統(tǒng)由FPGA系統(tǒng)板、74HC595組成的移位寄存器組兩組、74HC138組成的行選擇信號產(chǎn)生電路、三極管組成的驅(qū)動電路以及8塊8×8雙色點(diǎn)陣組成大屏幕顯示單元組成,系統(tǒng)的具體結(jié)構(gòu)如圖1所示。
本系統(tǒng)的顯示控制原理是采用動態(tài)行掃描顯示,這也是本系統(tǒng)顯示關(guān)鍵技術(shù)。具體實(shí)施方法如下:首先通過移位寄存器組向顯示模塊的列端輸出相應(yīng)行的數(shù)據(jù),然后使用譯碼電路點(diǎn)亮對應(yīng)的行;根據(jù)掃描頻率,再切換成下一行的數(shù)據(jù),再點(diǎn)亮對應(yīng)行。依次輪流下去,即可實(shí)現(xiàn)動態(tài)行掃描顯示控制。
如圖2所示,這是16×16點(diǎn)陣示意圖,其中Column是LED點(diǎn)陣中發(fā)光二極管的負(fù)端,Row是發(fā)光二極管的正端。顯示過程中,先選擇好需要顯示的行(Row),再在Column上施加對應(yīng)行的數(shù)據(jù)。例如,當(dāng)需要第一行亮?xí)r,先通過驅(qū)動電路給Row0高電平,然后在Column上輸出對應(yīng)的信號值。依照這個原理,當(dāng)給Row1高電平時,第二行亮。依此類推,然后循環(huán)顯示,以達(dá)到動態(tài)顯示的目的。
本系統(tǒng)中,使用74HC138組成了4-16線譯碼電路,譯碼電路和三極管組成的驅(qū)動電路共同組成了本系統(tǒng)的行掃描控制。FPGA中存儲了需要顯示的字符和圖形數(shù)據(jù),在顯示時通過74HC595組成的32位移位寄存器輸出到列(Column)端,與行掃描控制共同完成顯示。
圖3 系統(tǒng)實(shí)物圖
系統(tǒng)在圖像的動畫顯示方面,可以實(shí)現(xiàn)圖像的左、右移動,上、下移動四個動畫效果。本系統(tǒng)實(shí)施動畫顯示的原理是,在顯示控制上添加了一個圖像數(shù)據(jù)暫存單元。行列掃描單元都是從這個圖像數(shù)據(jù)暫存單元中取得數(shù)據(jù),而FPGA也要先將將字符和圖像數(shù)據(jù)放到這個暫存單元。這樣實(shí)現(xiàn)動畫效果,其實(shí)也就變成了對這個圖像暫存單元進(jìn)行數(shù)據(jù)處理的問題,從而簡化了問題,使得動畫顯示變得容易。
本系統(tǒng)時在設(shè)計時考慮到多種顏色顯示的需要,采用的是雙色(紅色、綠色)LED點(diǎn)陣屏幕,同時在32位移位寄存器上也使用了2組,從而保證了硬件上是支持三色(紅黃綠三色)顯示的??刂茣r,根據(jù)每個點(diǎn)需要的顏色不同,通過調(diào)整移位寄存器的輸出即可實(shí)現(xiàn)。
利用上述研究結(jié)果,對基于FPGA的大屏幕顯示控制器進(jìn)行設(shè)計,整個系統(tǒng)采用只顯示兩個字的簡化模型進(jìn)行實(shí)現(xiàn)(大顯示屏增加相應(yīng)的硬件電路即可),具體實(shí)現(xiàn)結(jié)果如圖3:系統(tǒng)使用FPGA控制LED點(diǎn)陣顯示屏,實(shí)現(xiàn)了雙色LED點(diǎn)陣的基本字符顯示與簡單動畫的效果。具有較大的穩(wěn)定性和靈活性,也使系統(tǒng)設(shè)計上可擴(kuò)展性更大。從而使其具有極高的研究與實(shí)用價值。
[1]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程(第2版)[M].北京:北京航空航天大學(xué)出版社,2008.
[2]NXP Semiconductors.74HC59;74HCT595 Product data sheet.NXP Semiconductors,2011.
[3]吳厚航.深入淺出玩轉(zhuǎn)FPGA[M].北京:北京航空航天大學(xué)出版社,2010.
注:本課題獲得大學(xué)生科學(xué)研究與創(chuàng)業(yè)行動計劃支持。