<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SPCE061A和CPLD的電動(dòng)自行車(chē)充電系統(tǒng)研制

          基于SPCE061A和CPLD的電動(dòng)自行車(chē)充電系統(tǒng)研制

          作者: 時(shí)間:2015-04-10 來(lái)源:網(wǎng)絡(luò) 收藏

            電動(dòng)車(chē)由于具有無(wú)廢氣污染、無(wú)噪音、輕便美觀等特點(diǎn),受到眾多使用者的青睞。但使用中也暴露出它的局限性,那就是蓄電池的容量決定了它的使用范圍,而且存在充電時(shí)間長(zhǎng)的缺點(diǎn)。目前隨著電動(dòng)自行車(chē)的發(fā)展,急需解決的問(wèn)題就是如何實(shí)現(xiàn)快速靈活的充電。

          本文引用地址:http://www.ex-cimer.com/article/272343.htm

            隨著電子技術(shù)、可編程邏輯器件(FPGA,)、EDA技術(shù)的飛速發(fā)展,基于硬件編程語(yǔ)言的自上而下(TOP-TO-DOWN)設(shè)計(jì)方法給數(shù)字系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)帶來(lái)了革命性變革,僅使用單片機(jī)來(lái)實(shí)現(xiàn)系統(tǒng)控制的傳統(tǒng)方法正在被越來(lái)越多的以MCU+FPGA/為核心的最新設(shè)計(jì)理念取代。采用這種混合設(shè)計(jì)方案的最大優(yōu)點(diǎn)是兩者的優(yōu)勢(shì)互補(bǔ),電路結(jié)構(gòu)簡(jiǎn)單,這給數(shù)字電路系統(tǒng)的設(shè)計(jì)帶來(lái)極大的方便。利用控制的靈活性很容易對(duì)電路進(jìn)行在線修改,實(shí)現(xiàn)各種復(fù)雜的數(shù)字邏輯控制,這極大地?cái)U(kuò)展了單片機(jī)的功能。而且由于硬件編程語(yǔ)言的靈活性及CPLD具有的在系統(tǒng)編程(In-SystemProgram)特點(diǎn),大大縮短了系統(tǒng)開(kāi)發(fā)研制周期?;谏鲜鏊枷耄邪l(fā)了基于和CPLD的電動(dòng)自行車(chē)充電系統(tǒng)。

            1 系統(tǒng)硬件設(shè)計(jì)

            1.1 系統(tǒng)組成及功能

            該充電系統(tǒng)由凌陽(yáng)單片機(jī)、充電器、按鍵、CPLD、ACM12864液晶顯示器、上位機(jī)、語(yǔ)音電路等組成。充電器采用恒流、恒壓、浮充三階段充電方法對(duì)蓄電池進(jìn)行充電。單片機(jī)控制六個(gè)充電器對(duì)六個(gè)蓄電池同時(shí)進(jìn)行充電,同時(shí)檢測(cè)各個(gè)充電器的恒流、恒壓、浮充三個(gè)充電狀態(tài),并通過(guò)ACM12864液晶顯示器顯示各充電器的工作狀態(tài)。通過(guò)按鍵選擇各充電器的工作與停止,并可根據(jù)不同需要選擇快速充電工作方式或普通充電工作方式,對(duì)蓄電池進(jìn)行充電。系統(tǒng)上電進(jìn)入工作狀態(tài)后,當(dāng)單片機(jī)檢測(cè)到蓄電池已充滿的信號(hào)或發(fā)生其他緊急情況所產(chǎn)生的信號(hào)時(shí),可以自動(dòng)關(guān)閉充電器,實(shí)現(xiàn)充電器操作智能化。利用凌陽(yáng)SPCE061A單片機(jī)的語(yǔ)音功能對(duì)充電過(guò)程中所出現(xiàn)的故障進(jìn)行語(yǔ)音提示,使設(shè)計(jì)更人性化,便于操作。充電系統(tǒng)可以和上位機(jī)進(jìn)行通訊,從而實(shí)現(xiàn)系統(tǒng)之間的聯(lián)網(wǎng),有利于系統(tǒng)功能的擴(kuò)充。其系統(tǒng)組成框圖如圖1所示。

            

           

            1.2 液晶顯示電路的設(shè)計(jì)

            顯示部分采用ACM12864C液晶顯示器,該模塊價(jià)格低??刂破鳛镵S0107和KS0108,工作溫度范圍:0℃~50℃,儲(chǔ)存溫度范圍:-20℃~70℃,自帶負(fù)電壓發(fā)生電路,單+5V供電,帶背光,可與各種微處理器直接接口,數(shù)據(jù)讀寫(xiě)操作不受外部時(shí)鐘控制,不帶漢字庫(kù),占空比為1/64,外部共有20條引腳來(lái)進(jìn)行外部接口。ACM12864C能夠充分滿足漢字顯示的要求。通過(guò)必要的程序設(shè)計(jì),可實(shí)現(xiàn)在充電過(guò)程中通過(guò)對(duì)充電器恒流、恒壓、浮充等信號(hào)的采集,在ACM12864液晶顯示器上實(shí)時(shí)動(dòng)態(tài)地顯示電池狀態(tài)。SPCE061A與ACM12864的接口如圖2所示。

            

           

            1.3 鍵盤(pán)電路及I/O電路設(shè)計(jì)

            本系統(tǒng)采用CPLD作為SPCE061A單片機(jī)和充電器的接口部分,實(shí)現(xiàn)I/O口擴(kuò)展,并完成鍵盤(pán)掃描功能。CPLD的使用,取代了一些專用集成電路,減少了系統(tǒng)的復(fù)雜性,提高了系統(tǒng)的集成度。本系統(tǒng)采用硬件電路來(lái)完成對(duì)鍵盤(pán)的掃描工作,當(dāng)有按鍵按下時(shí),CPLD內(nèi)部狀態(tài)發(fā)生改變。按鍵彈起后,內(nèi)部狀態(tài)經(jīng)CPLD自動(dòng)處理轉(zhuǎn)化為相應(yīng)的鍵值被送到輸出端口,供單片機(jī)掃描時(shí)取走鍵值。相對(duì)于軟件判別鍵盤(pán)工作狀態(tài),這樣不僅節(jié)省了SPCE061A的存儲(chǔ)空間,還極大地提高了系統(tǒng)的工作速度,更好地實(shí)現(xiàn)了實(shí)時(shí)性。

            CPLD選用ALTERA公司生產(chǎn)的MAX7000S 系列中的EPM7128SLC84-15。該芯片共有84個(gè)引腳,采用EEPROM技術(shù)制作;內(nèi)含2 500個(gè)邏輯門(mén),128個(gè)宏單元,時(shí)鐘工作頻率可達(dá)151.5MHz。通過(guò)CPLD對(duì)資源的整合,實(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語(yǔ)言和匯編語(yǔ)言混合編制而成,因而該程序具有功能強(qiáng)大、設(shè)計(jì)完備等特點(diǎn)。主程序主要完成如下功能:

            (1)系統(tǒng)初始化和參數(shù)的設(shè)置;

            (2)充電器三種工作狀態(tài)的檢測(cè)和顯示;

            (3)控制各個(gè)充電器的工作和停止以及快速充電和普通充電兩種充電方式的選擇;

            (4)蓄電池正反極性的判斷,極性接反時(shí)自動(dòng)進(jìn)行語(yǔ)音報(bào)警;

            (5)充電器充滿蓄電池時(shí)自動(dòng)關(guān)閉充電器;出現(xiàn)異常情況時(shí)自動(dòng)進(jìn)行語(yǔ)音報(bào)警;

            (6)對(duì)快速充電時(shí)間長(zhǎng)短進(jìn)行設(shè)定。

            系統(tǒng)主程序流程圖如圖3所示。

            


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: SPCE061A CPLD

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();