CN113918386A - 一种在轨处理系统自主容错和故障恢复方法 - Google Patents

一种在轨处理系统自主容错和故障恢复方法 Download PDF

Info

Publication number
CN113918386A
CN113918386A CN202111239294.XA CN202111239294A CN113918386A CN 113918386 A CN113918386 A CN 113918386A CN 202111239294 A CN202111239294 A CN 202111239294A CN 113918386 A CN113918386 A CN 113918386A
Authority
CN
China
Prior art keywords
fpga
data
ground
program
memory
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
CN202111239294.XA
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.)
Bit Raco Electronic Information Technology Co ltd
Original Assignee
Bit Raco Electronic Information Technology Co ltd
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 Bit Raco Electronic Information Technology Co ltd filed Critical Bit Raco Electronic Information Technology Co ltd
Priority to CN202111239294.XA priority Critical patent/CN113918386A/zh
Publication of CN113918386A publication Critical patent/CN113918386A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/1479Generic software techniques for error detection or fault masking
    • G06F11/1492Generic software techniques for error detection or fault masking by run-time replication performed by the application software
    • G06F11/1494N-modular type
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明的在轨处理系统自主容错和故障恢复方法,能够基于FPGA内部软件对在轨处理系统进行校验和纠正,保证卫星正常运行。基于FPGA内部软件进行校验和纠正,以便解决单粒子翻转的影响,包括TMR(三模冗余)、EDAC(单bit纠错)及程序重加载,TMR主要保证卫星单机烧录应用文件受单粒子翻转后,仍可实现系统加载;EDAC主要保证单机在应用程序加载运行中,所有配置变量等关键数据受单粒子翻转后,仍可实现纠错,保证正常运行。本发明还包括程序重加载过程,主要保证卫星单机烧录三份应用文件均受单粒子翻转后,仍可实现地面在轨上注,保证卫星正常运行。

Description

