RTOS实现亚毫秒定时分辨率的新方法

strongerHuang 2024-12-16 08:20
关注+星标公众,不错过精彩内容
来源 | 麦克泰技术

你在使用实时操作系统(RTOS)时是否发现无法将任务调度或延迟精度降到毫秒以下?你可能不得不在RTOS之外编写大量应用代码。虽然这种方式可行,但这会让你怀疑应用程序是否满足其截止期限,是否可维护和可扩展。RTOS不应该能够管理整个应用程序的时间吗,不管这个时间是一秒还是一微秒?

对于嵌入式系统领域的开发和管理人员来说,平衡时间精度和能源效率可能是一项持续的斗争。随着应用的发展,无论是在汽车、物联网、医疗设备还是工业自动化领域,对精确定时控制的需求都在增长。虽然传统的RTOS解决方案在管理实时任务方面很有效,但在这两个关键领域往往存在不足。

1. 传统RTOS的不足

首先,传统RTOS有精度限制。基于滴答的系统不能提供超出滴答(Tick)间隔(如1毫秒)的时间粒度。这种限制影响了执行超精细定时操作的能力,例如精密传感器读数或先进机器人的高分辨率控制。事实上,如果不仔细,你甚至可能任务时序中注入抖动,从而破坏系统的实时性能!

其次,基于滴答的RTOS能效低!即使没有任务调度,周期系统滴答中断也会使CPU保持活动状态,从而导致能源浪费,这在电池供电和低功耗设备中尤为严重。虽然一些RTOS试图通过引入tickless省电模式来克服这个缺陷,但这些解决方案更多的是权宜之计,而不是完整的功能。

这些限制迫使开发人员采用效率低下的解决方案,例如轮询硬件计时器或使用特定于目标的技术来实现更高的分辨率和更低的功耗,这种方法使开发过程复杂化,降低了软件的可移植性和可维护性。

本文中,我们将探索一种新的机制来精确地调度低于一毫秒的任务,这种机制可以提高应用程序的实时性能,同时提高能效,其好处来自于利用周期精度定时的新RTOS实现。

2. 从基于滴答的调度到基于周期的调度

传统的RTOS使用周期性的系统滴答来跟踪时间和调度任务。例如,大多数RTOS,如FreeRTOS、Zephyr和embOS-Base,默认使用1毫秒的滴答间隔。这个间隔依赖于每毫秒产生一次中断的计时器。所有时间相关的操作(任务延迟、超时和软件计时器)都与滴答对齐。如果我们使用SEGGER SystemView这样的工具来记录和分析应用程序的运行时行为,将看到类似图1所示的内容。

图1:使用周期滴答来跟踪系统时间的传统RTOS

如图所示,系统每隔一毫秒就会中断一次应用,如果系统处于睡眠状态并且没有其他的工作要做,它也会被唤醒以增加计数并返回睡眠状态!

基于滴答的设计限制了计时精度,并引入了延迟,因为不能以比滴答间隔更细的粒度调度任务,这是我在许多应用中遇到的一个问题,它迫使你思考RTOS之外的实现。

基于周期的调度通过用单次硬件定时器(single-shot hardware timer)代替周期滴答中断消除了这种约束。计时器只在需要时产生中断,而非每毫秒唤醒CPU,从而允许将事件调度精确到微秒或CPU周期。这种方法提高了精度,减少了CPU的活动,节约了能源。

让我们来看一个例子。考虑一个需要持续4.7毫秒的任务延迟。在拥有1毫秒滴答间隔的RTOS中,延迟要么提前结束(4毫秒),要么延长(5毫秒),具体取决于滴答计时。使用基于周期的调度可以实现精确的4.7毫秒延迟,因为它不再依赖于滴答间隔。

3. embOS-Ultra:高精度和高效率的技术解决方案

如果调查当今的RTOS市场,你会发现SEGGER的embOS-Ultra是唯一支持基于周期调度的RTOS。因此,我们将关注embOS-Ultra如何通过引入周期分辨率定时来解决精度和效率方面的挑战,以及这种创新方法如何改善应用。

让我们来分析一下embOS-Ultra是如何在不增加不必要复杂性的情况下解决精度和效率问题。

