基于数据表的载荷管理软件在轨工作自主控制设计

2023-01-14 12:49葛菲张乔张雅娟
空间科学学报 2022年6期
关键词:管理器数据表指令

葛菲 张乔 张雅娟

(中国科学院国家空间科学中心 北京 100190)

0 引言

随着中国航天技术的不断发展,航天器结构从简单构型向大型复杂结构和小型微型化结构发展,航天器工作任务从单一型向多样化和特殊化发展。面对这样的发展趋势,传统载荷管理软件在轨工作控制技术存在以下几方面问题。

(1)载荷管理器在轨运行时,需要根据不同的探测要求切换不同的工作任务。传统载荷管理软件切换任务时,需要地面注入大量指令序列,完成对载荷的一系列工作参数配置和驱动控制工作。然而目前中国测控站数量有限,天地信息联系弧度短,测控资源不可能为航天器长期独占。随着航天器寿命越来越长,这将增加地面指令注入的压力,对天地传输链路可靠性也提出了更高要求。

(2)面对多样化的载荷管理器工作任务,传统载荷管理软件的设计通常未考虑通用设计。一方面没有对需求进行约定,导致需求变化多样;另一方面开发人员在开发软件时没有可遵循的规范,未考虑或者很少考虑软件在不同型号之间的复用。需要根据不同卫星型号的个性化工作要求进行针对性设计,这样既降低了开发效率,又增加了研制成本。

(3)当载荷管理器出现故障时,传统的载荷管理软件主要依靠地面测控站进行地面干预,通过人工判读大量遥测信息获取其运行状态,地面进行故障处置时往往需要多轨完成,时效性差,且在执行处置策略时极易出现空间链路不安全、人为操作失误等问题,从而影响用户满意度。如果载荷管理器长时间处于不可见弧段,在故障发生时如果不能尽快解决会使故障进一步扩散造成不可挽回的重大损失。这无疑增加了故障诊断和处置工作的难度及复杂度[1]。

针对上述问题,CCSDS 开展了航天器接口业务(SOIS)领域的研究工作[2]。其中,基于SOIS 架构的EDS(SEDS)[3,4]通过可读的数据表单,实现异构部件的兼容使用,解决智能自主控制、协议统一、重用和可持续的问题。中国一直以来也在不断跟踪研究CCSDS 标准及其EDS 技术[5],航天器软件工作有从编程向数据设计、从人为干预向智能控制转化的趋势。本文基于EDS 的思想,自定义一种通用的数据表格式,以统一指令格式和内部数据管理格式。根据对多个载荷在轨工作需求进行分析,得出一系列通用的功能,并且将这些功能采用通用的服务实现。在不修改或者少修改程序的条件下,通过服务的应用以及数据传递和配置,提升软件的适应性,实现重用的效果。本文提出的在轨工作自主控制方案以在轨工作流程管理和重要参数监控管理两个服务为例,对载荷管理软件在轨工作的自主控制技术进行研究,并给出具体的自主控制方案和实现方法。

1 有效载荷工作流程自主控制方案设计

在轨工作自主控制主要是针对不同工作模式,对不同载荷进行工作时序控制和对载荷工作状态的监控管理而设计的通用化方案。载荷工作时序控制主要体现在,可以根据不同的载荷主体、接口类型、使用目的和控制方式,提取出一系列工作指令类型,通过可视化的数据表格对指令进行格式定义,进而汇总为工作指令表。再根据时序和工作模式要求,将各个工作指令动态汇聚成工作流程表来控制载荷工作,达到载荷管理器在轨工作自主控制的要求。载荷工作状态监控管理主要针对在轨工作流程中载荷工作状态异常时的应急处理,可根据重要参数监控指令工作表的设计,按载荷个性化要求转入停止工作状态或自动转为待机模式。该方案通过对工作表的设计和使用,有效解决了载荷管理软件在轨工作控制需求差异化带来的多样化、定制化问题。

1.1 工作分析

目前通用化、模块化和智能化已成为智能自主控制系统架构的设计重点[6-7]。这里对多个型号的软件需求进行归纳整理和统筹分析(见图1),对载荷管理器在轨工作涉及的接口通信类型、载荷控制对象和在轨工作模式进行统计。