一种在轨处理系统自主容错和故障恢复方法
技术领域
本发明涉及在轨故障预案可靠性技术领域,具体涉及一种在轨处理系统自主容错和故障恢复方法。
背景技术
随着技术的不断进步,对卫星数据处理能力的要求越来越高,FPGA逐步用于航天工程,成为卫星数据处理与控制的核心部件。然而卫星所处的空间工作环境较为特殊,存在各种外来因素,包括太阳电磁辐射场以及各种不同温度的中性粒子和等离子等各种高能粒子,其中高能带电粒子入射到电子器件上所引发的辐射效应,称为单粒子效应。根据效应机理的不同,包括单粒子翻转(SEU)和单粒子锁定等。
从目前卫星产品的应用情况看,FPGA逻辑状态常常由于单粒子效应,其可用性以及可靠性受到限制,发生单粒子翻转后,会引起电位状态的跳变,“0”变成“1”,或者“1”变成“0”,当设备发生单粒子翻转时,尽管可以对设备或者功能模块进行数据重发、设备重启或者断电操作,但是卫星产品当次工作的功能性能会受到巨大影响,对系统在轨运行有一定风险。
发明内容
有鉴于此,本发明提供了一种在轨处理系统自主容错和故障恢复方法,能够基于FPGA内部软件对在轨处理系统进行校验和纠正,保证卫星正常运行。
为实现上述目的,本发明技术方案如下:
一种在轨处理系统自主容错和故障恢复方法,包括如下步骤:
步骤一:采用JTAG烧录器将应用文件复制相同的三份,烧录到PROM存储器不同地址段中;
步骤二:单机上电后,FPGA读取PROM程序数据到SRAM区,实时读取SRAM区程序数据并加载,单机进行实时IP核刷新;
步骤三:在PROM程序数据正常时,FPGA每间隔设定时间向处理板发起一次回读刷新功能,根据指令调度,读取一次SRAM区程序数据,与PROM数据进行比对,回读比对后有单bit数据异常时进行自动纠错处理,FPGA将原有数据替换异常数据,保证单机正常执行;
在PROM程序数据异常时,将应用文件采用地面上注方式上注到FPGA外挂的NOR存储器中并加载;FPGA重加载后,初始化完成所有模块,重新开始工作。
其中,所述步骤三中,将应用文件采用地面上注方式上注到FPGA外挂的NOR存储器中并加载,包含以下步骤:
步骤21、将地面的应用文件通过LVDS接口上注到在轨单机内部FPGA外挂的NOR存储器中;地面上注后,NOR存储器持续保持该应用文件,直到下一次地面上注覆盖;
步骤22、对电路上电后,FPGA加载并初始化完成所有模块后;
步骤23、通过地面或卫星自主任务指令,发送使用上注程序加载指令;
步骤24、FPGA读取NOR存储器中应用程序,通过JTAG接口将地面上注的应用程序重加载到FPGA中。
其中,所述步骤二中,所述实时读取SRAM区程序数据并加载具体方式为:
对电路上电后,FPGA根据复位信号,读取PROM配置及应用文件;FPGA将三份应用文件,进行两两比对,将比对输出结果进行三取二表决,表决相似度较高的结果输出,进行加载运行。
其中,所述步骤二中,单机进行实时IP核刷新的具体方式为:FPGA加载并初始化完成后,开始正常工作,并且启动SEU刷新模块;FPGA进入主流程,开始启动检测刷新模块,刷新模块控制相应UART,配置波特率为115200,位宽为8Bit,奇偶校验位为1。
其中,所述步骤三中,自动纠错处理具体实现方式如下:
FPGA配置EDAC为ACM模式,使AUTO_CORRECT_MODE为高电平,并设置End_of_scan为输出信号,确认器件回读CRC在扫描器件,寻找由于SEU引起的配置变;FPGA进入自动检测纠错模式,检测模块控制相应UART,周期性读取RAM配置数据,进行CRC校验,如果检测到CRC异常,FPGA将根据校验异常值,回读确定配置比特错误,并将其纠正。
其中,所述步骤三中,单机检测到有单bit数据异常并实时纠错后,反馈到单机遥测中。
其中,所述NOR存储器使用21根地址线,16根数据线,对地面应用文件进行存储。
有益效果:
本发明的在轨处理系统自主容错和故障恢复方法,基于FPGA内部软件进行校验和纠正,以便解决单粒子翻转的影响,包括TMR(三模冗余)、EDAC(单bit纠错)及程序重加载,TMR主要保证卫星单机烧录应用文件受单粒子翻转后,仍可实现系统加载;EDAC主要保证单机在应用程序加载运行中,所有配置变量等关键数据受单粒子翻转后,仍可实现纠错,保证正常运行。本发明还包括程序重加载过程,主要保证卫星单机烧录三份应用文件均受单粒子翻转后,仍可实现地面在轨上注,保证卫星正常运行。本发明所述的自主容错即TMR(三模冗余)及EDAC方法均集成在FPGA内部实现,无需额外电路,降低了电路功耗,无需外部控制器,复杂度低,可靠性高,无需地面干预实施,可实现轨处理系统自主容错。所述程序重加载仅增加了一片NOR存储器,简化了电路。
本发明所述的NOR存储器使用21根地址线,16根数据线,对地面应用文件进行存储,该应用文件的应用程序不会影响FPGA正常加载工作。该类存储器具有很高的抗辐照特性,在航天器图像处理中已经大量应用。
附图说明
图1为本发明TMR三取二流程图。
图2为本发明在轨处理系统自主检测及纠错流程图。
图3为本发明CRC-16位编码原理。
图4为本发明在轨处理系统自主检测及纠错原理框图。
图5为本发明在轨处理系统自主检测及纠错仿真框图。
图6为本发明故障恢复方法流程图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了一种在轨处理系统自主容错和故障恢复方法,该方法基于FPGA内部软件进行校验和纠正,以便解决单粒子翻转的影响,包括TMR(三模冗余)、EDAC(单bit纠错)及程序重加载,TMR主要保证卫星单机烧录应用文件受单粒子翻转后,仍可实现系统加载;EDAC主要保证单机在应用程序加载运行中,所有配置变量等关键数据受单粒子翻转后,仍可实现纠错,保证正常运行;程序重加载主要保证卫星单机烧录三份应用文件均受单粒子翻转后,仍可实现地面在轨上注,保证卫星正常运行。图2为本发明流程图,包含以下步骤:
步骤一:采用JTAG烧录器将应用文件复制相同的三份,烧录到PROM存储器不同地址段中(进行TMR即三模冗余);
步骤二:单机上电后,FPGA读取PROM程序数据到SRAM区,实时读取SRAM区程序数据,进行相关配置,单机进行实时IP核刷新;具体方式为:
对电路上电后,FPGA根据复位信号,读取PROM配置及应用文件;FPGA将三份应用文件,进行两两比对,将比对输出结果进行三取二表决,表决相似度较高的结果输出,进行加载运行;TMR三取二流程图如图1所示;
FPGA加载并初始化完成后,开始正常工作,并且启动SEU刷新模块;FPGA进入主流程,开始启动检测刷新模块,刷新模块控制相应UART,配置波特率为115200,位宽为8Bit,奇偶校验位为1;
步骤三:在PROM程序数据正常时,SRAM程序受空间单粒子等因素导致数据异常后,出现程序数据不一致的单bit翻转情况,单机将运行异常,可以通过自主容错实现纠错功能,保证单机正常执行;尽管PROM程序数据受外部因素影响较小,但也存在较小风险导致数据异常,会出现落焊程序数据bit翻转问题。在PROM程序数据异常时,无法通过自主容错实现纠错功能,此时需要进行程序地面更新上注加载。
其中,自动纠错处理具体过程为:FPGA根据指令调度,读取一次SRAM区程序数据,与PROM数据进行比对,进行单机检测,回读比对后有单bit数据异常时,FPGA将原有数据替换异常数据,保证单机正常执行;另外,单机检测到有单bit数据异常,并实时纠错后,反馈到单机遥测中,以便统计翻转次数。自动纠错处理具体实现方式如下:
FPGA配置EDAC为ACM(automatic correction mode)模式,使AUTO_CORRECT_MODE为高电平,并设置End_of_scan为输出信号,确认器件回读CRC在扫描器件,寻找由于SEU引起的配置变;FPGA进入自动检测纠错模式,检测模块控制相应UART,周期性读取RAM配置数据,进行CRC校验,详见图3;如果检测到CRC异常,FPGA将根据校验异常值,回读确定配置比特错误,并将其纠正。
本发明中,对落焊程序数据bit翻转问题,是系统无法通过自主容错实现纠错,此时进行程序地面更新上注并加载,其流程如图5所示,包含以下步骤:
步骤21、将应用文件地面上注方式上注到FPGA外挂的NOR存储器中;
地面上注后,NOR存储器持续保持该应用文件,直到下一次地面上注覆盖;
步骤22、对电路上电后,FPGA加载并初始化完成所有模块后通过地面或卫星自主任务指令,发送使用上注程序加载指令;
步骤24、FPGA读取NOR存储器应用文件的应用程序,通过JTAG接口将地面上注的应用程序重加载到FPGA中;
步骤25、FPGA重加载后,初始化完成所有模块,重新开始工作。
采用本发明这种方式可以大大降低单机系统异常风险,保证正常运行。并且自主容错部分均集成在FPGA内部,无需外部控制器,降低了电路功耗,而所述的地面重加载通过增加了一片NOR存储器实现。进一步地,本发明所述的NOR存储器使用21根地址线,16根数据线,对地面应用文件进行存储,该应用文件的应用程序不会影响FPGA正常加载工作。该类存储器具有很高的抗辐照特性,在航天器图像处理中已经大量应用。
为了说明本发明的有效性,特进行如下实验论证。实验数据利用随机更改配置空间单bit数据,实验运行结果如图6所示。FPGA通过仿真结果表明该模块已经检测错误并纠正该错误。该实验通过本发明所提方法,重点分析了一种在轨处理系统自主容错方法的有效性。通过实验结果可以看出,本发明可以准确纠正单bit错误,进而纠正其错误。同时在轨故障恢复方法,也已经在轨单机中多次使用,保证在轨单机系统正常运行。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种在轨处理系统自主容错和故障恢复方法,其特征在于,包括如下步骤:
步骤一:采用JTAG烧录器将应用文件复制相同的三份,烧录到PROM存储器不同地址段中;
步骤二:单机上电后,FPGA读取PROM程序数据到SRAM区,实时读取SRAM区程序数据并加载,单机进行实时IP核刷新;
步骤三:在PROM程序数据正常时,FPGA每间隔设定时间向处理板发起一次回读刷新功能,根据指令调度,读取一次SRAM区程序数据,与PROM数据进行比对,回读比对后有单bit数据异常时进行自动纠错处理,FPGA将原有数据替换异常数据,保证单机正常执行;
在PROM程序数据异常时,将应用文件采用地面上注方式上注到FPGA外挂的NOR存储器中并加载;FPGA重加载后,初始化完成所有模块,重新开始工作。
2.如权利要求1所述的方法,其特征在于,所述步骤三中,将应用文件采用地面上注方式上注到FPGA外挂的NOR存储器中并加载,包含以下步骤:
步骤21、将地面的应用文件通过LVDS接口上注到在轨单机内部FPGA外挂的NOR存储器中;地面上注后,NOR存储器持续保持该应用文件,直到下一次地面上注覆盖;
步骤22、对电路上电后,FPGA加载并初始化完成所有模块后;
步骤23、通过地面或卫星自主任务指令,发送使用上注程序加载指令;
步骤24、FPGA读取NOR存储器中应用程序,通过JTAG接口将地面上注的应用程序重加载到FPGA中。
3.如权利要求1或2所述的方法,其特征在于,所述步骤二中,所述实时读取SRAM区程序数据并加载具体方式为:
对电路上电后,FPGA根据复位信号,读取PROM配置及应用文件;FPGA将三份应用文件,进行两两比对,将比对输出结果进行三取二表决,表决相似度较高的结果输出,进行加载运行。
4.如权利要求3所述的方法,其特征在于,所述步骤二中,单机进行实时IP核刷新的具体方式为:FPGA加载并初始化完成后,开始正常工作,并且启动SEU刷新模块;FPGA进入主流程,开始启动检测刷新模块,刷新模块控制相应UART,配置波特率为115200,位宽为8Bit,奇偶校验位为1。
5.如权利要求4所述的方法,其特征在于,所述步骤三中,自动纠错处理具体实现方式如下:
FPGA配置EDAC为ACM模式,使AUTO_CORRECT_MODE为高电平,并设置End_of_scan为输出信号,确认器件回读CRC在扫描器件,寻找由于SEU引起的配置变;FPGA进入自动检测纠错模式,检测模块控制相应UART,周期性读取RAM配置数据,进行CRC校验,如果检测到CRC异常,FPGA将根据校验异常值,回读确定配置比特错误,并将其纠正。
6.如权利要求1、2、4或5所述的方法,其特征在于,所述步骤三中,单机检测到有单bit数据异常并实时纠错后,反馈到单机遥测中。
7.如权利要求1、2、4或5所述的方法,其特征在于,所述NOR存储器使用21根地址线,16根数据线,对地面应用文件进行存储。
CN202111239294.XA 2021-10-25 2021-10-25 一种在轨处理系统自主容错和故障恢复方法 Pending CN113918386A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111239294.XA CN113918386A (zh) 2021-10-25 2021-10-25 一种在轨处理系统自主容错和故障恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111239294.XA CN113918386A (zh) 2021-10-25 2021-10-25 一种在轨处理系统自主容错和故障恢复方法

