首页 > 版块 > STM32 > 帖子正文

单片机电源管理

黄忠 发布于 2021-12-20 13:36
收藏 0 回复 0 浏览 169 原创

大家好,我是张飞实战电子的黄忠老师,今天我们来讲解单片机电源管理。

市场上的产品越来越多的低功耗需求,对于单片机的电源管理就要求越来越高,关注度自然也会增加。

一起看一下Cortex-M3对于电源管理的一些特性吧。

1、休眠模式

Cortex-M3提供的休眠模式为一种电源管理特性,在休眠模式中,系统时钟可能会停止,而自由运行时钟输入仍可能在运行,以便处理器可由中断唤醒。

处理器有下面两种休眠模式:

休眠:Cortex-M3处理器的SLEEPING信号表示休眠状态

深度休眠:Cortex-M3处理器的SLEEPDEEP信号表示深度休眠状态

NVIC系统控制寄存器的SLEEPDEEP位决定休眠模式的类型。

休眠模式由等待中断(WFI)或等待事件(WFE)指令触发,事件可以是中断、之前触发的中断或者通过接收事件(EXEV)信号生成的信号脉冲。处理器内部具有事件锁存,因为之前的时间也可以将处理器从WFE中唤醒。

图片4.jpg

根据芯片的不同设计,进入休眠模式后处理器的实际动作可能会不同,不过一般是停止一些时钟以降低功耗,或者可能的话将芯片整个关掉,所有的时钟信号也会因此停止。在芯片被完全关掉的情况下,只能通过系统复位唤醒系统。

1、退出休眠特性

休眠模式的另外一个特性为它可以被设置为在退出中断程序后自动回到休眠。这样若没有需要处理的中断,内核就可以一直保持休眠状态。要使用这个特性,我们需要设置系统控制寄存器里的SLEEPONEXIT位。

应该注意的是,若使能了退出休眠特性,处理器可以在任何异常退出时进入休眠,即便是没有执行WFE/WFI指令。要确保处理器只在需要时进入休眠,那么若系统未准备好进入休眠,就不要设置SLEEPONEXIT位。

2、唤醒中断控制器

唤醒中断控制器(WIC)在Cortex-M3中作为一种可选单元出现,它被连接到已有的NVIC上,并且在中断到达时产生唤醒请求。

从软件的角度来看,WFIWFE的效果是一样的。WIC中没有可编程寄存器,它可以从NVIC的接口上得到所需的所有信息。通过WIC的使用,进入处理器内核的时钟信号可以完全停止。当有中断请求到达时,WIC会向芯片中的系统控制器或电源管理单元(PMU)发出唤醒请求,通知芯片恢复处理器时钟。

图片5.jpg


0 0
发表评论 侵权投诉
评论 (0)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表乌云踏雪网立场。

文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。