一种基于实时操作系统的星载计算机三机热备份容错方法

文档序号:6512976阅读:377来源:国知局
一种基于实时操作系统的星载计算机三机热备份容错方法
【专利摘要】一种基于实时操作系统的星载计算机三机热备份容错方法,首先构建三台装有相同实时操作系统的计算机。在每个控制周期中,每台单机都通过三机之间的数据交换获取另外两机的数据。然后按照本机和另一机、本机和第三机、另一机和第三机共三种情况进行比较。再根据数据比对结果是否一致,结合单机是否发生过复位、“切机命令字”是否有效等因素,设置本机是否健康的标志。三台单机同步运行,三机的对外输出控制状态相同,由当班机负责最终的对外输出。在故障处理时,由于三台单机均同步运行,当班机切换时不需要再获取状态,所以故障恢复时间短,实时性高,在切换过程中系统控制不存在间隙,系统控制可以平稳过渡,实现了系统的自主重构。
【专利说明】一种基于实时操作系统的星载计算机三机热备份容错方法
【技术领域】
[0001]本发明涉及一种星载计算机三机冗余热备份工作时的容错方法。
【背景技术】
[0002]ERC32CPU (TSC695)是用于航天的一款专用芯片,具有很强的抗震性和抗辐射性。TSC695实时操作系统的设计思想和方法如下:
[0003]I)任务调度采用基于优先级的可抢占式调度策略,任务优先级采用固定优先级;
[0004]2)任务状态转换选择在三个任务状态(执行、就绪、休眠)之间进行;
[0005]3)基于应用系统外部中断源少,不会发生嵌套的前提下,中断管理程序采用不允许外部中断嵌套的原则,简化设计;
[0006]4)提供了一种快速响应中断的机制,使得在响应一些中断时能达到最快的响应速度。
[0007]现有的基于TSC695实时操作系统的星载计算机容错结构均是在双机冷备份基础上实现的。冷备份容错结构在故障恢复时,由于需要将未工作单机加电,而刚加电的单机又需要一段时间来获取初始状态,所以故障恢复时间较长。另外,在切换过程中,系统控制可能存在一小段间隙,造成控制不连续。因此这种容错结构仅适用于对实时性控制要求不高的系统。
[0008]随着航天应用的发展,卫星系统对实时性控制的要求愈来愈高,星载计算机正在朝着三机热备份冗余结构的方向发展。而目前还没有基于三机热备份容错结构的实现方法,因此无法满足航天发展的实际需求。

【发明内容】

