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