news 2026/4/18 6:45:03

8.2 Tickless空闲模式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
8.2 Tickless空闲模式

8.2 Tickless空闲模式

在嵌入式实时操作系统中,系统时钟节拍(SysTick)是维持任务调度、软件定时器和时间延迟等功能正常运行的基石。然而,在传统的低功耗策略中,即使所有任务均已进入阻塞态,系统仍需周期性地被SysTick中断唤醒以更新内核时钟,这阻止了微控制器(MCU)进入更深的、可关闭核心时钟的低功耗状态。针对此矛盾,FreeRTOS引入了Tickless空闲模式(也称为无节拍空闲模式)。该模式的核心思想是:在预测到的长时间空闲期内,动态地暂停系统节拍中断,并利用一个独立的低功耗定时器计算休眠时长,使MCU得以进入深度睡眠,从而在保持RTOS时间基准确性的前提下,实现功耗的数量级降低。

8.2.1 动机与基本原理:超越周期性节拍的局限

在标准FreeRTOS运行模式下,假设系统节拍频率configTICK_RATE_HZ为1000 Hz,则SysTick中断每1毫秒发生一次。若一个传感器任务需要每100毫秒采集一次数据,那么在两次采集的间隔中,系统将有99毫秒处于“空闲任务循环-进入浅睡眠-被SysTick中断唤醒”的状态。频繁的周期性中断唤醒导致MCU无法维持在最低功耗状态。

研究表明,对于事件驱动型物联网节点,超过95%的MCU活跃时间消耗在无实际任务调度的Tick中断处理及空闲循环中[1]。Tickless模式旨在消除这些不必要的唤醒。其工作原理可概括为以下步骤:

  1. 空闲期预测:当空闲任务启动并准备进入低功耗模式前,内核会计算距离下一个需要内核响应的时刻还有多久。这个时刻可能是:
    • 下一个软件定时器到期时间。
    • 下一个任务延时(vTaskDelay)到期时间。
    • 下一个超时等待(如xQueueReceive带超时参数)到期时间。
      取这些时间中的最小值,记为TsleepT_{sleep}Tsleep,即理论上的最大可休眠时长。
  2. 节拍中断暂停与补偿:内核暂停SysTick定时器。随后,根据TsleepT_{sleep}Tsleep和MCU深度睡眠模式的唤醒源特性,配置一个低功耗外设定时器(如RTC、LPTIM或BURTC)在稍早于TsleepT_{sleep}Tsleep的时刻产生中断,以唤醒系统。系统唤醒后,内核会根据低功耗定时器记录的实际休眠时间TactualT_{actual}Tactual,补偿(增加)系统节拍计数器xTickCount,从而维持正确的时间观念。
  3. 深度睡眠执行:在完成上述配置后,MCU执行进入深度睡眠的指令(如Cortex-M的WFIWFE),此时核心系统时钟可能被关闭,功耗降至微安级。

一个简化的Tickless模式工作周期如下图所示:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:35:57

终极重复文件清理指南:Czkawka一键释放存储空间

终极重复文件清理指南:Czkawka一键释放存储空间 【免费下载链接】czkawka 一款跨平台的重复文件查找工具,可用于清理硬盘中的重复文件、相似图片、零字节文件等。它以高效、易用为特点,帮助用户释放存储空间。 项目地址: https://gitcode.c…

作者头像 李华
网站建设 2026/4/15 23:52:43

12.1 高优先级任务:运动控制与伺服驱动

12.1 高优先级任务:运动控制与伺服驱动 在移动机器人控制系统中,运动控制与伺服驱动任务处于实时性要求的最顶端,被归类为硬实时任务。其核心职责是将上层导航算法生成的速度或位置指令,转化为精确的电机扭矩输出,并实时读取传感器反馈以构成闭环。该任务的任何执行延迟或…

作者头像 李华
网站建设 2026/4/16 22:12:32

3D球体动态抽奖系统:技术架构与全流程应用指南

3D球体动态抽奖系统:技术架构与全流程应用指南 【免费下载链接】log-lottery 🎈🎈🎈🎈年会抽奖程序,threejsvue3 3D球体动态抽奖应用。 项目地址: https://gitcode.com/gh_mirrors/lo/log-lottery 在…

作者头像 李华
网站建设 2026/4/18 5:37:25

Emotion2Vec+ Large语音情感识别系统/run.sh脚本作用解析

Emotion2Vec Large语音情感识别系统/run.sh脚本作用解析 1. run.sh脚本的核心作用与设计逻辑 在Emotion2Vec Large语音情感识别系统的二次开发镜像中,/root/run.sh脚本并非一个简单的启动命令,而是整个应用生命周期管理的中枢控制器。它承担着环境初始化…

作者头像 李华
网站建设 2026/4/17 11:14:19

国家中小学智慧教育平台电子教材下载终极指南:3步轻松获取PDF课本

国家中小学智慧教育平台电子教材下载终极指南:3步轻松获取PDF课本 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具 项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser 还在为无法离线使用国家中小学智慧教…

作者头像 李华
网站建设 2026/4/14 20:40:08

跨平台直播聚合工具Simple Live完全使用指南

跨平台直播聚合工具Simple Live完全使用指南 【免费下载链接】dart_simple_live 简简单单的看直播 项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live Simple Live是一款开源的跨平台直播聚合工具,让用户能够在手机、电脑和电视上享受一站…

作者头像 李华