Publications (1)

Publication Number Publication Date
CN113918386A true CN113918386A (zh) 2022-01-11

Family

ID=79242580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111239294.XA Pending CN113918386A (zh) 2021-10-25 2021-10-25 一种在轨处理系统自主容错和故障恢复方法

Country Status (1)

Country Link
CN (1) CN113918386A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114924808A (zh) * 2022-05-12 2022-08-19 中国电子科技集团公司第二十九研究所 一种基于双份存储程序的sram型fpga在轨可靠加载方法
CN115208455A (zh) * 2022-06-01 2022-10-18 北京空间机电研究所 一种基于zynq的高可靠性空间遥感图像处理平台及方法
CN115543683A (zh) * 2022-09-21 2022-12-30 深圳市紫光同创电子有限公司 单粒子翻转纠错方法、装置、电子设备以及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114924808A (zh) * 2022-05-12 2022-08-19 中国电子科技集团公司第二十九研究所 一种基于双份存储程序的sram型fpga在轨可靠加载方法
CN115208455A (zh) * 2022-06-01 2022-10-18 北京空间机电研究所 一种基于zynq的高可靠性空间遥感图像处理平台及方法
CN115543683A (zh) * 2022-09-21 2022-12-30 深圳市紫光同创电子有限公司 单粒子翻转纠错方法、装置、电子设备以及可读存储介质

