pm 组件背景
随着物联网(iot)的兴起,产品对低功耗的需求越来越强烈。例如作为数据采集的传感器节点,通常需要在电池供电时长期工作,还有一些产品需要在快速的响应网络功能的同时也能拥有较低的功耗。(文末有彩蛋)
与此同时,越来越多的 iot 产品使用到了 rtos,可是与传统裸机产品的低功耗处理相比,在 rtos 平台上需要增加针对调度器内核做特殊处理,这就需要 rtos 厂家提供低功耗相关的支持。
为了适应 iot 的这种需求,rt-thread 今天正式开源了电源管理(pm)框架。电源管理框架的理念是应用尽量透明,使得低功耗功能的使用更加简单。
rtos 中的功耗
iot 产品的功耗来源可以分成2部分,一部分是 mcu 内部的功耗,一部分是板载其他外设的功耗。而在 mcu 内的功耗又可以分成cpu 的功耗和片内外设的功耗。为了实现低功耗的功能,我们需要对它们进行合适的管理。
与传统的裸机不一样,在 rtos 上对于功耗的处理主要是在系统进入空闲(idle)任务之后。此时 rtos 处于空闲状态,可以进入不同的低功耗模式(这时 cpu 已经停止运行了)。与此同时,也可以根据实际产品的需求,选择性关闭不同的片内外设和板载外设。
在进入低功耗模式之后,mcu 可以被部分中断唤醒,例如它可以被低功耗定时器中断、唤醒按键中断等等。mcu 在被唤醒之后,系统需要保证依旧可以继续执行任务直到下一次空闲。
rt-thread pm 组件介绍
为了在 rt-thread 更好的实现低功耗功能,rt-thread 开发了一套通用的电源管理(pm)组件,也就是大家常说到低功耗组件。该组件配合 rt-thread 的设备管理框架,不仅对上层提供了丰富的接口,也使得底层驱动对于该组件的适配变得更加简单。
pm 组件的主要特点如下:
低资源占用
rt-thread pm 组件资源占用极低,最少使用情况:rom 占用 0.8k,ram 占用 0.1k,非常适合对资源受限的嵌入式平台。
应用透明性
用户开启了低功耗组件后,应用代码基本不需要调整,pm 组件将在底层自动完成电源管理。这个特色功能主要用了下面两个技术:
tickless:当系统空闲时,系统会尽可能的延长下次 tick 的触发时间,保证 mcu 尽可能长的时间处于最低功耗模式;
时间补偿:当 mcu 唤醒时,系统的 tick 也会自动进行补偿处理,保证应用层获取到的 tick 依旧正常。
智能省电模式
mcu 通常可以运行在不同的频率,也可以进入不同的休眠模式。在 pm 组件的底层实现里,是将这些模式做了抽象处理,形成统一的模式命名。例如:高性能运行模式、低功耗运行模式、停止模式(仅仅 cpu 停止)、定时器模式(cpu 停止,进入深度休眠)等等。
问题:面对这么多模式,如果恰巧在产品上低功耗相关的外设也很多,怎么办?
传统方式:就需要用户来处理好各个外设与电源模式切换的代码。因为可能有些外设不支持低功耗模式下运行,所以不能让系统空闲时就强制进入最低功耗模式,否则会导致一系列问题;
当前方式:当系统空闲时,pm 组件会结合当前用户配置的电源模式以及 mcu 工作情况,选择最适合的模式进行切换,并且会在切换前通知相关外设,做好模式切换的准备工作。
通用性强
可支持所有通用的 mcu ,该组件也已经在 rt-thread 内部经过长期测试,并在多个平台上做过验证,例如:stm32系列、efm32系列 等等。
丰富的上层接口
pm 组件除了本身提供的功耗接口,还实现了一个 pm 设备,上层用户可以使用 rt-thread 的设备接口进行访问。由于设备接口可以通过设备文件系统方式对接到文件系统,所以 pm 组件就可以使用通用的文件接口来访问。
同时 pm 组件还提供了 finsh/msh 调试命令,方便用户也可以通过输入命令方式,调试低功耗功能。
使用简介
pm 组件目前开源在 rt-thread 的 github 仓库中,代码位于 rt-thread/components/drivers/pm 下,大致使用流程如下:
开启:通过 env 工具,在 menuconfig 中的设备驱动菜单下选中 pm 组件;
移植:请先参考《电源管理用户手册》完成必要的移植过程;
应用:如果没有对接功耗敏感的外设,此时应用代码无需做任何更改,pm 组件会自动在后台工作;否则需要对这些功耗敏感外设做特殊处理。
锐龙9 3950X处理器为什么延期
隔离式DC/DC电路的共模噪声抑制方法
如何远程重置您的串行SPI存储设备
中国工信组织召开“移动转售产业与大数据产业交流座谈会
降低能耗不如提高能效,提高能效才能有效的降低能耗
RT-Thread正式开源了电源管理框架
如何自己DIY会自动打开的口罩?
分析百度新型国产77GHz毫米波雷达的核心竞争力
新零售如何引领未来全新的商业模式?
产能过剩下蜂巢能源的应变“思路”
灵动微电子一直专注于MCU微控制器产品与应用方案
一加7Pro高清渲染图曝光 无异形全面屏
快速原型工具:从设计概念出发积攒改变行业的力量
额温枪市场火热 是重要的“抗疫武器”
苹果新AirPods来了!无线充电盒售价 679 元
悠易互通小程序引流解决方案有助于实现全网引流
LED显示屏发展高度成熟 但行业日益两极分化
北京大兴国际机场正式开始启动空中建设
基于SAA1160A设计的嵌入式USB主控制方案
医疗信息通信设计和人体域网络的发展介绍