运载火箭三冗余飞行控制软件的数字仿真设计*

高小安,皮 操,于丹丹,吴 康

(上海航天控制技术研究所·上海·201109)

摘要提出了一种采用三冗余技术保证运载火箭飞行控制软件可靠性的设计方案,选择合适的冗余模式建立了三余度飞控软件的数字仿真平台,并给出了实现余度策略、同步算法等关键技术工程的软件流程。测试结果表明,该方案设计合理,不仅较好地完成了飞控计算机的余度管理任务,而且有效地保证了系统的可靠性与容错能力。

关键词三冗余;飞行控制软件;数字仿真;同步

0 引 言

箭载计算机(简称箭机)是运载火箭的核心部件之一,其可靠性设计的优劣直接影响着运载火箭的飞行安全。飞行控制软件(简称飞控软件)在箭机中运行,完成火箭飞行过程中的制导、导航、姿控、时序控制、故障诊断、遥测信息组织等飞行控制功能,引导火箭按照预定的弹道稳定飞行,将载荷送入预定轨道。余度技术可以有效地提高系统的可靠性和容错能力,因而必须从箭机的体系结构设计入手,采用余度技术,从根本上提高系统的容错性与残存能力,实现故障软化,以消除故障对系统正常工作的影响[1-2]

全数字仿真设计是一种解决方案,可综合解决软硬件一体化系统中软件依赖硬件环境的耦合难题[3] 。它能去掉软硬件的耦合性,虽然与真实的软件运行环境有所偏差,但有助于系统算法的设计验证、故障模拟与快速排除。本文针对飞控软件对高可靠性的要求,研究了三冗余飞控软件数字仿真平台的设计思路,通过三通道表决技术提高了故障检测率,重点论述了冗余配置、数字仿真平台架构、同步算法、交叉传输等关键技术。

1 冗余系统的配置

余度系统是指通过对重复资源的合理管理和调度,使其执行同一指令,完成同一任务而布局的系统。其目标是实现在异常情况下的故障适应能力,是提高系统任务可靠性与安全性的一种主要和常用的手段[4]

合理的余度构型是余度设计最早也是最为关键的环节之一。冗余结构可分为4种模式:①被动冗余结构,其中的冗余模块在待命状态下是“冷备件”冗余;②主动冗余结构,其中的冗余模块在待命状态下是“热备件”冗余;③半主动冗余结构,其中的冗余模块在待命状态下是“温备件”冗余;④混合冗余结构是混合的复杂系统,其中部分冗余模块为被动结构,部分冗余模块是主动结构[5]。为保证运载火箭在通道切换瞬间的稳定性,通道间的控制量需做到无缝切换,结合系统对体积、质量、可靠性的要求,以及系统复杂度、成本等因素,箭机冗余系统采用了同构型热备份的三余度工作模式,如图1所示。

3个CPU的飞行控制软件均运行于箭机中,输入数据通过三路独立的通道进入箭机CPU,供飞控软件使用。3套飞控软件通过内部总线实现时间同步与数据交互,并将表决后的运算结果通过独立的三路传输通道发送给输出控制器终端。

图1 三冗余箭机冗余结构示意图
Fig.1 The sketch diagram of triple-redundant rocket computer redundancy structure

2 三冗余飞控软件数字仿真平台设计

2.1 软件系统的总体设计

三冗余飞控数字仿真平台运行于Windows系统平台,采用从3份外部数据文件中获取测试输入数据的方式,模拟飞控软件的输入数据来源。采用模拟箭机硬件接口的方法解决飞控软件在运行时所依赖的硬件资源,并通过数据记录保存飞控软件的输出结果,系统的总体设计如图2所示。

图2 三冗余飞控软件数字仿真平台的总体设计示意图
Fig.2 The sketch diagram of overall design of triple-redundant fly control software digital emulation platform

