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