Similar Documents

Publication Publication Date Title
CN113918386A (zh) 一种在轨处理系统自主容错和故障恢复方法
Avizienis Toward systematic design of fault-tolerant systems
US5923830A (en) Non-interrupting power control for fault tolerant computer systems
CN108446189B (zh) 一种星载嵌入式软件容错启动系统及方法
Dubrova Fault tolerant design: An introduction
CN111176890B (zh) 一种星载软件数据存储及异常恢复方法
KR20010005956A (ko) 고장 허용 컴퓨터 시스템
CN103971732A (zh) 监控fpga的单粒子翻转效应并纠正重加载的方法及系统
CN101213522A (zh) 降低时钟同步双模冗余系统中的不可纠正错误率
EP2770507B1 (en) Memory circuits, method for accessing a memory and method for repairing a memory
JP6290934B2 (ja) プログラマブルデバイス、エラー保持システム、及び電子システム装置
CN111176908A (zh) 一种基于三模冗余的程序在轨加载刷新方法
CN112053737B (zh) 一种在线并行处理的软错误实时检错与恢复方法及系统
CN113608720B (zh) 一种抗单粒子翻转的星载数据处理系统及方法
CN104597807A (zh) 一种星载综合电子cpu翻转加固系统及方法
Rivers et al. Reliability challenges and system performance at the architecture level
CN113254288B (zh) 一种星载设备中fpga单粒子翻转故障注入方法
CN111857884A (zh) 高可靠星载软件启动系统及方法
Cekan et al. Software fault tolerance: the evaluation by functional verification
CN111176732A (zh) 一种基于mram实现的软硬件冗余安全启动与维护方法
JPH1084275A (ja) 論理回路
Major et al. Radpc: A novel single-event upset mitigation strategy for field programmable gate array–based space computing
Panek et al. Reliability Analysis of the FPGA Control System with Reconfiguration Hardening
CN113760605B (zh) 深空探测器整器断电再上电器地通信再恢复实现方法
Mehlitz et al. Expecting the unexpected-radiation hardened software

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