强弱实时任务协同工作的多余度飞控软件时序设计方法技术

技术编号:37300648 阅读:11 留言:0更新日期:2023-04-21 22:46
本发明专利技术公开了一种强弱实时任务协同工作的多余度飞控软件时序设计方法,包括任务实时划分、强弱实时任务接口设计、通道间同步设计、弱实时任务超时保护设计;本发明专利技术方法解决了现有硬件资源无法支持飞控软件功能升级的问题,在不更改硬件资源的前提下,实现了飞行安全关键软件的能力提升;经过飞行实践证明,本发明专利技术方法经济可行,可以方便地应用到高安全性的多余度飞控软件中,在提升飞控软件能力的同时,保证了飞控软件的时间安全性。保证了飞控软件的时间安全性。保证了飞控软件的时间安全性。

【技术实现步骤摘要】
强弱实时任务协同工作的多余度飞控软件时序设计方法


[0001]本专利技术涉及飞行器数字控制
,具体涉及一种强弱实时任务协同工作的多余度飞控软件时序设计方法。

技术介绍

[0002]飞行控制软件是飞行安全关键软件,是对任务执行时间和失效影响有严格要求的多余度嵌入式实时软件。在实时方面,飞控软件要求有确定的运行时序,其软件运行机制是利用周期的中断信号驱动各个任务组的周期性调度,实现各个任务组按照紧迫程度以不同的周期调度执行。在余度方面,为了提高系统的容错性和可靠性,飞行控制系统通常采用多余度计算机,一个余度也称为一个通道,通道之间相互监控、表决、备份。
[0003]随着飞控软件的能力提升要求,新增的功能模块耗时量成倍增加,实时任务的时间安全裕度越来越小,成为了一个影响软件安全的潜在问题。为了解决这一问题,目前通常采用的方法从硬件的角度出发,更换飞控计算机的CPU,采用性能更好的CPU进行飞控计算,但是更换硬件的成本高、周期长,需要耗费大量的人力物力。

技术实现思路