图1 中载荷管理器与载荷之间的接口类型主要包括总线指令控制及应答、电平信号控制及采集、同步信号接收和科学数据传输等;常见的控制对象包括光学探测器头部控制、电机驱动控制、加热/制冷等温度控制、磁控制、速度控制、开关量/编码器控制等。对于多数控制对象,基本都体现在通过外接FPGA 进行总线指令及电平信号的控制及采集;其工作模式可分为待机模式、实验模式、维护模式三类。

图1 载荷在轨工作自主控制需求分析Fig.1 Demand analysis diagram for autonomous control of load on-orbit

载荷管理器作为控制核心,需要对载荷各功能模块的运行进行高效可靠管理和控制,协调内部各功能模块的工作。图2 为载荷管理器的在轨工作时序,其工作流程与载荷在轨运行时序及工作流程安排密切相关。

根据图2 所示在轨工作时序,可将工作模式归纳整理为待机模式、实验模式和维护模式,具体模式之间的切换如图3 所示。

图2 在轨工作时序Fig.2 On-orbit working timing diagram

待机模式:实验模式前或特定需求下,进入待机模式。在此模式下,载荷管理器和各载荷单元均处于待机状态。待机模式下载荷管理器与各载荷单元进行周期状态轮询通信,与卫星平台进行1553 B 总线通信,载荷管理器进行周期健康维护管理。待机模式下不进行工作流程的自动处理。

实验模式:实验模式以轨道周期为单位,可根据不同探测需求分为不同的工作流程,每个工作流程为实验模式下的独立子模式。实验模式下,各载荷单元均处于工作状态,采集科学数据,完成科学探测任务。每个子模式工作流程结束后自动进入待机模式,如果当前子模式下收到其他子模式,可记录收到的子模式,待当前子模式工作流程结束后在下一轨自动进入新注入的子模式工作流程。

维护模式:卫星入轨后,仪器正常工作前,载荷管理器需对载荷单元进行在轨维护参数配置。当遇到紧急状况,例如能源节省、能源危机等,载荷管理器自动进入维护模式,如果此时处于实验模式下,则自主停止工作流程并将各载荷单元关机进入维护模式。

图3 中模式间的切换方式用A~F 表示,其具体说明如下。

图3 工作模式切换状态Fig.3 Working mode switching diagram

A:系统上电默认为维护模式,维护模式下仅载荷管理器上电和需要维护的载荷单元上电。

B:载荷管理器和所有载荷单元均上电后进入待机模式。

C:除需要维护的载荷单元外,其他载荷单元断电进入维护模式,或在待机模式下收到紧急指令时进入维护模式。

D:待机模式下收到某个实验子模式指令,按该子模式工作流程开始工作则进入实验模式。

E:工作流程结束后自动进入待机模式,实验模式中出现工作异常则自动进入待机模式。

F:当实验模式下收到紧急指令时进入维护模式。

1.2 工作表设计

为实现通用化的载荷在轨工作自主控制设计,这里自定义了一种通用的数据表。该数据表包括初始化参数配置表、工作指令表和工作流程控制表,将指令格式和内部数据管理格式进行统一,其中数据表内容可根据型号要求进行个性化配置。图4 为该数据表的地址分配。

图4 数据表地址分配Fig.4 Address allocation diagram of data sheet

1.2.1 初始化参数配置表

初始化参数配置表主要用于存储载荷加电后载荷及工作流程运行的初始化状态,对应驱动控制载荷的FPGA 初始化状态,以及载荷管理器通信管理相关的初始化配置及系统维护初始化参数等。初始化参数配置表的具体参数可根据型号要求进行自定义(见表1)。

表1 初始化参数配置Table 1 Initialize parameter configuration

1.2.2 工作指令表

工作指令表用于存储有效载荷所有可能的指令内容,可用2 Byte 动作类型和2 Byte 动作编码确定具体指令内容。指令格式、长度及内容可根据型号要求自行定义。这里对3 种指令类型进行介绍,分别为RS422 通信指令(属于总线指令控制与采集类别)、载荷开关及复位指令(属于电平信号控制与采集类别)、载荷重要参数监控指令。

RS422 通信指令表用于存储载荷管理器通过RS422 总线发送给有效载荷的控制指令内容。本系统发送给各有效载荷的指令长度均为8 Byte,具体格式列于表2。

表2 RS422 通信指令Table 2 RS422 communication instruction

