CN112732334A - 一种高连续性导航卫星软件重构方法 - Google Patents

一种高连续性导航卫星软件重构方法 Download PDF

Info

Publication number
CN112732334A
CN112732334A CN202110039328.4A CN202110039328A CN112732334A CN 112732334 A CN112732334 A CN 112732334A CN 202110039328 A CN202110039328 A CN 202110039328A CN 112732334 A CN112732334 A CN 112732334A
Authority
CN
China
Prior art keywords
software
backup area
ground
fpga
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110039328.4A
Other languages
English (en)
Inventor
宋彬
沈苑
林宝军
龚文斌
任前义
李光
陆新颖
戴永珊
郑家驹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Engineering Center for Microsatellites
Innovation Academy for Microsatellites of CAS
Original Assignee
Shanghai Engineering Center for Microsatellites
Innovation Academy for Microsatellites of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Engineering Center for Microsatellites, Innovation Academy for Microsatellites of CAS filed Critical Shanghai Engineering Center for Microsatellites
Priority to CN202110039328.4A priority Critical patent/CN112732334A/zh
Publication of CN112732334A publication Critical patent/CN112732334A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种高连续性导航卫星软件重构方法,涉及航空航天技术领域,包括以下步骤:在星载软件上采用冗余储存,即将星载软件储存区分为主份区和备份区;软件重构时,主份区软件正常运行,对备份区软件进行重构;完成备份区软件重构后,切换至备份区软件运行,并对主份区软件进行重构;完成主份区软件重构后,切换回主份区软件运行。在重构过程中设置软件注入模式、软件写入模式及软件校验模式,只在这些模式下才能进行重构操作。重构过程中采取星地联动。支持CPU类软件及FPGA软件。

Description

