掌桥专利:专业的专利平台
掌桥专利
首页

星务软件快速引导装置及方法

文献发布时间:2023-06-19 11:39:06


星务软件快速引导装置及方法

技术领域

本发明涉及航空航天技术领域,特别涉及一种星务软件快速引导装置及方法。

背景技术

一般来说,星务软件作为整个卫星的“神经中枢“,运行于星务计算机硬件平台,是整星集中管理和控制中心,负责完成卫星平台的各项管理及控制工作,包括星上数据的综合管理(采集、存储、处理、数据交换)、时间管理、程序控制管理、部分子系统的自主控制管理、系统级安全管理等,并完成卫星姿态轨道控制系统中控制器的功能。目前,由于对星务软件高可靠性、高安全的要求,星务软件设计一般包含两个相对独立存储的软件单元,分为星务最小模式软件单元和星务正常模式软件单元。星务正常模式软件支持卫星所有正常工况下的功能需求,包括单机数据采集管理,姿态测量与控制,轨道数据处理,遥测遥控,整星能源管理、热控管理以及载荷任务管理等。考虑到卫星在轨空间环境的特殊性和安全性等因素,另外需设计一份能“保命”的最小工况下软件,称之为最小模式。该工况下,软件仅实现最基本、最必要的遥测和遥控功能,能源管理以及安全姿控功能,以使得卫星能“看得见、摸得到”。这种星务软件最小模式一般存储于军品级抗辐照PROM芯片中,由于价格昂贵、货源禁运以及运行时间等诸多问题,这种最小模式软件亟待改变设计模式,进一步压缩空间,优化功能,加快运行速。

传统最小模式代码一般固化于PROM中,为了实现其基本功能至少需要64KB以上的存储空间,但是由于空间抗辐照的PROM芯片受到海外禁运的影响,价格暴涨,货源难觅,同时采购周期长且存在不确定,导致最小模式整体固化于PROM的设计模式越来越难以工程实施。同时,按照采用集中管理式的软件密集化微小卫星的现代软件设计模式,软件实现了姿轨控敏感器采集、定姿计算、姿控工作模式切换、控制输出等功能,姿控安全模式与姿态、敏感器、执行部件、姿态工作模式工作等交叉耦合的复杂功能,PROM区的软件需求确定时间一般都较晚。考虑到软件编码实现、测试联调等流程,PROM软件最终固化落焊时间必然靠后,严重制约整星研制进度。另一方面,由于最小模式存储在PROM中,软件运行时需要将该部分代码搬移并解压到RAM空间运行,运行周期完成后地面才接收到相关的遥测下行数据,对于这段时间遥测盲区若发生一些潜在异常,往往难以及时处置以致整星任务失败。

发明内容

本发明的目的在于提供一种星务软件快速引导装置及方法,以解决现有的星务最小模式软件应用难度较大的问题。

为解决上述技术问题,本发明提供一种星务软件快速引导装置,包括:

星务最小模式软件模块,被配置为运行在星务最小模式下;

星务正常模式软件模块,被配置为存储在EEPROM中,运行在星务正常模式下;以及

星务引导模式软件模块,被配置为存储在PROM中,在星务引导模式下,通过星务引导模式软件模块的基本输入输出功能进行应用层代码的遥控上行注入,以及

判断若应用层代码正常则星务计算机加电或复位后,通过引导模式代码引导跳转至星务最小模式或星务正常模式下运行。

可选的,在所述的星务软件快速引导装置中,所述星务引导模式还包括:

星务引导模式软件模块判断若应用层代码异常,受控跳转停留在星务引导模式;

星务正常模式和星务最小模式均异常的情况下,引导模式代码不进行喂狗操作,控制切换至备份的星务计算机。

可选的,在所述的星务软件快速引导装置中,所述星务正常模式包括:

支持卫星所有正常工况下的功能需求,包括单机数据采集管理,姿态测量与控制,轨道数据处理,遥测遥控,整星能源管理、热控管理以及载荷任务管理。

