#技术资源# #申请原创#
APM32 MCU 低功耗模式详解
APM32系列MCU(基于ARM Cortex-M内核)通过多种低功耗模式优化能耗,适用于电池供电或对功耗敏感的场景。以下是典型模式的介绍及对比: 1. 运行模式(Run Mode)- 功耗:最高(所有外设和CPU正常工作)。
- 特点:默认工作状态,可通过动态调整时钟频率(如降频)降低功耗。
- 唤醒:无需唤醒,持续运行。
2. 睡眠模式(Sleep Mode)- 进入方式:执行WFI(等待中断)或WFE(等待事件)指令。
- 功耗:较运行模式显著降低。
- 特点:
- CPU暂停,外设(如定时器、UART)仍可运行。
- 任意中断或事件均可唤醒,唤醒后从暂停处继续执行。
- 适用场景:短时休眠,需快速响应外设事件(如传感器轮询)。
3. 停止模式(Stop Mode)- 进入方式:配置低功耗寄存器(如PWR_EnterSTOPMode())。
- 功耗:极低(微安级)。
- 特点:
- 关闭主时钟(HCLK、PCLK),保留SRAM和寄存器内容。
- 唤醒后自动恢复时钟,需重新配置时钟树。
- 唤醒源:外部中断(EXTI)、RTC闹钟、特定引脚信号等。
- 适用场景:需保持数据且响应时间较短的应用(如远程控制待机)。
4. 待机模式(Standby Mode)- 进入方式:设置待机标志并触发低功耗指令。
- 功耗:最低(接近关机,通常<1μA)。
- 特点:
- 关闭所有电源域(除备份域),SRAM和寄存器数据丢失。
- 唤醒后系统复位,需从头执行程序。
- 唤醒源:NRST引脚复位、RTC闹钟、WKUP引脚上升沿等。
- 适用场景:长时间休眠,仅需定时唤醒或按键触发(如智能表计)。
在MCU数据手册中有功耗的测试条件和芯片各模式功耗的典型值。
以APM32F030为例
手册中写的功耗测试条件:
需要格外注意引脚设置成模拟输入功能这一项,因为引脚不配置的话默认是在浮空输入状态,引脚浮电平会触发内部的施密特触发器,导致有额外的耗电。
配置成模拟输入可以强制关闭施密特触发器,让引脚保持高阻态。就不会有电流消耗了。
这是将APM32F030进STOP休眠前,引脚都配置成模拟输入的功耗。
下面是引脚没有配置,保持默认浮空状态的功耗。
可以看到不配置IO的话,stop功耗高达1.31mA,配置成模拟输入模式后降到了9.5uA.
影响是相当大的。
|