一种高连续性导航卫星软件重构方法
技术领域
本发明涉及航空航天技术领域,特别涉及一种导航卫星软件重构方法。
背景技术
现有星载软件重构技术,可对星载CPU处理器或FPGA芯片进行软件重构:卫星在轨运行期间,通过地面控制站上注的方式,实现软件功能迭代、运行状态切换及配置参数修改,从实现卫星系统升级、维护。当卫星软件需要重构时,由地面运控系统发送重构指令,卫星进入重构模式,软件通过上注数据通道注入,完成软件重构。
但目前软件重构虽然满足了卫星软件重构需求,但在重构状态中,为确保注入程序的正确性,将中断部分或全部软件功能,没有考虑软件功能连续性。根据导航卫星任务需求,需要持续性提供导航信号服务,如在重构过程中断软件功能,将中断或暂停导航业务,卫星处于不可用状态,影响地面用户使用。固现有重构方法或技术不适用于导航卫星软件重构。
发明内容
为解决现有星载软件重构技术在重构状态中,将中断部分或全部软件功能,没有考虑软件功能连续性,不适用于导航卫星重构的问题,本发明提出了一种高连续性导航卫星软件重构方法:星载软件采用冗余储存,即将星载软件储存区分为主份区和备份区;主份区软件为当前运行的程序,即当班软件;备份区软件为非运行软件,且其软件版本与主份区保持一致。软件重构时,主份区软件正常运行,对备份区软件进行重构;完成备份区软件重构后,切换至备份区软件运行,并对主份区软件进行重构,保证二者功能一致;完成主份区软件重构后,切换回主份区软件运行,完成软件重构。可见,通过上述方法,保证了软件重构过程中软件功能正常运行,避免了重构对卫星功能的影响,使卫星可以持续提供导航服务信号。
同时,在软件重构过程中设置了多种系统运行模式,包括软件注入模式、软件写入模式及软件校验模式。只有在相应的模式才能进行重构操作,其余模式禁止进行代码更改,保证了重构过程完备性;以及,通过星地联动来完成软件重构过程,地面系统可以保持对软件重构状态的监控,当重构过程中出现异常状态时,可以及时处置,进一步保证了软件重构的可靠性。
另外,本发明所述的高连续性导航卫星软件重构方法,支持目前大部分星载处理器软件重构,包括CPU类软件及FPGA软件。
附图说明
为进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。
图1示出本发明一个实施例中的CPU软件运行环境的硬件框图;
图2示出本发明一个实施例中的SRAM型FPGA软件运行环境的硬件框图。
具体实施方式
以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法、材料或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构、材料或操作以免模糊本发明的发明点。类似地,为了解释的目的,阐述了特定数量、材料和配置,以便提供对本发明的实施例的全面理解。然而,本发明并不限于这些特定细节。此外,应理解附图中示出的各实施例是说明性表示且不一定按正确比例绘制。
在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。
需要说明的是,本发明的实施例以特定顺序对工艺步骤进行描述,然而这只是为了阐述该具体实施例,而不是限定各步骤的先后顺序。相反,在本发明的不同实施例中,可根据工艺的调节来调整各步骤的先后顺序。
为解决现有星载软件重构技术在重构状态中,将中断部分或全部软件功能,没有考虑软件功能连续性,不适用于导航卫星重构的问题,本发明提出了一种高连续性导航卫星软件重构方法,利用星载软件的冗余储存,保证了软件重构过程中软件功能的正常运行,避免了重构对卫星功能的影响,使卫星可以持续提供导航服务信号。下面结合实施例附图,对本发明的方案做进一步描述。
实施例一、CPU软件重构实施方式
CPU处理器作为卫星核心运算处理单元,在平台,载荷各单机中,普遍运用。星载CPU处理器软件一般存储在片外储存器中。本实施例中,CPU代码存储在两片片外存储区中,即主份存储区和备份存储区,两份存储区存储芯片采用异构设计:主份存储区采用可编程存储器或其他非易失性介质,存储内容可通过电擦写,本实施例中使用EEPROM芯片;备份存储区采用电可擦可编程存储介质,可进行多次写入擦除,本实施例中使用FLASH芯片。CPU处理器从存储区读取软件代码后,缓存在片外RAM芯片中,RAM芯片为掉电易失性芯片,配有EDAC接口,可检测并纠正空间单粒子反转故障。CPU软件运行环境的硬件框图见图1.
主份区和备份区存储器中软件代码版本一致,均包含Boot程序和应用程序,保证程序从主份区和备份区均可正常启动。在重构过程中,当班程序为主份区,可在不影响正常程序运行状态下,对备份区程序进行重构;反之,当班程序为备份区,也可对主份区程序进行重构。
每个存储器包括两块备份的存储单元,可用指令或狗咬复位来切换存储单元的首地址;备份区的程序包含两份以上备份的程序,包括主份区程序,CPU软件代码共有三份。
重构过程中卫星需设置遥测信息,包括:重构的启动状态、接收数据量、数据写入校验结果、数据出错记录、当前工作状态等。地面检测星上遥测信息,控制重构流程。地面设置相应的重构控制指令,包括:设置相应遥控指令,包括中止重构指令、重构写入指令、重构启动指令等。
为满足卫星软件在轨重构需求,卫星软件需运行在稳定可靠系统中,同时系统可保障在重构过程中软件正常运行。
CPU处理器启动时,默认启用主份区存储器内的程序,BOOT启动成功后判读程序的校验和,校验正确后引导主份区的应用程序加载至RAM中运行。
CPU软件重构流程如下:
(1)地面发送控制指令,CPU进入代码注入模式;
(2)解析地面注入程序数据包,将程序代码缓存在RAM中;
(3)注入过程中将遥测信息下传至地面,地面检测注入状态;
(4)当代码注入完成后,CPU软件判断其完整性和正确性;
(5)地面发送控制指令,CPU软件将程序代码由缓存区中搬至备份区;
(6)备份区代码写入完成后进行校验,将校验结果下传至地面;
(7)地面确认后发送相关指令,通过指令切换CPU软件加载源,启用备份区软件;
(8)地面发送控制指令,CPU软件将程序代码由缓存区中搬至主份区;
(9)主份区代码写入完成后进行校验,将校验结果下传至地面;
(10)地面确认后发送相关指令,通过指令切换CPU软件加载源,重新启用主份区软件,软件重构已完成。
实施例二、SRAM型FPGA软件重构实施方式
FPGA软件,即SRAM型FPGA软件,SRAM型FPGA软件代码存储芯片与CPU软件存储芯片相同,分为主份区和备份区,存储芯片也与CPU软件类似:主份存储区采用可编程存储器或其他非易失性介质,存储内容可通过电擦写,本实施例中使用PROM芯片器件为EEPROM,串行配置速率最高达33Mb/s;备份存储区采用电可擦可编程存储介质,可进行多次写入擦除,备份区采用FLASH芯片。FPGA软件启动由反熔丝FPGA控制,反熔丝FPGA将程序搬移至SRAMFPGA中,SRAM FPGA通过反熔丝FPGA向看门狗芯片喂狗。当反熔丝FPGA检测到狗叫信号时,启动SRAM FPGA程序。由于SRAM型FPGA对单粒子较为敏感,通过定时刷新和软件重构提高软件可靠性,反熔丝FPGA有较高的抗单粒子事件特性,无需刷新。FPGA软件运行环境的硬件框图见图2.
SRAM型FPGA软件重构流程控制由反熔丝FPGA负责完成,包括对注入数据解析、程序数据完整性及正确性校验、数据写入及对SRAM型FPGA状态控制。
SRAM型FPGA程序启动后,反熔丝FPGA周期性读取程序并写入SRAM FPGA中,完成SRAM FPGA代码的定期刷新;同时利用间隙时间对存储区代码进行校验,同时将校验结果反馈至SRAM FPGA并下传地面。当SRAM FPGA处于重构状态,刷新功能将暂停,已避免与FPGA刷新功能冲突。
同实施例一中一样,重构过程中卫星需设置遥测信息,包括:重构的启动状态、接收数据量、数据写入校验结果、数据出错记录、当前工作状态等。地面检测星上遥测信息,控制重构流程。地面设置相应的重构控制指令,包括:设置相应遥控指令,包括中止重构指令、重构写入指令、重构启动指令等。
为满足卫星软件在轨重构需求,卫星软件需运行在稳定可靠系统中,同时系统可保障在重构过程中软件正常运行。
整个重构流程如下:
(1)卫星接收到地面控制指令,进入代码注入模式;
(2)反熔丝FPGA解析地面注入SRAM型FPGA程序数据包;
(3)数据上注完毕后,反熔丝FPGA校验数据完整性并下传地面,验证上注程序正确性;
(4)SRAM型FPGA软件目前运行状态为读取主份区数据运行,将数据写入备份区存储器;
(5)反熔丝FPGA校验数据写入备份区存储器数据的完整性,并将校验结果下传地面;
(6)地面收到校验结果信息,如结果正确,发送备份区程序启用指令;若校验失败,由地面判断是否需要重新写入或重新上注;
(7)若SRAM型FPGA软件运行状态已切换为读取备份区数据运行,反熔丝FPGA根据地面指令进行主份区程序更新,将数据写入主份区存储器;
(8)反熔丝FPGA校验数据写入主份区存储器数据的完整性,并将校验结果下传地面;
(9)地面收到校验结果信息,如结果正确,发送主份区程序启用指令;若校验失败,由地面判断是否需要重新写入或重新上注;
(10)SRAM型FPGA软件运行状态切换回读取主份区数据运行,软件重构已完成。

