System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 延时处理优化方法和系统技术方案_技高网

延时处理优化方法和系统技术方案

技术编号:40987101 阅读:20 留言:0更新日期:2024-04-18 21:30
本申请涉及一种延时处理优化方法及系统,所述方法包括:首先获取待运行任务的第一延时时长,再通过多轮延时获取延时过程出现的时间偏差值,将多轮时间偏差值取均值当做补偿时长,利用设定的第一延时时长和补偿时长得到第二延时时长,并利用第二延时时长对待运行任务进行延时处理,提高vxWorks操作系统下延时带来的精度损失,提高了用户软件使用体验,实现长期值班环境下的软件始终保持高效工作的要求。

【技术实现步骤摘要】

本申请涉及操作系统领域,尤其涉及一种延时处理优化方法和系统


技术介绍

1、嵌入式系统中,一个任务往往需要在特定的延时之后去执行一个指定的动作,比如等待外设以确保数据可靠,控制扬声器发声时间,串口通信超时重发等等。这就需要利用定时器机制来计量特定长度的时间段。vxworks操作系统是运行在目标机上的高性能、可裁剪的嵌入式实时多任务操作系统,其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天、航海等高精尖技术及实时性要求极高的领域中。

2、在实际的工程应用中,周期任务,需要有最大的延时或称为等待时间。在vxworks操作系统系下,现有软件延时存在一定的误差并且精度不够也不稳定,未满足实际应用中对延时精度的高要求。

3、因而,亟需研发一种延时处理优化方法和系统解决上述存在的一个或多个问题。


技术实现思路

1、鉴于此,为解决上述技术问题或部分技术问题,本专利技术实施例提供一种延时处理优化方法和系统。

2、第一方面,本申请提供了一种延时处理优化方法,所述方法包括:

3、获取待运行任务的第一延时时长;

4、获取所述第一延时时长对应的时间偏差值;

5、根据所述时间偏差值计算得到补偿时长;

6、利用所述第一延时时长和补偿时长确定第二延时时长,并利用所述第二延时时长对所述待运行任务进行延时处理。

7、在一个可能的实施方式中,所述方法还包括:

8、获取所述待运行任务的节点信息;</p>

9、根据所述待运行任务的节点信息和所述第二延时时长得到所述待运行任务的第三延时时长,并利用所述第三延时时长对所述待运行任务进行延时处理。

10、在一个可能的实施方式中,所述获取所述第一延时时长对应的时间偏差值,包括:

11、设定n组间隔1ms的第一延时时长,并根据每组的第一延时时长对待运行任务进行延时处理;

12、采集n组延时处理对应的时间偏差值数组,计算所述时间偏差值数组的平均值作为所述第一延时时长对应的时间偏差值。

13、在一个可能的实施方式中,所述利用所述第一延时时长和补偿时长确定第二延时时长,包括:

14、将所述第一延时时长和补偿时长输入至第二延时时长计算公式,得到所述待运行任务的第二延时时长;

15、其中,所述第二延时时长计算公式包括:

16、t1=t+△t;

17、所述t1为第二延时时长,所述t为第一延时时长,所述△t为补偿时长。

18、在一个可能的实施方式中,所述根据所述待运行任务的节点信息和所述第二延时时长得到所述待运行任务的第三延时时长,包括:

19、获取所述待运行任务运行的初始起点,判断所述待运行任务运行的初始起点是否为所述待运行任务的延时周期节点;

20、在所述初始起点为所述待运行任务的延时周期节点的情况下,将所述第二延时时长作为所述待运行任务的第三延时时长;

21、在所述初始起点为非所述待运行任务的延时周期节点的情况下,获取所述初始起点在延时周期内对应的实际延时周期,根据所述实际延时周期得到所述待运行任务的第三延时时长。

22、在一个可能的实施方式中,所述利用所述第三延时时长对所述待运行任务进行延时处理,包括:

23、在所述初始起点为所述待运行任务的延时周期节点的情况下,在延时周期内对应第三延时时长的时刻对所述待运行任务进行延时处理;