可选的,在所述的星务软件快速引导装置中,所述星务正常模式包括:

星务最小模式软件模块支持卫星姿态控制及能源管理的功能需求;

所述星务引导模式还包括:星务引导模式软件模块支持卫星启动引导、基本通信、程序重构注入的功能需求,引导模式代码位于程序运行的起始地址,硬件加电后立即运行,进行基本初始化、双机切换、基本遥测、基本遥控、软件运行模式选择和代码加载功能。

本发明还提供一种采用如上所述的星务软件快速引导装置实现的星务软件快速引导方法,包括:

进行基本初始化;

进行冷热启动判断;

进行主备切换控制;

进行软件模式选择;

进行遥测;

进行遥控;

进行细粒度存储区校验;

进行存储区数据注入和下发;

进行设备单机断电;

进行TRAP处理。

可选的,在所述的星务软件快速引导方法中,所述基本初始化包括:系统加电或复位后,首先运行0地址引导程序的汇编部分,首先进行最基本的CPU寄存器设置,保存CPU各状态寄存器,IO配置、外部接口初始化,最后跳转到C代码ROMStart()函数代码赋值到RAM区,再跳转到C代码usrInit函数;

所述冷热启动判断包括:首先关闭EDAC状态,然后读取冷热启动特征字存储地址,与热启动预期值进行比对,若比对错误,则判断为星务冷启动,否则为热启动。

可选的,在所述的星务软件快速引导方法中,所述主备切换控制包括:判断星务正常模式连续复位计数或星务最小模式连续复位计数是否超过阈值,若超过阈值则进入循环不喂狗状态,等待硬件狗狗咬;

所述软件模式选择包括:上电启动后软件判断选择:若星务正常模式校验不通过,则不进入星务正常模式;若星务最小模式校验不通过,则不进入星务最小模式;地面指令指定进入星务正常模式,则进入星务正常模式;地面指令指定进入星务最小模式,则进入星务最小模式;星务正常模式运行出现异常,连续复位计数超过阈值,不进入星务正常模式;星务最小模式运行出现异常,连续复位计数超过阈值,不进入星务最小模式。

可选的,在所述的星务软件快速引导方法中,

所述遥测包括:将卫星当前的单机的开关状态、软件的运行状态、卫星重要状态、软件重构信息按照遥测帧组包下发;遥测信道上保证始终发送源包数据;遥测数据帧无足够遥测源包填充时,包数据域中填充装载长度可变的空闲数据的源包;当星上无足够遥测源包传输时,要求星上在有效遥测帧之间插入1帧0xFF空闲帧;对指令内存区的存储内容根据地址和数据长度读取数据并进行组成遥测帧下发;

所述遥控包括:根据存储地址和长度指令参数,接收星务存储数据上注指令,处理地面上行注入的重构代码;根据拷贝的目标地址源地址指令参数,接收存储区数据拷贝搬移的指令,将目标存储区的数据复制到需要的地址;处理转发直接控制指令和间接短指令遥控帧;处理程序运行跳转,转至遥控指令参数指定的地址运行。

可选的,在所述的星务软件快速引导方法中,所述细粒度存储区校验包括:软件每周期对NVM空间进行分块校验,并将校验结果遥测下发,校验的粒度根据指令参数进行修改配置进行校验;

所述存储区数据注入和下发包括:提供对内存数据进行遥测下发和修改的接口;对内存下发功能,能够下发指定地址指定长度的内存数据;对内存注入功能,能够将指定地址和指定长度的数据内容修改为注入的数据。

可选的,在所述的星务软件快速引导方法中,所述设备单机断电包括:在进入星务引导模式之后,自动将预先设定的单机进行关机,保障卫星能源安全;

所述TRAP处理包括:按照trap处理模式对各种trap进行相应处理:NMI、EDAC单错、EDAC双错、窗口上溢、窗口下溢、遥测下行。

