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