淺談低功耗控制電路和程序設(shè)計(jì)思路
程序控制流程稍好加上:
分析:
根據(jù)系統(tǒng)功耗要求,MCU在待機(jī)模式下不能工作。如何通過長按按鍵開啟系統(tǒng),并能夠在釋放按鍵后系統(tǒng)也能正常工作?然后在開機(jī)后,再次長按按鍵后又可以進(jìn)入0uA的超低功耗下面待機(jī)。
MCU按其存儲器類型可分為無片內(nèi)ROM型和帶片內(nèi)ROM型兩種。對于無片內(nèi)ROM型的芯片,必須外接EPROM才能應(yīng)用(典型芯片為8031)。帶片內(nèi)ROM型的芯片又分為片內(nèi)EPROM型(典型芯片為87C51)、MASK片內(nèi)掩模ROM型(典型芯片為8051)、片內(nèi)FLASH型(典型芯片為89C51)等類型,一些公司還推出帶有片內(nèi)一次性可編程ROM(One Time Programming, OTP)的芯片(典型芯片為97C51)。MASKROM的MCU價格便宜,但程序在出廠時已經(jīng)固化,適合程序固定不變的應(yīng)用場合;FALSHROM的MCU程序可以反復(fù)擦寫,靈活性很強(qiáng),但價格較高,適合對價格不敏感的應(yīng)用場合或做開發(fā)用途;OTPROM的MCU價格介于前兩者之間,同時又擁有一次性可編程能力,適合既要求一定靈活性,又要求低成本的應(yīng)用場合,尤其是功能不斷翻新、需要迅速量產(chǎn)的電子產(chǎn)品。
解決:
系統(tǒng)在待機(jī)狀態(tài)時,當(dāng)POWER_KEY1按鍵被長按。Q2導(dǎo)通,電池輸入電壓的高電平信號直接供到MCU芯片電源端,然后MCU一個GPIO端口立即輸出一個高電平使Q2的基極持續(xù)高電平,目的是鎖住Q2持續(xù)工作,這樣MCU就持續(xù)有電供電,這樣,按鍵即使被釋放后,也能保證系統(tǒng)一直處于工作狀態(tài)。
當(dāng)需要關(guān)閉系統(tǒng)時,還是長按POWER_KEY1按鍵,這樣會通過INT0中斷檢測到這個中斷,然后GPIO不在輸出高電平鎖存Q2的基極,這樣松口當(dāng)POWER_KEY1就可以關(guān)閉系統(tǒng)了。這樣關(guān)閉系統(tǒng)后,也沒什么功耗了,
注:下圖只是提供一個思路,這個電路還有待完善,GPIO這樣連接是否安全,比如Q2換用MOS管,各個電阻的值也要根據(jù)實(shí)際電路選區(qū),或增加電阻,電容等器件,這個系統(tǒng)才能完美工作!
三:設(shè)計(jì)低功耗常用思路
如何利用萬用表測試一臺機(jī)器在穩(wěn)定電壓下的功耗:把FLUK萬用表跳到電流檔(注意表筆的插頭搖換到電流檔)的紅表筆接到電源的正極(用黑表筆接正也不會有危險(xiǎn)),然后用黑表筆接到機(jī)器的正極,然后把電源的負(fù)極接到機(jī)器的地端,就可以測電流了。
四:設(shè)計(jì)低功耗常用思路
降低功耗不光能夠大大的節(jié)約電能還能簡化電源部分的設(shè)計(jì),甚至可以用于手持設(shè)備上面使用,這些都已經(jīng)越來越成為未來產(chǎn) 品的設(shè)計(jì)方向了^_^
1 降低功耗從MCU選型開始,一開始選型的時候就應(yīng)該考慮選擇低功耗的MCU比如MSP430一類的為低功耗設(shè)計(jì)的CPU. 強(qiáng)烈不建議使用51一方面是因?yàn)?1速度慢,還有一點(diǎn)就是51的運(yùn)算速度實(shí)在是太慢了,很多運(yùn)算用51都需要很高的 主頻而主頻高了就意味著高的功耗。
2 選擇器件用電電壓,很明顯降低器件的用電電壓能夠明顯的降低器件的耗電比如說ATmega8和ATmega88雖然芯片大致內(nèi)部結(jié)構(gòu) 一致但是后者可以工作在1.8V的超低電壓下而前者就不行,綜合考慮下當(dāng)然還是選擇后者。
3 盡量降低器件的工作頻率,大家都知道CMOS電路的工作電流主要來此于開關(guān)轉(zhuǎn)換時對后一級輸入端的電容充放電,如果能夠 降低MCU的工作頻率自然耗電也就下來了。要知道當(dāng)AVR工作在32.768Hz時和工作在20Mhz時的工作電流差異可不是一般的小啊 .
4 盡量使用中斷讓處理器進(jìn)入更深的睡眠,眾所周知睡眠模式和掉電模式能夠大大的降低MCU的工作電流,聰明的單片機(jī)設(shè)計(jì)師能夠充分的利用MCU的中斷功能讓MCU周期性的工作和睡眠從而大大的降低MCU的工作電流。
5 盡量關(guān)閉MCU內(nèi)部不用的資源,這個嗎,地球人都知道的好處,我說這個有點(diǎn)像廢話一樣,不用的東西你干嗎開著呢 ?比如ATmega8內(nèi)部的模擬比較器,默認(rèn)是開著的還有ATmega88內(nèi)部的大多數(shù)資源都可以在不用的時候用軟件關(guān)閉。
6 盡量使用VMOS做為外部功率擴(kuò)展器件,道理很簡單VMOS驅(qū)動的時候是電壓行器件驅(qū)動是幾乎不產(chǎn)生功耗,要比普通的晶體管 省電多了。而且由于VMOS的導(dǎo)通內(nèi)阻低通常只有幾十個毫歐,在小電流的時候器件自身發(fā)熱也小,尤其是小電流是效率遠(yuǎn)比 傳統(tǒng)晶體管要高的多的多。這里還是建議使用高速VMOS,因?yàn)楦咚賄MOS在開關(guān)速度相當(dāng)高的PWM時效率會更高。
7 片外IC的電源最好都能由MCU的IO控制比如說我們常用的24C02,由于它是掉電記憶的,所以我們完全可以在它不工作的時候 對它關(guān)電源,以節(jié)約電流還有比如說我們常用的6116的SRAM我們完全可以用單片機(jī)來控制它的片選端口來控制它的工作與休 眠從而節(jié)約電流。
8 這招也是最毒辣的一招通常我們驅(qū)動一些LED器件,完全可以通過PWM來控制從而省略限流電阻,要知道當(dāng)器件選定后它的內(nèi) 阻也就已經(jīng)確定,如果用戶使用的是電池,我們完全還可以不定期的對電池電壓進(jìn)行檢測然后改變占空比,從而恒定負(fù)載上 面的電壓,達(dá)到電源的最大利用率。
更多好文:21ic電源
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評論