楊斌 李亞峻 喬廣欣 李松 李毅
摘要:介紹了LED點陣顯示模塊的硬件連接、MAX7219的初始化與工作時序,用VHDL語言編程實現了時鐘分頻、數據的存儲與調用、MAX7219控制器的設計。將Basys2開發板與點陣模塊相連,將程序下載到FPGA上,實現了8×8點陣的顯示,驗證了設計的正確性,該設計具有實際應用價值。
關鍵詞:現場可編程門陣列;VHDL語言;MAX7219芯片;點陣顯示
中圖分類號:TP273 文獻標識碼:A 文章編號:1007-9416(2018)05-0006-03
LED點陣顯示系統不僅能夠靜態顯示字符和圖像,而且能夠動態顯示文字、動畫、視頻等信息,在廣告、信息發布、體育比賽、工業等各個領域都有廣泛應用。
LED點陣顯示控制器的種類不少,包括單片機[1]、ARM[2, 3]、FPGA[4],等等。本文采用DIGILENT公司的Basys2便攜式開發板,它是完整的即用型硬件系統,適于從基本邏輯器件到復雜控制器的電路設計,其上嵌有Xilinx Spartan-3E系列FPGA器件[5]。
8×8點陣有16個引腳,如果直接與微處理器相連占用引腳資源太多,實際多用譯碼器、串并轉換芯片控制點陣。本文采用的8×8點陣模塊由一片MAX7219驅動。
1 基于MAX7219的8×8點陣模塊
1.1 8×8點陣模塊的硬件連接
圖1所示為MAX7219芯片的主要引腳。它只有三個輸入端DIN、CS、CLK,可以與所有通用的微處理器相連,所以由MAX7219驅動的8×8點陣模塊克服了點陣引腳過多的問題。
MAX7219芯片的輸出端DIG0~DIG7連到8×8點陣H1~H8行,SEG DP、SEG A~G連到8×8點陣L1~L8列,DOUT作為串行輸出可用于級聯擴展。MAX7219中含有BCD編碼器(本文未用到)、多路掃描回路(對DIG0~DIG7以不低于800Hz的頻率自動輪詢掃描)、段驅動器(驅動SEG DP、SEG A~G8段)和8×8 SRAM靜態隨機存儲器(用于存儲數據)。
1.2 MAX7219的初始化與數據的存取
在DIN端輸入串行的16位數據,數據中包含如表1所示的信息。……