[0009]本发明的技术解决问题是:克服现有技术的不足,提供了一种基于TSC695实时操作系统的三机热备容错方法,在故障屏蔽、故障隔离与故障恢复时不会影响系统的功能,提高了星载计算机控制的实时性和可靠性。
[0010]本发明的技术解决方案是:一种基于实时操作系统的星载计算机三机热备份容错方法,步骤如下:
[0011](I)设置三台相同的装有相同实时操作系统的计算机,对于三台计算机中的每一台单机,在各自的存储设备中设置三块区域,分别为本机数据区、另一机数据接收区、第三机数据接收区;
[0012](2)对于每一台单机,在每个控制周期中进行数据交换,将自身需要进行比对的数据送入本机数据区,并将本机数据区中的数据发送给另外两机,同时从另一机接收需要进行比对的数据并送入另一机数据接收区,从第三机接收需要进行比对的数据并送入第三机数据接收区;在数据交换过程中,进行数据交换超时判断,如果在规定时间内本机完成了与另外两机的数据交换则进入步骤(3),否则直接设置三种“三机数据比对标志”为不一致并转步骤(6);[0013]所述的“三机数据比对标志”包括三种,分别是“本机与另一机数据比对标志”,“本机与第三机数据比对标志”,“另一机与第三机数据比对标志”,每一种标志都分为一致和不一致两种情况;
[0014](3)对于每一台单机,判断本机是否发生过复位,如果本机没有发生过复位,则进入步骤(4);如果本机发生过复位,则直接设置三种“三机数据比对标志”为不一致并转步骤
(6);
[0015](4)对于每一台单机,判断本机的“切机命令字”是否有效;如果本机“切机命令字”无效,则进入步骤(5);如果本机“切机命令字”有效,则直接设置三种“三机数据比对标志”为不一致并转步骤(6);所述的“切机命令字”用于标识是否切除本机,当有效时表明需要切除本机;
[0016](5)对于每一台单机,从步骤(I)所述的三个区域中分别读取待比较的数据,获取待比较数据所对应的在轨时间,如果在轨时间不在给定的运行阶段范围值内则直接设置三种“三机数据比对标志”为不一致并转步骤(6);如果在轨时间一致则对待比较数据进行比对,如果待比较数据为无容差数据,则仅在数据完全相同时比对结果为一致,如果待比较数据为有容差数据,则仅在数据之间的差值在所允许范围内时比对结果为一致,如果待比较数据的比对遵循特定规则,则仅在数据满足特定规则时比对结果为一致,根据比对结果分别设置三种“三机数据比对标志”为有效或者无效,同时设置“数据比对一致标志”状态并送给除本机外的另外两机;
[0017]所述的“数据比对一致标志”根据“本机与另一机数据比对标志”以及“本机与第三机数据比对标志”的状态确定,当“本机与另一机数据比对标志”一致或者“本机与第三机数据比对标志” 一致时,“数据比对一致标志”有效,其他情况下“数据比对一致标志”无效;
[0018](6)对于每一台单机,如果三种“三机数据比对标志”均为不一致,则判断另外两机送来的“数据比对一致标志”是否至少有一个有效,如果至少有一个有效,则本机设置不健康标志,否则本机进行自检,如果自检通过则本机设置健康标志,如果自检不通过则设置本机不健康标志;如果三种“三机数据比对标志”中的“本机与另一机数据比对标志”或者“本机与第三机数据比对标志”有一个为一致时,本机设置健康标志;如果三种“三机数据比对标志”中的“本机与另一机数据比对标志”为不一致并且“本机与第三机数据比对标志”为不一致,但是“另一机与第三机数据比对标志”为一致时,本机设置不健康标志。
[0019]本发明与现有技术相比的优点在于:
[0020](I)本发明方法中,三台相同的单机装有相同的实时操作系统运行,根据三机之间的数据交换是否成功,三机之间数据比对是否一致,再综合考虑单机是否发生过复位、“切机命令字”是否有效等因素,设置本机健康标志。系统根据设定的仲裁逻辑自主选择健康的单机作为当班机控制对外的输出,实现系统的自主重构,系统响应与处理故障的实时性高。
[0021](2)本发明方法中,三台单机同步运行,对外的输出控制状态相同,在故障处理即当班机切换时,未当班的单机不需要再获取运行状态,所以故障恢复时间短,可以实现无缝切换,保证了系统控制的平稳过渡,故障屏蔽与故障隔离时,不影响系统的工作。
[0022](3)本发明方法中,实时操作系统是通过任务调度实现运行,而启动任务是利用三台单机处理器内部的定时器作为定时工具(定时器误差在微秒级别),使得“三机数据交换与比对任务”能在同一时间点被启动执行,保证了三机在任务级层面的同步性,相对于现有的不基于实时操作系统的三机热备份工作模式,明显减少了三机异步的情况。
[0023](4)本发明方法中,三机热备份工作模式还可以通过指定当班机的方式,进入单机工作模式,该工作模式与现有技术的实现一致。在三机工作模式上又增加了一种保证系统安全运行的手段。在关键任务阶段,使用三机工作模式,屏蔽瞬时故障,自主重构,保证系统可靠运行;在非关键任务阶段或故障模式下,使用单机工作模式,保证系统安全运行,以便在轨注入修复故障,与现有容错策略相比,更加灵活、可靠。
【专利附图】

【附图说明】
[0024]图1为TSC695实时操作系统的调度策略示意图;
[0025]图2为本发明方法的流程图。
【具体实施方式】
[0026]基于TSC695实时操作系统的三机热备结构的任务主要划分为5个,分别是:模式控制任务、遥测遥控任务、三机数据交换与比对任务、系统管理任务和空闲任务。模式控制任务主要负责数据采集、姿态计算与控制、导航计算与制导、系统故障检测及处理等。遥测遥控任务主要完成对注入数据和指令的处理、遥测数据打包、三机待比对数据打包等。三机数据交换与比对任务主要实现三个单机之间比对数据的发送、接收、比对与三取二表决。系统管理任务主要负责监测系统运行情况、打包操作系统的遥测数据、设置本机健康与清狗操作。空闲任务完成对RAM区的刷新,实现EDAC功能。
[0027]在基于TSC695的实时操作系统基础上,三机工作模式下的三机数据交换与比对任务实现了三机之间的数据交换与比对功能。在系统管理任务中,补充了与三机热备份容错结构相关的实现方法,将三机数据的比对结果、某一机是否发生过复位、“切机命令字”是否有效等情况综合考虑,来决定是否设置本机健康标志与清狗。
[0028]任务的优先级也是按照相同的顺序从高到低排序。其中关键任务为模式控制任务、遥测遥控任务、三机数据交换与比对任务和系统管理任务;非关键任务为空闲任务(含RAM刷新)。各个任务的执行由实时操作系统进行调度,调度方法是基于固定优先级的可抢占式调度。各个任务独立运行,只要系统不复位,一个任务的执行失败不影响其它任务的正常执行。
[0029]如图1所示,任务调度策略采用固定优先级的调度策略,使优先级高的任务被实时处理。图中任务I为模式控制任务,任务2为遥测遥控任务,任务3为三机数据交换与比对任务,任务4为系统管理任务,任务5为空闲任务。任务1、任务2、任务3、任务4、任务5的运行由时间片触发,每个任务均运行固定时间长度的时间片,如果在分配好的时间片内未执行完,则该任务被强行挂起,并记录超时一次,启动下一任务。如果在分配好的时间片内,任务提前完成,而下一任务的起始时刻还未到来,则启动空闲任务。当下一任务起始时刻到来后,则启动下一任务。在任务的执行过程中,如果有中断到来,则在响应该中断之后,继续该任务的执行。
[0030]三台单机分别定义为:本机、另一机、第三机,三台计算机之间的关系是相对的,随着当班机的变化而变化。
[0031]三机相互关系[0032]
【权利要求】
1.一种基于实时操作系统的星载计算机三机热备份容错方法,其特征在于步骤如下: (1)设置三台相同的装有相同实时操作系统的计算机,对于三台计算机中的每一台单机,在各自的存储设备中设置三块区域,分别为本机数据区、另一机数据接收区、第三机数据接收区; (2)对于每一台单机,在每个控制周期中进行数据交换,将自身需要进行比对的数据送入本机数据区,并将本机数据区中的数据发送给另外两机,同时从另一机接收需要进行比对的数据并送入另一机数据接收区,从第三机接收需要进行比对的数据并送入第三机数据接收区;在数据交换过程中,进行数据交换超时判断,如果在规定时间内本机完成了与另外两机的数据交换则进入步骤(3),否则直接设置三种“三机数据比对标志”为不一致并转步骤(6); 所述的“三机数据比对标志”包括三种,分别是“本机与另一机数据比对标志”,“本机与第三机数据比对标志”,“另一机与第三机数据比对标志”,每一种标志都分为一致和不一致两种情况; (3)对于每一台单机,判断本机是否发生过复位,如果本机没有发生过复位,则进入步骤(4);如果本机发生过复位,则直接设置三种“三机数据比对标志”为不一致并转步骤(6); (4)对于每一台单机,判断本机的“切机命令字”是否有效;如果本机“切机命令字”无效,则进入步骤(5);如果本机“切机命令字”有效,则直接设置三种“三机数据比对标志”为不一致并转步骤(6);所述的“切机命令字”用于标识是否切除本机,当有效时表明需要切除本机; (5)对于每一台单机,从步骤(I)所述的三个区域中分别读取待比较的数据,获取待比较数据所对应的在轨时间,如果在轨时间不在给定的运行阶段范围值内则直接设置三种“三机数据比对标志”为不一致并转步骤(6);如果在轨时间一致则对待比较数据进行比对,如果待比较数据为无容差数据,则仅在数据完全相同时比对结果为一致,如果待比较数据为有容差数据,则仅在数据之间的差值在所允许范围内时比对结果为一致,如果待比较数据的比对遵循特定规则,则仅在数据满足特定规则时比对结果为一致,根据比对结果分别设置三种“三机数据比对标志”为有效或者无效,同时设置“数据比对一致标志”状态并送给除本机外的另外两机; 所述的“数据比对一致标志”根据“本机与另一机数据比对标志”以及“本机与第三机数据比对标志”的状态确定,当“本机与另一机数据比对标志”一致或者“本机与第三机数据比对标志” 一致时,“数据比对一致标志”有效,其他情况下“数据比对一致标志”无效; (6)对于每一台单机,如果三种“三机数据比对标志”均为不一致,则判断另外两机送来的“数据比对一致标志”是否至少有一个有效,如果至少有一个有效,则本机设置不健康标志,否则本机进行自检,如果自检通过则本机设置健康标志,如果自检不通过则设置本机不健康标志;如果三种“三机数据比对标志”中的“本机与另一机数据比对标志”或者“本机与第三机数据比对标志”有一个为一致时,本机设置健康标志;如果三种“三机数据比对标志”中的“本机与另一机数据比对标志”为不一致并且“本机与第三机数据比对标志”为不一致,但是“另一机与第三机数据比对标志”为一致时,本机设置不健康标志。
【文档编号】G06F11/20GK103473156SQ201310439356
【公开日】2013年12月25日 申请日期:2013年9月24日 优先权日:2013年9月24日
【发明者】吴琨, 胡洪凯, 张洪华, 何健, 李任欣, 程铭, 刘波, 王婧, 徐建 申请人:北京控制工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1