基于FPGA的單片機外圍接口電路設計
摘要:利用現場可編程門陣列 FPGA實現單片機的外設接口電路可以簡化單片機系統的硬件電路,提高系統的集成度、可靠性和系統設計的靈活性。本文介紹了基于 FPGA的單片機外設接口電路的基本設計方法,分別給出了各個功能模塊的設計思路和實現方法。所有功能的實現全部采用 VHDL進行描述。
本文引用地址:http://www.j9360.com/article/189955.htm0 引言
單片機具有性價比高、功能靈活、易于人機對話、數據處理能力強等特點。單片機應用系統通常由鍵盤、顯示器、通信接口、存儲器、A/D、D/A電路等部分組成。傳統的單片機系統經常要用標準的邏輯電路或專用的接口芯片來組成外圍電路,如地址譯碼、I/O擴展等功能通常由標準的TTL/COMS邏輯電路或各種專用接口芯片實現,這樣就會使系統的芯片數增多,接線復雜,從而使電路板面積增大、可靠性和 EMI性能減低,難以實現設計的小型化、集成化和高可靠性。而可編程門陣列FPGA的LCA結構和它豐富的內部資源可以用來設計各種組合邏輯和時序邏輯電路,因此使用FPGA設計單片機的外圍電路能夠大大簡化系統硬件結構,使系統的設計、修改和擴展都變的十分靈活方便。本文通過對FPGA器件進行功能設計,取代傳統單片機系統中外設接口用的標準邏輯電路和專用的接口芯片,使單片機系統的硬件電路大大簡化并提高其可靠性。當需要改變系統性能時,可以通過對FPGA重新編程而不用改變硬件電路,提高了系統設計的靈活性。
1 系統設計方案
根據一般單片機系統設計的需要,本文所設計的系統具有以下幾個功能模塊,如圖1所示。
1 )通用邏輯模塊:根據具體的情況產生各種不同的邏輯電路及控制信號,代替傳統的標準邏輯芯片。本文將其設計為擴展存儲器時用到的地址鎖存器。
2 )鍵盤接口模塊:代替傳統的單片機與鍵盤的接口電路,用 FPGA編程完成消除抖動及按鍵識別功能。本文將其設計為4×4掃描鍵盤的通用接口。
3 )顯示接口模塊:代替傳統的單片機與顯示器的接口電路,用 FPGA編程完成譯碼、掃描等功能。本文將其設計為4位七段動態 LED接口。
1 )串并行接口模塊:實現單片機與其外設的串行或并行數據通信。本文將其設計為串行通信接口模塊。
2 )其他擴展模塊:實現單片機的一些其他常用功能,如 PWM驅動、A/D、D/A轉換的控制等。
本設計所采用的FPGA器件是 ALTERA公司的Cyclone-TM系列芯片 EP1C6Q240C8,它具有5980個邏輯單元, 92160個比特的嵌入 RAM。系統開發工具為硬件描述語言VHDL,開發平臺為Quartus Ⅱ。
評論