打印
[STM32F1]

STM32有三种低功耗模式,如何选?

[复制链接]
821|33
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenci2013|  楼主 | 2025-2-25 19:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、睡眠模式
特点:内核停止工作,但外设(如NVIC)和系统时钟(Systick)仍运行。
功耗:较低,因为大部分电路处于休眠状态,但仍需维持外设和时钟的运行。
数据保留:寄存器和SRAM内容保持不变。
应用场景:适用于需要频繁唤醒并处理简单任务的应用,如低功耗传感器网络节点、按键扫描等。
优势:能够快速唤醒并恢复工作,同时保持一定的外设和系统时钟运行。
2、停止模式
应用场景:适用于需要频繁唤醒并处理简单任务的应用,如低功耗传感器网络节点、按键扫描等。
优势:能够快速唤醒并恢复工作,同时保持一定的外设和系统时钟运行。
应用场景:适用于需要频繁唤醒并处理简单任务的应用,如低功耗传感器网络节点、按键扫描等。
优势:能够快速唤醒并恢复工作,同时保持一定的外设和系统时钟运行。
3、待机模式
特点:1.8V内核电源关闭,仅备份寄存器和待机电路维持供电。
功耗:最低,因为几乎所有电路都被关闭,仅保留最低限度的电源以维持寄存器的基本功能。
数据丢失:寄存器和SRAM内容全部丢失,仅备份寄存器内容保留。
应用场景:适用于需要极低功耗且对唤醒时间要求不高的应用,如长期待机的遥控器、智能手环等。
优势:功耗极低,适用于长时间不使用的场景,同时能够保留备份寄存器的关键数据。

使用特权

评论回复
沙发
公羊子丹| | 2025-3-10 08:04 | 只看该作者
感觉睡眠模式最容易用,尤其是要经常处理中断的应用,切换快又省电。

使用特权

评论回复
板凳
周半梅| | 2025-3-10 08:07 | 只看该作者
停止模式比睡眠模式更省电,但唤醒时间稍微长点,关键是要注意时钟配置。

使用特权

评论回复
地板
帛灿灿| | 2025-3-10 08:12 | 只看该作者
待机模式的功耗最低,不过数据不保留,得想好数据存储的方案,不然恢复时要重新初始化。

使用特权

评论回复
5
童雨竹| | 2025-3-10 08:14 | 只看该作者
其实睡眠模式最适合频繁唤醒的场景,比如传感器数据轮询,挺实用的。

使用特权

评论回复
6
万图| | 2025-3-10 08:16 | 只看该作者
我之前用停止模式来做低功耗项目,发现RTC唤醒还挺稳的,功耗降得也不少。

使用特权

评论回复
7
Wordsworth| | 2025-3-10 08:18 | 只看该作者
待机模式虽然省电,但每次启动相当于复位,使用时要特别注意数据备份。

使用特权

评论回复
8
Bblythe| | 2025-3-10 08:19 | 只看该作者
STM32F1的低功耗模式有点局限,像G0、U5那些新系列的低功耗更灵活。

使用特权

评论回复
9
Pulitzer| | 2025-3-10 08:21 | 只看该作者
停止模式下能否保持ADC数据?我之前试过发现ADC的转换结果会丢失。

使用特权

评论回复
10
Uriah| | 2025-3-10 08:22 | 只看该作者
RTC加停止模式是个不错的组合,既能省电又能按时唤醒处理任务。

使用特权

评论回复
11
Clyde011| | 2025-3-10 08:24 | 只看该作者
用待机模式的话,建议配合EEPROM或Flash保存关键数据,掉电也不怕丢失。

使用特权

评论回复
12
jackcat| | 2025-3-12 15:13 | 只看该作者
STM32 微控制器通常有睡眠模式(Sleep mode)、停止模式(Stop mode)和待机模式(Standby mode)这三种低功耗模式,每种模式在功耗、唤醒时间和保留的系统状态等方面存在差异。

使用特权

评论回复
13
hilahope| | 2025-3-12 15:51 | 只看该作者
睡眠模式:此模式下,仅 CPU 停止运行,而所有外设(如定时器、串口等)仍正常工作,并且保持运行状态。因此,睡眠模式的功耗相对较高,但能快速恢复到正常运行状态。适用于对功耗要求不是特别严格,且需要外设持续工作的场景,例如在进行数据采集时,需要定时器定时触发 ADC 采样,同时又希望在空闲时降低 CPU 功耗。
停止模式:该模式下,内核停止,所有的时钟都被关闭,但是 SRAM 和寄存器的内容会被保留。停止模式的功耗比睡眠模式低很多,因为大部分外设和时钟都被关闭了。不过,唤醒时间相对较长,因为需要重新配置时钟。适合对功耗有一定要求,且允许有短暂唤醒延迟的应用,比如智能手环在不进行运动检测时进入停止模式,当检测到运动时再唤醒。
待机模式:这是功耗最低的模式,几乎关闭了所有的外设和功能,仅保留备份寄存器和待机电路。待机模式下,SRAM 和寄存器的内容会丢失,唤醒时间也最长。适用于对功耗极其敏感,且允许在唤醒后重新初始化系统的设备,例如一些使用电池供电的无线传感器节点,长时间处于待机状态,只有在接收到特定信号时才唤醒进行数据采集和传输。

使用特权

评论回复
14
modesty3jonah| | 2025-3-12 18:13 | 只看该作者
如果系统只需要执行非常简单的任务,并且对成本和功耗有极其严格的要求,待机模式可以满足需求。

使用特权

评论回复
15
fengm| | 2025-3-12 18:30 | 只看该作者
选择合适的低功耗模式需要综合考虑系统的功耗需求、唤醒时间要求、数据保留需求和外设使用需求等因素。

使用特权

评论回复
16
louliana| | 2025-3-12 18:43 | 只看该作者
对于那些对电池续航时间要求极高的应用,如远程监控设备的电池供电模块或者一些小型的、依靠电池长期工作的传感器节点,待机模式是最佳选择。在这些应用中,设备大部分时间都处于非工作状态,只是偶尔需要进行一次数据采集或者通信操作。

使用特权

评论回复
17
benjaminka| | 2025-3-12 19:10 | 只看该作者
在从低功耗模式唤醒后,可能需要重新配置系统时钟和其他外设。

使用特权

评论回复
18
mollylawrence| | 2025-3-12 20:24 | 只看该作者
快速唤醒需求:如果需要快速唤醒并继续执行,睡眠模式可能是最佳选择。
外设运行需求:如果某些外设需要持续运行,睡眠模式或停止模式(Stop 0)可能更合适。
最低功耗需求:如果需要最低功耗,并且可以接受较长的唤醒时间,待机模式是最佳选择。
唤醒源:考虑可用的唤醒源,例如RTC闹钟、外部中断等,这些将决定您可以使用哪种模式。

使用特权

评论回复
19
pmp| | 2025-3-12 20:56 | 只看该作者
平衡功耗与唤醒速度,适合大多数物联网设备。

使用特权

评论回复
20
everyrobin| | 2025-3-12 21:23 | 只看该作者
待机模式下,除了备份寄存器外,其他RAM和寄存器内容会丢失,这是选择待机模式时需要考虑的因素。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

120

主题

6505

帖子

4

粉丝