news 2026/4/23 16:00:28

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 8:59:49

fft npainting lama能否用于艺术创作?创意修图案例分享

fft npainting lama能否用于艺术创作?创意修图案例分享 1. 图像修复也能玩出艺术感? 你有没有遇到过这样的情况:一张照片里,背景很美,但中间偏偏有个碍眼的电线杆、水印或者路人甲,破坏了整体氛围。传统修…

作者头像 李华
网站建设 2026/4/23 14:34:16

如何在Windows 7系统快速安装最新Python 3.11版本:终极完整指南

如何在Windows 7系统快速安装最新Python 3.11版本:终极完整指南 【免费下载链接】PythonWin7 Python 3.9 installers that support Windows 7 SP1 and Windows Server 2008 R2 项目地址: https://gitcode.com/gh_mirrors/py/PythonWin7 还在为Windows 7系统无…

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

TradingAgents-CN智能金融分析系统:新手入门到精通完全指南

TradingAgents-CN智能金融分析系统:新手入门到精通完全指南 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN TradingAgents-CN是一款基…

作者头像 李华
网站建设 2026/4/23 14:33:57

老旧Mac升级完全指南:突破系统兼容性限制

老旧Mac升级完全指南:突破系统兼容性限制 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为老旧Mac无法安装最新macOS系统而苦恼吗?通过OpenCo…

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

Z-Image-Turbo性能瓶颈分析:GPU利用率低的5个原因及解决方案

Z-Image-Turbo性能瓶颈分析:GPU利用率低的5个原因及解决方案 Z-Image-Turbo是阿里巴巴通义实验室开源的一款高效AI图像生成模型,作为Z-Image的蒸馏版本,它在保持高质量图像输出的同时大幅提升了推理速度。该模型仅需8步即可生成照片级真实感…

作者头像 李华
网站建设 2026/4/18 1:52:45

gpt-oss-20b-WEBUI体验报告:优缺点全面分析

gpt-oss-20b-WEBUI体验报告:优缺点全面分析 1. 引言:为什么这款镜像值得关注? 你有没有试过在本地部署一个20B参数的大模型,还能直接通过网页使用?最近我体验了名为 gpt-oss-20b-WEBUI 的AI镜像,它基于Op…

作者头像 李华