<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32的低功耗設(shè)計

          STM32的低功耗設(shè)計

          作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏

          這三種模式下的典型功耗如下:

          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


          上一頁 1 2 下一頁

          關(guān)鍵詞: STM32低功耗設(shè)

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();