Claims (13)

1.一种高连续性导航卫星软件重构方法,其特征在于,包括如下步骤:将星载软件储存区分为主份区和备份区;软件重构时,主份区软件正常运行,对备份区软件进行重构;完成备份区软件重构后,切换至备份区软件运行,并对主份区软件进行重构;完成主份区软件重构后,切换回主份区软件运行。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:重构过程中设置多种系统运行模式。
3.根据权利要求2所述的方法,其特征在于,所述系统运行模式包括:软件注入模式、软件写入模式及软件校验模式。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:对CPU类软件的应用。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:对FPGA类软件的应用。
6.根据权利要求4所述的方法,其特征在于,所述CPU类软件包括:RAM、CPU处理器、主份区和备份区。
7.根据权利要求6所述的方法,其特征在于,主份区包括:采用非易失性介质。
8.根据权利要求6所述的方法,其特征在于,备份区包括:采用电可擦可编程存储介质。
9.根据权利要求6所述的方法,其特征在于,对CPU类软件的应用包括:地面发送控制指令,CPU进入代码注入模式;解析地面注入程序数据包,将程序代码缓存在RAM中;将遥测信息下传至地面,地面检测注入状态;CPU软件判断程序代码完整性和正确性;地面发送控制指令,CPU软件将程序代码由RAM中搬至备份区;备份区代码写入完成后进行校验,将校验结果下传至地面;地面确认后发送指令切换CPU软件加载源,启用备份区软件;地面发送控制指令,CPU软件将程序代码由缓存区中搬至主份区;主份区代码写入完成后进行校验,将校验结果下传至地面;地面确认后发送指令切换CPU软件加载源,重新启用主份区软件。
10.根据权利要求5所述的方法,其特征在于,所述FPGA类软件包括:RAM、SRAM型FPGA、反熔丝FPGA、主份区和备份区。
11.根据权利要求10所述的方法,其特征在于,主份区包括:采用非易失性介质。
12.根据权利要求10所述的方法,其特征在于,备份区包括:采用电可擦可编程存储介质。
13.根据权利要求10所述的方法,其特征在于,对FPGA类软件的应用包括:卫星接收到地面控制指令,进入代码注入模式;反熔丝FPGA解析地面注入SRAM型FPGA程序数据包;反熔丝FPGA校验数据完整性并下传地面;SRAM型FPGA软件数据写入备份区;反熔丝FPGA校验数据写入备份区数据的完整性,并将校验结果下传地面;SRAM型FPGA软件切换为读取备份区数据运行,反熔丝FPGA根据地面指令进行主份区程序更新,将数据写入主份区;反熔丝FPGA校验数据写入主份区存储器数据的完整性,并将校验结果下传地面;SRAM型FPGA软件运行状态切换回读取主份区数据运行。
CN202110039328.4A 2021-01-12 2021-01-12 一种高连续性导航卫星软件重构方法 Pending CN112732334A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110039328.4A CN112732334A (zh) 2021-01-12 2021-01-12 一种高连续性导航卫星软件重构方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110039328.4A CN112732334A (zh) 2021-01-12 2021-01-12 一种高连续性导航卫星软件重构方法

