1、处理器降低功耗的模式
1.1睡眠模式
用于停止处理器时钟
1.2深度睡眠模式
用于停止系统时钟并关闭PLL和闪存
2、进入睡眠模式
系统可以生成虚假的唤醒事件,例如调试操作唤醒处理器。由于这个原因,软件必须能够在这样的事件之后将处理器恢复到休眠模式。一个程序可能有一个空闲循环,以使处理器重新进入休眠模式。
2.1 等待中断(WFI)
等待中断指令WFI会立即进入睡眠模式。当处理器执行WFI指令时,它停止执行指令并进入休眠模式。
2.2 等待事件(WFE)
等待事件指令(Wait For Event instruction, WFE)会根据一个1位事件寄存器的值将条目设置为睡眠模式。当处理器执行WFE指令时,它检查事件寄存器的值:
if ((event register) == 0)
处理器停止执行指令,进入休眠模式。
if ((event register) == 1)
处理器将寄存器设置为零,并在不进入休眠模式的情况下继续执行指令。
如果事件寄存器为1,则表示处理器在执行WFE指令时不能进入休眠模式。通常,这是因为外部事件的认定,或者是因为系统中的另一个处理器执行了一条SEV指令,同时,软件不能直接访问此寄存器。
2.3 退出时睡眠(sleep-on-exit)
如果SCR的SLEEPONEXIT位被设置为1,当处理器完成异常处理程序的执行并返回到线程模式时,它立即进入休眠模式。在只有在中断发生时才需要处理器运行的应用程序中使用此机制。
处理器唤醒的条件取决于使其进入休眠模式的机制。
3、退出睡眠模式
3.1从WFI或sleep-on-exit退出
通常,处理器只有在检测到具有足够优先级的异常以引起异常进入时,处理器才会唤醒。
某些嵌入式系统可能必须在处理器唤醒之后以及在它执行中断处理程序之前执行系统还原任务。要实现这一点,请将PRIMASK.PM位置1。如果一个已启用的中断到达并且具有比当前异常优先级更高的优先级,处理器将会唤醒,但是在处理器将PRIMASK.PM复位之前不会执行中断处理程序。
3.2从WFE退出
处理器在以下情况下唤醒:
它以足够的优先级检测异常以导致异常进入。
它检测外部事件信号。
在多处理器系统中,系统中的另一个处理器执行SEV指令。
此外,如果SCR中的SEVONPEND位设置为1,则任何新的挂起中断都会触发事件并唤醒处理器,即使中断被禁用或没有足够的优先级来引起异常进入。
3.3 可选唤醒中断控制器(WIC)
唤醒中断控制器(WIC),这是一个可选外设,可以检测中断并将处理器从深度睡眠模式唤醒。仅当SCR中的DEEPSLEEP位设置为1时,才会启用WIC。
WIC不可编程,并且没有任何寄存器或用户界面。它完全由硬件信号操作。
当WIC使能且处理器进入深度睡眠模式时,系统中的电源管理单元可以关闭大部分Cortex-M0 +处理器。这具有停止SysTick计时器的副作用。当WIC收到中断时,在处理中断之前,需要花费若干个时钟周期来唤醒处理器并恢复其状态。这意味着在深度睡眠模式下中断延迟会增加。
3.4 外部事件输入
外部事件输入信号,如果设备中包含外部事件输入信号,设备外围设备可以向处理器发出信号。如果不使用,请将此信号置为低电平。
此信号可以从WFE唤醒处理器,或将内部WFE事件寄存器设置为1以指示处理器不能在稍后的WFE指令上进入睡眠模式,

