首页 >> 大全

SylixOS周期定时抖动分析

2023-08-03 大全 37 作者:考证青年

1.概述 自动化与控制行业中有很多场景需要循环周期控制,而运动控制领域对循环周期控制的时间确定性要求尤为严格,周期抖动的时间确定性和周期控制的极限范围直接影响运动控制产品的质量和性能。

作为一款嵌入式实时操作系统,针对不同循环周期和不同程度的时间确定性要求均有对应的周期控制方式,其中就有为周期性任务解决多任务调度冲突并且时间确定性良好的速率单调调度(Rate RMS),还有传统的以硬件平台定时器作为中断源,以中断服务程序作为实时任务运行载体的周期控制方式。

2.周期定时方式 本文档主要针对实时周期任务进行时间确定性的测试,为贴近真实场景,除了实时周期任务,还有多个普通线程以及不间断的串口中断、网络中断等干扰项,以此保证本文档测试数据以及抖动分析有实际参考价值。

2.1 SMP模式的RMS方式 2.1.1测试模型

测试平台有两个CPU,在应用程序中将实时任务绑定到CPU1上,其他任务则在CPU0上运行,其中中断的绑核不提供应用层的接口,因此我们编写了一个.ko文件用于绑定中断(包括串口中断、网络中断、定时器中断等)到CPU0上,测试时加载此.ko模块即可,具体测试模型如图 2-1所示。

周期抖动计算方法__定时抖动的原因有哪些

图 2-1 SMP模式的RMS方式测试模型

2.1.2抖动分析 RMS实现说明:基于操作系统tick的软件定时,循环周期高于tick的部分以tick来实现,循环周期低于tick的部分以CPU忙等待处理实现,以此保证时间延时精度。

在高精度时间的CPU忙等待处理中会使用自旋锁,在这一过程中,操作系统不停地获取CPU的时间计数值,每次获取值的过程需要自旋锁加锁、解锁的操作,多核竞争下共享资源使用自旋锁进行互斥访问会对RMS有影响,存在一个极限情况,CPU0在CPU1上的实时任务延时完成之前抢先占有自旋锁,自旋锁被占有的时间会导致SMP模式的RMS最大抖动极限值。

2.1.3优点 2.1.4缺点 2.2 SMP模式的ISR方式 2.2.1测试模型 以硬件平台定时器作为中断源,以中断服务程序作为实时任务运行载体,这种SMP模式的ISR方式,将实时线程转化为中断任务,可有效提高任务的响应速度和任务循环周期的时间确定性,具体测试模型如图 2-2所示。

_定时抖动的原因有哪些_周期抖动计算方法

图 2-2 SMP模式的ISR方式测试模型

2.2.2抖动分析 SMP模式的ISR周期控制方式,使用双核平台的私有定时器产生定时中断到中断处理程序开始执行存在一定时间间隔,不可避免。这段时间间隔就是中断响应时间,稳定的中断响应时间可以保证ISR方式的稳定循环周期。存在一个极限情况,前后两次的定时中断分别以最小的中断响应时间和最大的中断响应时间让中断处理程序开始执行,就会导致ISR周期控制方式的最大抖动极限值。在双核平台的中断响应时间集中在2-3μs,因此ISR周期控制方式的最大抖动极限值为±1μs。

2.2.3优点 周期控制方式中时间确定性最好的一种方式。

2.2.4缺点 因为任务在中断服务程序中执行,要求任务代码短小精悍且不允许有耗时操作,需要根据具体情况决定是否采用此方法,不具备通用性。

定时抖动的原因有哪些_周期抖动计算方法_

2.3 AMP模式的RMS方式 2.3.1测试模型 支持AMP模式,在双核平台的两个CPU上分别运行,测试模型与SMP模式的RMS方式类似,具体的测试模型如图 2-3所示。

周期抖动计算方法__定时抖动的原因有哪些

图 2-3 AMP模式的RMS方式测试模型

2.3.2抖动分析 AMP模式的RMS周期控制方式相对SMP模式的RMS周期控制方式避免了多核竞争下共享资源使用自旋锁互斥访问的影响,最大抖动主要是和前后两次实时任务运行之前的任务上下文切换时间有关,存在一个极限情况,前后两次任务上下文切换分别以最小切换时间和最大切换时间来完成任务调度,会造成AMP模式的RMS方式的最大抖动极限值。

2.3.3优点 由于每个CPU单独运行一个操作系统,相比SMP模式下的RMS方式,避免了多核竞争下共享资源使用自旋锁互斥访问的影响,提高了时间确定性。

2.3.4缺点 AMP模式的RMS方式可能会出现RMS任务独占CPU的情况,在双核平台的时钟周期为100μs,当任务延时时间低于100μs(时钟周期)时就会出现任务独占CPU的情况。

3.总结 AMP模式的ISR周期控制方式和SMP模式的ISR控制方式结果类似,不单独列出。

有多种循环周期控制方式可供选择,在对较小循环周期的控制场景下,可以以针对性的控制方式保证实时任务的时间确定性,本文档测试场景模拟了一些干扰任务和中断任务,用户可根据自身实际场景选择合适的周期控制方式。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了