Publications (1)

Publication Number Publication Date
CN112732334A true CN112732334A (zh) 2021-04-30

Family

ID=75591564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110039328.4A Pending CN112732334A (zh) 2021-01-12 2021-01-12 一种高连续性导航卫星软件重构方法

Country Status (1)

Country Link
CN (1) CN112732334A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238985A (zh) * 2021-05-21 2021-08-10 北京轩宇空间科技有限公司 Fpga在轨重构控制系统及方法
CN113849456A (zh) * 2021-10-18 2021-12-28 中国科学院长春光学精密机械与物理研究所 星载fpga重构方法
CN114090043A (zh) * 2021-11-24 2022-02-25 哈尔滨工业大学 通用的星载软件在轨动态重构方法、系统及介质
CN114444314A (zh) * 2022-01-29 2022-05-06 中国人民解放军32032部队 一种卫星载荷在轨重构实施流程的优化方法
CN114489779A (zh) * 2021-12-28 2022-05-13 中国电子科技集团公司第二十九研究所 一种星上软件重构系统
CN114860650A (zh) * 2022-04-22 2022-08-05 中国科学院国家空间科学中心 一种多片sram型fpga在轨配置管理装置
CN117453462A (zh) * 2023-12-26 2024-01-26 中国人民解放军国防科技大学 一种星载设备软件可靠重构和加载运行方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888304A (zh) * 2009-05-15 2010-11-17 华为技术有限公司 一种路由设备的升级方法、装置和系统
CN108089876A (zh) * 2017-12-29 2018-05-29 中国科学院国家空间科学中心 一种星载dsp软件在轨更新方法
CN109522259A (zh) * 2018-11-12 2019-03-26 中国科学院长春光学精密机械与物理研究所 基于空间应用的在轨刷新重注成像系统
CN111953403A (zh) * 2020-08-12 2020-11-17 中国科学院微小卫星创新研究院 一种导航卫星载荷的在轨重构系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888304A (zh) * 2009-05-15 2010-11-17 华为技术有限公司 一种路由设备的升级方法、装置和系统
CN108089876A (zh) * 2017-12-29 2018-05-29 中国科学院国家空间科学中心 一种星载dsp软件在轨更新方法
CN109522259A (zh) * 2018-11-12 2019-03-26 中国科学院长春光学精密机械与物理研究所 基于空间应用的在轨刷新重注成像系统
CN111953403A (zh) * 2020-08-12 2020-11-17 中国科学院微小卫星创新研究院 一种导航卫星载荷的在轨重构系统及方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238985A (zh) * 2021-05-21 2021-08-10 北京轩宇空间科技有限公司 Fpga在轨重构控制系统及方法
CN113849456A (zh) * 2021-10-18 2021-12-28 中国科学院长春光学精密机械与物理研究所 星载fpga重构方法
CN114090043A (zh) * 2021-11-24 2022-02-25 哈尔滨工业大学 通用的星载软件在轨动态重构方法、系统及介质
CN114489779A (zh) * 2021-12-28 2022-05-13 中国电子科技集团公司第二十九研究所 一种星上软件重构系统
CN114444314A (zh) * 2022-01-29 2022-05-06 中国人民解放军32032部队 一种卫星载荷在轨重构实施流程的优化方法
CN114444314B (zh) * 2022-01-29 2024-05-14 中国人民解放军32032部队 一种卫星载荷在轨重构实施流程的优化方法
CN114860650A (zh) * 2022-04-22 2022-08-05 中国科学院国家空间科学中心 一种多片sram型fpga在轨配置管理装置
CN117453462A (zh) * 2023-12-26 2024-01-26 中国人民解放军国防科技大学 一种星载设备软件可靠重构和加载运行方法
CN117453462B (zh) * 2023-12-26 2024-03-08 中国人民解放军国防科技大学 一种星载设备软件可靠重构和加载运行方法