24、在所述初始起点为非所述待运行任务的延时周期节点的情况下,利用所述第三延时时长和第二延时时长计算得到周期误差值,利用所述周期误差值在所述初始起点对应的下一延时周期内对所述待运行任务进行延时处理

25、在一个可能的实施方式中,所述利用所述周期误差值在所述初始起点对应的下一延时周期内对所述待运行任务进行延时处理,包括:

26、根据所述周期误差值得到周期补偿时长,

27、将所述周期补偿时长作为所述初始起点对应的下一延时周期的周期延时时长,并在下一延时周期内对应周期延时时长的时刻对所述待运行任务进行延时处理。

28、第二方面,本申请提供了一种延时处理优化系统,所述系统包括:nanosleep延时单元、补偿时间获取单元、systimestamp延时补偿单元以及延时执行单元;

29、所述nanosleep延时单元,用于获取待运行任务的第一延时时长;

30、所述补偿时间获取单元,用于获取所述第一延时时长对应的时间偏差值;

31、所述systimestamp延时补偿单元,用于根据所述时间偏差值计算得到补偿时长;

32、所述延时执行单元,用于利用所述第一延时时长和补偿时长确定第二延时时长,并利用所述第二延时时长对所述待运行任务进行延时处理。

33、在一个可能的实施方式中,所述系统还包括taskdealy延时误差单元;

34、所述taskdealy延时误差单元,用于获取所述待运行任务的节点信息;根据所述待运行任务的节点信息和所述第二延时时长得到所述待运行任务的第三延时时长,并利用所述第三延时时长对所述待运行任务进行延时处理。

35、在一个可能的实施方式中,systimestamp延时补偿单元的精度值为1ms。

36、本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的方法提出了基于vxworks系统延时优化方法,输入延时的时间延时以及时间补偿达到1ms级高精度延时指标,将该延时设计封装入库后可以直接调用延时接口进行延时,在不额外增加硬件定时器资源的前提下,提供一种可选的软件高精度延时方案,降低项目成本和难度,符合所有vxworks系统环境下的延时要求,克服了vxworks实时操作系统下的延时缺陷带来的影响,提高了用户软件使用体验,实现长期值班环境下的软件始终保持高效工作的要求。

本文档来自技高网...

【技术保护点】

1.一种延时处理优化方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,还包括:

3.根据权利要求1所述的方法,其特征在于,所述获取所述第一延时时长对应的时间偏差值,包括:

4.根据权利要求1所述的方法,其特征在于,所述利用所述第一延时时长和补偿时长确定第二延时时长,包括:

5.根据权利要求2所述的方法,其特征在于,所述根据所述待运行任务的节点信息和所述第二延时时长得到所述待运行任务的第三延时时长,包括:

6.根据权利要求5所述的方法,其特征在于,所述利用所述第三延时时长对所述待运行任务进行延时处理,包括:

7.根据权利要求6所述的方法,其特征在于,所述利用所述周期误差值在所述初始起点对应的下一延时周期内对所述待运行任务进行延时处理,包括:

8.一种延时处理优化系统,其特征在于,包括:nanosleep延时单元、补偿时间获取单元、sysTimeStamp延时补偿单元以及延时执行单元;

9.根据权利要求8所述的系统,其特征在于,所述系统还包括:

10.根据权利要求8所述的系统,其特征在于,所述sysTimeStamp延时补偿单元的精度值为1ms。

...

【技术特征摘要】

1.一种延时处理优化方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,还包括:

3.根据权利要求1所述的方法,其特征在于,所述获取所述第一延时时长对应的时间偏差值,包括:

4.根据权利要求1所述的方法,其特征在于,所述利用所述第一延时时长和补偿时长确定第二延时时长,包括:

5.根据权利要求2所述的方法,其特征在于,所述根据所述待运行任务的节点信息和所述第二延时时长得到所述待运行任务的第三延时时长,包括:

6.根据权利要求5所述的方法,其特征在于,所述利用所述第...

【专利技术属性】
技术研发人员:冯熠飞解梦迪郭照峰贾凡唐学术王鹏魏巍陈韬
申请(专利权)人:北京航天测控技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1