谷动谷力

 找回密码
 立即注册
查看: 795|回复: 0
打印 上一主题 下一主题
收起左侧

简述基于RTOS的低功耗设计

[复制链接]
跳转到指定楼层
楼主
发表于 2023-5-10 21:49:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
简述基于RTOS的低功耗设计
[color=rgba(0, 0, 0, 0.9)]
基于 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 的系统时钟可以进行适当的调整。来源:一起学嵌入式


+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-11-24 19:46 , Processed in 0.199367 second(s), 41 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表