STM32低功耗模式实践
Posted 随想ustb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32低功耗模式实践相关的知识,希望对你有一定的参考价值。
STM32低功耗模式实践
STM32一共有三种低功耗模式,睡眠模式、停止模式以及待机模式。
其中,睡眠模式时内核停止运行,但外设仍在工作,所有外设的时钟不会被关闭。
停止模式,除了Cortex-M3内核停止外,所有外设时钟也被关闭,可以选择使能内部时钟,SRAM和寄存器内容被保留,IO口保持为进入睡眠前的状态。
待机模式时,所有1.8V电源部分全部断电,SRAM和寄存器内容被丢失,这最为省电的一种方式,但是唤醒后就丢失了记忆。
本文选择使用停止模式,要低功耗,又要唤醒后继续运行,那stm32低功耗模式可以做到多省电呢?我们看看停止模式和待机模式下的电流标称值。
我在stm32f103的一个开发板上实验了下停止模式的RC时钟唤醒以及外部中断唤醒,使用一个100欧的电阻测板子的耗电电流,发现基于RC时钟唤醒的停止模式时整板电流居然只有30uA!真的非常厉害。这也是我更换了一个低功耗LDO(待机4uA)的功劳!由于没有使能任何外设,只使能了内部40K低速振荡器,因而与系统的标称值已经非常接近。如果使用IO唤醒,那么要使能该IO的相应外设,实测睡眠时高达1.1mA。这两种唤醒模式可以被用于两种不同的场景,比如RC定时唤醒用于主动上报的数据采集器,外部唤醒的机制用于运动触发唤醒机制。
|
| 手册标准值 | 实测值 |
RC定时唤醒 | 睡眠 | 25uA | 30uA(26uA+4uA) |
运行 | 30-70mA | 24mA | |
外部中断唤醒 | 睡眠 | 25uA+外设 | 1.1mA |
运行 | 30-70mA | 25mA |
以上是关于STM32低功耗模式实践的主要内容,如果未能解决你的问题,请参考以下文章