1
掐斷外設(shè)命脈——封閉外設(shè)時(shí)鐘
先說最直觀的,也是我們都比較留意的方面,便是封閉MCU的外設(shè)時(shí)鐘。關(guān)于現(xiàn)在大多數(shù)的低功耗MCU,其外設(shè)模塊都對應(yīng)著一個(gè)時(shí)鐘開關(guān),只需翻開這個(gè)外設(shè)時(shí)鐘,就可以正常運(yùn)用該外設(shè)了,當(dāng)然,該外設(shè)也就會發(fā)生相應(yīng)的功耗;反之,假設(shè)想要讓這個(gè)外設(shè)不發(fā)生功耗,一般只需求封閉該外設(shè)時(shí)鐘即可。
2
讓作業(yè)節(jié)奏慢下來——時(shí)鐘不要倍頻
除了外設(shè)模塊功耗耗費(fèi)之外,還有一個(gè)功耗大戶,那便是PLL和FLL模塊。PLL和FLL主要是用來對原始的時(shí)鐘信號進(jìn)行倍頻操作,然后進(jìn)步體系得全體時(shí)鐘,相應(yīng)的其功耗也會被提上去。所以在進(jìn)入低功耗前,需求切換時(shí)鐘形式,旁路掉PLL和FLL模塊,比及超低功耗MCU喚醒之后再把時(shí)鐘切換回去。
3
圍堵涓涓細(xì)流——留意IO口的電平狀況
假設(shè)以為只需封閉外設(shè)時(shí)鐘就可以確保外設(shè)不在耗電,那你就真的太年青了。假設(shè)IO口沒有做好處理的話,它就會在暗地里偷走功耗,而你卻渾然不知。詳細(xì)原因是這樣的,一般IO內(nèi)部或許外部都會有上下拉電阻,舉個(gè)比如如下圖所示,假定某個(gè)IO口有個(gè)10KΩ的上拉電阻,依據(jù)歐姆定律,此引腳就會耗費(fèi)3.3V/10K=0.33mA的電流,假設(shè)有四、五個(gè)這樣的IO口,那么幾個(gè)毫安的電流就這樣貼進(jìn)去了,太惋惜了。所以在進(jìn)入低功耗之前,請逐一查看IO的狀況:
假設(shè)該IO口帶下拉,請?jiān)O(shè)置為低電平輸出或許高阻態(tài)輸入;
4
睦鄰友好合作——留意IO與外設(shè)IC的統(tǒng)籌
IO口的上下拉電阻耗費(fèi)電流這一要素相抵比較顯著,下面我們來說一個(gè)不顯著的要素:IO口與外部IC相連時(shí)的電流耗費(fèi)。假設(shè)某個(gè)IO口自帶上拉,而與此IO相連的IC引腳偏偏是自帶下拉的,那么不管這個(gè)引腳處于什么樣的電平輸出,都不可避免的會發(fā)生必定的電流耗費(fèi)。所以但凡遇到這一類的狀況,首要需求閱覽外設(shè)IC的手冊,確定好此引腳的狀況,做到心中有數(shù);然后再操控MCU芯片睡覺前,設(shè)置好MCU的IO的上下拉形式及輸入輸出狀況,要確保一絲兒電流都不要被它耗費(fèi)掉。
5
斷開調(diào)試器銜接——不要被假象所利誘
還有一類比較獨(dú)特,檢測出來的電流耗費(fèi)很大,可實(shí)踐結(jié)果是自己杞人憂天,什么原因呢?是因?yàn)樵跍y驗(yàn)功耗的時(shí)分低功耗MCU還連著調(diào)試器呢!這時(shí)分大部分電流就會被調(diào)試器給擄走,無緣無故的讓我們發(fā)生極度抑郁的心境。所以在測驗(yàn)低功耗的時(shí)分,必定不要銜接著調(diào)試器,更不要邊調(diào)試邊測電流。