例如指令编号2001H 为载荷2 的第2 条指令,每条指令可根据指令编号进行指令地址索引,指令的索引地址可根据初始化参数配置表中的各种类型指令的基地址、指令最大存储数及指令长度进行索引。

载荷开关及复位指令用于存储载荷管理器通过驱动控制载荷的FPGA,对载荷进行开关机控制及复位的指令内容。指令内容多为通过卫星平台总线通信发送的总线指令,具体格式列于表3。

表3 载荷开关及复位指令Table 3 Payload switch and reset instruction

载荷重要参数监控指令[8]用于存储载荷及载荷管理器需要状态监控的重要参数相关指令,具体格式列于表4。

表4 载荷重要参数监控指令Table 4 Payload important parameter monitoring instruction

参数说明如下。

监控类型:分为单次监控和一直监控,若监控超限则根据处理类型进行超限处理,单次监控若未超限则继续执行该工作流程。

处理类型:根据不同载荷单元对监控的重要参数超限的不同约定进行处理。

监控间隔:监控一次重要参数的间隔。

判断类型:03H 代表大于,0CH 代表等于,30H 代表小于,C0H 代表不等于,05H 代表大于等于,0AH 代表小于等于。

判断阈值:需要比较的数值。

监控重要参数类型:可根据软件对参数分类进行定义,例如载荷模拟量、载荷状态参数等。

监控重要参数字节数:可设置1~4 字节。

监控重要参数位置:按照不同的监控重要参数类型,索引该类型参数首地址相对应的偏移位置。

1.2.3 工作流程控制表

工作流程控制表用于存放不同实验子模式对应的工作流程中所有有效载荷的指令时序控制信息。工作流程控制表分为控制表头和控制内容两部分,其中控制表头和控制内容中每个执行步骤均为8 字节。工作流程控制格式列于表5。

表5 工作流程控制Table 5 Workflow control

注1工作流程控制表的控制表头包括工作流程表编号、步骤数、指令时间码类型和流程起始时间。其中,步骤数表示该工作流程控制表中需要执行的工作指令总数。指令时间码类型55H 代表基于流程起始时间的绝对时间,AAH 表示基于上一条指令时间码的相对时间。流程起始时间是以轨道周期为单位的0 时刻基准时间下的起始工作时间,其中FFFFFFFFH表示立刻执行,非FFFFFFFFH 时bit31 用于区分正负数,0 表示正数,1 表示负数,负数适用于起始时刻在轨道0 时刻之前的情况,正数适用于起始观测在轨道0 时刻之后或每次观测开关机的情况;本系统的时间单位为100 µs 的计数。

注2工作流程控制表的控制内容由一条条指令序列组成,每一条指令序列为一条指令步骤。包括4 字节指令执行时间码、2 字节指令类型和2 字节指令编码。指令时间码表示该条指令执行的时间。系统共涉及三种指令类型:33H 定义为RS422 通信指令;66H 定义为载荷开关及复位指令;99H 定义为重要参数监控指令。指令编码定义参见表2~4。

2 软件实现

软件实现工作流程的自主控制主要包括工作流程管理和重要参数监控管理,具体模块分解如图5 所示。其中,工作模式切换按照图3 所示的切换方式进行模式切换管理,这里将重点分析工作流程控制管理和重要参数监控管理。

图5 工作流程自主控制功能分解Fig.5 Functional decompositon of workflow antonomous control

2.1 工作流程管理

工作流程控制管理包括数据表使用、数据表健康管理和在轨工作自主控制遥测管理。

2.1.1 数据表使用

软件按照初始化参数配置表对工作状态进行初始化配置后,启动在轨工作自主控制任务,按照图6所示流程索引并读取相关工作流程控制表和指令表内容。首先,对轨道内部时间进行管理,既要按照轨道周期进行自首时处理,又要适应入光点变化而导致的零时校准。在得到轨道内部时间后判断当前工作自主控制流程是处于停止状态还是工作状态。若此时为停止状态,则按照工作模式设置数据注入中设置的工作流程表序号进行索引,若表序号正确则读取表头信息,当轨道内部时间达到表头中的开始执行时间则置当前为工作状态且设置当前为实验开始时间。在轨自主控制流程进入工作状态后判断当前工作是否出现异常,如果收到了紧急断电指令,载荷重要监控参数出现异常、软件复位恢复异常等,则按照任务要求进入相应异常情况下的工作流程表对载荷进行异常处理,自动进入待机/维护模式;若没有出现异常则按照工作流程表的步骤依次索引指令内容及其指令时间并执行相应工作指令,直至全部步骤执行完成,将当前置为停止状态。此外软件随时对工作状态进行备份,当软件发生异常复位时,可对工作状态进行恢复,保证在轨工作流程可以继续执行。

