基于CPLD的電動自行車充電系統的研究設計
1.3 鍵盤電路及I/O電路設計
本系統采用CPLD作為SPCE061A單片機和充電器的接口部分,實現I/O口擴展,并完成鍵盤掃描功能。CPLD的使用,取代了一些專用集成電路,減少了系統的復雜性,提高了系統的集成度。本系統采用硬件電路來完成對鍵盤的掃描工作,當有按鍵按下時,CPLD內部狀態發生改變。按鍵彈起后,內部狀態經CPLD自動處理轉化為相應的鍵值被送到輸出端口,供單片機掃描時取走鍵值。相對于軟件判別鍵盤工作狀態,這樣不僅節省了SPCE061A的存儲空間,還極大地提高了系統的工作速度,更好地實現了實時性。
CPLD選用ALTERA公司生產的MAX7000S 系列中的EPM7128SLC84-15。該芯片共有84個引腳,采用EEPROM技術制作;內含2 500個邏輯門,128個宏單元,時鐘工作頻率可達151.5MHz。通過CPLD對資源的整合,實現了用一片CPLD實現I/O電路、硬件掃描判別等,優化了硬件的布局。如需改變系統的功能,只需改變相應的源代碼而不是硬件結構,因而具有很大的靈活性。
2 系統軟件設計
2.1 主程序設計
本系統的軟件部分采用C語言和匯編語言混合編制而成,因而該程序具有功能強大、設計完備等特點。主程序主要完成如下功能:
(1)系統初始化和參數的設置;
(2)充電器三種工作狀態的檢測和顯示;
(3)控制各個充電器的工作和停止以及快速充電和普通充電兩種充電方式的選擇;
(4)蓄電池正反極性的判斷,極性接反時自動進行語音報警;
(5)充電器充滿蓄電池時自動關閉充電器;出現異常情況時自動進行語音報警;
(6)對快速充電時間長短進行設定。
系統主程序流程圖如圖3所示。
評論