STM32超低功耗
文章平均质量分 76
whj123999
这个作者很懒,什么都没留下…
展开
-
给你的 ART-Pi (STM32H7) 降降温
一,ART-Pi 是什么ART-Pi 是 RT-Thread 团队为嵌入式软件工程师、开源创客设计的一款极具扩展功能的 DIY 开源硬件。致力打造一个开源的软硬件平台。详细资料都可以从 ART-Pi主页 来获取。二,ART-Pi 全速运行时的温度相信每一位第一次使用 STM32H7 系列 MCU 的用户都会被他的发热量吓到,内心 OS:这个板子是不是有问题,第一次遇到这么热的 STM32。时间长了的用户都会知道只要手还能摸得住说明就是正常的。但是这个温度到底是多少呢?因此我做了一个读取 MCU 内存原创 2021-06-27 21:26:58 · 1971 阅读 · 1 评论 -
STM32超低功耗之移植 RT-Thread PM 组件 TICKLESS 原理分析
一,什么是 TICKLESS在解释 TICKLESS 之前,回顾一些知识点:RTOS 需要一个周期性的定时器来给操作系统提供一个时间基准,这个定时器会周期性的触发一个中断,一般来说会把这个频率设置为 1000,也就是说每秒每触发 1000 次中断使用 WFI 指令进入睡眠模式之后,会被任意中断唤醒这里就出现了一个矛盾点,睡眠时希望能降低功耗,但是每间隔一个毫秒就被唤醒了,就像人要睡觉,你刚把眼睛闭上就被人叫醒了,这怎么能实现功耗的降低呢?所以就出现了 TICKLESS,他的作用是尽可能的降低系统原创 2021-06-26 15:32:48 · 883 阅读 · 1 评论 -
STM32超低功耗之移植 RT-Thread PM 组件原理分析
一, 认识 PM 组件在上一篇的文章中,介绍了如何移植 RT-Thread PM 组件,PM 组件的作用是通过 RTOS 来统一的管理,超低功耗是一个细致的工作,所以在使用的时候必须要知道 PM 组件中每个 API 的实现及作用,才能最到功耗最优。二,PM 组件的工作原理PM 的工作原理,可以从 RT-Thread 的文档中心来获取到,其中最为核心的部分就是下图用户的调用 PM 的组件的 API 之后,来申请进入低功耗模式,如果当前没有工作进行,在线程运行到空闲任务的时候就会去尝试切换到对应的低功原创 2021-06-22 23:41:53 · 832 阅读 · 0 评论 -
STM32超低功耗之移植 RT-Thread PM 组件
一, 认识 PM 组件目前低功耗产品的功能越来越丰富,使用裸机方式的方式,已经无法满足日益增长的市场需求,所以如何在 RTOS 中加入低功耗组件也是市场发展的必然趋势。在 RTOS 中实现超低功耗都使用到了 tickless 机制,其中不乏RT-Thread ,embOS,RTX 和 uCOS-III。本文主要研究的是 RT-Thread 的 PM(Power Managment) 组件。二,移植 PM 组件对于已经使用过 RT-Thread 的小伙伴来讲,移植 PM 组件,非常的简单。注意 RT-原创 2021-06-06 19:52:54 · 1129 阅读 · 1 评论 -
STM32超低功耗进阶之电源管理库函数(二)
一,电源管理库函数前面的入门文章对 STM32 的超低功耗的做了使用介绍,当然在使用超低功耗的时候还会考虑 RAM 的数据会不会丢失,什么时候重写 备份寄存器,进入低功耗模式的时候要怎么保持 IO 的状态,前面一章已经对 stm32l4xx_hal_pwr.c 里面的 API 以及使用场景做了介绍,ST 还有另外一个文件教 stm32l4xx_hal_pwr_ex.c 所有带 ex 标识的库函数的意思是 Extended(扩展),所以这篇文章就是对扩展部分的说明。二,电源管理的 APIST 的 HAL原创 2021-05-29 21:46:21 · 2710 阅读 · 0 评论 -
STM32超低功耗进阶之电源管理库函数(一)
一,电源管理寄存器前面的入门文章对 STM32 的超低功耗的做了使用介绍,当然在使用超低功耗的时候还会考虑 RAM 的数据会不会丢失,什么时候重写 备份寄存器,进入低功耗模式的时候要怎么保持 IO 的状态,本篇文章就带来这些的介绍。二,电源管理的 APIST 的 HAL 库做了很全面的低功耗相关的 API , 知道这些函数的作用,掌握这些函数的作用,就会对超低功耗有了进一步的认识。复位电源管理寄存器void HAL_PWR_DeInit(void)复位电源管理寄存器,将他们设置到默认重置值,原创 2021-05-23 23:14:11 · 1665 阅读 · 0 评论 -
STM32超低功耗进阶之RTC
一,RTC 在低功耗中的作用RTC 在低功耗场景的作用非常重要,先回顾一下前面讲到的唤醒的方式,以及他的局限性:- 按键中断唤醒,如果设备在很难手动去触摸到按键的场景- 异常中断唤醒, 如果外设的电压等降低发生的异常,将会导致系统无法继续工作下去- 外设接收中断唤醒,如果本身是通讯的发起者,该如何唤醒RTC 的优势:- RTC 可以使用 LSE 来提供时钟源,而且这个时钟源也可以给到 MCU- RTC 只需要电池供电就可以,功耗非常小- RTC 可以设置闹钟周期性的唤醒 MCU,即使在关机模原创 2021-05-15 14:43:47 · 2037 阅读 · 0 评论 -
STM32超低功耗入门之唤醒
一. 认识唤醒人每天晚上要睡觉,早上要醒来。那 MCU 进入低功耗模式之后,在我们需要他卖力干活的时候,还需要他能醒来,所以在前面的文章对于各种功耗模式有了一个全面的认识了之后,还要再总结以下再不同模式下改如何来唤醒 MCU。二,唤醒 MCU如何唤醒 MCU 最好的办法当然是查看官方的手册。 STM32L4 系列提供了多种低功耗模式,不同的模式下唤醒的方式也不相同,可以查看手册。睡眠模式的唤醒睡眠模式分为,普通睡眠模式 和 低功耗睡眠模式。通过上图知道唤醒方式的描述是:any interr原创 2021-05-09 20:28:22 · 5409 阅读 · 0 评论 -
STM32超低功耗入门之关机模式
一. 认识关机模式进入关机模式之后,唤醒 MCU 程序不是从进入低功耗模式之后的下一行代码开始执行,而是重新启动了。通过上图可以得出结论:所有电压调节器都被关闭了关机模式下 CPU 是停止状态关机模式下 FLASH 已经断电关机模式下 SRAM 全部断电时钟只可以使用 LSE外设只有 RTC 可以用了, IO可以配置成 浮空,上拉,下拉唤醒的方式,只有复位和 RTC,根据电压调节器的选择不同,以及是否开启RTC 功耗略有区别唤醒时间 262 us二. 停机模式的进入在停机模原创 2021-04-24 14:50:31 · 2085 阅读 · 0 评论 -
STM32超低功耗入门之待机模式
一. 认识待机模式进入待机模式之后,唤醒 MCU 后程序不是从进入低功耗模式之后的下一行代码开始执行,而是重新启动了。通过上图可以得出结论:待机模式有 2 种电压调节器方案待机模式下 CPU 是停止状态待机模式下 FLASH 已经断电选择 LPR 电压调节方案的情况下,SRAM2 可以保存数据时钟只可以使用 LSE 或者 LSI支持的外设有限,只有 BOR RTC IWDG 可以用了, IO可以配置成 浮空,上拉,下拉唤醒的方式,只有 BOR , wakeup, RTC, IWDG根原创 2021-04-24 14:49:39 · 981 阅读 · 1 评论 -
STM32超低功耗入门之停止模式
一. 认识停止模式STM32L4 系列提供了 3 种停止模式:stop0 , stop1 , stop2. 功耗逐次更低。通过上图可以得出结论:stop0 模式有 2 种电压调节器方案。stop 1 2 只有一种在 stop0 1 2 模式下 CPU 是停止状态在 stop0 1 2模式下 FLASH 已经断电SRAM1 SRAM2 可以独立的开启或关闭时钟只可以使用 LSE 或者 LSI支持的外设有限,对于不常见的外设,表1 给出说明唤醒的方式,常见的外设中断都可以唤醒 MCU原创 2021-04-19 22:23:44 · 6782 阅读 · 6 评论 -
STM32超低功耗入门之睡眠模式
一. 认识睡眠模式认识睡眠模式最好的方法就是查看官方手册通过上图可以得出结论:睡眠模式有 4 种电压调节器方案在睡眠模式下 CPU 是停止状态在睡眠模式下程序在 SRAM 执行情况下,Flash 可以被断电SRAM1 SRAM2 可以独立的开启或关闭时钟都处于开启状态根据电压调节器的选择,外设全部开启或者 USB_FS RNG 不能使用所有的中断和事件都可以唤醒根据选择的电压调节器,MCU 也有 4 种功耗,功耗与运行的频率成正比关系唤醒时间 6 个时钟周期SMPS (Swit原创 2021-04-11 17:41:54 · 7956 阅读 · 3 评论 -
STM32超低功耗入门之低功耗运行模式
一. 认识低功耗运行模式低功耗运行模式,是降低了功耗的运行模式,CPU 依然处于运行状态,只是这个时候的频率降低了,导致运行速度变慢,但是功耗同时也下降了。通过上图可以得到信息:电压调节器设置为 LPR(low-power regulator)CPU 处于运行转发太在低功耗模式下程序在 SRAM 执行情况下,Flash 可以被断电SRAM1 SRAM2 可以独立的开启或关闭除了 PLL 以外的时钟都正常开启USB_FS RNG 不能使用运行模式无需唤醒功耗 94uA/MHZ调压器在原创 2021-04-04 11:19:29 · 4676 阅读 · 0 评论 -
STM32超低功耗入门之认识超低功耗
一. 为什么要用超低功耗在接触到嵌入式的时候,首先就是熟悉各个时钟线。每次拿到一个新的 STM32 板子都会用 CUBEMX 去把时钟配置到支持的最高频率,当然在最高频率下运行会得到最强的性能。最强的性能带来的也就是最高的功耗,在某些场景下,只能使用电池供电,就对功耗要求比较高了,比如智能穿戴,安装在野外的设备,我们不是时刻都需要让 MCU 运行在最高频率,这个时候就需要通过 MCU 来控制整个产品的功耗。本系列文章以 STM32L4 系列来讲解。L0 比 L4 少两种停机模式。 STM32L1 没有原创 2021-04-03 15:31:16 · 2681 阅读 · 0 评论