在本发明提供的星务软件快速引导装置及方法中,通过提出了一种基于空间优化的星务软件快速高安全引导方法,在传统的星务正常模式和最小模式基础上,提取出更细粒度的星务引导功能。在星务引导模式下,可通过其基本输入输出功能完成应用层代码的遥控上行注入。如果应用层代码正常则星务计算机加电或复位后,通过引导模式代码引导跳转至星务最小模式软件或星务正常模式软件正常运行,不再停留在引导模式。如果应用层代码异常,可受控跳转停留在星务引导模式。即使星务正常工况和最小工况均异常的极端情况下,引导模式软件不会进行喂狗操作,可控制切换至备份的星务计算机。通过功能更细粒度的星务引导模式,极大的压缩了启动必备代码的存储空间,从而极大的节省货源短缺、价格昂贵的抗辐照PROM空间;同时,由于功能简化,加快引导启动速度,卫星发射入轨后,可以尽快遥测下传出基本的软件状态信息,为在轨卫星的地面运控和维护人员增加宝贵的处置时间。

本发明是一种基于空间优化的星务软件快速安全引导方法,通过该方法一方面为解决大容量抗辐照PROM器件获得性的问题,另一方面为消减星务计算机PROM落焊对整星研制进度的压力,将传统星务最小模式软件进行引导区划分,将可早期确定的如启动引导、基本通信、程序重构注入等功能分至星务引导软件,这种快速引导模式位于程序运行的起始地址,硬件加电即运行,实现硬件初始化、双机切换、基本的遥测和遥控、软件运行模式选择和代码加载功能;而将原星务最小模式软件中的应用功能(包括确定较晚的姿态控制、能源管理等功能)分至星务最小模式软件,并将划分后的星务最小模式软件改为存放于价格相对廉价的EEPROM中。由于将传统最小模式代码按引导模式进行细粒度功能分解后,星务软件基本引导区的代码进一步优化,节省昂贵的抗辐照PROM近一半存储空间,同时由于基础功能细化分解至引导软件后,卫星加电后可以更快速地启动,较早获取卫星下行遥测数据,为潜在软件故障提供宝贵的地面抢救时间。

附图说明

图1是本发明一实施例星务软件快速引导方法整体流程示意图;

图2是本发明一实施例星务软件快速引导方法基本初始化流程示意图;

图3是本发明一实施例星务软件快速引导方法冷热启动判断流程示意图;

图4是本发明一实施例星务软件快速引导方法主备切换控制流程示意图;

图5是本发明一实施例星务软件快速引导方法软件模式选择流程示意图;

图6是本发明一实施例星务软件快速引导方法设备单机断电流程示意图。

具体实施方式

下面结合具体实施方式参考附图进一步阐述本发明。

应当指出,各附图中的各组件可能为了图解说明而被夸大地示出,而不一定是比例正确的。在各附图中,给相同或功能相同的组件配备了相同的附图标记。

在本发明中,除非特别指出,“布置在…上”、“布置在…上方”以及“布置在…之上”并未排除二者之间存在中间物的情况。此外,“布置在…上或上方”仅仅表示两个部件之间的相对位置关系,而在一定情况下、如在颠倒产品方向后,也可以转换为“布置在…下或下方”,反之亦然。

在本发明中,各实施例仅仅旨在说明本发明的方案,而不应被理解为限制性的。

在本发明中,除非特别指出,量词“一个”、“一”并未排除多个元素的场景。

在此还应当指出,在本发明的实施例中,为清楚、简单起见,可能示出了仅仅一部分部件或组件,但是本领域的普通技术人员能够理解,在本发明的教导下,可根据具体场景需要添加所需的部件或组件。另外,除非另行说明,本发明的不同实施例中的特征可以相互组合。例如,可以用第二实施例中的某特征替换第一实施例中相对应或功能相同或相似的特征,所得到的实施例同样落入本申请的公开范围或记载范围。

在此还应当指出,在本发明的范围内,“相同”、“相等”、“等于”等措辞并不意味着二者数值绝对相等,而是允许一定的合理误差,也就是说,所述措辞也涵盖了“基本上相同”、“基本上相等”、“基本上等于”。以此类推,在本发明中,表方向的术语“垂直于”、“平行于”等等同样涵盖了“基本上垂直于”、“基本上平行于”的含义。

