低功耗運行仍然是各行各業應用的關鍵驅動力。隨著睡眠模式的加入,電源管理突然從單純的硬件問題轉變為軟件開發人員必須考慮的問題。
電源模式最簡單的應用是,當系統空閑時,您將其置于睡眠狀態。然而,當今的 MCU 提供了多種低功耗模式,使低功耗設計更加復雜。現在,開發人員需要考慮多核、高頻信號處理的復雜獨立性,以及如何可靠地滿足系統的所有實時期限。
我請 Cypress Semiconductor 的系統工程師 Greg Verge 分享了他在如何優化使用雙核 PSoC 6 的多種功耗模式方面的經驗。除了 Active(例如 LP 或 Low Power)和 Sleep(例如 ULP 或超低功耗)模式,這款 Cortex M0 + Cortex M4 SoC 支持深度睡眠和休眠模式。開發人員還可以選擇降低核心電壓以節省電力。
每種電源模式都會點亮 SoC 的不同部分(參見表 1)。Active 為整個芯片供電,而 Hibernate 僅驅動維持 RAM、實時時鐘和 I/O 引腳配置所需的最低要求。模式節省的電量越多,SoC 可以做的越少,喚醒回活動模式所需的時間就越長。
睡眠模式仍然是您的空閑循環。CPU 時鐘停止,但可以通過來自其他內核的中斷或請求快速恢復到活動模式。外圍設備可以保持活動狀態,CPU“立即”從中斷的地方執行代碼。
深度睡眠很像睡眠,但更多的芯片被關閉并且喚醒時間更長。使用睡眠或深度睡眠的決定取決于系統需要喚醒多快以及系統關閉時哪些外設需要處于活動狀態。高頻時鐘不通電,因此您會丟失一些通信鏈路 (UART),同時能夠保留其他通信鏈路(SPI 和 I2C)。您還會丟失 ADC,因為它們需要 MHz 時鐘。你的 PWM 也會消失,所以當 LED 熄滅時不要擔心。
事情開始變得復雜的地方是多核。低功耗模式會影響 CPU 和系統。讓一個 CPU 進入深度睡眠不會自動關閉系統資源,因為其他 CPU 可能正在使用它們。因此,只有兩個 CPU 都處于深度睡眠狀態時,您才能獲得完全的低功耗優勢。如果您的內核在嘗試深度睡眠時不同步,這可能會嚴重影響您的整體電源效率。
休眠模式
休眠模式將系統置于其最低功耗狀態。Hibernate 是一種承諾,因為您不能簡單地恢復執行;系統需要重置。當您只需要一點智能來喚醒系統時,休眠在非常長的睡眠期間很有用。這對于實現電源關閉/開啟功能或操作低頻傳感器很有用。
休眠模式還支持保留 RAM 以保存有限的狀態信息。例如,您可以存儲以前的傳感器讀數。當您重置系統時,它會檢查傳感器并將當前值與之前的值進行比較。如果它們在閾值范圍內,則不會觸發任何事件,系統將返回休眠模式。實現了最大功率效率。
僅僅因為你已經設法讓 CPU 進入正確的低功耗模式并不意味著你正在高效運行。在深度睡眠和休眠中,I/O 引腳的泄漏會主導功耗??紤]一個用于偏置電阻的引腳。除了確保使用盡可能高的電阻外,引腳還需要適當地保持高或低,以最大限度地減少功耗(即泄漏)。
休眠模式維護 I/O 引腳的配置,以便您可以將所有引腳保持在最低功耗狀態。例如,將電阻器直接連接到電源是一種常見的做法。如果您改為將電阻器連接到 GPIO,而不是電阻器不斷消耗功率,您現在可以打開和關閉電阻器。如果您沒有意識到這一點,您可能會假設系統在引腳實際繪制 1 ma 時以低 7 μA 的電流運行。從這個角度來看,效率降低了 143 倍,將 10 年的使用壽命縮短到 25 天。
影響低功耗運行的另外兩個主要因素是降低核心電壓和選擇穩壓器。例如,PSoC 6 可以為其內核提供 1.1 V 或 0.9 V 的電壓。您無法以 0.9V 快速為內核提供時鐘,但如果您只是檢查溫度傳感器,那么 50 MHz 仍然要高得多處理超出您的需要。
穩壓器的選擇(集成 LDO 或高效開關模式降壓轉換器)允許您以功率效率換取成本。使用降壓轉換器可為您提供 90% 的效率,但代價是外部電感器。
隨著芯片制造商不斷改進低功耗運行,我們的嵌入式系統將能夠事半功倍。請記住,隨著更多選項的出現,更多的方法可以消除您優化系統的所有辛勤工作,只需簡單地誤解系統實際在做什么。
表 1:不同的功耗操作模式使開發人員能夠優化運行時功耗,但您仍然需要小心。此處顯示的是 Cypress Semiconductor 的雙核 PSoC 6 的模式、電流和喚醒時間。
-
電阻器
+關注
關注
21文章
3779瀏覽量
62114 -
穩壓器
+關注
關注
24文章
4223瀏覽量
93760 -
PSoC
+關注
關注
12文章
170瀏覽量
91892
發布評論請先 登錄
相關推薦
評論