打印
[第三方配套工具]

简述基于RTOS的低功耗设计

[复制链接]
2907|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会在外界事件或者数据产生,需要用足够快的时间进行处理。

使用特权

评论回复
5
aoyi| | 2023-6-5 09:39 | 只看该作者
RTOS与普通操作系统的应用领域不同,属于互补关系。

使用特权

评论回复
6
zljiu| | 2023-6-5 10:39 | 只看该作者
软实时只能提供统计意义上的实时,允许偶尔的时间超时。硬实时系统则要要求一个刚性的、不可改变的时间限制!

使用特权

评论回复
7
gwsan| | 2023-6-5 11:27 | 只看该作者
常见的硬实时系统有VxWorks、SylixOS、RTlinux、ThreadX、QNX、Nucleus等

使用特权

评论回复
8
tfqi| | 2023-6-5 11:48 | 只看该作者
实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。

使用特权

评论回复
9
szt1993| | 2023-12-22 14:44 | 只看该作者
RTOS与普通操作系统的应用领域以及不同点在哪里?

使用特权

评论回复
10
forgot| | 2023-12-26 13:09 | 只看该作者
RTOS与普通操作系统的应用领域不同,属于互补关系。

使用特权

评论回复
11
mollylawrence| | 2024-1-3 11:34 | 只看该作者
普通低功耗是指在处理器间歇性进入低功耗状态,但会定期唤醒,这种功耗就做不到很低。

使用特权

评论回复
12
beacherblack| | 2024-1-3 12:50 | 只看该作者
为了避免频繁地进入和退出低功耗模式,可以调整系统定时器中断触发时间,使单片机在低功耗模式下停留更长时间。

使用特权

评论回复
13
i1mcu| | 2024-1-3 13:14 | 只看该作者
实时操作系统(RTOS)可以更有效地管理和调度任务,确保CPU和其他系统资源得到最佳利用,从而降低系统的动态功耗。

使用特权

评论回复
14
adolphcocker| | 2024-1-3 14:00 | 只看该作者
对于一些对低功耗要求较高的应用场景,实现低功耗设计成为了关键。

使用特权

评论回复
15
loutin| | 2024-1-3 14:23 | 只看该作者
RTOS的任务调度对功耗有很大的影响。应尽量减少任务的切换,因为任务切换会产生额外的能耗。尽量让任务在完成一项工作后,再进入低功耗模式,而不是频繁切换。

使用特权

评论回复
16
biechedan| | 2024-1-3 14:36 | 只看该作者
使用低功耗的单片机是首要步骤。              

使用特权

评论回复
17
chenci2013| | 2024-1-3 14:45 | 只看该作者
RTOS的系统时钟源于硬件的某个周期性定时器(如SysTick),任务调度器可以预期到下一个周期性任务(或定时器任务)的触发时间。通过调整系统时钟定时器中断触发时间,可以避免RTOS进入不必要的时间片切换,从而降低系统功耗。

使用特权

评论回复
18
usysm| | 2024-1-3 14:58 | 只看该作者
常见的低功耗模式有休眠模式、空闲模式、待机模式等。

使用特权

评论回复
19
modesty3jonah| | 2024-1-3 15:24 | 只看该作者
在RTOS中,任务调度器负责管理系统的任务执行顺序。通过优化任务调度策略,可以减少不必要的任务切换和等待时间,从而降低系统功耗。

使用特权

评论回复
20
jonas222| | 2024-1-3 15:44 | 只看该作者
使用具有低功耗特性的MCU,其内部集成有低功耗外设,支持多种低功耗模式,并在进入不同模式时能自动关闭非必要的模块。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1522

主题

4618

帖子

6

粉丝