RT-Thread正式开源了电源管理框架.doc

上传人:白大夫 文档编号:3272778 上传时间:2019-08-07 格式:DOC 页数:3 大小:16.50KB
返回 下载 相关 举报
RT-Thread正式开源了电源管理框架.doc_第1页
第1页 / 共3页
亲,该文档总共3页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《RT-Thread正式开源了电源管理框架.doc》由会员分享,可在线阅读,更多相关《RT-Thread正式开源了电源管理框架.doc(3页珍藏版)》请在三一文库上搜索。

1、RT-Thread正式开源了电源管理框架PM 组件背景随着物联网(IoT)的兴起,产品对低功耗的需求越来越强烈。例如作为数据采集的传感器节点,通常需要在电池供电时长期工作,还有一些产品需要在快速的响应网络功能的同时也能拥有较低的功耗。(文末有彩蛋)与此同时,越来越多的 IoT 产品使用到了 RTOS,可是与传统裸机产品的低功耗处理相比,在 RTOS 平台上需要增加针对调度器内核做特殊处理,这就需要 RTOS 厂家提供低功耗相关的支持。为了适应 IoT 的这种需求,RT-Thread 今天正式开源了电源管理(PM)框架。电源管理框架的理念是应用尽量透明,使得低功耗功能的使用更加简单。RTOS 中

2、的功耗IoT 产品的功耗来源可以分成2部分,一部分是 MCU 内部的功耗,一部分是板载其他外设的功耗。而在 MCU 内的功耗又可以分成CPU 的功耗和片内外设的功耗。为了实现低功耗的功能,我们需要对它们进行合适的管理。与传统的裸机不一样,在 RTOS 上对于功耗的处理主要是在系统进入空闲(idle)任务之后。此时 RTOS 处于空闲状态,可以进入不同的低功耗模式(这时 CPU 已经停止运行了)。与此同时,也可以根据实际产品的需求,选择性关闭不同的片内外设和板载外设。在进入低功耗模式之后,MCU 可以被部分中断唤醒,例如它可以被低功耗定时器中断、唤醒按键中断等等。MCU 在被唤醒之后,系统需要保

3、证依旧可以继续执行任务直到下一次空闲。RT-Thread PM 组件介绍为了在 RT-Thread 更好的实现低功耗功能,RT-Thread 开发了一套通用的电源管理(PM)组件,也就是大家常说到低功耗组件。该组件配合 RT-Thread 的设备管理框架,不仅对上层提供了丰富的接口,也使得底层驱动对于该组件的适配变得更加简单。PM 组件的主要特点如下:低资源占用RT-Thread PM 组件资源占用极低,最少使用情况:ROM 占用 0.8K,RAM 占用 0.1K,非常适合对资源受限的嵌入式平台。应用透明性用户开启了低功耗组件后,应用代码基本不需要调整,PM 组件将在底层自动完成电源管理。这个

4、特色功能主要用了下面两个技术:tickless:当系统空闲时,系统会尽可能的延长下次 tick 的触发时间,保证 MCU 尽可能长的时间处于最低功耗模式;时间补偿:当 MCU 唤醒时,系统的 tick 也会自动进行补偿处理,保证应用层获取到的 tick 依旧正常。智能省电模式MCU 通常可以运行在不同的频率,也可以进入不同的休眠模式。在 PM 组件的底层实现里,是将这些模式做了抽象处理,形成统一的模式命名。例如:高性能运行模式、低功耗运行模式、停止模式(仅仅 CPU 停止)、定时器模式(CPU 停止,进入深度休眠)等等。问题:面对这么多模式,如果恰巧在产品上低功耗相关的外设也很多,怎么办?传统

5、方式:就需要用户来处理好各个外设与电源模式切换的代码。因为可能有些外设不支持低功耗模式下运行,所以不能让系统空闲时就强制进入最低功耗模式,否则会导致一系列问题;当前方式:当系统空闲时,PM 组件会结合当前用户配置的电源模式以及 MCU 工作情况,选择最适合的模式进行切换,并且会在切换前通知相关外设,做好模式切换的准备工作。通用性强可支持所有通用的 MCU ,该组件也已经在 RT-Thread 内部经过长期测试,并在多个平台上做过验证,例如:STM32系列、EFM32系列 等等。丰富的上层接口PM 组件除了本身提供的功耗接口,还实现了一个 PM 设备,上层用户可以使用 RT-Thread 的设备

6、接口进行访问。由于设备接口可以通过设备文件系统方式对接到文件系统,所以 PM 组件就可以使用通用的文件接口来访问。同时 PM 组件还提供了 Finsh/MSH 调试命令,方便用户也可以通过输入命令方式,调试低功耗功能。使用简介PM 组件目前开源在 RT-Thread 的 GitHub 仓库中,代码位于 rt-thread/components/drivers/pm 下,大致使用流程如下:开启:通过 ENV 工具,在 menuconfig 中的设备驱动菜单下选中 PM 组件;移植:请先参考电源管理用户手册完成必要的移植过程;应用:如果没有对接功耗敏感的外设,此时应用代码无需做任何更改,PM 组件会自动在后台工作;否则需要对这些功耗敏感外设做特殊处理。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1