stm8低功耗 唤醒

news/2024/10/29 0:32:29/

一.MCU耗能因素

现代的MCU一般使用CMOS技术,耗能包括2种,静态消耗和动态消耗。

总电能消耗=静态消耗+动态消耗,

即:IDD=f×IDynamicRun[uA/MHz]+IStatic[uA].

静态消耗:主要是晶体管消耗能量;

因此,电能消耗依赖于:

1.MCU芯片尺寸 或者说晶体管的数目;

2.MCU供电电压 降低电压可以成平方级别地降低电能消耗;

3.时钟频率 可以把时钟频率降低到刚好满足应用需要;

4.外设数目,使能的外设越多,耗能越大;

5.运行模式 合理选择工作模式可以大幅节能,如,全速工作极短时间后进入睡眠模式

二.节能方法

1.关闭不需要使用的外设;

2.所有未使用的引脚必须连接到一个确定的逻辑电平;

3.当有外设必须保持激活时,使用Wait模式来获得低功耗

4.使用合适的VDD值;

5.尽可能地使用低功耗运行模式;

6.如果不能使用低功耗模式,那就将主频降低到满足应用的最小值;

7.如果可能,使用动态控制I/O引脚的上拉功能。

三.低功耗模式

支持低功耗的MCU一般都有好几种运行模式,以ST公司的STM8L为例,它支持5种低功耗模式:

等待、低功耗运行、低功耗等待、主动停止、停止模式。

表1:STM8L低功耗运行模式:每一种模式的进入方式,节能级别和外设工作要求

模式

等待模式(wait)

低功耗运行

低功耗等待

主动停止

停机模式

入口

WF(I由中断唤醒)

WFE(则由事件唤醒)

软件代码

软件代码+WFE

HALT

HALT

晶振

LSI或LSE

LSI或LSE

LSI或LSE

CPU

外设

关,仅RTC开

唤醒

所有内部和外部中断,复位

所有内部和外部中断,复位,唤醒事件

软件代码,复位

内部和外部事件,复位

外部中断,RTC中断,复位

外部中断,复位

电压调节器

MVR

MVR

ULP

ULP

CLK_ICKCR

ULP

程序执行区

FLASH

FLASH

RAM

RAM

FLASH

FLASH

FLASH+E2

中断

允许

允许

禁止

禁止

允许

允许

中断服务后 返回状态

AL=0:main

AL=1:WFI

WFE

/

/

AL=0:main

AL=1主动停止

AL=0:main

AL=1:停止

事件处理后 返回状态

/

Main

/

低功耗运行

/

/

RAM+寄存器

保留

保留

保留

保留

保留

保留

@3V/25℃

5.9uA

5.4uA

3.3uA

1.0uA

0.4uA

特殊事项

/

/

禁止ADC

/

清除外设悬挂中断标志位

单片机中的WFI/WFE指令

进入低功耗模式的两个指令,

WFI进入则可由任意中断唤醒,WFE进入则由事件唤醒

WFI = wait for interrupt 等待中断,即下一次中断发生前都在此hold住不干活
WFE = wait for event 等待事件,即下一次事件发生前都在此hold住不干活
执行这两条语句后CPU功耗会降低,通常用这两条语句来省电。

表2选择合理的STM8L节能模式

节能要求

应用场合

睡眠时长

唤醒方式

恢复时长

运行模式

苛刻

CPU空闲,等待外部信号唤醒

外部中断

≥2.8us

HALT(停机模式)

苛刻

CPU空闲,等待时钟周期唤醒

RTC周期

≥2.8us

Active-halt活跃停机模式

严格

CPU有持续、微负荷任务运行

/

/

≥2.8us

低功耗运行

严格

CPU短暂等待中断发生

任意中断

等待中断

严格

CPU短暂等待事件发生

注册事件

等待事件

需要

CPU有持续、轻负荷任务运行

/

/

/

调整主频

 

 

简单地来说,就是:

1)wait(等待模式):时钟关闭、外设可用。通过中断、外部中断、复位,能退出本模式。

2)Active-halt(活跃停机模式):时钟关闭、外设关闭、RTC开启。通过RTC中断、外部中断、复位,能退出本模式。

3)Halt(停机模式)(功耗最低):时钟关闭、外设关闭。通过外部中断、复位,能退出本模式。

另外,上图同时说明了默认上电时是运行模式,在运行模式时可通过如下方法降低功耗:

1)降低时钟频率。

2)关闭没用的外设时钟。

3)(香瓜补充)无用的IO口配置为输出低。

 

 

四、调试低功耗的调试一般分为以下几个步骤:

1、休眠模式的设置;2、I/O口状态的配置;3、硬件电路的调试;4、各个功能之间的工作间隙。

 

 

 

五.进入低功耗模式与低功耗唤醒流程的具体步骤?

答:

1)进入低功耗模式的流程

①关闭外设时钟。

②所有IO设置为输出低(注意低电平使能的得设置为输出高)。

③初始化中断口的IO。

④时钟频率降至最低(2M)。

⑤打开中断总开关。

⑥调用停机模式的函数。

 

2)低功耗唤醒的流程

①初始化系统时钟。

②初始化用到的外设。

 

 

