【導(dǎo)讀】低功耗是 MCU 的一項(xiàng)非常重要的指標(biāo),比如某些可穿戴的設(shè)備,其攜帶的電量有限,如果整個(gè)電路消耗的電量特別大就會(huì)經(jīng)常出現(xiàn)電量不足的情況。
低功耗是 MCU 的一項(xiàng)非常重要的指標(biāo),比如某些可穿戴的設(shè)備,其攜帶的電量有限,如果整個(gè)電路消耗的電量特別大就會(huì)經(jīng)常出現(xiàn)電量不足的情況。
平時(shí)我們在做產(chǎn)品的時(shí)候,基本的功能實(shí)現(xiàn)很簡單,但只要涉及到關(guān)于低功耗的問題就比較棘手了,比如某些可以低到微安級的 MCU 微控制器,而自己設(shè)計(jì)的低功耗怎么測都是毫安級的,電流竟然能夠高出標(biāo)準(zhǔn)幾百到上千倍,遇到這種情況干萬不要怕,只要認(rèn)真你就贏了。接著仔細(xì)分析一下這其中的原因。
(1)掐斷外設(shè)命脈,關(guān)閉外設(shè)時(shí)鐘。
先說最直觀的,也是工程師都比較注意的方面,就是關(guān)閉 MCU 微控制器的外設(shè)時(shí)鐘,對于現(xiàn)在市面上出現(xiàn)的大多數(shù)的 MCU 微控制器,其外設(shè)模塊都對應(yīng)著一個(gè)時(shí)鐘開關(guān)。只需要打開這個(gè)外設(shè)的時(shí)鐘,就可以正常的使用這個(gè)外設(shè)了,當(dāng)然此外設(shè)也就會(huì)產(chǎn)生相應(yīng)的功耗;如果想要讓這個(gè)外設(shè)不產(chǎn)生功耗的話,只需要關(guān)閉它的時(shí)鐘就可以了。
( 2)讓工作節(jié)奏慢下來,時(shí)鐘不要倍頻。除了外設(shè)模塊功率消耗之外,還有一個(gè)功耗大戶需要注意一下,這就是 PLL 和 FLL 模塊。PLL 和 FLL 主要是用來對原始的時(shí)鐘信號(hào)進(jìn)行倍頻操作,從而提高系統(tǒng)的整體時(shí)鐘,其功耗也會(huì)被提上去。所以在進(jìn)入低功耗之前,需要切換時(shí)種模式,旁路掉 PLL 和 FLL 模塊,從而盡可能的降低 MCU 的功耗,等到 MCU 喚醒之后再把時(shí)鐘切換回去。
( 3)圍堵涓涓細(xì)流,注意 IO 口的電平狀態(tài)。如果認(rèn)為只要關(guān)閉外設(shè)時(shí)鐘就能夠保證外設(shè)不再耗電,那么你就太天真了。如果 IO 口沒有做好處理的話,它就會(huì)在暗地里偷走功耗,而你卻渾然不知。具體原因是這樣的,一般的 IO 的內(nèi)部或者外部都會(huì)有上下拉電阻,假如某個(gè) IO 口有個(gè) 10K 的上拉電阻,把引腳拉到 3.3 V,然而當(dāng) MCU 進(jìn)入低功耗模式的時(shí)候,此 IO 口被設(shè)置成輸出低電平,根據(jù)歐姆定律,此引腳就會(huì)消耗 3.3 V/10 K = 0.33 mA 的電流,假如有四、五個(gè)這樣的 IO 口,那么幾個(gè) mA 就貼進(jìn)去了。所以在進(jìn)入低功耗之前,請逐個(gè)檢查 IO 口的狀態(tài)。
如果此 IO 口帶下拉,請?jiān)O(shè)置為低電平輸出或者高阻態(tài)輸入。不要把上好的電流浪費(fèi)在產(chǎn)生熱量的功能上。
(4)睦鄰友好的合作,要注意 1O 與外設(shè) IC 的統(tǒng)籌。
IO 口的上下拉電阻消耗電流這一因素相對比較明顯,下邊咱來說一個(gè)不明顯的因素:IO 口與外部 IC 相連時(shí)的電流消耗。假如某個(gè) IO 口自帶上拉,而此與 IO 相連的 IC 引腳偏偏是自帶下拉的,那么無論這個(gè)引腳處于什么樣的電平輸出,都不可避免的產(chǎn)生一定的電流消耗。所以凡是遇見這 - 類的情況,首先需要閱讀外設(shè) IC 的手冊,確定好此引腳的的狀態(tài),做到心中有數(shù);然后在控制單片機(jī) MCU 睡眠之前,設(shè)置好 MCU 的 IO 口的上下拉模式及輸入輸出狀態(tài),要保證一絲兒電流都不要被它消耗掉。
( 5)斷開調(diào)試器連接,不要被假象所迷惑。還有一類比較奇特,檢測出來的電流消耗很大,可實(shí)際結(jié)果是自己杞人憂天,原因是因?yàn)樵跍y試功耗的時(shí)候 MCU 還連接著調(diào)試器。這時(shí)候大部分電流就會(huì)被調(diào)試器給擄走,平白無故的讓工程師產(chǎn)生極度郁悶的心情。所以在測低功耗的時(shí)候,一定不要連接調(diào)試器,更不能邊調(diào)試邊測電流。
MCU 的低功耗設(shè)計(jì)是一個(gè)細(xì)致活,要養(yǎng)成良好的習(xí)慣,做到每添加一個(gè)功能都要重新驗(yàn)證一下低功耗是否符合要求,這樣就可以隨時(shí)隨地減少損耗功率的因素。如果把所有功能都設(shè)計(jì)好了才去考慮低功耗的問題,一個(gè)不小心就可能要更改程序的架構(gòu),即便如此也不一定能把功耗給徹底降下去。
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請電話或者郵箱聯(lián)系小編進(jìn)行侵刪。