16424|1

63

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

Arm Cortex-M低功耗模式基础 [复制链接]


无论嵌入式系统是使用电池运行还是连接到电网,设计绿色系统并最大限度地降低能耗是大多数系统的常见要求。现代嵌入式系统中最大的能源消费者之一是微控制器,并且了解如何最小化其能耗是至关重要的。即使您查看单个微控制器系列,每个处理器架构的低功耗也会略有不同。在这篇文章中,我们将介绍Arm Cortex-M处理器内核中的基本低功耗模式以及如何使用它们。
基本的低能量模式
每个基于Arm Cortex-M处理器的微控制器至少具有三种电源模式; 跑步,睡眠和深度睡眠。显然,运行模式是处理器完全上电并执行嵌入式系统设计的所有操作。休眠模式将暂停CPU时钟,但会使系统时钟,闪存和外设时钟运行。深度睡眠模式不仅会停止CPU时钟,还会关闭系统时钟,闪存和PLL。
微控制器供应商能够完全定制其低功耗模块,以提供不同程度的低功耗。重要的是要注意微控制器进入睡眠时间越深,完全关闭就越接近。这一点很重要,因为当您使用越来越深的睡眠模式时,为微控制器供电并开始执行指令所需的时间会急剧增加。一些提供非常深的功耗模式的处理器需要与处理器引导序列相同的时间才能再次运行。根据您的应用程序,这可能会对系统的实时性能产生重大影响。
进入低功耗模式
开发人员可以使用两种不同的指令将系统置于低功耗状态等待事件(WFE)和等待中断(WFI)。执行WFE指令时,它会检查系统控制块(SCB)中事件位的值。如果未设置该位,则系统将进入睡眠模式。事件可以由外部源生成,也可以使用发送事件(SEV)指令生成。在大多数情况下,我见过或写过的99%的应用程序都使用了WFI指令。
当遇到WFI指令时,处理器将立即进入SCB中配置的低功耗休眠模式,除非有待处理的中断。一旦处理器处于休眠状态,它将在触发中断时唤醒。某些处理器甚至可能有一个可选的唤醒中断控制器,它允许开发人员配置允许唤醒处理器的源。这为开发人员提供了更精细的控制,使他们的系统能够保持最低功耗睡眠模式的时间。
进入所需睡眠模式的C代码非常简单。在大多数开发环境中需要做的就是编写以下代码行:
__WFI;
如果您正在使用CMSIS,您还可以通过编写以下内容来调用WFI函数:
__WFI();
现在您可能想知道如何配置输入的低功耗模式。在SCB寄存器中有一个SLEEPDEEP位,如果设置为1将使处理器进入深度睡眠模式。如果该位清零,则处理器将进入休眠模式。正如我之前提到的,硅片供应商通常会增强睡眠模式,因此还需要根据设计微控制器的人员来配置其他寄存器。  
额外的低功耗功能
除了能够进入低功耗模式之外,还有另一个有趣的低功耗模式功能,称为Sleep-On-Exit。Sleep-On-Exit允许处理器在正在执行的中断完成后立即返回休眠状态。这允许开发人员通过避免主应用程序和中断之间不必要的上下文切换来节省时间,并且在这种情况下时间是能量。允许处理器在中断时唤醒,执行必要的工作然后返回休眠状态。
结论
Cortex-M处理器的低功耗模式是降低嵌入式系统使用的能耗的主要关键之一。正如我们所看到的,开发人员可以使用WFI指令将系统置于低功耗模式,然后一旦触发了先前配置的唤醒事件或中断,系统就会唤醒。每个微控制器供应商都能够自定义其功耗模式,我们将看到具有三种默认功耗模式的微控制器,通过具有十几种功耗模式和复杂状态机的部件,可以简化处理器从一种模式移动到下一种模式的方式。

最新回复

看了阁下的空间和最近发的帖子。 大概阁下是一个卖方案或者卖模块的供应商。 既然如此,有个小小建议:希望阁下发的内容有所集中,另外,质量要把控一下。 说今年半导体行业的数据比去年少了7.2%。结果今年是440亿,去年是4740亿? 吓唬谁呢? 如果阁下连发表一篇区区几百字的文章都如此粗心,试问如何让客户信任你推出的产品呢? 另,阁下发的内容里,从细致到讲解CORETEX M的一句汇编指令,到扯当今的 半导体行业发展数据,到某些意见讨论,而你在信息发布里说的却是一个什么智能网关。 说实话,这让别人看着十分莫名其妙,既不集中又没有连续性。 甚至差点让人以为你们只是一些打着广告的软文党。 我是本版的老版主,以上意见或有冒犯之处,但敬请好之为之,否则我将清理你的账号和所发帖子。  详情 回复 发表于 2019-5-25 01:53
点赞 关注

回复
举报

7815

帖子

57

TA的资源

裸片初长成(中级)

沙发
 
看了阁下的空间和最近发的帖子。
大概阁下是一个卖方案或者卖模块的供应商。
既然如此,有个小小建议:希望阁下发的内容有所集中,另外,质量要把控一下。
说今年半导体行业的数据比去年少了7.2%。结果今年是440亿,去年是4740亿?
吓唬谁呢?
如果阁下连发表一篇区区几百字的文章都如此粗心,试问如何让客户信任你推出的产品呢?

另,阁下发的内容里,从细致到讲解CORETEX M的一句汇编指令,到扯当今的 半导体行业发展数据,到某些意见讨论,而你在信息发布里说的却是一个什么智能网关。
说实话,这让别人看着十分莫名其妙,既不集中又没有连续性。

甚至差点让人以为你们只是一些打着广告的软文党。

我是本版的老版主,以上意见或有冒犯之处,但敬请好之为之,否则我将清理你的账号和所发帖子。
 
个人签名

强者为尊,弱者,死无葬身之地

 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表