STM32L051 低功耗特性分析

32MHz 2.7mW功耗

low power sleep mode大概只有4.5uA

stop mode大概 0.4uA

stop mode能比low power sleep mode功耗低一个数量级。

这个时候是把core还有大部分clk都关闭了

stop mode with rtc 可以定时通过lptimer定时唤醒,执行中断or reumse程序执行。可以满足电池业务需求,同时把功耗降低一个等级

低功耗进入退出流程,通过查看stm32 discovery 例程即可。

cpu is stopped 指的是cpu clk被关闭,但是power up。这个时候pc不走。

power mode分析

sleep mode是只关闭cpu clk

stop mode是关整个vcore domain的clk,包括pll等,关闭的更加彻底

standy mode是把关闭vcore的电源和时钟

1.sleep mode和stop mode都是可以程序都可以resume,但是standby mode需要复位重新初始化;因为standby时,把vcore domain下电(包括cpu ram等),ram register等内容丢失

2.stop和standby mode下只有部分外设在工作,因此提供的唤醒源业有限,特别是stanby mode

具体哪些ip才工作,看下IP function在各个mode下的状态表整理

3.stop mode和standby mode相比,内部regulator一个是low power 状态,一个是关闭状态。

mcu中的功耗大头是 各个ip的clk 还有内部regulator adc pll等;stm32l0 调频调压都支持

power domain分析

可以看出,

  • vdd是给io和flash 还有always on区域供电的,这个的供电电压是3.3V;
  • 同时内部经过一个ldo后,给core memory供电,而core 的工作电压典型范围是1.2-1.8v。
  • adc等模拟部分有单独的电源供电。
  • regulator一般有三种状态,main、low power、power down。

dvfs表

需要注意的是,cpu内部加入了

问题:WFI和WFE的区别

wfi是通过中断机制产生的,需要把中断使能,通过nvic中对应的exti中断需要使能。resume时,会进入到中断服务程序中。

wfe是通过event机制产生的,resume时,会接着执行程序,而不是进入到中断服务程序。

wakeup event管理:

wake up event的目的是去唤醒core,

wake up event的产生方式有两种,

一是对应外设生中断,但是nvic不打开中断(虽然nvic不打开中断,但是nvic对应的pending bit还是会因为外设中断置起而置起),如此产生event后,cpu core需要去清除外设和nvic的中断pending bit。

二是将exti line配置为event mode,如此不产生中断,不会产生nvic pending bit,因此也就不需要再resume后clear

这样exti interrupt可以wakeup core,二是将exti配置为event mode,如此不会产生中断pending。只是产生唤醒信号。

有一些外设,通过连接在exti direct line上,这些外设可以产生一个异步信号,发送给exti,作为唤醒源。

exti实际上既可以产生中断作为唤醒源,也可以产生wakeup event,用来做唤醒源,

wfi一般用于cpu idle

wfe用于spinlock

wfi和wfe的区别在于,wfi等待的是中断,wfe等待的是事件,所以wfe不能进入中断服务函数,而wfe可以。

spinlock是基于wfe机制去实现的。

arm core low-power standby的实现:一般是由实现者定义的,不过一般的额操作是,关闭clk,保持供电。

进入sleep stop standby mode操作步骤

/** * @brief Enters Stop mode. * @note In Stop mode, all I/O pins keep the same state as in Run mode. * @note When exiting Stop mode by issuing an interrupt or a wakeup event, * MSI or HSI16 RCoscillator is selected as system clock depending * the bit STOPWUCK in the RCC_CFGR register. * @note When the voltage regulator operates in low power mode, an additional * startup delay is incurred when waking up from Stop mode. * By keeping the internal regulator ON during Stop mode, the consumption * is higher although the startup time is reduced. * @note Before entering in this function, it is important to ensure that the WUF * wakeup flag is cleared. To perform this action, it is possible to call the * following macro : __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU) * * @param Regulator: Specifies the regulator state in Stop mode. * This parameter can be one of the following values: * @arg PWR_MAINREGULATOR_ON: Stop mode with regulator ON * @arg PWR_LOWPOWERREGULATOR_ON: Stop mode with low power regulator ON * @param STOPEntry: Specifies if Stop mode in entered with WFI or WFE instruction. * This parameter can be one of the following values: * @arg PWR_STOPENTRY_WFI: Enter Stop mode with WFI instruction * @arg PWR_STOPENTRY_WFE: Enter Stop mode with WFE instruction * @retval None */ void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry) { uint32_t tmpreg = 0U; /* Check the parameters */ assert_param(IS_PWR_REGULATOR(Regulator)); assert_param(IS_PWR_STOP_ENTRY(STOPEntry)); /* Select the regulator state in Stop mode ---------------------------------*/ tmpreg = PWR->CR; /* Clear PDDS and LPDS bits */ CLEAR_BIT(tmpreg, (PWR_CR_PDDS | PWR_CR_LPSDSR)); /* Set LPSDSR bit according to PWR_Regulator value */ SET_BIT(tmpreg, Regulator); /* Store the new value */ PWR->CR = tmpreg; /* Set SLEEPDEEP bit of Cortex System Control Register */ SET_BIT(SCB->SCR, SCB_SCR_SLEEPDEEP_Msk); /* Select Stop mode entry --------------------------------------------------*/ if(STOPEntry == PWR_STOPENTRY_WFI) { /* Request Wait For Interrupt */ __WFI(); } else { /* Request Wait For Event */ __SEV(); __WFE(); __WFE(); } /* Reset SLEEPDEEP bit of Cortex System Control Register */ CLEAR_BIT(SCB->SCR, SCB_SCR_SLEEPDEEP_Msk); }

