打印
[STM8]

STM8L 低功耗模式说明

[复制链接]
584|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1. 功耗说明
1.1 电源管理

[size=0.83em]
4a191266299d47f58cf45330dbca18e4.png (35.3 KB, 下载次数: 0)
下载附件
[color=rgb(153, 153, 153) !important]昨天 21:27 上传




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



1.2 时钟管理



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

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



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可以配置为:
上拉输入
输出低或者高的电平

浮空输入会导致施密特触发器频繁触发,增加功耗

使用特权

评论回复
沙发
asmine| | 2022-10-17 20:48 | 只看该作者
功耗表现如何呢?有实测参数么

使用特权

评论回复
板凳
szt1993| | 2022-10-19 19:19 | 只看该作者
楼主对低功耗说明的很详细,如何进入说的也很详细,如果有图片讲解就更好了

使用特权

评论回复
地板
林间有新绿| | 2022-10-21 02:29 | 只看该作者
其实我建议楼主还是不用STM8系列比较好,不好开发的

使用特权

评论回复
5
风吻过你的不羁| | 2022-10-21 05:01 | 只看该作者
现在STM8是不是都快被抛弃了

使用特权

评论回复
6
喜爱弄人| | 2022-10-21 05:33 | 只看该作者
我还没用过STM8L,不过ST的带L系列的低功耗都是OK的

使用特权

评论回复
7
占得人间第一春| | 2022-10-21 06:05 | 只看该作者
楼主有相关的低功耗方面的配置么?

使用特权

评论回复
8
笨蛋无需搭理| | 2022-10-21 06:37 | 只看该作者
其实如果cubemx能配置STM8的底层函数就好了,配置低功耗其实是个麻烦的事儿

使用特权

评论回复
9
偷吻月亮| | 2022-10-21 07:11 | 只看该作者
STM8L的低功耗,不用到的IO可以设置输出高电平?

使用特权

评论回复
10
晚晚皆安| | 2022-10-21 07:43 | 只看该作者
我记得STM8现在供货也不是很好,很缺货的

使用特权

评论回复
11
极客晨星| | 2022-10-21 08:15 | 只看该作者
这个讲的比较详细,其实我就想知道STM8L的未用到的IO怎么设计比较好

使用特权

评论回复
12
銀河| | 2022-10-21 08:47 | 只看该作者
我记得STM32的低功耗配置未用到IO是可以设置上拉输入的

使用特权

评论回复
13
地下縱情搖擺| | 2022-10-21 09:19 | 只看该作者
看参数,STM8L系列的低功耗还是不错的

使用特权

评论回复
14
loutin| | 2022-11-1 19:49 | 只看该作者
STM8L和STM8S 选哪个好?

使用特权

评论回复
15
elsaflower| | 2022-11-1 20:02 | 只看该作者
STM8L与STM8S在编程方面差别有多大  

使用特权

评论回复
16
sheflynn| | 2022-11-1 20:22 | 只看该作者
stm8芯片的待机电流是多少      

使用特权

评论回复
17
软核硬核| | 2022-11-2 11:52 | 只看该作者
所以进入STOP时功耗是多少?看文章里面没说明0.0

使用特权

评论回复
18
SantaBunny| | 2022-11-2 14:30 | 只看该作者
感觉STM8L系列的低功耗还不错

使用特权

评论回复
19
kkzz| | 2022-11-2 16:59 | 只看该作者
当STM8L052低功耗遇到看门狗怎么处理

使用特权

评论回复
20
saservice| | 2022-11-2 17:38 | 只看该作者
SMT8L052C6TC静态电流大怎么回事

使用特权

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

本版积分规则

262

主题

1384

帖子

2

粉丝