飞行控制软件仿真平台主要包括了计算机接口模拟模块、箭地接口模拟模块、测试装订数据模拟模块、流程控制功能模块等模块。外部输入数据文件在经过数据编码、解算、转换等处理后,与箭机硬件模拟接口模块进行数据交互,将数据传递给三冗余飞控软件。飞行控制软件的数字仿真平台对飞控软件的外部各单机功能进行模拟,并保存计算结果。

2.2 箭机硬件接口模拟设计

飞控软件数字仿真平台创建出了一块芯片内存空间和寄存器空间,作为处理器的操作空间。当飞控软件的操作执行完后,对内存和寄存器进行分析,模拟寄存器的数据读写功能。同时,对飞控软件、硬件相关的处理和操作进行模拟和等效,使用接口虚拟化技术完成替代。对于飞控软件的运行环境(包括外围硬件接口、处理器等资源)进行等效,例如对A/D芯片接口、D/A芯片接口、RS422接口、双口RAM访问接口的数据地址进行等效,对处理器的操作、寄存器、中断、数据类型等进行软件功能等效。

2.3 外部单机功能模拟设计

外部单机为飞控软件的运行提供输入数据来源、输出数据通道及反馈来源。惯性测量单元模拟模块模拟由陀螺仪测量的角增量累加和信息、由加速度计测量的视速度增量累加和输出信息。速率陀螺模块模拟姿态角速率陀螺输入信号。舵反馈接口模块模拟执行部件、发送伺服舵摆反馈消息。GPS接口模拟获取GPS数据、发送PPS秒脉冲的功能。箭地通信模块模拟箭机与地面测试计算机的通信内容及数据交互应答机制。测试装订数据模块模拟需要输入的GPS数据、测量采集的数据、箭机装订数据。

2.4 流程控制模拟设计

流程控制功能模块控制数字仿真平台软件的启动/停止,控制箭机飞控软件的程序数据装订、调零测试等流程,使飞控软件定时转换其在飞行阶段中的功能,以及发送起飞、耗关信号。

3 余度冗余管理

3.1 同步算法设计

在飞行过程中,为满足故障无缝切换的需求,3个CPU必须同步进行工作。同步是指3个CPU的周期任务在同一周期内进行,相同任务在三通道内尽可能在同一时刻执行。若不能采用同步方式工作,则3个CPU间的周期任务则不能保证在同一拍完成,这意味着3个CPU的采样与控制不能够同时进行,无法实现3个CPU之间的无缝切换,将可能导致运载火箭在飞行瞬间的不稳定。

导致飞控软件3个CPU不能同步的原因主要包括:(1)通道启动耗时差异;(2)晶振误差的累积。通道启动耗时差异是指由3个CPU操作系统启动耗时的不同而产生的差异,这种差异将导致三通道不能同时进入飞控程序。晶振误差的累积是导致3个CPU不能同步的另外一个原因。

在软件设计过程中,针对启动耗时的差异性,可采用开机同步技术;针对晶振误差累积导致的差异,可采用毫秒周期同步技术,同时可结合任务特点提出飞行阶段的转化同步要求。时间同步穿插在整个飞行控制程序中,飞控程序的流程图如图3所示。

图3 飞控软件时间同步处理的过程示意图
Fig.3 The sketch diagram of fly control software time synchronization disposal process

毫秒中断是飞控软件运行的基础,飞控软件的事件及10ms软中断均由毫秒中断触发。在2个CPU计数计满1ms时,毫秒中断会被立刻触发,进而保证了3个CPU毫秒中断的同时触发。

针对周期性的工作任务,如10ms工作任务,需进行时间同步,确保3个CPU的工作不错拍、漏拍。对涉及到阶段转换的指令,需通过表决进行时间同步,以确保各CPU同时进行阶段转换。

3.2 故障注入设计

三余度飞控计算机的故障主要包括以下4类:

a)链路故障:在传输过程中,交叉传输出现链路故障,进而无法正常发送和接收数据;

b)余度计算机故障:计算机本身出现故障;

c)软件故障:算法出现故障,可通过在计算结果中加入白噪声来进行模拟;