STM32L051 低功耗特性分析相关推荐

  1. stm32l051低功耗之stop模式

    STM32L051算是一款使用的人不多的低功耗芯片,资料也没有像F系列那么多,但是它在低功耗方面性能优异.ST官方关于STM32L051停机模式低功耗给的指标如下,在stop without rtc模 ...

  2. 【参数】REMOTE_LOGIN_PASSWORDFILE参数三种取值及其行为特性分析

    在某些情况下可以使用REMOTE_LOGIN_PASSWORDFILE参数增强系统的安全性,所谓提高安全性就是禁止以SYSDBA或SYSOPER特权用户从客户端登陆到数据库系统中.这是一种牺牲管理便捷 ...

  3. 如何反映两条曲线的拟合精度_【隆旅干货分享】差压传感器的应用及精度特性分析...

    /// 专 业 的 工 业 传 感 与 测 量 知 乎 号 /// / 前言 / 差压传感器通常被用于试验台.风洞.泄漏检测系统和其他应用中.每种应用的工程师都在寻求对他们所在行业十分重要的传感器改进 ...

  4. workbench 流固耦合_基于Workbench的流固耦合作用下三通管振动特性分析

    基于Workbench的流固耦合作用下三通管振动特性分析 韩天宇,郭长青*,谌冉曦 (南华大学 土木工程学院,湖南 衡阳 421001) 摘 要:使用ANSYS Workbench软件,对流固耦合作用 ...

  5. 用MATLAB编程正弦稳态相量图,matlab课程设计--利用MATLAB对线性电路正弦稳态特性分析...

    matlab课程设计--利用MATLAB对线性电路正弦稳态特性分析 课程设计任务书 学生姓名: 专业班级: 指导教师: 刘 新 华 工作单位:信息工程学院 题 目: 利用MATLAB对线性电路正弦稳态 ...

  6. 超级电容模组电压不均衡特性分析

    超级电容模组电压不均衡特性分析 模组中超级电容是并联还是串联 超级电容模组电压不均衡现象出现的原因 超级电容等效模型 容值差异对电压分布的影响 EPR对电压分布的影响 ESR对电压分布的影响 电压均衡 ...

  7. linux系统it固定资产管理系统包_固定资产条码管理系统特性分析

    固定资产条码管理系统的特性都有什么?固定资产条码管理系统的应用在很多企业中都越来越普遍,固定资产条码管理系统作为信息化管理系统,能够对企业固定资产进行有效管理并提升企业管理水平,对于固定资产条码管理系 ...

  8. 了解MOS管开通和关断过程原理特性分析

    功率MOSFET的开通和关断过程 本文就MOSFET的开关过程进行相关介绍与分析,首先简单介绍常规的基于栅极电荷的特性,理解MOSFET的开通和关断的过程,然后从漏极导通特性.也就是放大特性曲线,来理 ...

  9. 基于matlab的光学薄膜特性分析,基于matlab的光学薄膜特性分析

    <基于matlab的光学薄膜特性分析>由会员分享,可在线阅读,更多相关<基于matlab的光学薄膜特性分析(17页珍藏版)>请在金锄头文库上搜索. 1.目录1 技术指标 .12 ...

最新文章

  1. 有关SQL server connection Keep Alive 的FAQ(2)
  2. idea调试debug技巧_被我用烂的DEBUG调试技巧,专治各种搜索不到的问题
  3. `>>`(有符号右移) 和 `>>>`(无符号右移)的区别
  4. 大学生如何转专业(自学/培训)到互联网行业
  5. 盘点世界上最奇怪的6种编程语言
  6. javascript 懒加载技术(lazyload)简单实现
  7. 微信公众号Web页面CSS文件里面的样式不加载
  8. 透明计算:对当前主流计算模式的革命
  9. android 管理fragment,在 Fragment 之间传递数据
  10. ps的魔棒工具抠图方法
  11. 计算机内存空间为何不能无限扩容,空间是否可以无限扩张?
  12. c++无法启动程序,系统找不到指定文件的处理方法
  13. windows自带截图键(ctrl + win + s)失灵如何恢复,无需重启电脑方法!
  14. LaTeX 多图 排列
  15. 2010年12月大学英语四级最新资料精品
  16. CAN通讯车用触摸显示器
  17. Altium Designer 20 如何快速给不规则板框铺铜的方法,超级简单操作!
  18. 【手把手教你Ubuntu】Ubuntu 13.04 win7安装图文教程
  19. oracle sql developer的简单使用
  20. AutoCAD三维设计——双人床的绘制

热门文章

  1. 微软操作系统 Windows Server 2016 官方原版ISO镜像(仅供测试)
  2. php中的explode的作用,php explode用法是什么
  3. Java常用API(三)
  4. 平面设计【PS/AI】10款与花为抽象设计的名片
  5. C4C有关Browse and Collect的简单用法
  6. quantization 顶会文章简介 2019
  7. 啥是MAX485ESA+T,答案在这里
  8. 广州创龙SOM-TL138/1808/6748核心板 JTAG仿真器接口/LED指示灯
  9. Qt用qml实现简单的粒子效果
  10. Android开发冷启动解决方案 实现秒开