通过单次计时器提高能效

通过移除周期滴答,embOS-Ultra显著降低了CPU负载。即使没有待处理的工作,传统的RTOS也会在每个滴答唤醒CPU,这种行为增加了功耗,因为CPU必须保存其当前状态,处理中断,并恢复其状态,这些不必要的CPU周期消耗了能量。

embOS-Ultra的单次计时器仅在特定事件发生时唤醒CPU,使系统长时间处于低功耗状态。这一特性对于低功耗和电池供电的应用尤其有利,例如可穿戴设备或远程物联网传感器,在这些应用中,节省的每一点能量都将延长运行时间。然而,即使是连接到恒定电源的设备也可以通过降低其整体能量配置和减少对电网的需求而受益。

在许多微控制器架构中,计时器可以配置为各种模式。EmbOS-Ultra利用定时器计数到零或到指定值的模式,在需要时触发中断。这种灵活性使开发人员能够精确地控制时间事件,而不依赖于周期滴答。正如想象的那样,允许计时器自由计数用于调度,比计数为零后重置更有好处。

维护系统的长期稳定性

你可能会认为,虽然使用单个计时器来提供高分辨率、亚毫秒级的调度听起来很棒,但丢失系统滴答将破坏应用程序。好消息是它不会,embOS-Ultra使用两个硬件计时器。一个计时器用于长期连续运行而不产生中断。第二个计时器,即我们在前一节中讨论的单次计时器,用于任务调度。

这意味着没有复杂的算法在后台运行,试图确定自系统启动以来已经过了多少毫秒。诚实地说:我们大多数人都利用系统滴答来提供时间戳、计算过滤器和执行其他日常活动。如果从RTOS中删除它,我们的开发将变得更加困难。

添加第二个计时器似乎会增加系统的复杂性和能效,但事实并非如此。如今,大多数32位微控制器拥有多个计时器,而且与CPU相比,计数器使用的电流很少。使用第二计时器的权衡仍然确保我们最大限度地减少能耗,同时保持系统实时性能的长期稳定性。

4. 基于周期调度的应用