d)通道内故障:当一个通道内有2个以上CPU被同时使用时,出现CPU计算结果不一致的现象。

上述的几类故障,可通过软件模拟得以实现,软件模拟策略如表1所示。

表1 故障输入设计表
Tab.1 Fault input designTable

故障类型故障注入设计故障模拟注入设置链路故障1 3路传输链路中有1路断路 3路数据中有1路数据输入为空,其余2路一致链路故障2 3路传输链路中输入断路1路,输出断路1路 3路数据中有1路数据输入为空,1路输出文件未保存冗余计算机故障 3个CPU中有1路无输出 1路飞控软件无输出结果,其余2路输出结果正常且一致软件故障 其中1路软件的计算结果异常 1路飞控软件输出结果加入白噪声,其他2路正常通道内故障 A/B通道数据相同,处理时间有先后 设计3个飞控软件线程的优先级次序,比较3路输出结果的一致性,通过门限来识别故障

根据前面提到的几类故障,需在软件中通过装订数据模块进行故障注入。根据装订参数的不同,表决模块会选择不同的输出,如用白噪声模拟干扰,用无输出模拟链路模拟故障或计算机故障。

3.3 冗余表决设计

3.3.1 输入输出监控表决

三余度飞控计算机系统必须配有故障检测环节,以监控软件的运行状态。故障检测主要的作用在于检测系统是否出现了故障,还要针对出现故障的通道采取相应的措施,以进行隔离。三余度飞控软件使用比较监控法进行输入输出表决。

输入表决监控对计算机所采样的3个通道的数据进行表决与监控。在应用比较监控算法之前,必须要确定比较门限的阈值。监控门限值十分重要,其大小直接影响着监控器的报警性能,进而影响了系统的故障检测能力。过大的门限值将导致故障的漏检率大,过小的门限值则导致虚警率大。

输入数据采用门限比较法。假设门限ε为硬件的误差值,数字量输入的表决监控周期为20ms。若用ABC分别表示A、B、C 3通道采样的模拟量数据,每个通道都将收到的3个数据按大小顺序进行排列。假定A为小值,B为中值,C为大值,故障安全值为限幅值M。输入输出监控表决采用取中间值的算法,算法的流程如图4所示。

图4 输入输出表决算法的过程示意图
Fig.4 The sketch diagram of input and output vote arithmetic process

为验证算法的可靠性,飞控软件仿真平台设计了算例,对输入输出监控表决算法进行测试,测试的结果如表2所示。

表2 输入输出监控表决算例
Tab.2 Examples of input and output monitoring voting

输入数据A输入数据B输入数据C安全限幅值M1011031041009510110510010010510710010110310610021232420152125202024262020222620输入数据A安全门限ε期望输出软件输出1015B=103103955M=1001001005(B+C)/2=1061061015(A+B)/2=102102214B=2323154M=2020204(B+C)/2=2525204(A+B)/2=2121

如表2所示,3路输入数据通过3路外部输入文件的数据体现,安全限幅值M和安全门限ε为软件固定设计参数,根据不同飞行阶段和飞行时间装订不同的数值。比较软件输出结果与预期结果可知,软件表决的实际输出与期望输出一致。

3.3.2 三冗余飞控软件的交叉通信诊断

3个CPU通过数据链交换获取数据,并根据3个计算机的采集数据进行自监控和互监控。每个CPU都给出针对3个飞控计算机的一组监控结果,然后进行表决。表决模块根据多数原则判断哪个CPU出现了故障,并根据故障信息进行故障通道切换和显示。为避免瞬时故障和来回切机的影响,可设置故障容忍门限,以排除瞬时故障,实现抗两度故障的能力。

在图1所示的交叉通信链路结构中,输入信号通过单独3路线路进行数据传输,3个CPU具有独立的处理能力,并具有三机交互能力。3个输出接收模块也具备数据交互能力。三冗余通信线路具有一度故障适应能力,即当其中任何1个通信节点出现故障时,系统均能够正常通信;同时,三冗余飞控软件具有非同源二度故障的容忍能力。

