STM32的低功耗設(shè)計
這三種模式下的典型功耗如下:
Figure 5. Sleep模式下的典型功耗
Figure 6. Stop和Standby模式下的典型功耗
可見Standby模式功耗最低,在數(shù)個uA;其次是Stop模式,為數(shù)十uA;而Sleep模式的功耗最大,是其余兩種模式的100倍。那么既然Standby功耗最低,那么另外兩種模式的意義又是什么呢?首先,這三種模式下的喚醒時間各不相同:
Figure 7. 不同休眠模式下的啟動時間
其次,這三種模式的特性也不相同:
·Sleep mode
喚醒后程序繼續(xù)運行
CPU停止運行,但外設(shè)繼續(xù)運行,IO狀態(tài)保持不變
喚醒時間最短,但功耗較大。
·Stop mode
所有時鐘停止運行
IO狀態(tài)不變
喚醒后程序從休眠處繼續(xù)運行
1.8 V domain are stopped, the PLL, the HSI and the HSE RC oscillators are disabled. 所以RCC和備份區(qū)在啟動后需要重新配置。
·Standby mode
功耗最低
每次喚醒后和System Reset/POR一樣,程序會重新運行。
IO呈高阻態(tài)
RAM與寄存器數(shù)據(jù)全部丟失,除備份寄存器外。
1.8 V domain are stopped, the PLL, the HSI and the HSE RC oscillators are disabled. 所以RCC和備份區(qū)在啟動后需要重新配置。
可見Standby有三個缺點:
1) 喚醒時間長
2) 喚醒源單一,只有RTC、WAKEUP、WATCHDOG和RESET
3) 每次喚醒等同與重啟,會丟失RAM中的數(shù)據(jù)
所以究竟使用什么樣的休眠程序,還是需要看具體項目的具體特性的,在功耗-喚醒時間-喚醒源-休眠特性上做出一個折中。
參考資料:
·STM32F103xC_D_E Datasheet Rev 7, Sep 2009, ST Microcontroller
·STM32 Technique Reference Manual Rev 14, ST Microcontroller
評論