另外,本发明的各方法的步骤的编号并未限定所述方法步骤的执行顺序。除非特别指出,各方法步骤可以以不同顺序执行。

以下结合附图和具体实施例对本发明提出的星务软件快速引导装置及方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。

另外,除非另行说明,本发明的不同实施例中的特征可以相互组合。例如,可以用第二实施例中的某特征替换第一实施例中相对应或功能相同或相似的特征,所得到的实施例同样落入本申请的公开范围或记载范围。

本发明的核心思想在于提供一种星务软件快速引导装置及方法,特别是一种基于空间优化的星务软件快速安全引导方法,以解决现有的星务最小模式软件应用难度较大的问题。

为实现上述思想,本发明提供了一种星务软件快速引导装置及方法,包括:星务最小模式软件模块,被配置为运行在星务最小模式下;星务正常模式软件模块,被配置为存储在EEPROM中,运行在星务正常模式下;以及星务引导模式软件模块,被配置为存储在PROM中,在星务引导模式下,通过星务引导模式软件模块的基本输入输出功能进行应用层代码的遥控上行注入,以及判断若应用层代码正常则星务计算机加电或复位后,通过引导模式代码引导跳转至星务最小模式或星务正常模式下运行。

本发明提出的一种基于空间优化的星务软件快速安全引导方法,主要通过改进传统最小模式的设计方式,简化引导代码的存储空间和缩短启动运行时间,提出一种空间优化的星务引导模式,以实现星务计算机的初始化功能、双机切换管理功能、软件模式选择功能、基本的输入输出功能及有限的遥测遥控。星务快速引导模式软件类似于PC的BIOS,功能相对确定和独立,通常仅在星务计算机加电或复位时运行,一般情况下不会停留在快速引导模式中。在星务计算机快速引导模式软件落焊后,星务计算机类似于PC机的“裸机”,可受控停留在快速引导模式。进入星务快速引导条件如下:当正常模式及最小模式均异常的情况下有条件自动切换进入快速引导模式。

星务快速引导模式软件存储于PROM,负责星务软件的启动和加载,主循环运行状态下,软件不进行喂狗操作。星务引导模式总体设计流程如图1所示。

本发明的实施例提供一种星务软件快速引导装置,包括:星务最小模式软件模块,被配置为运行在星务最小模式下;星务正常模式软件模块,被配置为存储在EEPROM中,运行在星务正常模式下;以及星务引导模式软件模块,被配置为存储在PROM中,在星务引导模式下,通过星务引导模式软件模块的基本输入输出功能进行应用层代码的遥控上行注入,以及判断若应用层代码正常则星务计算机加电或复位后,通过引导模式代码引导跳转至星务最小模式或星务正常模式下运行。

在本发明的一个实施例中,在所述的星务软件快速引导装置中,所述星务引导模式还包括:星务引导模式软件模块判断若应用层代码异常,受控跳转停留在星务引导模式;星务正常模式和星务最小模式均异常的情况下,引导模式代码不进行喂狗操作,控制切换至备份的星务计算机。

在本发明的一个实施例中,在所述的星务软件快速引导装置中,所述星务正常模式包括:支持卫星所有正常工况下的功能需求,包括单机数据采集管理,姿态测量与控制,轨道数据处理,遥测遥控,整星能源管理、热控管理以及载荷任务管理。

在本发明的一个实施例中,在所述的星务软件快速引导装置中,所述星务正常模式包括:星务最小模式软件模块支持卫星姿态控制及能源管理的功能需求;所述星务引导模式还包括:星务引导模式软件模块支持卫星启动引导、基本通信、程序重构注入的功能需求,引导模式代码位于程序运行的起始地址,硬件加电后立即运行,进行基本初始化、双机切换、基本遥测、基本遥控、软件运行模式选择和代码加载功能。

