崔秀敏+朱向榮
摘 要:單片機具有邏輯控制功能靈活、成本低、易于產品化等優點,但單片機作為控制核心,硬件連線復雜、可靠性差,實際應用中需要外加擴展芯片,增加控制系統的體積;CPLD具有集成度高、可靠性好及工作速度快、與外圍電路接口方便的優點;兩者的組合使用,能夠充分發揮兩種器件各自的優點。該文就是基于此提出了單片機與CPLD協處理的研究及實現方法。
關鍵詞:CPLD 單片機 協處理
中圖分類號:TP910 文獻標識碼:A 文章編號:1672-3791(2016)12(b)-0043-02
單片微型計算機(單片機)自問世以來,因其小巧靈活、成本低、控制能力強、易于產品化等優勢,在社會各領域中得到廣泛的應用。然而,隨著信息時代的到來,傳統單片機固有的結構缺陷,使其呈現出諸多弊端, 單片機的端口數目、內部定時器和中斷源的數目都有限,在應用中往往要加外圍擴展芯片,這就增加了系統硬件的復雜程度;若選擇CPLD作為系統控制核心,不僅可以簡化系統設計,而且提高了系統的整體性能和系統穩定性,但若單獨通過CPLD完成整個系統的控制功能,則需選用內部容量大,可用門數多的CPLD器件,這勢必使系統功耗和成本都有所提高,而且控制時序的實現也相當復雜,應用者開發起來比較費力。該文提出一種基于CPLD與單片機技術的協處理方法。
1 硬件組成
該設計中單片機采用Atmel公司的89S52,CPLD采用XILINX的XCR3256XL;電源采用9 V的交流或直流電源,經LM7805穩壓,為開發板提供5 V的直流電源;外部數據存儲器擴展采用了一片6264;通過兩片74LS377擴展了16個輸出I/O;開發板設計了一路RS232接口,可以通過單片機的串口與PC機進行通信。A/D轉換電路利用了ADC0809來實現。如框圖1所示。
對于簡單的項目,可由單片機或CPLD單獨完成。對于復雜項目,可由單片機和CPLD聯合完成。CPLD與單片機雙向通信,由單片機作為主控制器,處理各種信息。接收用戶操作指令并控制各個電路進行工作。其與RS232接口芯片相連,可與PC及其他設備進行串口通信,其Po和P213與CPLD相連,并可以通過CPLD進行接口擴展控制更多的外部電路。
2 軟件實現
CPLD可選用ISE軟件,采用VHDL或Verilog語言編程,編譯成功后,通過Xilinx并口下載線下載到芯片中即可;單片機部分可選用通用的Keil軟件,將程序編譯成.HEX或.BIN后,下載到單片機芯片中即可。下載軟件可選擇網上流行的免費軟件Easy51Pro。
3 應用測試
利用CPLD和單片機協處理開發板設計一顯示模塊來驗證協處理的功能。其接線圖如圖2所示。
單片機的外部數據輸出時序如圖3所示,該時序是51單片機在執行MOVX @DPTR,A時的接口時序,為使協處理器接收來自單片機的數據,其必須實現:
(1)在ALE下降沿鎖存P0口的低8位地址和P2口的高8位地址;
(2)在WR的下降沿鎖存P0口的8位數據;
(3)比較16位地址是否與指定的顯示緩沖區地址相同,若相同,將數據存入顯示緩沖區;
(4)利用動態顯示技術控制將緩沖區中的數據顯示在數碼管上。
在51單片機上定義協處理的顯示緩沖區地址為0020H和0021H,編寫程序如下:
MOV DPTR,#0020A
MOV A,#34H
MOVX DPTR,#0021H
MOV A,#12H\
MOVX @DPTR,A
在Keil C51環境中編譯成功,通過一個集成開發環境(μVision)下載到89S52中。
CPLD部分采用VHDL語言編程。其框圖如圖4所示。
在ISE環境中,編譯,仿真,符合設計要求,下載到芯片中,結果如圖5所示。
利用協處理器,開發板上顯示結果正確,比較不用該協同設計技術實現相同功能,51單片機程序簡單,運行速度提高。
4 結論
單片機+CPLD可以作為電子系統設計的一個框架,單片機智能控制靈活、邏輯運算能力強,可以實現復雜智能的控制與檢測;CPLD集成度高、運算速度快,可以實現靈活多變的外圍擴展電路設計,尤其是可以用硬件實現特殊的單片機無法實現的功能,相互彌補,使設計的系統具有結構緊湊、體積小,可靠性高等優點,完全能夠達到設計者的要求。
參考文獻
[1] 王振紅,李洋.由可編程邏輯器件和單片機構成的雙控制器[J].電子技術應用,2002(1):79-81.
[2] 潘松,黃繼業.EDA技術與VHDL[M].北京:清華大學出版社,2005:13-67.
[3] 陳云洽,保延翔.CPLD應用技術與數字系統設計[M].北京電子工業出版社,2005:47-98.