基于MCU和FPGA的LED圖文顯示屏控制系統
系統開(kāi)機進(jìn)入初始狀態(tài)ST0,單片機的寫(xiě)入使能端E為低電平,單片機從EEPROM中讀取數據并把數據寫(xiě)入到SRAM1,同時(shí)FPGA讀取SRAM2中的數據;當單片機數據寫(xiě)完一屏數據后E變?yōu)楦唠娖?,?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/FPGA">FPGA從SRAM2中讀完數據、結束信號READ_END為低電平時(shí),進(jìn)入ST1狀態(tài)。 在ST1狀態(tài)下,若沒(méi)有新的數據寫(xiě)入則E保持高電平,FPGA讀取SRAM1的數據,為靜態(tài)顯示;只有當單片機的讀入控制信號E為低電平且READ_END為低電平時(shí),進(jìn)入ST2狀態(tài)。在ST2狀態(tài)下,單片機把數據寫(xiě)入SRAM2,同時(shí)FPGA讀取SRAM1的數據,單片機數據寫(xiě)完后E變?yōu)楦唠娖?,當FPGA一屏數據讀完后READ_END為低電平,進(jìn)入ST3狀態(tài)。在ST3狀態(tài)下,如果沒(méi)有新數據寫(xiě)入E為高電平,FPGA讀取SRAM2中的數據。當單片機有新的數據寫(xiě)入時(shí)E變?yōu)榈碗娖?,當FPGA一屏數據讀完后READ_END為低電平時(shí),重新進(jìn)入ST0狀態(tài)。通過(guò)這種周而復始的交替工作完成數據的寫(xiě)入與讀取,其端口程序如下: 3.3 讀地址發(fā)生器 讀地址發(fā)生器主要產(chǎn)生外部緩存器SRAM1(SRAM2)的讀地址信號,使系統能正確地從存儲器中讀取相應的顯示數據。其地址最高位為0,其余地址分別為行地址(hang[30])、列地址(lie[60])、分區地址(qu[30])15位有效地址信號。在16個(gè)脈沖周期內讀出在SRAM1(SRAM2)中的16字節數據,其部分VHDL源程序如下:
評論