了解了周期调度如何工作后,我们来研究一个示例。SEGGER的网站上提供了一个live comparison示例(https://www.segger.com/products/rtos/embos/editions/embos-ultra/#live-comparison),模拟滴答调度和周期调度行为。我建议尝试一下,获得一些实际操作经验。

Live comparison示例允许你通过print语句查看每秒产生了多少次滴答。测试应用包含两个任务:一个201毫秒的任务和一个50毫秒的任务。基于滴答的调度器,每秒1000个节拍。如果使用基于周期的调度来模拟相同的应用程序,则每秒只能获得24 - 25个节拍。

遗憾的是,对于模拟程序,无法使用SystemView来记录和分析应用程序行为,因此,我使用live comparison示例运行在开发板上来分析周期调度。结果如图2所示:

图2:图1所示的相同应用程序的基于周期调度实现

如果查看图2中分析窗口底部的计时差异,你将看到系统的滴答间隔不是固定的。只有在必要时才有一个滴答,在图2的底部可以看到,滴答之间有49.9毫秒的间隔,然后是16.9毫秒的延迟,以此类推。这是基于周期的计时!基于周期的调度应用程序每秒只有24 - 25个滴答,具体取决于任务的截止时限。

5. 使用基于周期的调度,同时保持向后兼容性

迁移到新的RTOS带来的风险和复杂性,可能是开发人员和管理人员非常关心的问题。embOS-Ultra通过在提供扩展功能的同时保持与现有API兼容来解决这个问题。

首先,对使用embOS-Base或其他滴答RTOS API的应用程序,可以在embOS-Ultra中继续发挥预期的作用。embOS-Ultra中保留了基于毫秒的计时功能,确保已有代码无需修改。如果使用的是embOS-Base,则API直接兼容。如果使用其它RTOS,你可能会有一天左右的时间将RTOS调用更新为embOS-Ultra。

其次,对于需要更高精度的开发人员,embOS-Ultra引入了扩展的API,例如用于微秒延迟的OS_TASK_Delay_us()或用于周期调度的OS_TASK_Delay_Cycles()。这些函数与传统API调用共存,允许开发人员在不修改整个代码库的情况下逐步采用高级功能。

让我们来看一个例子。假设我们想每1,000,000个周期向终端发送一次打印“Hello World!”,我可能会用下面的语法创建一个名为Hello的RTOS任务:

OS_TASK_Delay_Cycles以周期方式指定了任务挂起操作的最小时间间隔,因此,当调用OS_TASK_Delay_Cycles时,如果系统周期计数为1,000,000,则100万周期的延迟将在系统周期计数为2,000,000时到期。

注意,作为开发人员,你可以控制单个周期所代表的时间间隔。它可以是单个CPU周期,也可以是更长的时间,这取决于你如何为使用的计时器配置时钟分频器。好消息是,SEGGER为各种微控制器提供了许多移植实现,所以你不必自己编写这些;只有当默认值不能满足需要时,才需要知道如何通过API来调整。

这种双重计时方法意味着工程师不必在传统实现和高精度之间做出选择,他们可以在同一应用中同时使用这两种方法。无论是从embOS-Base还是其他基于滴答的系统(如CMSIS-RTOS)迁移,开发人员都可以很方便的使用embOS-Ultra,因为必要的应用更改很小且简单。


6. 下一步工作


基于周期的调度代表了一种技术进步,它解决了开发人员和管理人员在当今嵌入式系统中面临的核心挑战,在实现微秒精度的同时最大限度地提高能效。通过消除传统的系统滴答,并提供灵活的、基于周期的方法。

基于周期的调度为希望在没有复杂迁移风险的情况下提高系统的性能和能源配置的嵌入式专业人员提供了一种实用而先进的替代方案。你可以通过下列步骤了解更多关于周期调度的信息。

首先,查看embOS-Ultra RTOS手册(https://www.segger.com/downloads/embos/UM01076_embOS_Ultra.pdf),它包含了许多示例,描述了高精度和周期调度如何工作。


最后,确认了更精确的计时和节能的好处后,即可在嵌入式系统采用基于周期计时功能了。

------------ END ------------



●专栏《嵌入式工具

●专栏《嵌入式开发》

●专栏《Keil教程》

●嵌入式专栏精选教程


关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

点击“阅读原文”查看更多分享。

strongerHuang 作者黄工,高级嵌入式软件工程师,分享嵌入式软硬件、物联网、单片机、开发工具、电子等内容。
评论 (0)
  •   无人装备作战协同仿真系统软件:科技的关键支撑   无人装备作战协同仿真系统软件,作为一款综合性仿真平台,主要用于模拟无人机、无人车、无人艇等无人装备在复杂作战环境中的协同作战能力、任务规划、指挥控制以及性能评估。该系统通过搭建虚拟战场环境,支持多种无人装备协同作战仿真,为作战指挥、装备研发、战术训练和作战效能评估,提供科学依据。   应用案例   系统软件供应可以来这里,这个首肌开始是幺伍扒,中间是幺幺叁叁,最后一个是泗柒泗泗,按照数字顺序组合就可以找到。   核心功能   虚拟战
    华盛恒辉l58ll334744 2025-04-14 17:24 75浏览
  • 三、芯片的制造1、制造核心流程 (1)晶圆制备:以高纯度硅为基底,通过拉晶、切片、抛光制成晶圆。 (2)光刻:光刻、离子注入、薄膜沉积、化学机械抛光。 (3)刻蚀与沉积:使用干法刻蚀(等离子体)精准切割图形,避免侧壁损伤。 (4)掺杂:注入离子形成PN结特性,实现晶体管开关功能。2、材料与工艺创新 (1)新材料应用: 高迁移率材料(FinFET中的应变硅、GaN在射频芯片中的应用); 新型封装技术(3D IC、TSV硅通孔)提升集成度。 (2)工艺创新: 制程从7nm到3nm,设计架构由F
    碧海长空 2025-04-15 11:33 92浏览
  • 二、芯片的设计1、芯片设计的基本流程 (1)需求定义: 明确芯片功能(如处理器、存储、通信)、性能指标(速度、功耗、面积)及目标应用场景(消费电子、汽车、工业)。 (2)架构设计: 确定芯片整体框架,包括核心模块(如CPU、GPU、存储单元)的协同方式和数据流路径。 (3)逻辑设计: 通过硬件描述语言(如Verilog、VHDL)将架构转化为电路逻辑,生成RTL(寄存器传输级)代码。 (4)物理设计: 将逻辑代码映射到物理布局,涉及布局布线、时序优化、功耗分析等,需借助EDA工具(如Ca
    碧海长空 2025-04-15 11:30 74浏览
  • 在当今汽车电子化和智能化快速发展的时代,车规级电子元器件的质量直接关系到汽车安全性能。三星作为全球领先的电子元器件制造商,其车规电容备受青睐。然而,选择一个靠谱的三星车规电容代理商至关重要。本文以行业领军企业北京贞光科技有限公司为例,深入剖析如何选择优质代理商。选择靠谱代理商的关键标准1. 授权资质与行业地位选择三星车规电容代理商首先要验证其授权资质及行业地位。北京贞光科技作为中国电子元器件行业的领军者,长期走在行业前沿,拥有完备的授权资质。公司专注于市场分销和整体布局,在电子元器件领域建立了卓
    贞光科技 2025-04-14 16:18 128浏览
  • 一、智能语音播报技术演进与市场需求随着人工智能技术的快速发展,TTS(Text-to-Speech)技术在商业场景中的应用呈现爆发式增长。在零售领域,智能收款机的语音播报功能已成为提升服务效率和用户体验的关键模块。WT3000T8作为新一代高性能语音合成芯片,凭借其优异的处理能力和灵活的功能配置,正在为收款机智能化升级提供核心技术支持。二、WT3000T8芯片技术特性解析硬件架构优势采用32位高性能处理器(主频240MHz),支持实时语音合成与多任务处理QFN32封装(4x4mm)实现小型化设计
    广州唯创电子 2025-04-15 08:53 79浏览
  •   高空 SAR 目标智能成像系统软件:多领域应用的前沿利器   高空 SAR(合成孔径雷达)目标智能成像系统软件,专门针对卫星、无人机等高空平台搭载的 SAR传感器数据,融合人工智能与图像处理技术,打造出的高效目标检测、识别及成像系统。此软件借助智能算法,显著提升 SAR图像分辨率、目标特征提取能力以及实时处理效率,为军事侦察、灾害监测、资源勘探等领域,提供关键技术支撑。   应用案例系统软件供应可以来这里,这个首肌开始是幺伍扒,中间是幺幺叁叁,最后一个是泗柒泗泗,按照数字顺序组合
    华盛恒辉l58ll334744 2025-04-14 16:09 140浏览
  • 你知道精益管理中的“看板”真正的意思吗?在很多人眼中,它不过是车间墙上的一块卡片、一张单子,甚至只是个用来控制物料的工具。但如果你读过大野耐一的《丰田生产方式》,你就会发现,看板的意义远不止于此。它其实是丰田精益思想的核心之一,是让工厂动起来的“神经系统”。这篇文章,我们就带你一起从这本书出发,重新认识“看板”的深层含义。一、使“看板”和台车结合使用  所谓“看板”就是指纸卡片。“看板”的重要作用之一,就是连接生产现场上道工序和下道工序的信息工具。  “看板”是“准时化”生产的重要手段,它总是要
    优思学院 2025-04-14 15:02 111浏览
  • 一、芯片的发展历程总结:1、晶体管的诞生(1)电子管时代 20世纪40年代,电子管体积庞大、功耗高、可靠性差,无法满足计算机小型化需求。(2)晶体管时代 1947年,贝尔实验室的肖克利、巴丁和布拉顿发明点接触晶体管,实现电子信号放大与开关功能,标志着固态电子时代的开端。 1956年,肖克利发明晶体管。(3)硅基晶体管时代 早期晶体管采用锗材料,但硅更耐高温、成本低,成为主流材料。2、集成电路的诞生与发展 1958年,德州仪器工程师基尔比用锗材料制成世界上第一块含多个晶体管的集成电路,同年仙童半导
    碧海长空 2025-04-15 09:30 82浏览
  • 四、芯片封测技术及应用场景1、封装技术的发展历程 (1)DIP封装:早期分立元件封装,体积大、引脚少; (2)QFP封装:引脚密度提升,适用于早期集成电路。 (3)BGA封装:高密度互连,散热与信号传输优化; (4)3D封装:通过TSV(硅通孔)实现垂直堆叠,提升集成度(如HBM内存堆叠); (5)Chiplet封装:异质集成,将不同工艺节点的模块组合(如AMD的Zen3+架构)。 (6)SiP封装:集成多种功能芯片(如iPhone的A系列SoC整合CPU、GPU、射频模块)。2、芯片测试 (1
    碧海长空 2025-04-15 11:45 105浏览
  • 展会名称:2025成都国际工业博览会(简称:成都工博会)展会日期:4月23 -25日展会地址:西部国际博览城展位号:15H-E010科士威传动将展示智能制造较新技术及全套解决方案。 2025年4月23-25日,中国西部国际博览城将迎来一场工业领域的年度盛会——2025成都国际工业博览会。这场以“创链新工业,共碳新未来”为主题的展会上,来自全球的600+ 家参展企业将齐聚一堂,共同展示智能制造产业链中的关键产品及解决方案,助力制造业向数字化、网络化、智能化转型。科士威传动将受邀参展。&n
    科士威传动 2025-04-14 17:55 68浏览
  • 在制造业或任何高度依赖产品质量的行业里,QA(质量保证)经理和QC(质量控制)经理,几乎是最容易被外界混淆的一对角色。两者的分工虽清晰,但职责和目标往往高度交叉。因此,当我们谈到“谁更有可能升任质量总监”时,这并不是一个简单的职位比较问题,而更像是对两种思维方式、职业路径和管理视角的深度考察。QC经理,问题终结者QC经理的世界,是充满数据、样本和判定标准的世界。他们是产品出厂前的最后一道防线,手里握着的是批次报告、不合格品记录、纠正措施流程……QC经理更像是一位“问题终结者”,目标是把不合格扼杀
    优思学院 2025-04-14 12:09 68浏览
  • 一、磁场发生设备‌电磁铁‌:由铁芯和线圈组成,通过调节电流大小可产生3T以下的磁场,广泛应用于工业及实验室场景(如电磁起重机)。‌亥姆霍兹线圈‌:由一对平行共轴线圈组成,可在线圈间产生均匀磁场(几高斯至几百高斯),适用于物理实验中的磁场效应研究。‌螺线管‌:通过螺旋线圈产生长圆柱形均匀磁场,电流与磁场呈线性关系,常用于磁性材料研究及电子束聚焦。‌超导磁体‌:采用超导材料线圈,在低温下可产生3-20T的强磁场,用于核磁共振研究等高精度科研领域。‌多极电磁铁‌:支持四极、六极、八极等多极磁场,适用于
    锦正茂科技 2025-04-14 13:29 61浏览
  • 时源芯微 专业EMC解决方案提供商  为EMC创造可能(适用于高频时钟电路,提升EMC性能与信号稳定性)一、设计目标抑制电源噪声:阻断高频干扰(如DC-DC开关噪声)传入晶振电源。降低时钟抖动:确保晶振输出信号纯净,减少相位噪声。通过EMC测试:减少晶振谐波辐射(如30MHz~1GHz频段)。二、滤波电路架构典型拓扑:电源输入 → 磁珠(FB) → 大电容(C1) + 高频电容(C2) → 晶振VDD1. 磁珠(Ferrite Bead)选型阻抗特性:在目标频段(如100MHz~1GH
    时源芯微 2025-04-14 14:53 85浏览
  • 一、智能门锁市场痛点与技术革新随着智能家居的快速发展,电子门锁正从“密码解锁”向“无感交互”进化。然而,传统人体感应技术普遍面临三大挑战:功耗高导致续航短、静态人体检测能力弱、环境适应性差。WTL580微波雷达解决方案,以5.8GHz高精度雷达感知技术为核心,突破行业瓶颈,为智能门锁带来“精准感知-高效触发-超低功耗”的全新交互范式。二、WTL580方案核心技术优势1. 5.8GHz毫米波雷达:精准感知的革命全状态人体检测:支持运动、微动(如呼吸)、静态(坐卧)多模态感知,检测灵敏度达0.1m/
    广州唯创电子 2025-04-15 09:20 46浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