本发明还提供一种采用如上所述的星务软件快速引导装置实现的星务软件快速引导方法,如图1所示,包括:进行基本初始化;进行冷热启动判断;进行主备切换控制;进行软件模式选择;进行遥测;进行遥控;进行细粒度存储区校验;进行存储区数据注入和下发;进行设备单机断电;进行TRAP处理。

如图2所示,在所述的星务软件快速引导方法中,所述基本初始化包括:系统加电或复位后,首先运行0地址引导程序的汇编部分,首先进行最基本的CPU寄存器设置,保存CPU各状态寄存器,IO配置、外部接口初始化,最后跳转到C代码ROMStart()函数代码赋值到RAM区,再跳转到C代码usrInit函数。

如图3所示,所述冷热启动判断包括:首先关闭EDAC状态,然后读取冷热启动特征字存储地址,与热启动预期值进行比对,若比对错误,则判断为星务冷启动,否则为热启动。

如图4所示,在所述的星务软件快速引导方法中,所述主备切换控制包括:判断星务正常模式连续复位计数或星务最小模式连续复位计数是否超过阈值,若超过阈值则进入循环不喂狗状态,等待硬件狗狗咬;

如图5所示,所述软件模式选择包括:上电启动后软件判断选择:若星务正常模式校验不通过,则不进入星务正常模式;若星务最小模式校验不通过,则不进入星务最小模式;地面指令指定进入星务正常模式,则进入星务正常模式;地面指令指定进入星务最小模式,则进入星务最小模式;星务正常模式运行出现异常,连续复位计数超过阈值,不进入星务正常模式;星务最小模式运行出现异常,连续复位计数超过阈值,不进入星务最小模式。

在本发明的一个实施例中,在所述的星务软件快速引导方法中,所述遥测包括:将卫星当前的单机的开关状态、软件的运行状态、卫星重要状态、软件重构信息按照遥测帧组包下发;遥测信道上保证始终发送源包数据;遥测数据帧无足够遥测源包填充时,包数据域中填充装载长度可变的空闲数据的源包;当星上无足够遥测源包传输时,要求星上在有效遥测帧之间插入1帧0xFF空闲帧;对指令内存区的存储内容根据地址和数据长度读取数据并进行组成遥测帧下发;所述遥控包括:根据存储地址和长度指令参数,接收星务存储数据上注指令,处理地面上行注入的重构代码;根据拷贝的目标地址源地址指令参数,接收存储区数据拷贝搬移的指令,将目标存储区的数据复制到需要的地址;处理转发直接控制指令和间接短指令遥控帧;处理程序运行跳转,转至遥控指令参数指定的地址运行。

在本发明的一个实施例中,在所述的星务软件快速引导方法中,所述细粒度存储区校验包括:软件每周期对NVM空间进行分块校验,并将校验结果遥测下发,校验的粒度根据指令参数进行修改配置进行校验;所述存储区数据注入和下发包括:提供对内存数据进行遥测下发和修改的接口;对内存下发功能,能够下发指定地址指定长度的内存数据;对内存注入功能,能够将指定地址和指定长度的数据内容修改为注入的数据。

如图6所示,在所述的星务软件快速引导方法中,所述设备单机断电包括:在进入星务引导模式之后,自动将预先设定的单机进行关机,保障卫星能源安全;所述TRAP处理包括:按照trap处理模式对各种trap进行相应处理:NMI、EDAC单错、EDAC双错、窗口上溢、窗口下溢、遥测下行。

在本发明的一个实施例中,步骤1:基本初始化,系统加电或复位后,首先运行的是0地址引导程序的汇编部分,该部分首先进行最基本的CPU寄存器设置,之后保存CPU各状态寄存器,IO配置、外部接口初始化,最后跳转到C代码ROMStart()函数代码赋值到RAM区,再跳转到C代码usrInit函数。具体实施流程如图2所示。步骤2:冷热启动判断,首先关闭EDAC状态,然后读取冷热启动特征字存储地址,与热启动预期值进行比对,若比对错误,则判断为星务冷启动,否则为热启动。

