基于FPGA與VHDL的微型打印機的驅動設計
使用VHDL硬件描述語言來進行軟件設計。對微型打印機的驅動主要是對其工作時序進行正確的控制,利用VHDL常見的狀態(tài)機來實現對打印機的工作時序的控制,根據時序圖1所示的時序,狀態(tài)機使用4個狀態(tài),狀態(tài)轉換圖如圖5所示。
初始狀態(tài)STATE0時,數據選通觸發(fā)脈沖信號STB置‘1’(高電平),檢測打印機是否正忙,如果打印機為空閑狀態(tài)(busy=‘0’),轉入下一狀態(tài)STATE1,否則(busy=‘1’)繼續(xù)執(zhí)行STATE0;在狀態(tài)STATE1,將數據寫入打印機,直接轉入下一狀態(tài);在狀態(tài)STATE2,將數據選通觸發(fā)脈沖信號STB置‘O’,打印機讀數據,轉入下一狀態(tài);在狀態(tài)STATE3,檢測數據是否已經被接受,若數據已被接受(ACK=‘O’),打印機轉入初始狀態(tài)STATE0,等待接受新數據,若數據未被接受(ACK=‘1’),繼續(xù)執(zhí)行STATE3直到數據被接受。
3 結語
使用FPGA與VHDL硬件描述語言設計的微型打印機驅動,通過系統調試能夠完成對打印機的時序控制,目前已經在某型測試儀中正常使用。該設計系統控制簡單,抗干擾性強,可靠性高,移植性較好,能夠用于任何使用FPGA芯片的系統中,具有一定的應用前景。
評論