图6 工作流程管理处理流程Fig.6 Workflow management process flow chart

2.1.2 数据表健康管理

软件对数据表的健康管理包括对数据表的备份、数据表单粒子纠错以及数据表的在线更改。

由于宇宙空间存在大量高能量的粒子辐射,很容易引起电路逻辑状态发生翻转、存储数据发生随机改变,进而可能造成灾难性后果。为防止单粒子现象的发生,软件在设计过程中将数据表在EEPROM 中备份存储三份[9],软件上电后首先将EEPROM 中存储的数据表以三取二的方式搬移到RAM 保留区,防止因某一份数据表内容因单粒子翻转造成错误,确保了数据表内容的可靠性。

此外,载荷管理器还使用了EDAC 纠错技术,软件会对EEPROM 区进行全区域数据读取并计算校验和,当EEPROM 区发生单bit 错误时,软件会进入CPU 内部的EDAC 中断,将错地址寄存器(FAILAR)、错误数据等信息存储下来存放到EDAC 出错信息保留区,存储容量为64 条。对于双bit 错误系统软件会将出错信息放到系统软件trap 信息保留区,地面可通过内存下泄,查看错误状态,再通过在线更改对错误进行修改或忽略。

数据表在线修改的修改范围包括对单字节的部分修改和大数据块的整体修改;修改时效包括临时修改和永久修改。部分修改包括数据表中对载荷总线通信指令内容的修改和定向修改。定向修改即为针对指定地址和长度的数据表内容进行修改;针对给载荷转发的指令内容将遥控注入包中增加指令编码对工作指令进行索引,当指令编码为FFFFH 时表示仅转发载荷指令不对数据表进行修改,当指令编码为非FFFFH 时,即设置为指令的索引编号,除了转发载荷指令外,还需对数据表RAM 保留区中对应指令参数进行修改。此外,还设计了大数据块遥控注入包[10-11],将数据表内容按照指定格式分包上注后对整个数据表进行修改。

软件上电后会将数据表从EEPROM 区搬移到RAM 保留区,软件对数据表的修改及使用都是针对数据表RAM 保留区,由于RAM 掉电内容不保存而EEPROM 掉电内容保存的特性,当修改数据表时会因为只对RAM 保留区进行修改而只起到临时修改的效果,软件在执行工作流程控制表时会根据数据表RAM 保留区中最新修改的工作指令内容执行。如需永久修改则可通过上注“数据表从RAM 区到EEPROM”指令将修改的内容更新到EEPROM 区中,即设备在重新上电后可根据更改的数据表进行加载。当然,如果只想恢复原始数据表指令内容,可通过“数据表从EEPROM 到RAM 区”指令将原先保存在EERPOM 中的内容重新拷贝到RAM 保留区,在轨工作时也会按照原始数据表中的内容进行执行。

2.1.3 在轨工作自主控制遥测管理

软件在进行在轨工作自主控制时,会对工作流程自主控制过程中的执行状态进行管理和下传,相关参数如表6 所示。通过当前执行工作控制表序号和待执行工作控制表序号,确认工作模式的实验模式下对应执行子模式的工作流程控制表序号。通过工作流程表更新标识,确认当前工作流程控制表是否有更新情况,通过工作流程表执行状态,确认当前工作流程控制表是否因故障无法继续执行并显示当前的故障类型。通过流程执行步骤计数可查看当前工作流程控制表将要执行的步骤号,也可确认当前因故障停止运行时的步骤号。工作流程表工作状态表示当前工作流程控制表是处于工作状态还是停止状态。

表6 工作流程管理相关参数Table 6 Workflow management related parameters

2.2 重要参数监控管理

重要参数监控功能根据制定的条件对监控参数进行判断,能够监控载荷在轨工作和自身状态,及时采取相应对策和动作,维护载荷在轨工作顺利运行。对每个参数的监控由一个统一的重要参数监控任务处理,任务流程如图7 所示,其中对应的重要参数、监控条件、超限处理通过对参数监控表的配置实现。

