[第三方配套工具] 简述基于RTOS的低功耗设计

[复制链接]
4917|71
 楼主| jcky001 发表于 2023-5-8 10:29 | 显示全部楼层 |阅读模式
基于 RTOS 的低功耗设计思路。
越来越多的嵌入式产品基于 RTOS 作为软件平台, 有些产品对低功耗的要求也越来越高, 本文讨论一下如何在 RTOS 中处理微控制器的低功耗特性。聊一聊:本文只简单讨论一下设计思路,更详细的设计,需要查阅所使用的 RTOS 相关文档资料。RTOS 一般采用基于时间片轮转的抢占式任务调度机制,在实际应用过程中,一般的低功耗设计思路如下:

当 Idle 任务运行时,进入低功耗模式;

在适当的条件下,通过中断或者外部事件唤醒 MCU。

当 OS 系统定时器产生中断时,会将 MCU 从低功耗模式唤醒。而频繁进入/推出低功耗模式,使得 MCU 无法进入深度睡眠。Tickless Idle Mode 的设计思想在于尽可能地在 MCU 空闲时使其进入低功耗模式。从上述情景中可以看出,软件设计需要解决的问题有:1、合理地进入低功耗模式(避免频繁使 MCU 在低功耗模式和运行模式下进行不必要的切换)。RTOS 的系统时钟源于硬件的某个周期性定时器(Cortex-M 系列内核多数采用 SysTick),RTOS 的任务调度器可以预期到下一个周期性任务(或者定时器任务) 的触发时间。调整系统时钟定时器中断触发时间,可以避免 RTOS 进入不必要的时间中断,从而更长的时间停留在低功耗模式中,此时 RTOS 的时钟不再是周期的而是动态的(在原有的时钟基准时将不再产生中断,即 Tickless)。2、当 MCU 被唤醒时,通过某种方式为系统时钟提供补偿。MCU 可能被两种情况所唤醒,动态调整过的系统时钟中断或者突发性的外部事件,无论是哪一种情况,都可以通过运行在低功耗模式下的某种定时器来计算出 MCU 处于低功耗模式下的时间,在 MCU 唤醒后对系统时间进行软件补偿;3、软件实现时,要根据具体的应用情景和 MCU 低功耗特性来处理问题。尤其是 MCU 的低功耗特性,不同 MCU 处于不同的低功耗模式下所能使用的外设(主要是定时器) 是不同的, RTOS 的系统时钟可以进行适当的调整。
MessageRing 发表于 2023-5-8 22:24 | 显示全部楼层
如何避免频繁切换模式啊?
tpgf 发表于 2023-6-3 17:33 | 显示全部楼层
通常Rtos指的是专为实时应用而设计的多任务操作系统
nawu 发表于 2023-6-3 17:58 | 显示全部楼层
RTOS会在外界事件或者数据产生,需要用足够快的时间进行处理。
aoyi 发表于 2023-6-5 09:39 | 显示全部楼层
RTOS与普通操作系统的应用领域不同,属于互补关系。
zljiu 发表于 2023-6-5 10:39 | 显示全部楼层
软实时只能提供统计意义上的实时,允许偶尔的时间超时。硬实时系统则要要求一个刚性的、不可改变的时间限制!
gwsan 发表于 2023-6-5 11:27 | 显示全部楼层
常见的硬实时系统有VxWorks、SylixOS、RTlinux、ThreadX、QNX、Nucleus等
tfqi 发表于 2023-6-5 11:48 | 显示全部楼层
实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。
szt1993 发表于 2023-12-22 14:44 | 显示全部楼层
RTOS与普通操作系统的应用领域以及不同点在哪里?
forgot 发表于 2023-12-26 13:09 | 显示全部楼层
RTOS与普通操作系统的应用领域不同,属于互补关系。
mollylawrence 发表于 2024-1-3 11:34 | 显示全部楼层
普通低功耗是指在处理器间歇性进入低功耗状态,但会定期唤醒,这种功耗就做不到很低。
beacherblack 发表于 2024-1-3 12:50 | 显示全部楼层
为了避免频繁地进入和退出低功耗模式,可以调整系统定时器中断触发时间,使单片机在低功耗模式下停留更长时间。

i1mcu 发表于 2024-1-3 13:14 | 显示全部楼层
实时操作系统(RTOS)可以更有效地管理和调度任务,确保CPU和其他系统资源得到最佳利用,从而降低系统的动态功耗。
adolphcocker 发表于 2024-1-3 14:00 | 显示全部楼层
对于一些对低功耗要求较高的应用场景,实现低功耗设计成为了关键。
loutin 发表于 2024-1-3 14:23 | 显示全部楼层
RTOS的任务调度对功耗有很大的影响。应尽量减少任务的切换,因为任务切换会产生额外的能耗。尽量让任务在完成一项工作后,再进入低功耗模式,而不是频繁切换。
biechedan 发表于 2024-1-3 14:36 | 显示全部楼层
使用低功耗的单片机是首要步骤。              
chenci2013 发表于 2024-1-3 14:45 | 显示全部楼层
RTOS的系统时钟源于硬件的某个周期性定时器(如SysTick),任务调度器可以预期到下一个周期性任务(或定时器任务)的触发时间。通过调整系统时钟定时器中断触发时间,可以避免RTOS进入不必要的时间片切换,从而降低系统功耗。
usysm 发表于 2024-1-3 14:58 | 显示全部楼层
常见的低功耗模式有休眠模式、空闲模式、待机模式等。
modesty3jonah 发表于 2024-1-3 15:24 | 显示全部楼层
在RTOS中,任务调度器负责管理系统的任务执行顺序。通过优化任务调度策略,可以减少不必要的任务切换和等待时间,从而降低系统功耗。
jonas222 发表于 2024-1-3 15:44 | 显示全部楼层
使用具有低功耗特性的MCU,其内部集成有低功耗外设,支持多种低功耗模式,并在进入不同模式时能自动关闭非必要的模块。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1650

主题

5706

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部