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