基于FPGA的大型LED顯示屏系統設計
LED顯示板的面積很大,它的正面由LED 顯示塊級聯而成,背面是驅動電路。由于LED的驅動電流相對較大,驅動電路應盡量和LED點陣模塊靠近。因此行列驅動器一般都安裝在屏體的背面。LED顯示板的驅動電路中采用了74HC595芯片,是硅結構的CMOS器件,兼容低電壓TTL電路,具有8位串入并出的移位、并行鎖存和三態輸出功能。移位寄存器和鎖存器使用獨立的時鐘,數據SDATA 在SCLK的上升沿輸入移位寄存器,在LT的上升沿進入的鎖存器中去。當使能信號OE為低電平時,鎖存器的數據輸出到LED.74HC595芯片可以解決數據顯示和數據串行傳輸在時間上的沖突問題,在顯示1行各列數據的同時,可以準備下1列的LED數據。以1/16行掃描為例,LED顯示板的驅動電路如圖5所示。
CLK是移位寄存器時鐘,每個脈沖將引起1位數據移入74HC595中,當1行的數據全部移完后,鎖存信號LT控制數據從74HC595的寄存器移入鎖存器。A、B、C、D是行掃描信號,其中A是最低位,通過4/16譯碼器控制LED屏的行掃描。OE是消影信號,它可以選擇控制行信號或列信號,用于LED點陣是否能被點亮和控制整屏的亮度。如果OE控制列信號,它接74HC595芯片的OE端,因為只有當OE為低電平時74HC595的輸出才有效,否則輸出三態。如果OE控制行信號,它接到4/16譯碼器的使能端,低電平時行掃描不起作用。
圖5 LED顯示板的驅動電路
整個系統的軟件包括2部分:上位機應用軟件和嵌入制單元軟件。上位機軟件編輯在LED顯示屏上顯示的數息,并實現與下位機的通信;嵌入式控制單元軟件實現了接收和存儲、數據輸出和圖像顯示方式變換,從而實現LED屏的控制。
3.1上位機應用軟件
上位機應用軟件用Visual C++編寫,主要實現顯示的編輯與通訊的功能。該軟件運行于WindowsXP環境中,方便用戶使用。完成的功能有:(1)對顯示信息進行編輯、修改功能,也可以直接調用Windows中的256色畫圖文件(*.bmp);(2)在上位機上對顯示的內容進行預覽,以保證有較好的顯示效果;(3)依照上位機與I2C接口模塊的協議,將信息傳輸給系統以I2C接口模塊,從而實現顯示數據的更新。
3.2嵌入式控制單元的軟件
嵌入式控制單元的軟件實現以下3大功能:數據接收和存儲、數據輸出和圖像顯示方式變換。(1)依照顯示屏與上位機之間的通訊協議,與上位機進行通訊,接收顯示數據,存入Flash存儲器。(2)將待顯示的數據從Flash存儲器中取出,對數據進行處理,實現上移、下移、左移、右移等豐富多彩的圖像顯示效果。(3)通過SPI接口將數據傳輸給掃描控制模塊,FPGA通過串并轉換等將數據轉換成適合LED屏驅動電路格式的數據,然后傳到LED屏幕上顯示出來,仿真如圖6,7所示。
圖6 軟件模擬顯示效果
圖7 LED顯示屏實際顯示效果
4 結語
與傳統的基于單片機的LED屏控制系統相比較,該系統在不增加系統成本的情況下,可支持256灰度級的全彩圖文信息的顯示,可以播放全彩動畫;可存儲較大容量的數據(64MB);通過I2C接口快速傳輸數據,為顯示區域較大、顯示內容切換頻繁的大屏幕LED顯示控制系統提供良好的解決方案。
評論