Similar Documents

Publication Publication Date Title
CN112732334A (zh) 一种高连续性导航卫星软件重构方法
CN111611201B (zh) 一种刷新自适应的连续高可靠在轨fpga重构系统与方法
CN111142962B (zh) 一种星载fpga的在轨重构方法及系统
JP3770905B2 (ja) 消去可能不揮発性メモリの完全な再プログラミング方法
CN110555237B (zh) 一种fpga在轨动态可重构方法
CN114237122B (zh) 一种对sram型fpga进行配置、回读和刷新的电路和操作方法
RU2248627C2 (ru) Способ и устройство для изменения содержимого запоминающих устройств блоков управления
CN111240720A (zh) 引导程序升级方法、装置及存储介质
CN110647333A (zh) 固件升级方法及配置成对其中的固件进行升级的设备
CN111176890A (zh) 一种星载软件数据存储及异常恢复方法
CN109933340B (zh) 一种航天器eeprom基于页模式的在轨写入和自检方法
US6546455B1 (en) Method and device for modifying the memory contents of control equipment
CN112148317A (zh) 一种激光雷达系统的在线升级装置及激光雷达系统
US20070277028A1 (en) Method and system for recovery from reprogramming failures in nonvolatile memory
CN116361817B (zh) 一种Linux下ubi文件系统的保护方法
CN109522155B (zh) 基于动态切换的空间应用嵌入式软件自修复系统
CN114398087B (zh) 一种提高单片机更新程序后运行稳定性的方法及单片机
CN111857884B (zh) 高可靠星载软件启动系统及方法
CN213211012U (zh) 一种激光雷达系统的在线升级装置及激光雷达系统
CN114741091A (zh) 固件加载方法、装置、电子设备及计算机可读存储介质
CN116257384A (zh) 终端的启动方法、电子设备和计算机可读存储介质
CN111176732A (zh) 一种基于mram实现的软硬件冗余安全启动与维护方法
Henkel et al. Mitigating and Recovering from Radiation Induced Faults in Non-Hardened Spacecraft Flash Memory
CN118394394B (zh) 一种fpga配置项文件在线升级的方法
CN110569051B (zh) 一种支持预启动的飞行程序在轨维护与验证方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination