-
0 引言
-
在当今国际形势与行业研究趋势下,飞机执行多样的民用任务,任务完成情况与飞控系统的可靠性息息相关[1-3],因此提高飞控系统可靠性是提高飞机任务完成度的前提。飞控计算机是飞控系统的核心部件[4]。飞控计算机容错技术实现的方法是通过增加相同功能的备用单元,当工作单元发生故障时,能够迅速从系统中切除故障单元,并使备用单元接入系统工作,以维持系统继续正常运行[5]。目前国内外民用飞机广泛使用容错技术来提高飞控计算机子系统的可靠性,二余度结构[6]、三余度结构[7]、四余度结构[8]是最常见的提高飞控计算机子系统可靠性的几种架构。计算机故障余度监控表决与减缓切除方法是目前航空飞控领域最常见的工程方案。该方法目前在系统设计和软件实现上已经比较成熟,但其难点在于监控的门限、减缓的策略和减缓切除的时间或周期。当前工程中的减缓策略比较单一,连续指定周期或累计指定周期被判定异常就会进行切除。但实际上每种飞控计算机子系统的情况有所差别,并且同一种飞控计算机子系统在不同的飞行阶段和工况下也有不同的特性,连续切除故障通道可能会导致飞机不得不就近降落的任务危机,因此目前的减缓切除方法的实现并不是最优的。减缓切除方案的限制在于以下三点:
-
1)可用于处理比较简单的飞控计算机故障情况,避免因为瞬时故障而被切除,而对于复杂故障情况难以判断和有效处理;
-
2)减缓切除的延迟量不是最优,使得设备被过早或过晚切除,最优的切除延迟量可能需要通过长期的工程数据来分析得到;
-
3)尽管设计时对于多数可能出现的故障都做了策略上的恢复处理,例如失步后不会立即判断余度故障而是尝试恢复同步,恢复失败的飞控计算机余度通道则按照传统的故障处理逻辑切除对应的余度通道,飞控计算机系统余度降级使用。然而按照以往飞控计算机余度降级策略,剩余的余度再出现问题时将危及飞行安全和任务的完成。
-
美国SpaceX公司在“龙”(Dragon)飞船和“猎鹰9号”(Falcon 9)火箭上采用了商用的X86处理器,控制系统使用了3×2的6余度系统,所有的6个余度之间的结果数据进行互传校验,计算出错的处理器进行复位,复位后拷贝相关状态数据后重新上线运行以提高系统的可靠性。因此余度通道重启上线的可行性已被国外商用航天器证实。借鉴其思路,飞控计算机子系统的一些故障(如余度通道间失步或超时、未发现的嵌入式软件缺陷及分区配置参数错误、系统调用设置模块调度表失败等操作系统异常等)可以通过重启对应飞控计算机余度通道来恢复正常,如果能够做到及时重启故障的余度通道,并与其他正常运行的余度通道恢复同步运行,将极大地提升飞控系统整体的安全性,为飞行任务提供更好的保障。
-
1 系统正常上电的余度同步过程
-
为了保证一致的计算处理,分布式多余度飞控系统的飞控计算机余度之间需要保持同步的处理节奏,因此飞控计算机余度之间需要通过同步操作来达到有效和持续的同步状态。达到同步状态的同步运行机制包括了上电初始化时的长同步和正常运行过程中的主帧同步。
-
初始化时的长同步用于各个余度的飞控计算机在上电以及软硬件初始化完成后统一起点开始周期处理,为了兼容通道间启动过程的时间差异,初始同步的时间一般比周期同步长[9];正常运行过程中的主帧同步用于各个余度对时钟周期进行校准,统一每个周期的开始时间点。
-
具体的飞控计算机余度上电和周期运行同步的总体流程如图1所示。
-
图1 飞控计算机余度上电和周期运行同步总体流程
-
其中,同步的机制和算法均是成熟的经典技术,在硬件上,各个余度之间均具备用于同步的硬件离散量信号,其连接如图2所示。
-
图2 四余度连接示意图
-
其中每个余度的SYNC_T信号表示本余度输出给其他余度的同步输出信号,采用1分3的方式连接到其他余度。SYNC_RX、SYNC_RY、SYNC_RZ表示本余度接收到其他余度的同步输入信号,同步发送信号通过输出离散量地址发出,同步接收通过输入离散量地址读入[10]。
-
在目前的分布式飞控系统中,对于同步失败(即发生失步)后的处理会根据系统的特点和策略有轻微的差异,一般来说初始化长同步失败的余度均会被认定为故障余度,被隔离出余度系统之外;而主帧同步会根据系统的特点在对应的失步处理时进行有一定差异的处理:
-
1)严格处理:当系统的特点和设计能充分保障严格的同步机制时,一旦发生失步即可以认定对应的余度出现严重故障,这种系统一般采用一旦失步就进行余度隔离切除的操作;
-
2)宽限处理:根据系统的特点和设计,余度间的同步可能受到一些干扰而发生偶然的失步,其后又能够立即恢复正常,这种系统更为普遍,对应的失步处理是对失步进行计数,同步失败的余度暂定当前周期的处理等待下一个帧同步成功后继续正常运行,只有在失步的累计数量或连续失步的数量达到某个预设的阈值后才会将对应的余度进行隔离切除操作。
-
而目前的分布式飞控系统中对于由于失步而隔离切除的余度均没有恢复其同步的机制,这导致了故障余度就算重启后具备正常运行的能力,也无法恢复其他余度认同的同步状态。因此,为了实现余度重启后恢复有效运行状态,需要对同步机制进行调整,以达到能够接纳重启余度恢复到有效同步状态的能力,本文后续章节将对该机制和过程进行设计。
-
2 重启余度上电过程
-
重启余度通道的软件先由TA软件进行引导,然后进入操作系统(OS)软件运行。OS软件初始化后,调度核心分区1(系统初始化分区)执行。系统初始化的逻辑流程如图3所示。
-
图3 重启余度上电过程
-
3 单通道故障系统余度同步过程
-
飞控系统的应用软件是具有自身状态的程序,程序输出依赖于当前的程序状态。对于多余度飞控系统来说,飞控应用软件自身的状态中一个非常关键的状态就是余度的同步状态,如果余度间的同步状态不一致,将会立即导致余度被认为故障。因此,在余度重启后,需要进行与正常余度间的同步操作,并向其他的正常余度通报恢复同步的状态。
-
复位余度在进行复位和初始化时,系统中其他正常余度正在周期的进行主帧同步。因此,复位余度不进行启动时的长同步,而是在硬件系统和操作系统软件完成初始化后启动与其他余度的主帧同步,让自身的运行周期状态和其他的正常余度一致起来。
-
重启通道与其他正常余度的第一次主帧同步的等待时间需要设置得比较长,应超过主帧周期的长度,确保等到其他正常余度的同步操作。空中重启飞控计算机单通道故障时余度同步的具体算法流程为:
-
1)本余度通过同步通信线向其他所有余度发送高电平信号;
-
2)在规定的时间(超过主帧周期的长度,例如主帧周期为20 ms时,此处的等待时间可以设置为25 ms)内获取其他余度向本余度发送的高电平信号;
-
3)记录高电平握手成功余度,并通过同步信号向其他余度发送低电平信号;
-
4)在规定的时间(此处采用正常的主帧等待时间,例如100 μs)内获取其他余度向本余度发送的低电平信号;
-
5)同步完成。
-
此次同步成功后,发生复位的余度按照主帧周期与其他余度继续进行同步操作,后续的同步操作与正常余度的主帧同步操作完全一致。同时复位余度开始从正常余度进行数据迁移,在数据迁移成功后,通过CCDL向其他余度声明此复位余度已经恢复了同步和数据状态,申请恢复有效的余度状态,等待其他正常余度的检验。
-
后续其他正常余度在通过多周期的对复位余度输出数据的检验通过后,认可复位余度恢复正常余度状态。
-
发生复位的余度启动和恢复同步的过程如下:重启余度上电后,先后进行TA(系统的引导和目标机代理程序)初始化及OS初始化,OS初始化后启动核心的初始化分区运行。在初始化分区中不进行初始化后的长同步,直接与其他余度进行主帧同步。因为重启余度的启动时间不定,所以其会一直等到正常余度开始主帧同步操作时,才能得到同步信号。同步结束后,又需要等正常通道完成一个主帧周期的最后一个分区运行,并得到正常余度发送过来的开始数据迁移的消息后,才开始数据接收工作,并在当前主帧周期中完成数据迁移。这样,在下一个主帧同步后,重启余度才能得到与正常余度一样的运行状态。
-
4 双通道故障系统余度同步过程
-
当整个多余度飞控计算机系统中有两个余度故障时,如果其中一个故障在通道重启后进行第一次同步时采用第一章的同步算法,将会出现如图4所示无法同步的情况。
-
图4中,为了与其他余度同步,故障重启余度将同步信号设置为高电平。在正常运行余度主帧同步时,正常运行余度拉高同步信号,此时故障重启余度与两个正常运行余度高电平握手,故障重启余度继续等待故障余度的高同步信号,而故障余度没有任何同步信号操作。故障重启同步余度等待至“同步等待超时时间”(这里定义为50 ms),并将同步信号设置为低。此时其他正常余度的同步信号早已拉回低电平(主帧同步等待时间为100 μs),故障通道会认为同步成功而开始正常按照主帧运行,此后由于一直存在时间偏差而无法与正常通道达成同步。
-
解决的方法是故障复位通道在恢复同步时先进行一次故障复位同步操作,在一个帧周期后再进行一次故障复位的同步操作,如图5所示,第一次同步后记录下完成正常的通道,在第二次同步时只与第一次同步上的通道进行同步。
-
将故障重启的同步逻辑和原有正常同步逻辑进行结合,飞控计算机空中重启双通道故障时余度同步的具体算法流程如图6所示。
-
其中正常上电长同步算法为:
-
1)本余度通过同步通信线向其他所有余度发送高电平信号;
-
2)在规定的时间(例如3 s)内获取其他余度向本余度发送的高电平信号;
-
3)记录同步成功余度,并通过同步信号向其他余度发送低电平信号;
-
4)在规定的时间(例如3 s)内获取其他余度向本余度发送的低电平信号;
-
5)同步完成,计算同步失败的余度。
-
主帧同步算法为:
-
1)本余度通过同步通信线向其他所有余度发送高电平信号;
-
2)在规定的时间(例如100 μs)内获取其他余度向本余度发送的高电平信号;
-
3)记录高电平握手成功余度,并通过同步信号向其他余度发送低电平信号;
-
4)在规定的时间(例如100 μs)内获取其他余度向本余度发送的低电平信号;
-
5)同步完成,计算本次同步中失败的余度。
-
图4 无法同步情况说明
-
图5 飞控计算机空中重启双通道故障时余度同步方法
-
图6 飞控计算机空中重启双通道故障时余度同步算法
-
5 实验
-
验证环境由多余度飞控仿真计算机、仿真 PC 机和 PC 宿主机组成的硬件环境以及在各硬件上所运行的软件组成的软件环境共同构成。 目标机端软件包括目标机端演示验证应用程序、目标机端余度故障注入软件和目标机端余度运行与重启过程监控软件。 目标机端软件基于分时分区操作系统,应用和操作系统使用各自独立的运行分区。 为方便操作应用程序,目标机端故障注入软件和监控软件在操作系统 OS 分区进行调度,并相应修改目标机端演示验证应用程序各应用分区。 主机端软件包括仿真程序、主机端余度故障注入软件(见图 7)、主机端余度运行与重启过程监控软件(见图 8)、演示验证应用主机端代理软件、数据集中交换程序和飞控机载软件开发环境。
-
图7 主机端余度故障注入软件
-
图8 主机端余度运行与重启过程监控软件
-
实验步骤为:
-
1)操作主机端余度故障注入软件飞控计算机1设备节点注入“同步故障”;
-
2)操作主机端余度故障注入软件飞控计算机2设备节点注入“同步故障”;
-
3)观察主机端余度运行与重启过程监控软件飞控计算机1和飞控计算机2设备节点状态变化是否同预期结果一致;
-
4)观察主机端余度运行与重启过程监控软件飞控计算机1和飞控计算机2设备节点状态恢复情况和状态恢复顺序是否同预期结果一致。
-
实验结果为:
-
余度运行与重启过程监控软件界面飞控计算机1节点和飞控计算机2节点状态变化如下:
-
1)飞控计算机1节点注入故障后,飞控计算机1节点通道状态由正常运行状态切换为故障触发状态,其他飞控节点的其他余度通道状态按照相对绝对通道转换关系反应出飞控计算机余度1故障;
-
2)飞控计算机1节点的余度通道状态切换为重启状态;
-
3)飞控计算机2节点注入故障后,飞控计算机2节点通道状态由正常运行状态切换为故障触发状态,其他飞控节点的其他余度通道状态按照相对绝对通道转换关系反应出飞控计算机余度2故障;
-
4)飞控计算机2节点的余度通道状态切换为重启状态;
-
5)飞控计算机1节点和飞控计算机2节点先后复位同步成功,并且恢复数据,两余度系统计数也先后恢复正常。
-
6 结论
-
在多余度飞控仿真计算机、仿真PC机和PC宿主机组成的硬件环境以及在各硬件上所运行的软件组成的软件验证环境中,通过软件故障注入的方式对余度故障进行仿真。实验证明:本文的重启同步算法能够有效消除重启通道和正常余度之间的运行时间差。
-
由以上结果可知,飞控计算机余度空中重启同步算法能够在四余度飞控计算机少于或等于两个故障余度的情况下,重启故障余度与正常运行的余度同步,为故障通道数据迁移[11]、恢复正常运行奠定基础,从而提高飞控系统的可靠性,保证了飞行控制系统的品质。
-
参考文献
-
[1] 王轩,马超,闫闯,等.四余度飞控计算机架构及其余度管理算法[J].信息技术与信息化,2022,264(3):48-51.
-
[2] 牛文生.机载计算机技术[M].北京:航空工业出版社,2013:8-10.
-
[3] 马超,郭勇,刘意,等.双余度飞控计算机余度管理算法设计与实现[J].科技风,2017,307(1):42-43.
-
[4] 欧阳润宇.容错飞控计算机架构设计与虚拟化验证平台构建[D].成都:电子科技大学,2018:12-13.
-
[5] 韩志成.基于数据仲裁算法的多旋翼飞控器相似余度内核技术研究[D].南京:南京航空航天大学,2019:6-7.
-
[6] 刘鑫,李梓衡.一种无人机飞控系统容错设计方案[C]//中国航空学会.2019年(第四届)中国航空科学技术大会论文集.北京:中航出版传媒有限责任公司,2019:981-987.
-
[7] 白雪琛.无人机多余度飞行控制系统设计与应用研究[D].杭州:浙江大学,2017:20-21.
-
[8] 张锐.四余度飞控计算机信号表决与监控算法研究[J].信息系统工程,2018,294(6):142-144.
-
[9] 索晓杰,张选洲,师嘉辰,等.无人机飞控系统中飞控计算机设计[J].信息技术与信息化,2021,(10):22-24.
-
[10] 张鑫,何嘉航.飞控系统软件“失步、超时”处理技术研究[J].航空计算技术,2019,49(2):130-134.
-
[11] 刘鑫,夏曼,崔德龙.多余度飞控系统余度数据迁移研究[C]//中国航空学会.2023年(第六届)中国航空科学技术大会论文集.北京:北京航空航天大学出版社,2023:907-912.
-
摘要
传统的余度故障处理方式会导致飞控计算机系统在出现局部故障时出现安全性快速降级,剩余的余度再出现问题时将危及飞行安全和任务的完成。故障余度重启恢复同步将有效提高飞控计算机的可靠性。通过分析系统正常上电的余度同步过程和重启余度上电过程,研究了单通道故障重启同步过程和双通道故障重启同步过程,从而提高飞控系统的可靠性,保证了飞行控制系统的品质。
Abstract
The traditional redundancy fault handling method would lead to the safety degradation of flight control computer system in the case of local faults. When the residual redundancy problems occur again, the flight safety and the completion of the mission will be endangered. The reliability of flight control computer can be effectively improved by fault redundancy restart and recovery synchronization. By analyzing the redundancy synchronization process of system power-on and restart, the single-channel fault restart synchronization process and dual-channel restart synchronization process are studied, so as to improve the reliability of the flight control system and ensure the quality of the flight control system.