所有中断允许处理器从等待模式退出。只有重置或事件允许处理器从低功率等待模式退出。这种模式在低功率运行模式下执行WFE指令。一个事件的唤醒使系统回到低功率运行模式(参见更多细节)。只有外部和其他特定的中断允许处理器从停止和active暂停模式退出(请参阅中断,并在中断向量表中从主动暂停中唤醒。数据表)。当从停止模式中醒来时,当几个未决中断出现时,第一个中断中断服务只能是一种中断模式功能的中断。这是选择通过图30所示的决策过程。如果最高优先级的中断不能从停止模式唤醒设备,它将会被服务。如果有任何内部或外部中断(例如,在计时器中)发生中断指令正在执行,停止指令已经完成,但是中断调用了在停止指令完成后立即启动唤醒进程。在这种情况下MCU实际上是从暂停模式唤醒到运行模式,并有相应的延迟在数据表中指定的tWUH。在执行停止指令之前,用户程序必须清除任何未决的外围设备中断(在相应的外围配置中清除未决的中断寄存器)。否则,停止指令就不会执行,程序执行也不会执行仍在继续。

 

MCU激活级别是通过在cfggcr寄存器中编程AL位来配置的(参见全局配置寄存器(cfggcr))。这个钻头用于控制MCU的低功率模式。在非常低的功率应用中,MCU大部分时间都在wfi/暂停模式下,并被唤醒(通过中断)特定的时刻,以执行特定的任务。其中一些重复的任务是足够短的时间可以直接在ISR中进行处理(中断服务程序),而不是继续回到主程序。为了解决这个问题,你可以在进入低之前设置AL位电源模式(通过执行wfi/停止指令)。因此,中断例程使设备恢复到低功率模式。然后中断例程直接返回到低功耗模式。由于寄存器的事实,运行时/isr的执行减少了上下文只在第一次中断时保存。因此,所有的操作都可以在非常简单的应用程序中在ISR中执行。在更复杂的,中断例程可以通过简单的重置重新启动主程序美联。例如,一个应用程序可能需要被自动唤醒单元(AWU)唤醒。每隔50毫秒,就可以检查一些针/传感器/按钮的状态。大部分的时间,因为这些大头针不活跃,MCU可以在不运行的情况下返回到低功率模式主程序。如果其中一个大头针是活动的,ISR就会决定启动主程序通过重置AL位。


http://www.ppmy.cn/news/503392.html

相关文章

手机功耗之唤醒源详解

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、手机功耗问题浅析博文二、Sleep 、suspend三、SPM (System Power Manager)四、Deep idle五、SODI (screen on deep idle)六、systrace/ftrace七、w…

基于cycle of curves的Nova证明系统

1. 引言 主要见斯坦福大学Wilson Nguyen、Dan Boneh和微软研究中心Srinath Setty 2023年论文《Revisiting the Nova Proof System on a Cycle of Curves》。 前序博客有: Nova: Recursive Zero-Knowledge Arguments from Folding Schemes学习笔记 在2021年Nova …

【算法设计与分析】期末复习

文章目录 复习大纲第一章算法概述1.1算法与程序1.2 算法复杂性分析 第二章递归与分治策略分治法的基本思想递归与分治的关系:用分治法解决的问题的几个特征:例题: 第三章动态规划动态规划的基本思想:分治与动态规划算法的异同&…

C# 反射 (Reflection) 的常用功能

目录 一、概述 二、实例化类 三、反射赋值 四、获取字段值 五、获取字段名 六、获取字段类型 七、调用方法 结束 一、概述 反射指程序可以访问、检测和修改它本身状态或行为的一种能力。 程序集包含模块,而模块包含类型,类型又包含成员。反射则…

明翰英语教学系列之雅思阅读篇V0.9(持续更新)

文章目录 传送门6. 阅读 READING6.1 阅读评分标准6.2 阅读题型6.2.1 阅读填空题摘要填空题(Summary)无选项摘要填空1. 找定位词2. 确定答案词的词性3. 原文定位4. 对应5. 检查 有选项摘要填空 图表/流程图/表格填空题(Diagram/Flowchart/Tabl…

#深圳南山#AfterShip 招聘 Node.js、React.js、 Python 高级后台、 Python 爬虫、大数据、SRE...

国际团队、全球性项目、高并发请求、福利好,业务增长迅速,持续有需求,欢迎推荐和自荐(推荐他人成功入职,有奖励 1-2W ) 招聘岗位(有高级和 leader 的坑) 我们的招聘网站链接&#xf…

汉字转拼音pinyin

这里引用的是 well2049 老哥的博客 原文链接 如有侵权,马上删除 使用方法 //返回全拼 pinyin.getFullChars(西安); //XiAn //返回首字母 pinyin.getCamelChars(西安); //XA 但是文中对应的有些字符拼音有误,我检查了所有省市的拼音做了一点修改,下面是所改的列表 深圳 →…

华为OD机试真题 JavaScript 实现【最多获得的短信条数】【2023Q1 100分】,附详细解题思路

一、题目描述 某云短信厂商,为庆祝国庆,推出充值优惠活动。现在给出客户预算,和优惠售价序列,求最多可获得的短信总条数。 二、输入描述 第一行客户预算M,其中 0 ≤ M ≤ 10^6第二行给出售价表, P1, P2,…