設(shè)計(jì)低功耗微控制器(MCU)是一項(xiàng)復(fù)雜的任務(wù),為特定嵌入式設(shè)計(jì)挑選合適的MCU同樣充滿挑戰(zhàn)。涉及的應(yīng)用特定考慮因素繁多,使得對(duì)比微控制器的技術(shù)規(guī)格成為一項(xiàng)艱巨的工作。
從系統(tǒng)架構(gòu)的視角出發(fā),為了確定哪些MCU真正符合“低功耗”的標(biāo)準(zhǔn),設(shè)計(jì)師需要對(duì)半導(dǎo)體供應(yīng)商提出的各種聲明進(jìn)行仔細(xì)篩選。由于不同供應(yīng)商采用了不同且經(jīng)常令人困惑的度量標(biāo)準(zhǔn),這項(xiàng)任務(wù)并不簡(jiǎn)單。
MCU的電源消耗通??梢苑譃橐韵聨讉€(gè)部分:
總耗電量 = 工作模式功耗 + 待機(jī)(休眠)模式功耗
然而,另一個(gè)需要考慮的重要標(biāo)準(zhǔn)是MCU從待機(jī)狀態(tài)到工作狀態(tài)的轉(zhuǎn)換時(shí)間。MCU開(kāi)始執(zhí)行有用的處理是在所有數(shù)字和模擬組件完全穩(wěn)定并開(kāi)始運(yùn)行后,因此在計(jì)算總耗電量時(shí),這部分(浪費(fèi)的)能量也應(yīng)該被包括在內(nèi):
總耗電量 = 工作模式功耗 + 待機(jī)(休眠)模式功耗 + 喚醒功耗
由于每個(gè)應(yīng)用的需求不同,系統(tǒng)設(shè)計(jì)師可能會(huì)更關(guān)注這些元素中的某些。例如,像水表這樣的應(yīng)用,大部分時(shí)間處于待機(jī)狀態(tài),因此它們的長(zhǎng)期工作周期顯然需要非常低的待機(jī)功耗。而像數(shù)據(jù)記錄器這樣的應(yīng)用,頻繁地進(jìn)入和退出工作狀態(tài),因此限制喚醒轉(zhuǎn)換中消耗的時(shí)間變得至關(guān)重要。值得注意的是,專門為MCU開(kāi)發(fā)解決方案的制造商不會(huì)試圖猜測(cè)哪個(gè)指標(biāo)最重要,而是從底層開(kāi)始設(shè)計(jì),致力于最小化上述公式中的每一個(gè)部分。為此,需要強(qiáng)大的混合信號(hào)技術(shù)基礎(chǔ),以解決在模擬和數(shù)字領(lǐng)域最小化功耗所面臨的架構(gòu)級(jí)和電路級(jí)挑戰(zhàn)。探討這些變量可以幫助突出系統(tǒng)設(shè)計(jì)師在選擇最佳MCU解決方案時(shí)需要了解的問(wèn)題類型。
工作模式功耗
對(duì)于CMOS邏輯門,動(dòng)態(tài)功耗可以用以下公式表示:
工作模式功耗 = C x V^2 x f
其中C代表負(fù)載電容,V代表供應(yīng)電壓,f代表開(kāi)關(guān)頻率。
電容項(xiàng)取決于設(shè)計(jì)和處理技術(shù),而頻率項(xiàng)取決于應(yīng)用的處理需求。然而,正如公式所示,供應(yīng)電壓對(duì)MCU總體功耗有著顯著的影響。因此,在MCU設(shè)計(jì)中加入電壓調(diào)節(jié)功能可以通過(guò)為MCU電路提供更低的穩(wěn)定供電,從而節(jié)省大量的工作模式功耗。開(kāi)關(guān)型轉(zhuǎn)換器可能是一種解決方案,但它們最適合大電壓轉(zhuǎn)換比的調(diào)節(jié)環(huán)境。對(duì)于電池供電的應(yīng)用(在電池壽命結(jié)束時(shí),平均電壓轉(zhuǎn)換比較小,接近1:1),更好的解決方案可能是集成一個(gè)片上低壓降(Low Drop Out, LDO)線性電壓調(diào)節(jié)器,因?yàn)樗暂^低的復(fù)雜性和成本提供可接受的效率,而不是開(kāi)關(guān)解決方案。
為了強(qiáng)調(diào)使用LDO調(diào)節(jié)器的優(yōu)勢(shì),我們可以重新審視CMOS動(dòng)態(tài)功耗方程:
工作模式功耗 = C x V^2 x f
= V x (C x V x f)
= V x I,其中動(dòng)態(tài)電流I = C x V x f
動(dòng)態(tài)電流通常對(duì)于頻率1MHz和特定供應(yīng)電壓進(jìn)行標(biāo)準(zhǔn)化。例如,一種新型的超低功耗MCU,在1.8V電壓下的動(dòng)態(tài)電流消耗為160μA/MHz。如果沒(méi)有電源調(diào)節(jié),當(dāng)供電電壓為3.2V時(shí),這個(gè)數(shù)值會(huì)增加到(160) x (3.2/1.8) = 284 μA/MHz。使用LDO的情況下,電池電流在整個(gè)供應(yīng)范圍內(nèi)都將保持在160μA/MHz。
正如所見(jiàn),這種高級(jí)電源架構(gòu)可以在整個(gè)工作電壓范圍內(nèi)保持恒定的工作電流,幫助系統(tǒng)設(shè)計(jì)師顯著節(jié)省功耗。因此,對(duì)于系統(tǒng)設(shè)計(jì)師來(lái)說(shuō),確定MCU在整個(gè)工作電壓范圍內(nèi)的電流消耗是非常重要的——而不僅僅是供應(yīng)商經(jīng)常引用的1.8V的最低工作條件。引用一個(gè)樂(lè)觀的電流值,假設(shè)電壓供應(yīng)不低于典型值,這并不能準(zhǔn)確反映真實(shí)世界中的應(yīng)用環(huán)境。例如,在2 x AA/AAA和硬幣電池應(yīng)用中,電池在其生命周期的大部分時(shí)間內(nèi)都是在接近初始3V的電壓下工作的,如果僅引用1.8V的規(guī)格,可能會(huì)讓人誤以為MCU的功耗比經(jīng)常引用的數(shù)值要高出約50%。
此外,由于功耗與開(kāi)關(guān)頻率成正比,對(duì)于系統(tǒng)設(shè)計(jì)師來(lái)說(shuō),將引用的電流值歸一化到每MHz的電流是很重要的。將這兩個(gè)因素結(jié)合起來(lái),可以進(jìn)行MCUs的并行對(duì)比,基于以下指標(biāo):
3V下的電流消耗/MHz
一些供應(yīng)商可能會(huì)試圖通過(guò)將“MHz”等同于系統(tǒng)時(shí)鐘速度來(lái)混淆概念,而實(shí)際有意義的是指令時(shí)鐘速度。這是誤導(dǎo)性的,因?yàn)闀r(shí)鐘速度可以以雙倍(或更多)的實(shí)際指令速度運(yùn)行,從而使功耗效率加倍(或更多)。因此,需要確保所有數(shù)值都?xì)w一化到指令時(shí)鐘速度。這樣做,再加上使用典型的供應(yīng)電壓,可以正確推導(dǎo)出實(shí)際的工作模式電流消耗預(yù)算。
待機(jī)(休眠)電流
為了實(shí)現(xiàn)最大的能源效率(和電池壽命),需要確保MCU的每個(gè)任務(wù)在盡可能短的時(shí)間內(nèi)完成,以盡可能低的電流和電壓消耗最少的電能,讓設(shè)備大部分時(shí)間都處于極低功耗的休眠模式。在某些應(yīng)用中,休眠模式的電流是影響總能源消耗的主要參數(shù)。然而,經(jīng)常被忽略的一點(diǎn)是,MCU可以達(dá)到的最低休眠電流主要受到其漏電流的限制。例如,一個(gè)有20個(gè)輸入的設(shè)備,如果每個(gè)輸入的漏電流規(guī)格為100nA,那么在休眠模式下可能會(huì)消耗高達(dá)2μA的電力。
漏電流受多種因素影響,但最重要的是采用的底層工藝技術(shù)。有時(shí),供應(yīng)商會(huì)選擇使用0.25或0.35微米的工藝技術(shù)來(lái)減少漏電所引起的休眠電流,但這種選擇會(huì)導(dǎo)致更高的工作電流。在其他情況下,MCU供應(yīng)商可能會(huì)選擇使用0.18微米或更小的工藝技術(shù)以減少工作模式電流,但這會(huì)帶來(lái)更高的漏電電流。解決這一問(wèn)題的獨(dú)特方法是,無(wú)論采用何種底層工藝技術(shù),利用混合信號(hào)專業(yè)技術(shù)實(shí)現(xiàn)一個(gè)專門設(shè)計(jì)的高級(jí)電源管理單元(PMU),以限制漏電,并實(shí)現(xiàn)超低休眠電流。
在采用0.25微米或更小的工藝技術(shù)時(shí),要實(shí)現(xiàn)最小的休眠模式電流,需要切斷給數(shù)字核心的電源。在休眠模式下運(yùn)行的模塊,如電源管理電路,I/O墊環(huán)元件和實(shí)時(shí)時(shí)鐘,必須從未調(diào)節(jié)的電源電壓運(yùn)行,以避免在LDO中消耗額外的電流。切斷數(shù)字核心電源也可以防止其關(guān)態(tài)漏電導(dǎo)致的休眠模式電流;然而,MCU需要在休眠模式下保留所有RAM內(nèi)容和所有寄存器狀態(tài),以便代碼執(zhí)行能夠恢復(fù)到中斷點(diǎn)。這種保留可以通過(guò)一種非常低電流的休眠模式鎖存偏置方案實(shí)現(xiàn),或者使用特殊的保持鎖存,這些鎖存在休眠模式下無(wú)顯著漏電。MCU還需要一種形式的連續(xù)供電電壓檢測(cè)(即“斷電檢測(cè)”),如果供應(yīng)電壓下降到最小保持電壓以下,則復(fù)位設(shè)備,因?yàn)檫@可能導(dǎo)致?tīng)顟B(tài)損壞。
因此,從系統(tǒng)設(shè)計(jì)師的角度來(lái)看,檢查底層漏電流規(guī)格非常重要,以確定哪些MCU供應(yīng)商利用他們的混合信號(hào)專業(yè)知識(shí)來(lái)解決這個(gè)復(fù)雜問(wèn)題。設(shè)計(jì)師還應(yīng)該意識(shí)到,大多數(shù)供應(yīng)商提供多種不同的待機(jī)電流選項(xiàng)。大多數(shù)供應(yīng)商強(qiáng)調(diào)他們的最低休眠模式電流,這通常是在實(shí)時(shí)時(shí)鐘和斷電檢測(cè)器被禁用時(shí)的電流。有些供應(yīng)商甚至?xí)鲫P(guān)機(jī)模式電流,這種模式不保留內(nèi)存,并需要重置才能喚醒,這通常并不實(shí)用。因此,由于大多數(shù)應(yīng)用需要完整的RAM和寄存器保持,對(duì)于系統(tǒng)設(shè)計(jì)師來(lái)說(shuō),基于以下度量標(biāo)準(zhǔn)進(jìn)行比較是很重要的:
- 休眠/待機(jī)模式下的電流,實(shí)時(shí)時(shí)鐘和斷電檢測(cè)器禁用(保持RAM)
- 待機(jī)/休眠模式下電流,實(shí)時(shí)時(shí)鐘禁用,斷電檢測(cè)器啟用
- 待機(jī)/休眠模式下電流,實(shí)時(shí)時(shí)鐘和斷電檢測(cè)器都啟用
這樣,系統(tǒng)設(shè)計(jì)師就可以在計(jì)算基于其應(yīng)用的工作周期的整個(gè)待機(jī)模式的電源預(yù)算時(shí),使用正確的數(shù)值。
喚醒能量
正如前面所述,在使用休眠模式的系統(tǒng)中,喚醒MCU和準(zhǔn)備它采集或處理數(shù)據(jù)時(shí)可能會(huì)浪費(fèi)大量電源。實(shí)際上,在某些應(yīng)用中,MCU從待機(jī)狀態(tài)恢復(fù)時(shí)消耗的能量與完全處理數(shù)據(jù)時(shí)使用的能量相當(dāng)。因此,設(shè)計(jì)MCU時(shí)要能夠在極短的時(shí)間內(nèi)喚醒并穩(wěn)定,以最大限度地減少處于浪費(fèi)電能狀態(tài)的時(shí)間。
MCU應(yīng)該能夠從外部事件或內(nèi)部定時(shí)器喚醒退出休眠模式。最靈活的周期性喚醒源是實(shí)時(shí)時(shí)鐘,它既可以從外部晶體振蕩器(對(duì)于需要精確計(jì)時(shí)的應(yīng)用)運(yùn)行,也可以從一個(gè)低頻的內(nèi)部振蕩器(適合對(duì)精度要求不高的應(yīng)用)運(yùn)行。避免使用啟動(dòng)慢的晶體振蕩器作為高速系統(tǒng)時(shí)鐘;一個(gè)精確、快速啟動(dòng)的片上振蕩器是更好的選擇。
此外,由于許多產(chǎn)品定期喚醒以使用片上ADC采樣輸入,需要足夠時(shí)間讓數(shù)字電路喚醒,模擬電路穩(wěn)定后才能開(kāi)始有效測(cè)量。模擬模塊的啟動(dòng)行為可能對(duì)活動(dòng)模式時(shí)間有重大影響;使用外部去耦電容的電壓調(diào)節(jié)器或參考可能需要數(shù)毫秒時(shí)間才能穩(wěn)定。有時(shí),MCU供應(yīng)商只引述數(shù)字電路的喚醒時(shí)間,而忽略了模擬電路穩(wěn)定所需的時(shí)間。因此,對(duì)于系統(tǒng)設(shè)計(jì)師來(lái)說(shuō),分析模擬電路和數(shù)字電路的整體喚醒和穩(wěn)定時(shí)間,以計(jì)算這部分浪費(fèi)電能的真實(shí)成本是非常重要的。
其他考慮因素
還有其他方式可以進(jìn)一步減少系統(tǒng)中的功耗。例如,MCU通??梢栽?.8V甚至更低的電壓下工作(在這種情況下可能沒(méi)有ADC功能;指令時(shí)鐘頻率降低),因此經(jīng)常使用2 x AA/AAA電池配置。一種創(chuàng)新的減少功耗(和環(huán)境影響)的方法是將設(shè)計(jì)轉(zhuǎn)換為單電池配置,其中電池可以一直使用到其壽命盡頭(0.9V)。為了實(shí)現(xiàn)這一點(diǎn),MCU必須集成一個(gè)高度優(yōu)化的直流-直流轉(zhuǎn)換器,能夠使用到電池的最低工作電壓,對(duì)于堿性電池來(lái)說(shuō)是0.9V。這種方法也可以節(jié)省供應(yīng)商和/或消費(fèi)者在電池上的開(kāi)銷。
減少功耗的另一種方法是使用高度集成的MCU,包括ADC、DAC和其他外設(shè),因?yàn)閼?yīng)用可以控制啟用和禁用這些外設(shè)。例如,有些MCU提供了專門的低功耗ADC,帶有突發(fā)模式,該模式可以在CPU關(guān)閉時(shí)采取模擬測(cè)量,以進(jìn)一步減少功耗。
對(duì)于大多數(shù)應(yīng)用來(lái)說(shuō),可能最好的方法是簡(jiǎn)單地返回到初始的功耗方程,以便切入主題:
總功耗 = 工作模式功耗 + 待機(jī)模式功耗 + 喚醒功耗
每個(gè)應(yīng)用將實(shí)際應(yīng)用由待機(jī)功耗,工作模式功耗,和喚醒功耗等各種元素的組合影響,因此,系統(tǒng)設(shè)計(jì)師可能會(huì)發(fā)現(xiàn),開(kāi)始任何分析最有幫助的方式是把功耗數(shù)值系統(tǒng)地分解為上面的元素。一旦得到了這些數(shù)值,系統(tǒng)設(shè)計(jì)師又可以考慮應(yīng)用的工作周期——應(yīng)用預(yù)期在待機(jī),工作,和喚醒模式下,花費(fèi)各比例的時(shí)間——以計(jì)算出平均功耗的數(shù)值。得到的數(shù)值應(yīng)該給系統(tǒng)設(shè)計(jì)師一個(gè)近似的,可用來(lái)客觀評(píng)價(jià)和對(duì)比MCU選項(xiàng)以達(dá)到最低可能的系統(tǒng)級(jí)功耗的值。
-
電源
+關(guān)注
關(guān)注
184文章
17495瀏覽量
249209 -
mcu
+關(guān)注
關(guān)注
146文章
16922瀏覽量
349994 -
控制器
+關(guān)注
關(guān)注
112文章
16133瀏覽量
177147
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論