無(wú)論您的嵌入式設(shè)計(jì)是否能夠在電池或墻壁電源下工作,它都需要從一開(kāi)始就針對(duì)能效進(jìn)行優(yōu)化。本文探討了選擇MCU時(shí)需要考慮的許多要點(diǎn),包括其功率曲線(xiàn),各種工作模式下的可用控制功能以及外設(shè)的功耗。
低功耗嵌入式設(shè)計(jì)的需求一直受到希望在消耗最小功率的同時(shí)盡可能長(zhǎng)時(shí)間地運(yùn)行應(yīng)用程序。在電池供電的系統(tǒng)中,這種需求被放大了。此外,在電池供電的系統(tǒng)中,低功率意味著更低的操作成本和更小的電池尺寸,以使應(yīng)用更具移動(dòng)性。當(dāng)能源與今天的綠色計(jì)劃一樣高價(jià)時(shí),確保嵌入式設(shè)計(jì)消耗盡可能少的能量在墻壁驅(qū)動(dòng)的應(yīng)用中也具有重要意義。設(shè)計(jì)節(jié)能應(yīng)用還可以通過(guò)優(yōu)化功耗來(lái)確保管理散熱和在源控制的熱量產(chǎn)生的較小開(kāi)銷(xiāo)。牢記上述明顯的優(yōu)勢(shì),今天的嵌入式應(yīng)用設(shè)計(jì)師再也不能忽視優(yōu)化功耗的問(wèn)題。本文將通過(guò)分析大多數(shù)微控制器目前提供的各種功耗模式,重點(diǎn)介紹有助于嵌入式系統(tǒng)功耗的主要因素。然后,我們將分析嵌入式應(yīng)用在功耗方面的實(shí)際例子以及如何最大化其效率。
MCU功耗
首先,選擇一個(gè)時(shí)需要注意幾點(diǎn)。 MCU或外部組件。 MCU的總功耗由其在不同模式下的功耗來(lái)定義,通常是活動(dòng)和待機(jī)(包括睡眠,休眠等),并考慮從一種模式轉(zhuǎn)換到另一種模式所消耗的功率。讓我們更詳細(xì)地介紹這些電源模式。
MCU的有功功耗是MCU運(yùn)行時(shí)消耗的功率。由于幾乎所有控制器都基于CMOS邏輯,因此主要在切換期間消耗功率。作為起點(diǎn),讓我們分析一下CMOS逆變器的功耗(圖1),這是任何CMOS設(shè)計(jì)的基本構(gòu)建模塊。
圖1:CMOS逆變器。
CMOS電路通過(guò)在切換時(shí)對(duì)各種負(fù)載電容充電來(lái)消耗功率。在考慮內(nèi)部架構(gòu)時(shí),這主要是柵極電容。然而,也有漏極和源極電容。當(dāng)負(fù)載電容器正在充電時(shí),功率在PMOS晶體管上消耗,當(dāng)負(fù)載電容器放電時(shí),功率在NMOS上消耗。 CMOS反相器的NMOS晶體管的瞬時(shí)功耗(圖1)由公式1給出。
從公式6它可以可以看出,功耗取決于開(kāi)關(guān)頻率,負(fù)載電容和電源電壓。負(fù)載電容由技術(shù)參數(shù)和設(shè)計(jì)布局決定,因此超出了嵌入式系統(tǒng)設(shè)計(jì)人員的控制范圍。然而,另外兩個(gè)因素 - 開(kāi)關(guān)頻率和電源電壓 - 是系統(tǒng)設(shè)計(jì)人員可以修改的因素,旨在影響給定微控制器的功率效率。當(dāng)然,這些參數(shù)的價(jià)值也在很大程度上取決于設(shè)計(jì)的應(yīng)用但是,現(xiàn)代控制器在內(nèi)部調(diào)節(jié)電壓下運(yùn)行,而與電源引腳上的輸入電壓無(wú)關(guān)。市場(chǎng)上有控制器,可在0.5V至5.5V范圍內(nèi)工作,但內(nèi)部核心在1.8V的固定調(diào)節(jié)電壓下運(yùn)行,與電源電壓無(wú)關(guān)。因此,這個(gè)參數(shù)在現(xiàn)代控制器的情況下并不像過(guò)去那樣重要。但是,最好將電源電壓保持在穩(wěn)壓器的最低要求或接近調(diào)節(jié)器旁路的電壓。
這使系統(tǒng)設(shè)計(jì)人員只有一個(gè)參數(shù)可用于影響功率控制:開(kāi)關(guān)頻率。因此,在工作模式下,應(yīng)計(jì)算MCU所需的最低工作速度,并應(yīng)避免更高的時(shí)鐘速度。
待機(jī)功率
確定電池壽命的另一個(gè)主要因素是嵌入式系統(tǒng)的待機(jī)功耗系統(tǒng)。大多數(shù)應(yīng)用程序可能會(huì)在待機(jī)模式下花費(fèi)大量時(shí)間。在這些系統(tǒng)中,總系統(tǒng)功耗的主要因素是待機(jī)電流而不是有功電流。待機(jī)電流是漏電流,電源管理電路,時(shí)鐘系統(tǒng),電源調(diào)節(jié)器,RTC,IO,中斷控制器等消耗的電流之和。根據(jù)待機(jī)模式支持的特定功能,它在控制器之間有所不同。最后,不應(yīng)忽視從低功耗模式轉(zhuǎn)換到活動(dòng)模式時(shí)的功耗。在這兩種模式之間轉(zhuǎn)換時(shí),器件最終會(huì)浪費(fèi)大量功率。
基于這些功耗模式,MCU的平均功耗為:
其中,有功功率= MCU處于活動(dòng)狀態(tài)的時(shí)間*有效電流
睡眠功率= MCU處于休眠狀態(tài)的時(shí)間*睡眠電流
轉(zhuǎn)換功率=從睡眠狀態(tài)轉(zhuǎn)換為活動(dòng)模式時(shí)消耗的功率
時(shí)間量系統(tǒng)保持活動(dòng)和待機(jī)模式取決于應(yīng)用程序。某些應(yīng)用程序可能需要一直運(yùn)行MCU,而有些應(yīng)用程序可能需要偶爾運(yùn)行它。市場(chǎng)上有一些MCU可以提供除睡眠之外的其他省電模式。示例包括休眠模式,深度睡眠模式或關(guān)閉模式,其中功耗可以是大約10s的nA。系統(tǒng)設(shè)計(jì)人員需要查看系統(tǒng)必須在大部分時(shí)間內(nèi)運(yùn)行的模式下的功耗,以確保整體設(shè)計(jì)具有高功效。
如果我們看得更深,就必須考慮一些重要的權(quán)衡取舍。對(duì)于某些應(yīng)用,它可能證明系統(tǒng)以更高的速度運(yùn)行是有益的,因此它可以更快地完成工作并返回到低功耗模式?;蛘?,其他系統(tǒng)可以以較慢的速度更好地運(yùn)行以保持低有效功耗。在這里,系統(tǒng)設(shè)計(jì)人員必須分析應(yīng)用的最佳情況,考慮不同工作速度下的電流,退出低功耗模式所需的時(shí)間,低功耗模式下的電流消耗以及低功耗模式下的電流消耗。系統(tǒng)需要在活動(dòng)和睡眠模式之間切換。
外圍電源
MCU功耗只是考慮系統(tǒng)功耗時(shí)的一個(gè)因素。有時(shí),工程師傾向于過(guò)多地關(guān)注MCU并忽略外部外設(shè)的功耗。如果目標(biāo)是優(yōu)化整個(gè)嵌入式系統(tǒng)解決方案的功耗,則無(wú)法做到這一點(diǎn)。
考慮一個(gè)簡(jiǎn)單的家用溫度測(cè)量系統(tǒng)(見(jiàn)圖2)。
圖2:溫度監(jiān)控系統(tǒng)。
該系統(tǒng)有一個(gè)用于測(cè)量傳感器電壓的ADC,一個(gè)用于生成參考的DAC,一個(gè)用于顯示數(shù)據(jù)的LCD模塊和一個(gè)用于處理數(shù)據(jù)的MCU。應(yīng)從單個(gè)塊級(jí)別開(kāi)始保存電源。如果計(jì)算該系統(tǒng)的功耗,則由下式給出:
對(duì)于該系統(tǒng),由于溫度不會(huì)快速變化,因此采樣率不需要很高。通過(guò)僅在需要時(shí)接通ADC和DAC并優(yōu)化MCU保持在活動(dòng)和待機(jī)模式的時(shí)間比,可以將功耗保持在最低水平。如果該系統(tǒng)由分立元件組成,則協(xié)調(diào)可能變得非常具有挑戰(zhàn)性。基于分立元件的架構(gòu)的功耗看起來(lái)與圖3所示的系統(tǒng)類(lèi)似。
圖3:使用基于離散的解決方案的功耗系統(tǒng)。
圖3中,待機(jī)電流主要是由MCU的待機(jī)電流和ADC,DAC和LCD的有功電流做出貢獻(xiàn)。 ADC可以有一個(gè)選項(xiàng),通過(guò)該選項(xiàng),MCU可以在進(jìn)入休眠狀態(tài)之前停止ADC轉(zhuǎn)換,以節(jié)省ADC功耗。但是,ADC仍然會(huì)有一些待機(jī)電流,DAC也是如此?;蛘?,可以使用片上系統(tǒng)(SoC)架構(gòu)來(lái)實(shí)現(xiàn)該系統(tǒng),其中所有外圍設(shè)備都集成在單個(gè)芯片上,同時(shí)具有控制每個(gè)外圍設(shè)備的功率的能力。該系統(tǒng)的功耗與圖4所示類(lèi)似,與基于分立元件的實(shí)現(xiàn)相比,可以顯著降低功耗。
圖4:基于SoC的解決方案的功耗與離散解決方案。
在設(shè)計(jì)任何系統(tǒng)時(shí),我們應(yīng)該使用所需的而不是使用可用的東西。當(dāng)需求被高估時(shí),例如選擇所需的更快或更復(fù)雜的組件,結(jié)果是更高的成本和更低的功率效率。例如,以1 Msps的速度運(yùn)行的20位ADC顯然比溫度測(cè)量應(yīng)用所需的更多。此外,ADC需要一個(gè)高頻工作時(shí)鐘才能以此速率進(jìn)行采樣。
SoC技術(shù)的進(jìn)步使開(kāi)發(fā)人員可以訪(fǎng)問(wèn)片上的各種外設(shè),如濾波器,ADC,DAC,運(yùn)算放大器和可編程模擬和數(shù)字模塊。例如,賽普拉斯半導(dǎo)體的PSoC器件具有寬工作頻率范圍,可編程時(shí)鐘源用于包括MCU在內(nèi)的不同模塊,并支持多種電源管理模式。這些模式范圍從活動(dòng)模式,設(shè)備上的所有功能都可用;休眠模式,電流可低至100 nA,同時(shí)保留配置寄存器和RAM的內(nèi)容。
與SoC架構(gòu)一樣復(fù)雜,它們幾乎代表整個(gè)系統(tǒng),使計(jì)算功耗更加直接。例如,如果系統(tǒng)什么都不做,那么整個(gè)系統(tǒng)的待機(jī)電流可以低至100nA。由于外設(shè)和MCU可以單獨(dú)打開(kāi)或關(guān)閉,因此只有相應(yīng)的塊可以在下一次喚醒事件后恢復(fù)運(yùn)行。從系統(tǒng)的角度來(lái)看,這是SoC可以擁有的關(guān)鍵特性之一。在一些系統(tǒng)中,有可能在一定時(shí)間內(nèi)僅需要一些硬件功能而不是MCU,例如,當(dāng)使用DAC產(chǎn)生波形時(shí)。此任務(wù)可以通過(guò)DMA(直接存儲(chǔ)器訪(fǎng)問(wèn))和沒(méi)有MCU的DAC完成,因此,MCU可以關(guān)閉。 SoC使用戶(hù)能夠設(shè)計(jì)具有成本和空間效率的超低功耗嵌入式系統(tǒng),并具有快速上市的額外優(yōu)勢(shì)。
基于SoC的系統(tǒng)中的系統(tǒng)平均功率計(jì)算變得更加復(fù)雜,因?yàn)檠刂鴮?duì)于平均MCU電流,我們需要考慮芯片上每個(gè)外設(shè)的每個(gè)工作狀態(tài)。平均系統(tǒng)電流為:
其中:
n =支持的功率模式數(shù)量
Ik =功率模式下的電流消耗k
Tk =功率模式下花費(fèi)的時(shí)間量k
它=從每個(gè)低功耗模式轉(zhuǎn)換到活動(dòng)模式所消耗的電流
p =外設(shè)數(shù)量
Ij =外設(shè)j的電流消耗
Tj =外設(shè)j的開(kāi)啟時(shí)間
電池壽命
電池壽命是任何電池供電應(yīng)用的關(guān)鍵規(guī)格。電池額定值以mA -Hr為單位給出,這意味著它可以提供“X”mA電流一小時(shí)。如果我們知道平均電流,我們就可以計(jì)算電池壽命:
如果Iavg以mA為單位,則公式10將給出電池壽命,以小時(shí)為單位。
功耗是一個(gè)主要的幾乎每個(gè)消費(fèi)者都關(guān)注壁掛式和電池供電設(shè)備的因素。在當(dāng)今競(jìng)爭(zhēng)激烈的市場(chǎng)中,設(shè)計(jì)消耗更高功率或成本更高的產(chǎn)品可能會(huì)降低市場(chǎng)成功率。當(dāng)優(yōu)化功耗是一個(gè)主要標(biāo)準(zhǔn)時(shí),設(shè)計(jì)人員應(yīng)該考慮關(guān)鍵參數(shù),例如選擇合適的組件并確保它們不會(huì)因所需的最終應(yīng)用而被高估,或者系統(tǒng)不能以高于所需的速度運(yùn)行。此外,開(kāi)發(fā)人員還要認(rèn)真考慮系統(tǒng)在活動(dòng)和待機(jī)模式下花費(fèi)的時(shí)間以及每個(gè)模式的相對(duì)功耗。
-
mcu
+關(guān)注
關(guān)注
146文章
17178瀏覽量
351679 -
嵌入式
+關(guān)注
關(guān)注
5087文章
19145瀏覽量
306134 -
電池
+關(guān)注
關(guān)注
84文章
10621瀏覽量
130241
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論