基于MCU和FPGA的LED圖文顯示屏控制系統(tǒng)
3.1 FPGA控制模塊總體方案
如圖3所示,FPGA控制模塊主要由單片機與FPGA接口及數(shù)據(jù)讀寫模塊、讀地址發(fā)生器、譯碼器、行地址發(fā)生器、數(shù)據(jù)鎖存器組、移位寄存器組、脈沖發(fā)生器等模塊組成。
讀地址發(fā)生器主要產(chǎn)生讀地址信號,地址信號送往MCU接口及數(shù)據(jù)讀寫模塊,讀取外部SRAM1或SRAM2中已處理好的LED顯示屏數(shù)據(jù),并把數(shù)據(jù)按分區(qū)方式送到數(shù)據(jù)鎖存器組鎖存。鎖存器輸出16分區(qū)數(shù)據(jù),通過移位寄存器組實現(xiàn)并串轉(zhuǎn)換得到顯示屏所需要的串行數(shù)據(jù),并送往LED顯示屏列驅(qū)動電路。脈沖發(fā)生器為各模塊提供相應(yīng)的同步時鐘,行地址發(fā)生器產(chǎn)生相應(yīng)的行信號送往顯示屏的行驅(qū)動電路。
3.2 單片機與FPGA接口及數(shù)據(jù)讀寫模塊
單片機與FPGA接口及數(shù)據(jù)讀寫模塊結(jié)構(gòu)如圖4所示。單片機從EEPROM中讀取數(shù)據(jù)并根據(jù)顯示要求進行處理后,通過接口及數(shù)據(jù)讀寫模塊把數(shù)據(jù)送往數(shù)據(jù)緩沖器SRAM1或SRAM2。為提高數(shù)據(jù)的傳輸速度,保證顯示效果的連續(xù)性,在系統(tǒng)中采用雙體切換技術(shù)來完成數(shù)據(jù)存儲過程。也就是說,采用雙SRAM存儲結(jié)構(gòu),兩套完全獨立的讀、寫地址線和數(shù)據(jù)線輪流切換進行讀寫。工作時,F(xiàn)PGA在一個特定的時間只從兩塊SRAM中的一塊讀取顯示的數(shù)據(jù)進行顯示,同時另外一塊SRAM與MCU進行數(shù)據(jù)交換。MCU會寫入新的數(shù)據(jù),依次交替工作,可實現(xiàn)左移、上移、雙屏等顯示模式。如果顯示的內(nèi)容不改變,即一塊SRAM里的數(shù)據(jù)不變時,MCU不需要給另外一塊SRAM寫數(shù)據(jù)。
該模塊采用VHDL有限狀態(tài)機來實現(xiàn),整個控制分為4個狀態(tài),其狀態(tài)轉(zhuǎn)換圖如圖5所示。其工作過程如下:
評論