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