三冗余飞控软件对通信线路进行故障诊断,若在约定时间内无数据接收/发送,则判定该条通路故障,并对故障通路进行隔离,同时将其他通道的数据转发给故障通道的CPU。3个CPU之间通过心跳进行检测,若1个CPU在连续时间内失去心跳,则判定其为故障,三冗余飞控软件即降级为主从双冗余系统实现运行。

4 结 论

本文提出了一种运载火箭三冗余飞控软件数字仿真平台设计方案,通过选择合适的冗余模式,建立了三冗余飞控软件数字仿真平台的软件总体架构,给出了实现余度冗余策略、同步算法、冗余表决等关键技术工程的软件流程。测试结果表明,该方案设计合理,不仅较好地完成了飞控计算机的余度管理任务,而且有效地保证了系统的可靠性与容错能力。

参考文献

[1] 柳志娟,李清,程农,等. 多余度飞行控制系统仿真平台设计[J].系统仿真学报, 2010,22(Z1):207-211.

LIU Z J, LI Q, CHENG N, et al. Simulation platform design for the multi-redundant flight control system[J]. Journal of System Simulation, 2010, 22(Z1): 207-211(in Chinese).

[2] 郭偶凡. 三冗余光传飞控总线配置及实现技术研究[D]. 南京:南京航空航天大学,2011.

GUO O F. Research on configuration and implementation technology of three redundant optical transmission flight control bus[D]. Nanjing: Nanjing University of Aeronautics and Astronautics, 2011(in Chinese).

[3] 潘计辉,张小林. 三余度飞控计算机关键技术研究及工程实现[J]. 计算机测量与控制,2010,18(2):440-442.

PAN J H, ZHANG X L. The research and implementation on key technology of triple redundancy flight control computer[J]. Computer Measurement & Control, 2010,18(2):440-442 (in Chinese).

[4] 宋征宇. 新一代运载火箭电气系统体系架构的研究[J]. 载人航天,2016,22(3): 317-322.

SONG Z Y. Research on avionics system configuration of next generation launch vehicle [J]. Manned Spaceflight, 2016,22(3): 317-322 (in Chinese).

[5] 陈莉. 基于15538总线的控制计算机的硬件冗余设计[J]. 仪器仪表用户,2016, 23 (8): 10-12.

CHEN L. Hardware redundancy design of control computer based on 15538B bus [J]. Instrumentation, 2016, 23 (8): 10-12(in Chinese).

Triple-Redundant Fly Control Software Digital Simulation Design for Launch Vehicle

GAO Xiaoan, PI Cao, YU Dandan, WU Kang

(Shanghai Aerospace Control Technology Institute, Shanghai 201109)

Abstract:This paper introduces a design precept using triple-redundant technology to promise the software reliability for rocket fly control, then selects a proper redundancy mode to establish a triple-redundancy fly control software digital simulation platform. The software flowcharts to realize the key technologies project of redundancy strategy and synchronization arithmetic are provided. The test result shows that the precept design is properly designed and the task of fly control computer redundancy management is preferably finished, which effectively ensured the reliability and error toleration of the system.

Keywords:triple-redundant; fly control software; digital simulation; synchronization

*收稿日期:2018-08-25;修回日期:2018-09-04

作者简介:高小安(1986—),男,硕士研究生,工程师,主要从事运载火箭测试发射软件和飞行控制软件的设计与测试工作。E-mail:gaoxiaoan123@163.com

引用格式高小安,皮操,于丹丹,等. 运载火箭三冗余飞行控制软件的数字仿真设计[J]. 飞控与探测,2018, 1(3): 007-011. GAO X A, PI C, YU D D, et al. Triple-Redundant fly control software digital simulation design for launch vehicle[J]. Flight Control & Detection, 2018, 1(3): 007-011.

中图分类号V412

文献标志码:A

文章编号:2096-5974(2018)03-0007-05