在本发明的一个实施例中,步骤3:主备切换控制,判断星务正常模式软件连续复位计数或星务最小模式软件连续复位计数(可配置)是否超过阈值,若超过该阈值则进入循环不喂狗状态,等待硬件狗狗咬。步骤4:软件模式选择,上电启动后采用如图4的判断逻辑,主要的软件判断选择如下:

若星务正常模式软件校验不通过,则不进入星务正常模式软件;

若星务最小模式软件校验不通过,则不进入星务最小模式软件;

地面指令指定进入星务正常模式软件,则进入正常模式软件;

地面指令指定进入星务最小模式软件,则进入最小模式软件;

正常模式软件运行出现异常,连续复位计数超过阈值(可配置),不进入正常模式;

最小模式软件运行出现异常,连续复位计数超过阈值(可配置),不进入最小模式。

在本发明的一个实施例中,步骤5:遥测功能,将卫星当前的基本状态:单机的开关状态、软件的运行状态、卫星重要状态、软件重构信息等按照遥测帧组包下发,遥测信道上保证始终发送源包数据;遥测数据帧无足够遥测源包填充时,包数据域中可以填充装载长度可变的空闲数据的源包。当星上无足够遥测源包传输时,要求星上在有效遥测帧之间插入1帧0xFF空闲帧;对指令内存区的存储内容根据地址和数据长度读取数据并进行组成遥测帧下发;步骤6:遥控功能,根据存储地址和长度等指令参数,接收星务存储数据上注指令,处理地面上行注入的重构代码;根据拷贝的目标地址源地址等指令参数,接收存储区数据拷贝搬移的指令,将目标存储区的数据复制到需要的地址;处理转发直接控制指令和间接短指令遥控帧;处理程序运行跳转,转至遥控指令参数指定的地址运行。

在本发明的一个实施例中,步骤7:细粒度存储区校验,软件每周期对NVM空间进行分块校验,并将校验结果遥测下发。校验的粒度可以根据指令参数进行修改配置进行校验。步骤8:存储区数据注入和下发功能,提供对内存数据进行遥测下发和修改的接口;对内存下发功能,能够下发指定地址指定长度的内存数据;对内存注入功能,能够将指定地址和指定长度的数据内容修改为注入的数据。

在本发明的一个实施例中,步骤10:设备单机断电,在进入引导模式之后,自动将预先设定的单机进行关机,保障卫星能源安全。步骤11:TRAP处理等,按照trap处理模式对各种trap进行相应的处理:NMI、EDAC单错、EDAC双错、窗口上溢、窗口下溢、遥测下行。

本发明提出了一种基于空间优化的星务软件快速高安全引导方法,在传统的星务正常模式和最小模式基础上,提取出更细粒度的星务引导功能。在星务引导模式下,可通过其基本输入输出功能完成应用层代码的遥控上行注入。如果应用软件代码正常则星务计算机加电或复位后,通过引导模式代码引导跳转至星务最小模式软件或星务正常模式软件正常运行,不再停留在引导模式。如果应用层代码异常,可受控跳转停留在星务引导模式。即使星务正常工况和最小工况均异常的极端情况下,引导模式软件不会进行喂狗操作,可控制切换至备份的星务计算机。通过功能更细粒度的星务引导模式,极大的压缩了启动必备代码的存储空间,从而极大的节省货源短缺、价格昂贵的抗辐照PROM空间;同时,由于功能简化,加快引导启动速度,卫星发射入轨后,可以尽快遥测下传出基本的软件状态信息,为在轨卫星的地面运控和维护人员增加宝贵的处置时间。

综上,上述实施例对星务软件快速引导装置及方法的不同构型进行了详细说明,当然,本发明包括但不局限于上述实施中所列举的构型,任何在上述实施例提供的构型基础上进行变换的内容,均属于本发明所保护的范围。本领域技术人员可以根据上述实施例的内容举一反三。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

相关技术
  • 星务软件快速引导装置及方法
  • 一种连接器、卫星系统、星务分系统、星务主机及方法
技术分类

06120113008449