Cortex-M0+电源管理相关推荐

  1. 新唐ARM®Cortex™-M0特点总结

    ARM®CortexTM-M0特点: 主频50mhz主频,0.9DMIPS/MHz(相当于8位和16位产品的2-4倍) 小的处理内核,系统和存储器,可以降低器件成本 完善的电源管理(睡眠,深度睡眠和深 ...

  2. 英飞凌tle985x芯片简介--集成了Arm®Cortex®M0的H桥驱动芯片

    TLE985X解决方案的简介 Infineon`s integrated motor driver optimizes the target applications by offering cost ...

  3. stm32之电源管理(实现低功耗)

    目录 1.硬件原理 2.低功耗模式 3.睡眠模式实验 4.停止模式实验 5.待机模式实验 前言:STM32F10xxx系列产品都有电源管理模块,芯片功耗会影响到一个产品的续航能力:比如在一些终端传感器 ...

  4. 【STM32】初识STM32(型号+封装+内核+储存器+时钟、复位和电源管理+工作模式+ADC)

    折腾着折腾着终于开始了 目录 ■STM32型号的说明: ■几种封装样式: ■ 内核:ARM 32位的Cortex™-M3 CPU ■ 存储器 ■ 时钟.复位和电源管理 ■内嵌RC振荡器和外接晶振: ■ ...

  5. linux 电源管理源码分析,Linux 3.8.1 电源管理之OMAP Voltage Domain分析

    本系列文章将分析Linux对于OMAP的电源管理功能,以AM33XX作为实例(目前的硬件平台先主要关注AM335xStarterKit开发板),在必要时穿插其他相关内容. 在linux-3.8.1/a ...

  6. soc(三) 电源管理

    历史 一开始的电源管理没有做的比较粗糙,随着时代的发展,越来越精细 和时钟基本上是相同等级(芯片工作的基础),电源管理框图和时钟框图很相似 一个模块供电,供时钟,然后他基本上就可以工作了.根据ARM的 ...

  7. CC2640R2F学习笔记(四.电源管理:用电源管理开发应用程序)

    文章目录 前言 一.电源管理默认工作情况 1. Power Manager Initialization 2.Driver Initialization, Constraint Management, ...

  8. 智驾系统的设计瓶颈之:电源管理和功耗分配

    作者 | Orchid 知圈 | 进"滑板底盘群"请加微yanzhi-6,备注底盘 高阶自动驾驶系统在进行架构设计时,其域控内部的架构通常涉及主控芯片MCU.计算芯片SOC.电源管 ...

  9. ARM Cortex M0权威指南_PDF电子书下载 带书签目录 高清完整版 http://pan.baidu.com/s/1jGKQSwY MariaDB入门很简单_PDF电子书下载 带

    ARM  Cortex  M0权威指南_PDF电子书下载 带书签目录 高清完整版   http://pan.baidu.com/s/1jGKQSwY   MariaDB入门很简单_PDF电子书下载 带 ...

  10. linux pcie热插拔驱动_Linux安装TLP-高级电源管理工具

    唉,最近有了一个新问题.系统版本Ubuntu 18.04,笔记本,一旦断开电源,电脑就会卡住.试过的方法: 更新了固件 sudo apt update sudo apt upgrade -y 管了几天 ...

最新文章

  1. 无界阻塞队列 LinkedBlockingQueue 原理探究
  2. MYSQL-用户操作
  3. ABAP之程序相互调用--SUBMIT
  4. 十八、深入Java 访问修饰符和非访问修饰符
  5. cloudstack+ceph中解决ceph单点问题
  6. Windows系统appium移动端自动化真机环境搭建
  7. sql azure 语法_Azure Kubernetes服务(AKS)中SQL Server
  8. 虚函数virtual
  9. Android中JNI 的一些常用说明 JNI_OnLoad registerNatives registerNativeMethods
  10. 每天学点linux之-mkdir和cd
  11. 如何利用情感词典做中文文本的情感分析?
  12. 厉害了网页扫码,所有方法都给你总结到这了,赶紧收藏
  13. iMindMap中的虚线箭头如何进行使用
  14. iOS播放器开发之MPMoviePlayerController
  15. WPF Commanding Overview 的笔记
  16. 2023年最热门的网络安全岗位分析
  17. 对于硬件成品测试,可以设计哪些测试用例?
  18. MAC os x 修改文件夹图标
  19. 【硬核分享】Git 客户端基本使用及基础常见问题
  20. 关于php网站的毕业论文,关于PHP网站的开发与设计毕业论文.doc

热门文章

  1. matlab 线性拟合(好像也可以由两点得出直线)
  2. 怎么看《就算老公一毛钱股份都没拿到,在我心里,他依然是最牛逼的创业者》文中创业公司 CEO 的行为?
  3. 如何玩转私域引流?全链路拆解经典玩法和实战案例
  4. mysql 申花球队面试题_mysql面试题练习01
  5. 图像质量评价之衡量标准
  6. OpenCV_15绘制朱利亚(Julia)集合图形
  7. 八卦在计算机应用,计算机编程在八卦图研究中的应用.doc
  8. mysql如何创建视图
  9. CTF比赛必备常用工具
  10. 浏览器错误信息无法解析服务器,win10系统使用搜狗浏览器提示无法解析服务器的dns地址的修复教程...