你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8L 低功耗模式说明

[复制链接]
STMCU小助手 发布时间:2022-10-13 21:27
1. 功耗说明
1.1 电源管理

4a191266299d47f58cf45330dbca18e4.png
MVR 可以提供一个 1.8V 驱动能力 25mA 的电源
LPVR 可以提供一个 1.55V 驱动能力 200uA 的电源

43bc3ef5a5404909affca20f89d57947.png

1.2 时钟管理

3a0a9b40261846fa856561f8fdf03a60.png

stm8 的默认时钟是 HSI/8
HSI 如果不关闭会消耗 100uA 的电流

理论情况下低功耗的消耗电流如下表:

f843357b18f640f2aae685eaee0d740e.png

2. Low Power 模式
STM8L05xxx, STM8L15xxx, STM8L162xx, STM8AL31xx 和 STM8AL3Lxx 的低功耗模式如下:
Wait mode: CPU 时钟停止,外设继续运行
Low power run mode:使用低速振荡器(LSI或LSE)从RAM中执行代码;选定的外围设备保持活动状态
Low power wait mode:CPU时钟已停止,选定的外设仍保持活动状态
Active-halt mode:CPU时钟停止, AWU/RTC(自动唤醒/实时时钟)和IWDG(独立看门狗)可 以继续运行
Halt mode:CPU、所有外设都停止

2.1 Wait mode
wait模式分为
WFI (wait for interrupt) 模式
WFE (wait for event) 模式

可通过 WFE 寄存器配置等待的事件
1. 当进入 wait 模式时,全局中断将自动启用
2. 在进入 WFI 模式之前,必须至少启用一个中断
3. 在进入 WFE 模式之前,必须至少启用一个事件源
4. 如果在 WFE 模式期间发生中断,则执行相关的中断服务程序。在此程序之后,MCU返回到等待事件模式。

2.2 Low power run mode
这种模式是基于来自RAM的代码执行,使用一个低速时钟源。在使用此模式时,必须从高速时钟源切换到低速时钟源。
主电压调压器(MVR)被关闭,并且低功率电压调压器(LPVR)用于向内部结构提供电压。 闪存由软件以IDDQ模式配置。
这种模式不支持ADC,因为它的时钟源的最小频率必须为1MHz。
在此模式下不允许中断,因为中断向量位于Flash中(它已关闭)。因此,所有的中断都必须被屏蔽。

进入 Low power run mode 的步骤如下:
1.关闭所有未使用的外围设、振荡器(LSI或LSE除外)和 ADC
2.屏蔽所有中断
3.进入RAM中执行程序
4.系统时钟切换为 LSI 或者 LSE
5.置位 FLASH_CR1 寄存器中的 EEPM 位,将 FLASH 配置为 IDDQ 模式
6.添加一个软件延迟循环,以确保 Flash / Data EEPROM已关闭
7.通过在CLK_REGCSR寄存器中设置 REGOFF 位来配置调节器的超低功率模式 (不要与配置内部参考电压的 PWR_CSR2 中的 ULP 位相混淆)


退出 Low power run mode 的步骤如下
1.清除 CLK_REGCSR寄存器中的 REGOFF 位来打开 调节器 ,等待 REGREADY 置位
2.清除 FLASH_CR1 寄存器中的 EEPM 位来打开 Flash / Data EEPROM
3.可切换时钟
4.可打开中断
5.可跳转到 FLASH 中执行程序

2.3 Low power wait mode
此模式为执行Low power run mode + wait mode。
即 在 RAM 中执行程序 同时 有WFE 模式
它只能通过 外部或内部 事件 退出,在这种情况下,MCU返回到Low power run mode。
不能使用WFI指令,因为必须在低功率运行模式下禁用中断。

2.4 Halt mode
进入Halt模式:
Halt 模式通过执行 HALT 指令来进入
在进入 Halt 模式之前,必须处理完挂起的中断,防止刚进入 halt 模式就被立马唤醒
如果置位 CLK_ICKCR 寄存器的 SAHALT 位,MCU 一进入 Active-halt 模式,主稳压器MVR就断电,因此唤醒时间更长。

退出Halt模式:
退出 Halt 模式是通过 外部中断 或者设置的 外设中断 来退出的
如果置位 CLK_ICKCR 寄存器的 FHW 标志位,则唤醒后默认时钟为 HSI/8 ,否则默认时钟为进入 Halt 模式之前的时钟(启动比较慢)

2.5 Active-halt mode
基于 halt 模式,但是可以使用一些外设。
在主动停止模式下,主振荡器、CPU和几乎所有的外设都停止。
如果启用,只有LSIRC振荡器或LSE晶体运行才能驱动SWIM、BEEP、IWDG、RTC和LCD。一旦上面的一些外设被启用,用户就可以通过HALT指令进入此模式。

3. 低功耗tips
低功耗模式下没用的外设时钟就关闭
未连接的 IO 口要有稳定的电平输入或输出,禁止浮空输入或输出
适当减小 VDD 来降低功耗
可以通过降频降低功耗
对于等待操作,能睡就睡
按键上的上拉电阻可以大点

GPIO 默认都是 浮空输入 模式,没有用到的IO可以配置为:
上拉输入
输出低或者高的电平

浮空输入会导致施密特触发器频繁触发,增加功耗
————————————————
版权声明:Vice Versa XL


收藏 评论0 发布时间:2022-10-13 21:27

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版