图7 重要参数监控通用处理流程Fig.7 General processing flow of important parameter monitoring

软件设计了监控使能/禁止和监控指令的打开/关闭。监控使能的情况下,在工作流程控制表中可编辑某条监控指令的打开和关闭,软件可根据流程控制表中的内容分时进行指令监控。在监控禁止的情况下,即使工作流程控制表中有指令的打开/关闭,均不执行相应监控。工作流程控制表执行过程中,当监控使能和监控指令打开的情况下,软件获取相关指令内容,对监控参数进行单次或多次的监控条件判断,当监控条件超限时进行分别处理。另外,地面还可通过上注对重要参数监控表进行在线编辑和修改,包括监控指令的增减和替换;设置监控指令的使能/禁止、打开/关闭;更改监控指令内容包括但不限于监控周期和监控类型等。

软件设计了重要参数监控程管理,相关参数通过遥测通道下传到地面(见表7)。重要参数监控编号为重要参数指令表中的指令编号,重要参数监控开关为监控使能/禁止及打开/关闭的状态,重要参数监控状态为重要参数超限状态。

表7 重要参数监控程管理相关参数Table 7 Important parameters monitor and manage related parameters

3 设计验证与成果

3.1 设计验证

在轨工作自主控制方案的设计验证列于表8。

表8 在轨工作自主控制方案设计验证Table 8 Design and verification of on-orbit autonomous control scheme

通过在QONE 平台上对使用该方案的5 个型号8 个软件配置项进行项目跟踪统计,相比传统载荷管理软件在轨工作控制方案,从项目研制效率、代码行数、可扩展性等方面进行比较,结果列于表9。

表9 在轨工作控制的效果比较Table 9 Effect comparison of on orbit work control

经过验证,该方案适用于快速在轨工作自主控制系统开发,可有效提高软件研制效率,降低问题发生概率,最终建立通用化的在轨工作自主控制框架,提升软件系统的标准化和灵活性。

3.2 设计成效

相比传统载荷管理软件在轨工作控制方案,本文所讨论的在轨工作自主控制方案在多样化、可重用、缩短测试周期及可靠性方面有着显著的成效。

(1)使用多样化。软件将在轨工作任务所需工作参数按照设计好的协议格式写入EEPROM 数据表中,通过配置上述数据表,对载荷工作流程进行个性化修改,达到适应载荷工作流程多样性的要求。

(2)设计可重用。该载荷管理软件的在轨工作自主控制方案已经过调试阶段、单元测试、组装测试、配置项测试、第三方测试及整星测试阶段,目前已入库并在5 颗卫星8 个软件上重用,其中在轨有4 个软件,其余均在正样研制阶段。

(3)缩短研制周期。由于工作流程自主控制方案的可重用性,软件代码、测试用例、工作流程自主控制方案相关技术要求文档、遥控指令包和遥测文件等具有很高的重用性,大大缩短了软件研制周期。软件设计人员只需根据型号任务的个性化要求,完成数据表说明文件的编写,测试人员需要针对这些个性化的工作参数配置进行个性化的工作流程验证。

(4)提高可靠性。在轨工作自主控制方案在软件代码、测试用例、相关遥控指令包设计、相关遥测设计、相关文档内容等方面都具有很高的可重用性,可减少软件运行及验证过程中的不确定性,减少生产试验环节的时间和成本。同时保证了整个软件研发周期的数据一致性,提高了各阶段数据的一致性。

4 结论

通过对载荷管理软件在轨工作流程管理需求的研究,引入数据表的可配置性,研究并介绍了载荷管理软件在轨工作自主控制技术的设计及实现方法。该方案不仅能够提高载荷管理器的智能化水平,增强其兼容性和适应性,同时能够缩短研发周期,减少开发成本。软件已通过开发方各项测试、第三方测试,并通过环境试验的考核,目前已在多个型号任务上使用,满足载荷在轨工作多样性的要求,软件工作正常,具有较高的可靠性及应用性。

猜你喜欢
管理器数据表指令
启动Windows11任务管理器的几种方法
应急状态启动磁盘管理器
《单一形状固定循环指令G90车外圆仿真》教案设计
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
湖北省新冠肺炎疫情数据表
Windows文件缓冲处理技术概述
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法
QH165点焊机器人数据库开发技术