一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于DSP的机载软件任务阻塞处理方法与流程

2022-03-19 15:35:24 来源:中国专利 TAG:

一种基于dsp的机载软件任务阻塞处理方法
技术领域
1.本发明涉及一种基于dsp的机载软件任务阻塞处理方法。


背景技术:

2.随着航空领域对飞机各方面功能的要求越来越高,也越来越完善。同时对机载软件的实时性要求也越来越高。dsp由于具有强大的控制和信号处理能力,能够实现复杂的控制算法,并且成本低而在航空领域得到了广泛的应用。
3.在机载软件中,为了保证软件的运行的确定性和稳定性,一般都会采用轮询的方式来对软件进行设计,而对于不同的任务都会设定其周期性地运行,以降低数据在某个周期被丢失的风险。
4.软件采用轮询 周期性运行的方式,大大提高了软件的稳定性,但是会引入一个问题就是:假如任务t1运行的周期为:10ms,t2任务的运行周期为30ms,t3任务的运行周期为50ms等等,那么在t1,t2,t3任务周期的公倍数的那一个点,就会造成所有任务阻塞的情况。
5.而为了保证软件的实时性,那么cpu轮询周期一般不会太长,为5ms甚至更短,所以如果任务阻塞在同一个时间点的话,不但导致任务执行的不确定性,甚至会造成cpu的瞬时占用率达到100%,这些对于机载软件来说都是不允许的。
6.在dsp软件中,所有的任务几乎都采用顺序执行的方式,这也可能导致一些紧急的数据不能被及时地发出去。


技术实现要素:

7.本发明要解决现有技术中任务阻塞的问题,提供一种新型的基于dsp的机载软件任务阻塞处理方法。
8.为了实现这一目的,本发明的技术方案如下:一种基于dsp的机载软件任务阻塞处理方法,包含有以下步骤,提供两个以上任务,各个任务均具有对应的权重级别、执行时间及运行周期;cpu具有轮询周期,其中,轮询周期小于运行周期;cpu结合轮询及权重的方式执行各任务:每个轮询周期中,遍历各个任务以判断是否存在有当前轮询周期的任务;若存在当前轮询周期的任务,则在当前轮询周期中根据权重级别由高至低依次执行当前轮询周期的任务。
9.作为一种基于dsp的机载软件任务阻塞处理方法的优选方案,在当前轮询周期中,若当前轮询周期的任务中已执行完的任务的总时间大于n倍的当前轮询周期的总时间,其中,0<n≤1,则当前轮询周期的任务中未被执行的任务延迟至下一个轮询周期。
10.作为一种基于dsp的机载软件任务阻塞处理方法的优选方案,若延迟至下一个轮询周期的任务在下一个轮询周期仍未被执行,则该任务延迟至下下一个轮询周期并且将其权重级别调整至最高。
11.与现有技术相比,本发明的有益效果至少在于:对阻塞的任务进行合理地调度,使
运行的各个任务都能满足软件实时性的要求。当某个时间点任务发生阻塞时,可以使实时性要求比较高的数据首先执行,而对于实时性要求稍低的任务可以暂缓放到下一个轮询周期运行。1、满足不同任务的实时性要求;2、保证软件运行的稳定性;3、降低cpu的瞬时占有率。
12.除了上面所描述的本发明解决的技术问题、构成技术方案的技术特征以及由这些技术方案的技术特征所带来的有益效果之外,本发明所能解决的其他技术问题、技术方案中包含的其他技术特征以及这些技术特征带来的有益效果,将连接附图作出进一步详细的说明。
附图说明
13.图1为本发明中cpu根据任务权重运行顺序图。
14.图2为本发明中任务阻塞处理策略举例。
15.图3为本发明中任务工作流程图。
具体实施方式
16.下面通过具体的实施方式连接附图对本发明作进一步详细说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
17.请参见图1至3,本例以4个任务为例,即t1,t2,t3,t4,权重分别为w1,w2,w3,w4,执行完任务所需要的时间分别为:t1,t2,t3,t4,四个任务的运行周期分别为:10ms,20ms,30ms,40ms。cpu的轮询周期为5ms。
18.在10ms时刻:只有t1运行;在20ms时刻,t1,t2都满足了运行条件,根据权重,先运行t1,再运行t2。因为t1 t2《5ms;所以t1,t2两个任务都在本周期完成。
19.在30ms时刻,t1,t3都满足了运行条件,根据权重,先运行t1,再运行t3。因为t1 t3《5ms, 所以t1,t3两个任务都在本周期完成。
20.在40ms时刻,t1,t2,t4都满足了运行条件,根据权重,先运行t1,再运行t2,t4最后运行。因为t1 t2 t4《5ms,因此t1,t2,t4都在本周期完成。
21.在120ms时刻,四个任务都满足了运行条件,根据权重,cpu理论应运行的顺序为t1,t2,t3,t4,可是当t3完成后,剩下的时间不足以再完成任务t4,所以t4被放到下一个周期执行。
22.以上仅表达了本发明的实施方式,其描述较为具体和详细,但且不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。


技术特征:
1.一种基于dsp的机载软件任务阻塞处理方法,其特征在于,包含有以下步骤,提供两个以上任务,各个任务均具有对应的权重级别、执行时间及运行周期;cpu具有轮询周期,其中,轮询周期小于或者等于运行周期;cpu结合任务的执行时间及权重的方式执行各任务:每个轮询周期中,遍历各个任务以判断是否存在有当前轮询周期的任务;若存在当前轮询周期的任务,则在当前轮询周期中根据权重级别由高至低依次执行当前轮询周期的任务。2.根据权利要求1所述的一种基于dsp的机载软件任务阻塞处理方法,其特征在于,在当前轮询周期中,若当前轮询周期的任务中已执行完的任务的总时间大于n倍的当前轮询周期的总时间,其中,0<n≤1,则当前轮询周期的任务中未被执行的任务延迟至下一个轮询周期。3.根据权利要求2所述的一种基于dsp的机载软件任务阻塞处理方法,其特征在于,若延迟至下一个轮询周期的任务在下一个轮询周期仍未被执行,则该任务延迟至下下一个轮询周期并且将其权重级别调整至最高。

技术总结
本发明公开一种基于DSP的机载软件任务阻塞处理方法,包含有以下步骤,提供两个以上任务,各个任务均具有对应的权重级别、执行时间及运行周期;CPU具有轮询周期,其中,轮询周期小于或者等于运行周期;CPU结合任务的执行时间及权重执行各任务:每个轮询周期中,遍历各个任务以判断是否存在有当前轮询周期的任务;若存在当前轮询周期的任务,则在当前轮询周期中根据权重级别由高至低依次执行当前轮询周期的任务。本发明的有益效果在于:1、满足不同任务的实时性要求;2、保证软件运行的稳定性;3、降低CPU的瞬时占有率。降低CPU的瞬时占有率。降低CPU的瞬时占有率。


技术研发人员:张丽 陈利云
受保护的技术使用者:上海航空电器有限公司
技术研发日:2020.09.18
技术公布日:2022/3/18
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献