[0004]本专利技术的目的是提供一种强弱实时任务协同工作的多余度飞控软件时序设计方法,重新进行设计飞控软件的时序,对实时任务进行进一步细化,在满足软件实时要求的同时,实现飞控软件的能力提升。
[0005]为了实现上述任务,本专利技术采用以下技术方案:
[0006]一种强弱实时任务协同工作的多余度飞控软件时序设计方法,包括:
[0007]对于飞行控制软件新增的功能模块X,首先分析其实时特征,如其满足实时要求,则直接将其划归为实时任务;
[0008]判断功能模块X在运行过程中的所有中间计算结果当中,是否存在需要在一个大帧周期之内计算完成且不可被其他任务中断的中间计算结果;如存在,则将功能模块X中用于计算该中间计算结果的部分划归为强实时模块,记为模块A,功能模块X中除了模块A之外的其余部分均划归为弱实时模块,记为模块B;
[0009]将上一步划分出的模块A安排在原飞控软件的实时任务组中,模块B安排在后台任务组中;当总线中断到来时,先按照优先级排序运行实时任务组中的实时任务;如所有实时任务运行完成后,还未达到大帧周期T,则在剩余的时间内运行后台任务组中的非实时任务;若在大帧周期T的剩余时间内,所述模块B不能完成运行,则在大帧周期T到达后,模块B的运行被中断,保存中断现场到堆栈中,并在下一个大帧周期的实时任务调度完成后,恢复中断现场,继续执行模块B;
[0010]设置一个模块A和模块B的公共内存,用于存储二者之间的接口变量;分析模块A的任务流图,查找模块A和模块B的交联关系;如模块A在实现其自身功能过程中需要模块B的最终执行结果,且模块B在实现其自身功能的过程中需要模块A的中间计算结果,则将所述
中间计算结果作为接口变量存入公共内存;
[0011]后台任务组在每次调度过程中,将检查公共内存中是否存在触发模块B运行时所需要的接口变量,如存在,则模块B开始执行;在执行过程中,模块B将从公共内存中获取实现其自身功能所需的接口变量;模块B的最终执行结果也作为接口变量放入公共内存中,该接口变量用于模块A实现其自身功能。
[0012]进一步地,判断功能模块是否满足实时要求的方法为:
[0013]对于飞控软件新增功能模块X,首先将其安排为实时任务,设置该功能模块的调度周期为大帧周期T,其中大帧周期是指飞控软件原有的所有功能模块中的最长的调度周期;
[0014]加入新的功能模块X后,在实验室进行仿真飞行,判断飞行软件运行过程中是否出现控制流故障;如不存在,则设计完成;否则,用飞行参数记录功能模块X实际的运行时间t1,如果功能模块X的实际运行时间t1大于大帧周期T,则进行下一步。
[0015]进一步地,所述实时任务组中为按照优先级排序的飞控软件的所有实时任务,后台任务组中为所有非实时任务;其中,按照模块A的数据流确定其优先级顺序,从而确定其在实时任务组中的排序。
[0016]进一步地,在公共内存中,如某接口变量为模块A的中间计算结果,则接口变量只能由A进行改写;而模块B的执行结果的接口变量也只能由B改写,保证接口变量在两个模块中的读写状态是互斥的。
[0017]进一步地,对于多余度飞控计算机,在每个计算机中会同步运行飞控软件,模块A和模块B需要保证在各个计算机中同步执行,以保证各余度结果的一致性;通过设计不同计算机通道之间的同步机制,使得各通道中的模块B能同步执行完成。
[0018]进一步地,所述不同计算机通道之间的同步机制,具体为:
[0019]在本通道的模块B执行完成后,给计算完成标志赋值1;
[0020]通过通道间的交叉传输功能,将本通道的计算完成标志传输给其他两个通道;当本通道得到其它两个通道的计算完成标志后,各通道的A模块进行表决值的计算,当所有通道的计算完成标志均为1时,则给最终表决值赋值为1,表明各个通道中B模块均已执行完成;当各个通道的A模块收到下一个总线时钟中断时,将同步从各通道的公共内存中获取B模块最终执行结果对应的接口变量。
[0021]进一步地,设定一个模块B的最坏执行时间Tmax,并设定一个时间变量Tb;每执行一次大帧周期T,如模块B还未执行完成,则该时间变量Tb的值加上一个大帧周期T;如果当前Tb超过了设定的最坏执行时间Tmax,则认为模块B运行超时,则不执行模块B的功能。
[0022]一种计算机可读存储介质,所述介质中存储有计算机程序;计算机程序被处理器执行时,实现所述强弱实时任务协同工作的多余度飞控软件时序设计方法的步骤。
[0023]与现有技术相比,本专利技术具有以下技术特点:
[0024]本专利技术方法解决了现有硬件资源无法支持飞控软件功能升级的问题,在不更改硬件资源的前提下,实现了飞行安全关键软件的能力提升;现有公开资料没有关于本方法的任何描述和实现。经过飞行实践证明,本专利技术方法经济可行,可以方便地应用到高安全性的多余度飞控软件中,在提升飞控软件能力的同时,保证了飞控软件的时间安全性。
附图说明
[0025]图1为飞控软件任务调度时序示意图;
[0026]图2为功能模块和调度周期的关系示意图;
[0027]图3为功能模块X原始时序调度示意图;
[0028]图4为拆分后的功能模块A、B时序调度示意图;
[0029]图5为强弱实时模块A、B的时序配合关系设计示意图;
[0030]图6为强弱实时模块接口设计示意图;
[0031]图7为通道同步机制设计示意图;
[0032]图8为专利技术实施例中强弱实时任务时序配合关系设计示意图;
[0033]图9为专利技术实施例中强弱实时模块接口设计示意图;
[0034]图10为专利技术实施例中通道同步机制示意图。
具体实施方式
[0035]飞控软件的运行由总线的时钟中断来驱动,每次总线时钟中断来时,飞控软件即按预先设定的调度表来调度实时任务运行,两次总线时钟中断之间的时间内称为一个时间本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种强弱实时任务协同工作的多余度飞控软件时序设计方法,其特征在于,包括:对于飞行控制软件新增的功能模块X,首先分析其实时特征,如其满足实时要求,则直接将其划归为实时任务;判断功能模块X在运行过程中的所有中间计算结果当中,是否存在需要在一个大帧周期之内计算完成且不可被其他任务中断的中间计算结果;如存在,则将功能模块X中用于计算该中间计算结果的部分划归为强实时模块,记为模块A,功能模块X中除了模块A之外的其余部分均划归为弱实时模块,记为模块B;将上一步划分出的模块A安排在原飞控软件的实时任务组中,模块B安排在后台任务组中;当总线中断到来时,先按照优先级排序运行实时任务组中的实时任务;如所有实时任务运行完成后,还未达到大帧周期T,则在剩余的时间内运行后台任务组中的非实时任务;若在大帧周期T的剩余时间内,所述模块B不能完成运行,则在大帧周期T到达后,模块B的运行被中断,保存中断现场到堆栈中,并在下一个大帧周期的实时任务调度完成后,恢复中断现场,继续执行模块B;设置一个模块A和模块B的公共内存,用于存储二者之间的接口变量;分析模块A的任务流图,查找模块A和模块B的交联关系;如模块A在实现其自身功能过程中需要模块B的最终执行结果,且模块B在实现其自身功能的过程中需要模块A的中间计算结果,则将所述中间计算结果作为接口变量存入公共内存;后台任务组在每次调度过程中,将检查公共内存中是否存在触发模块B运行时所需要的接口变量,如存在,则模块B开始执行;在执行过程中,模块B将从公共内存中获取实现其自身功能所需的接口变量;模块B的最终执行结果也作为接口变量放入公共内存中,该接口变量用于模块A实现其自身功能。2.根据权利要求1所述的强弱实时任务协同工作的多余度飞控软件时序设计方法,其特征在于,判断功能模块是否满足实时要求的方法为:对于飞控软件新增功能模块X,首先将其安排为实时任务,设置该功能模块的调度周期为大帧周期T,其中大帧周期是指飞控软件原有的所有功能模块中的最长的调度周期;加入新的功能模块X后,在实验室进行仿真飞行,判断飞行软件运行过程中是否出现控制流故障;如不存在,则设计完成;否则,用飞行参数记录功能模块X实际的运行时间t1,如果功能模块X的实际运行时间t1大于大帧周期...

【专利技术属性】
技术研发人员:税小芳严增锐周彦迟文明饶晓孙伟
申请(专利权)人:中国航空工业集团公司成都飞机设计研究所
类型:发明
国别省市:

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

1