CN111611201A - 一种刷新自适应的连续高可靠在轨fpga重构系统与方法 - Google Patents

一种刷新自适应的连续高可靠在轨fpga重构系统与方法 Download PDF

Info

Publication number
CN111611201A
CN111611201A CN202010584293.8A CN202010584293A CN111611201A CN 111611201 A CN111611201 A CN 111611201A CN 202010584293 A CN202010584293 A CN 202010584293A CN 111611201 A CN111611201 A CN 111611201A
Authority
CN
China
Prior art keywords
unit
sram type
configuration data
type fpga
storage unit
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.)
Granted
Application number
CN202010584293.8A
Other languages
English (en)
Other versions
CN111611201B (zh
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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010584293.8A priority Critical patent/CN111611201B/zh
Publication of CN111611201A publication Critical patent/CN111611201A/zh
Application granted granted Critical
Publication of CN111611201B publication Critical patent/CN111611201B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • 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/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

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

Abstract

本申请涉及一种刷新自适应的连续高可靠在轨FPGA重构系统与方法。所述系统包括:SRAM型FPGA单元,用于接收地面控制指令和重构配置数据。只读存储单元,用于存储SRAM型FPGA单元对应的原始配置数据。可编程存储单元,用于存储重构配置数据。高可靠管控单元,用于在上电时自动选择引导源进行SRAM型FPGA引导,并对其进行刷新;收到地面控制指令时,选择对应的配置数据进行FPGA引导,或者根据从SRAM型FPGA获取的重构配置数据进行FPGA重构。上述系统为FPGA在轨重构提供了可靠的硬件架构,支持通过程序更新修复漏洞、增加功能,也避免了FPGA重构过程成功但更新软件自身存在漏洞导致的系统问题,能够提高卫星等系统的可靠性、有效性和灵活性。

Description

一种刷新自适应的连续高可靠在轨FPGA重构系统与方法
技术领域
本申请涉及航天在轨系统重构及可靠性技术领域,特别是涉及一种刷新自适应的连续高可靠在轨FPGA重构系统与方法。
背景技术
随着我国卫星通信、卫星对地观测、全球卫星导航定位等天基应用系统的快速建设以及商业航天的蓬勃发展,各大型星座计划相继提出,卫星项目的功能与复杂度大幅提升。为提高卫星系统的可靠性、有效性和灵活性,卫星平台及其载荷软件正朝着在轨可复用、可移植、可动态加载、可维护的趋势发展。
目前,很多在轨卫星已具备了对星载SRAM型FPGA的软件进行在轨重构的功能。但当其FPGA或配置的存储芯片发生单粒子效应时,主要包括单粒子翻转SEU、单粒子功能中断SEFI、单粒子瞬态脉冲SET等,其软件在轨重构过程容易发生失败,进而造成系统任务中断。此外,这些在轨卫星无法修复软件自身存在的漏洞,因此也无法通过FPGA重构解决软件重构过程成功但软件自身存在漏洞导致的系统问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够具有可靠性系统架构、能够更新FPGA软件的刷新自适应的连续高可靠在轨FPGA重构系统与方法。
一种刷新自适应的连续高可靠在轨FPGA重构系统,包括:
SRAM型FPGA单元,用于接收地面控制指令和重构配置数据。
只读存储单元,用于存储SRAM型FPGA单元对应的原始配置数据。
可编程存储单元,用于存储SRAM型FPGA单元对应的重构配置数据。
高可靠管控单元,用于对SRAM型FPGA单元进行刷新,以及用于根据地面控制指令和重构配置数据,对SRAM型FPGA单元进行引导和重构。
当系统上电时,高可靠管控单元获取可编程存储单元中的重构配置数据进行校验,当通过校验时,使用重构配置数据对SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取只读存储单元中的原始配置数据,对SRAM型FPGA单元进行引导。
根据地面控制指令对SRAM型FPGA单元FPGA进行引导时,高可靠管控单元获取地面指控指令对应的可编程存储单元或只读存储单元中的数据,使用获取到的数据对SRAM型FPGA单元进行引导。
根据地面控制指令对SRAM型FPGA单元FPGA进行重构时,高可靠管控单元从SRAM型FPGA单元获取重构配置数据并写入可编程存储单元,获取可编程存储单元中的重构配置数据,对SRAM型FPGA单元进行重构。
其中一个实施例中,高可靠管控单元还用于:
根据预设的时间间隔回读并校验SRAM型FPGA单元中的程序,当程序未通过校验时,从最近一次引导该SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对SRAM型FPGA单元进行刷新。
获取SRAM型FPGA单元的刷新频率,当刷新频率超过预设值时,以预设的时间间隔,从最近一次引导该SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对SRAM型FPGA单元进行刷新。
根据获取到的SRAM型FPGA单元的单粒子功能中断信号,停止对SRAM型FPGA单元进行刷新。
其中一个实施例中,可编程存储单元包括1个主份存储单元和1个备份存储单元。
当系统上电时,高可靠管控单元获取主份存储单元中的重构配置数据进行校验,当通过校验时,使用主份存储单元中的重构配置数据对SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取备份存储单元中的重构配置数据进行校验,当通过校验时,使用备份存储单元中的重构配置数据对SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取只读存储单元中的原始配置数据,对SRAM型FPGA单元进行引导。
对SRAM型FPGA单元FPGA进行重构时,高可靠管控单元获取SRAM型FPGA单元中的重构配置数据并写入备份存储单元,使用从备份存储单元获取的重构配置数据对SRAM型FPGA单元进行重构,高可靠管控单元根据SRAM型FPGA单元发送的复制指令信号,将备份存储单元中的重构配置数据复制到主份存储单元。
其中一个实施例中,主份存储单元和备份存储单元采用数据和地址共线传输接口。
其中一个实施例中,高可靠管控单元还用于判断所述地面控制指令的类型。
当地面控制指令的类型为引导指令时,高可靠管控单元获取引导指令对应的只读存储单元或可编程存储单元中的数据,使用获取到的数据对SRAM型FPGA单元进行引导。
当地面控制指令的类型为重构指令时,高可靠管控单元从SRAM型FPGA单元获取重构配置数据并写入可编程存储单元,获取可编程存储单元中的重构配置数据,对SRAM型FPGA单元进行重构。
其中一个实施例中,高可靠管控单元通过局部通用IO接口从SRAM型FPGA单元获取地面控制指令和重构配置数据,只读存储单元或可编程存储单元获取数据,通过SelectMap接口从对SRAM型FPGA单元进行刷新、引导和重构。
一种刷新自适应的连续高可靠在轨FPGA重构方法,所述方法包括:
当系统上电时,由高可靠管控单元获取可编程存储单元中的重构配置数据进行校验,当通过校验时,使用重构配置数据对SRAM型FPGA单元进行引导,当未通过校验时,获取只读存储单元中的原始配置数据对SRAM型FPGA单元进行引导。
由高可靠管控单元对SRAM型FPGA单元进行刷新,并从SRAM型FPGA单元获取地面控制指令和重构配置数据。地面控制指令包括引导指令和重构指令。
当获取到引导指令时,由高可靠管控单元获取引导指令对应的可编程存储单元或只读存储单元中的数据,使用获取到的数据对SRAM型FPGA单元进行引导。
当获取到重构指令和重构配置数据时,由高可靠管控单元将重构配置数据写入可编程存储单元,并获取可编程存储单元中的重构配置数据,对SRAM型FPGA单元进行重构。
其中一个实施例中,由高可靠管控单元对SRAM型FPGA单元进行刷新,并从SRAM型FPGA单元获取地面控制指令和重构配置数据的步骤包括:
由高可靠管控单元根据预设的时间间隔回读并校验SRAM型FPGA单元中的程序,当程序未通过校验时,从最近一次引导该SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对该SRAM型FPGA单元进行刷新。
由高可靠管控单元获取SRAM型FPGA单元的刷新频率,当刷新频率超过预设值时,以预设的时间间隔,从最近一次引导该SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对该SRAM型FPGA单元进行刷新。
由高可靠管控单元根据获取到的SRAM型FPGA单元的单粒子功能中断信号,停止对该SRAM型FPGA单元进行刷新。
由高可靠管控单元从SRAM型FPGA单元获取地面控制指令和重构配置数据,并获取SRAM型FPGA单元的刷新标识,当刷新标识的状态为空闲时,根据地面控制指令和重构配置数据对SRAM型FPGA单元进行重构。
其中一个实施例中,可编程存储单元包括1个主份存储单元和1个备份存储单元。
当系统上电时,由高可靠管控单元获取可编程存储单元中的重构配置数据进行校验,当通过校验时,使用重构配置数据对SRAM型FPGA单元进行引导,当未通过校验时,获取只读存储单元中的原始配置数据,对SRAM型FPGA单元进行引导的步骤包括:
当系统上电时,由高可靠管控单元获取主份存储单元中的重构配置数据进行校验,当通过校验时,使用主份存储单元中的重构配置数据对SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取备份存储单元中的重构配置数据进行校验,当通过校验时,使用备份存储单元中的重构配置数据对SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取只读存储单元中的原始配置数据,对SRAM型FPGA单元进行引导。
当获取到重构指令和重构配置数据时,由高可靠管控单元从SRAM型FPGA单元获取重构配置数据并写入可编程存储单元,获取可编程存储单元中的重构配置数据,对SRAM型FPGA单元进行重构的步骤包括:
当获取到重构指令和重构配置数据时,由高可靠管控单元根据重构指令擦除对应的备份存储单元中的程序。
由高可靠管控单元从SRAM型FPGA单元获取重构配置数据并写入备份存储单元,使用从备份存储单元获取的重构配置数据对SRAM型FPGA单元进行重构。
由高可靠管控单元根据SRAM型FPGA单元发送的复制指令信号,将备份存储单元中的重构配置数据复制到主份存储单元。
其中一个实施例中,高可靠管控单元通过局部通用IO接口和SelectMap接口与SRAM型FPGA单元连接。
由高可靠管控单元对SRAM型FPGA单元进行刷新,并从SRAM型FPGA单元获取地面控制指令和重构配置数据的步骤包括:
由高可靠管控单元对SRAM型FPGA单元进行刷新,并通过局部通用IO接口从所述SRAM型FPGA单元获取地面控制指令和重构配置数据。
当获取到引导指令时,由高可靠管控单元获取引导指令对应的可编程存储单元或只读存储单元中的数据,使用获取到的数据对SRAM型FPGA单元进行引导的步骤包括:
当获取到引导指令时,由高可靠管控单元获取引导指令对应的可编程存储单元或只读存储单元中的数据,通过SelectMap接口对SRAM型FPGA单元进行引导。
当获取到重构指令和重构配置数据时,由高可靠管控单元将重构配置数据写入可编程存储单元,并获取可编程存储单元中的重构配置数据,对SRAM型FPGA单元进行重构的步骤包括:
当获取到重构指令和重构配置数据时,由高可靠管控单元将重构配置数据写入可编程存储单元,获取可编程存储单元中的配置数据,通过SelectMap接口对SRAM型FPGA单元进行重构。
上述一种刷新自适应的连续高可靠在轨FPGA重构系统和方法,使用只读存储单元存储SRAM型FPGA对应的原始配置数据,使用可编程存储单元存储SRAM型FPGA对应的重构配置数据。当系统上电时,自动选择引导源配置SRAM型FPGA,并对其进行刷新;收到地面控制指令时,选择对应的配置数据进行FPGA引导,或者根据从SRAM型FPGA获取的重构配置数据进行FPGA重构。本申请提供的系统和方法为FPGA在轨重构提供了可靠的硬件架构,支持通过程序更新修复漏洞、增加功能,也避免了FPGA重构过程成功但更新软件自身存在漏洞导致的系统问题,能够提高卫星等系统的可靠性、有效性和灵活性。
附图说明
图1为一个实施例中刷新自适应的连续高可靠在轨FPGA重构系统的刷新策略示意图;
图2为一个实施例中刷新自适应的连续高可靠在轨FPGA重构系统的硬件组成示意图;
图3为一个实施例中刷新自适应的连续高可靠在轨FPGA重构系统的功能模块示意图;
图4为一个实施例中刷新自适应的连续高可靠在轨FPGA重构方法的流程示意图;
图5为另一个实施例中刷新自适应的连续高可靠在轨FPGA重构方法的引导策略示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,提供了一种刷新自适应的连续高可靠在轨FPGA重构系统,包括:
SRAM型FPGA单元,用于接收地面控制指令和重构配置数据。
只读存储单元,用于存储SRAM型FPGA单元对应的原始配置数据。
可编程存储单元,用于存储SRAM型FPGA单元对应的重构配置数据。
高可靠管控单元,用于对SRAM型FPGA单元进行刷新,以及用于根据地面控制指令和重构配置数据,对SRAM型FPGA单元进行引导和重构。
当系统上电时,高可靠管控单元获取可编程存储单元中的重构配置数据进行校验,当通过校验时,使用重构配置数据对SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取只读存储单元中的原始配置数据,对SRAM型FPGA单元进行引导。
根据地面控制指令对SRAM型FPGA单元FPGA进行引导时,高可靠管控单元获取地面指控指令对应的可编程存储单元或只读存储单元中的数据,使用获取到的数据对SRAM型FPGA单元进行引导。
根据地面控制指令对SRAM型FPGA单元FPGA进行重构时,高可靠管控单元从SRAM型FPGA单元获取重构配置数据并写入可编程存储单元,获取可编程存储单元中的重构配置数据,对SRAM型FPGA单元进行重构。
具体地,本实施例中的刷新自适应的连续高可靠在轨FPGA重构系统包含一个可靠性分层的硬件体系架构,该架构的由高可靠管控单元、包括1片及以上的可重构SRAM型FPGA的SRAM型FPGA单元、只读存储单元和可编程存储单元组成。其中,高可靠管控单元可以是高等级反熔丝FPGA或抗辐照加固的专用ASIC,只读存储单元可以采用一次性编程只读存储器,可编程存储单元可以采用非易失性可编程Flash存储器件。只读存储单元和可编程存储单元的容量根据可重构SRAM型FPGA的数量及其加载程序的大小确定。
分层硬件体系架构中,高可靠管控单元分别与SRAM型FPGA单元、只读存储单元和可编程存储单元连接。
SRAM型FPGA单元接收来自地面的控制指令(包括遥测遥控指令)和重构配置数据,并向地面发送刷新自适应的连续高可靠在轨FPGA重构系统的状态信息。为简化系统,可以指定1片SRAM型FPGA接收地面控制指令和重构配置数据,并且向地面发送状态信息。
高可靠管控单元是系统的控制单元,用于对SRAM型FPGA单元进行刷新,以及用于根据地面控制指令和重构配置数据,对SRAM型FPGA单元进行引导和重构。具体地,当系统上电时,高可靠管控单元获取可编程存储单元中的重构配置数据进行校验,当通过校验时,使用重构配置数据对SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取只读存储单元中的原始配置数据,对SRAM型FPGA单元进行引导。在根据地面控制指令对SRAM型FPGA单元FPGA进行引导时,高可靠管控单元获取地面指控指令对应的可编程存储单元或只读存储单元中的数据,使用获取到的数据对SRAM型FPGA单元进行引导。在根据地面控制指令对SRAM型FPGA单元FPGA进行重构时,高可靠管控单元从SRAM型FPGA单元获取重构配置数据并写入可编程存储单元,获取可编程存储单元中的重构配置数据,对SRAM型FPGA单元进行重构。
只读存储单元可靠性最高,用于存储SRAM型FPGA单元的原始配置数据,当使用可编程存储单元中的重构配置数据刷新、引导或重构FPGA失败时,可以使用只读存储单元中的原始配置数据对FPGA进行刷新、引导或重构,以确保卫星等系统具备基本的运行能力。
可编程存储单元中的重构配置数据可以根据卫星软件升级等需求进行更新,以确保卫星系统的安全性,并提供功能升级的能力。
上述一种刷新自适应的连续高可靠在轨FPGA重构系统,使用只读存储单元存储SRAM型FPGA对应的原始配置数据,使用可编程存储单元存储SRAM型FPGA对应的重构配置数据。当系统上电时,自动选择引导源配置SRAM型FPGA,并对其进行刷新;收到地面控制指令时,选择对应的配置数据进行FPGA引导,或者根据从SRAM型FPGA获取的重构配置数据进行FPGA重构。本实施例提供的系统为FPGA在轨重构提供了可靠的硬件架构,支持通过程序更新修复漏洞、增加功能,也避免了FPGA重构过程成功但更新软件自身存在漏洞导致的系统问题,能够提高卫星等系统的可靠性、有效性和灵活性。
其中一个实施例中,高可靠管控单元还用于:
根据预设的时间间隔回读并校验SRAM型FPGA单元中的程序,当程序未通过校验时,从最近一次引导该SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对SRAM型FPGA单元进行刷新。
获取SRAM型FPGA单元的刷新频率,当刷新频率超过预设值时,以预设的时间间隔,从最近一次引导该SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对SRAM型FPGA单元进行刷新。
根据获取到的SRAM型FPGA单元的单粒子功能中断信号,停止对SRAM型FPGA单元进行刷新。
具体地,如图1所示,本实施例中的连续高可靠在轨FPGA重构系统中的高可靠管控单元默认工作于回读刷新模式,并在进行刷新的同时持续从SRAM型FPGA单元获取地面控制指令和重构配置数据。当高可靠管控单元收到重构配置数据时,如果高可靠管控单元正在执行SRAM型FPGA刷新,则等待到刷新结束后再执行相应的FPGA重构操作。
当在回读刷新模式下,高可靠管控单元根据预设的时间间隔回读并校验SRAM型FPGA单元中正在运行的程序,当该程序未通过校验时,即认为运行该程序的SRAM型FPGA受到了单粒子效应的影响,因此在高可靠管控单元的控制下,从最近一次引导该SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对SRAM型FPGA单元进行刷新,以恢复其运行的程序。
在回读刷新模式下,当高可靠管控单元对SRAM型FPGA单元进行刷新的频率超过预设值时,高可靠管控单元自动进入定时刷新模式。此时高可靠管控单元不回读和校验SRAM型FPGA单元中正在运行的程序,而是以预设的时间间隔从最近一次引导该SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对SRAM型FPGA单元进行刷新。
在回读刷新模式或定时刷新模式下,当高可靠管控单元从SRAM型FPGA单元获取到发生SEFI(单粒子功能中断)信号时,说明获取配置数据的传输接口及相关存储单元可能发生了单粒子翻转,但在轨任务并非中断,因此高可靠管控单元自动切换到禁止刷新模式,即不对FPGA执行刷新操作。
本实施例提供的连续高可靠在轨FPGA重构系统的刷新模式能根据空间环境的变化进行自适应的调整。在空间辐射环境温和的区域,SRAM型FPGA单元受到单粒子效应影响的机率较小,此时系统工作于回读刷新模式。在回读刷新模式下,仅在回读SRAM型FPGA单元数据不通过校验时才进行刷新,在此模式下系统接收到重构配置数据后,需等待刷新完成的机率较低,因此进行FPGA重构的速率较高。当卫星进入空间辐射环境恶劣的区域时,其受到单粒子效应影响的频率增高,系统进行FPGA刷新的频率也随之增高,当这一频率超过预设的值时,系统自动进入定时刷新模式。刷新频率阈值可根据SRAM型FPGA的SEU翻转率及轨道辐射环境数据综合设定。相对于回读刷新模式,定时刷新模式下的刷新周期间隔较短,因此会降低重构速率。而在禁止刷新模式下,由于完全停止了刷新,因此重构速率最高。
此外,还可以根据空间环境变化等因素,由地面发送控制指令,将FPGA刷新模式从定时刷新模式或禁止刷新模式切到回读刷新模式。
本实施例提供了一种能够根据卫星系统所处空间辐射环境和器件状态自适应调整FPGA刷新模式的连续高可靠在轨FPGA重构系统,使卫星系统能够适应不同的空间辐射环境,提高其可靠性。
其中一个实施例中,可编程存储单元包括1个主份存储单元和1个备份存储单元。
当系统上电时,高可靠管控单元获取主份存储单元中的重构配置数据进行校验,当通过校验时,使用主份存储单元中的重构配置数据对SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取备份存储单元中的重构配置数据进行校验,当通过校验时,使用备份存储单元中的重构配置数据对SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取只读存储单元中的原始配置数据,对SRAM型FPGA单元进行引导。
对SRAM型FPGA单元FPGA进行重构时,高可靠管控单元获取SRAM型FPGA单元中的重构配置数据并写入备份存储单元,使用从备份存储单元获取的重构配置数据对SRAM型FPGA单元进行重构,高可靠管控单元根据SRAM型FPGA单元发送的复制指令信号,将备份存储单元中的重构配置数据复制到主份存储单元。
具体地,本实施例在进行FPGA重构时,首先将重构配置数据存储到备份存储单元中,并使用备份存储单元中的重构配置数据引导FPGA。如果重构后的FPGA程序通过了在轨运行测试,则可以根据其给出的复制指令信号,将备份存储单元中的重构配置数据复制到主份存储单元中。如果重构后FPGA程序运行出现异常,如出现功能丢失等情况,则可以重启系统,系统上电时高可靠管控单元默认从主份存储单元获取之前的重构配置数据,对FPGA进行引导,以确保卫星系统正常运行。
本实施例提供的系统能够在备份存储单元中的重构程序测试不成功时使用之前正常运行的程序引导FPGA,使卫星在轨FPGA重构更加可靠。其中一个实施例中,可编程存储单元采用数据和地址共线传输接口,以简化系统连接关系。
其中一个实施例中,高可靠管控单元还用于判断地面控制指令的类型。
当地面控制指令的类型为引导指令时,高可靠管控单元获取引导指令对应的只读存储单元或可编程存储单元中的数据,使用获取到的数据对SRAM型FPGA单元进行引导。
当地面控制指令的类型为重构指令时,高可靠管控单元从SRAM型FPGA单元获取重构配置数据并写入可编程存储单元,获取可编程存储单元中的重构配置数据,对SRAM型FPGA单元进行重构。
具体地,当FPGA程序出现错误需要进行FPGA引导时,可以从地面向系统发送引导指令,由高可靠管控单元根据引导指令,从对应的存储单元获取配置数据,进行FPGA引导。
当FPGA程序需要更新而需要进行FPGA重构时,可以首先从地面向系统发送重构指令和重构配置数据,高可靠管控单元从SRAM型FPGA获取到重构指令后,从该SRAM型FPGA逐条获取重构配置数据并写入可编程存储单元,并对存储的重构配置数据进行校验,以确保其完整性。随后,高可靠管控单元从可编程存储单元获取完整的重构配置数据,进行FPGA引导,并对FPGA程序进行运行测试。当该程序通过测试时,完成FPGA重构过程。
进行FPGA引导和重构的过程中,系统都可以通过SRAM型FPGA单元向地面发送包括指令执行结果等数据的状态消息。
本实施例提供了一种基于重构指令和引导指令的连续高可靠在轨FPGA重构系统,能够提供多层次的保障,确保卫星系统连续在轨,并且提供系统升级功能。
其中一个实施例中,高可靠管控单元通过局部通用IO接口从SRAM型FPGA单元获取地面控制指令和重构配置数据,从只读存储单元或可编程存储单元获取数据,通过SelectMap接口对SRAM型FPGA单元进行刷新、引导和重构。
如图2所示,以SRAM型FPGA单元选用2片Xilinx XQR4VSX55-CF1140V,只读存储器件选用宇航级可编程的只读存储器(PROM)XQR17V16CC44V(容量为16Mbit)为例进行说明。单个XQR4VSX55的配置文件大小为22.184Mbit,则2片XQR4VSX55配置文件为44.368Mbit,因此需要3片16Mbit PROM,2片64Mbit NorFlash(1片为主份、1片为备份)。
在轨任务执行由高可靠管控单元ASIC或反熔丝FPGA实施对中低可靠度的2片SRAM型FPGA实行程序加载、软件重构以及基于刷新的单粒子效应防护加固。3片高可靠度的PROM存放可重构FPGA的原始版本程序,2片中低可靠度的主备份NorFlash存放可重构FPGA的更新版本程序。PROM与主备份NorFlash存储器均连接在高可靠管控单元上,主备份NorFlash采取数据与地址共线式设计,高可靠管控单元与2片可重构SRAM型FPGA之间的配置与刷新数据采用SelectMap接口互联,指令、遥测以及重构数据采用局部通用IO互联。对外的重构类数据、遥测遥控指令以及数据通信接口统一由SRAM型FPGA(2)负责处理。
图3所示为本实施例中刷新自适应的连续高可靠在轨FPGA重构系统的软件功能模块。其中,高可靠管控单元包括数据接收与控制模块、Flash存储器总控模块、Flash存储器底层驱动模块、数据切换模块、FPGA引导与刷新配置模块和遥测组帧与发射模块;SRAM型FPGA(2)包括星地数据链路接口模块,能够满足不同卫星系统自定义通信协议的需求。
数据接收和控制模块负责整个重构流程的控制以及接收解析来自SRAM型FPGA单元的数据,该模块实时监测SRAM型FPGA单元的数据准备标志信号线,一旦有数据就发送请求并读取SRAM型FPGA单元的数据,并根据读取数据的类型(重构类指令、引导类指令、重构配置数据),控制不同模块进行相对应的处理。
Flash存储器总控模块根据数据接收和控制模块给出的控制信号,控制Flash存储器底层驱动模块完成主备份Flash的读、写、擦除等工作,同时可执行主备份Flash数据校验以及返回状态遥测信息。
Flash存储器底层驱动模块根据Flash存储器总控模块给出的控制信号,完成主备份Flash具体的读、写、擦除操作。
数据切换模块根据数据接收和控制模块给出的控制信号选择主备份Flash中的配置数据或一次性编程只读存储器中的配置数据传送给FPGA引导与刷新配置模块。
FPGA引导与刷新配置模块通过SelectMap接口完成SRAM型FPGA单元的程序引导,回读刷新、定时刷新以及禁止刷新三种模式的具体实现与自适应切换,并上传相关遥测信息。
上述实施例给出了一种刷新自适应的连续高可靠在轨FPGA重构系统的具体硬件组成和连接方式,提供了一种系统的硬件实现方式。
在一个实施例中,提供了一种刷新自适应的连续高可靠在轨FPGA重构方法,所述方法包括:
当系统上电时,由高可靠管控单元获取可编程存储单元中的重构配置数据进行校验,当通过校验时,使用重构配置数据对SRAM型FPGA单元进行引导,当未通过校验时,获取只读存储单元中的原始配置数据对SRAM型FPGA单元进行引导;
由高可靠管控单元对SRAM型FPGA单元进行刷新,并从SRAM型FPGA单元获取地面控制指令和重构配置数据。地面控制指令包括引导指令和重构指令。
当获取到引导指令时,由高可靠管控单元获取引导指令对应的可编程存储单元或只读存储单元中的数据,使用获取到的数据对SRAM型FPGA单元进行引导。
当获取到重构指令和重构配置数据时,由高可靠管控单元将重构配置数据写入可编程存储单元,并获取可编程存储单元中的重构配置数据,对SRAM型FPGA单元进行重构。
其中一个实施例中,由高可靠管控单元对SRAM型FPGA单元进行刷新,并从SRAM型FPGA单元获取地面控制指令和重构配置数据的步骤包括:
由高可靠管控单元根据预设的时间间隔回读并校验SRAM型FPGA单元中的程序,当程序未通过校验时,从最近一次引导该SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对该SRAM型FPGA单元进行刷新。
由高可靠管控单元获取SRAM型FPGA单元的刷新频率,当刷新频率超过预设值时,以预设的时间间隔,从最近一次引导该SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对该SRAM型FPGA单元进行刷新。
由高可靠管控单元根据获取到的SRAM型FPGA单元的单粒子功能中断信号,停止对该SRAM型FPGA单元进行刷新。
由高可靠管控单元从SRAM型FPGA单元获取地面控制指令和重构配置数据,并获取SRAM型FPGA单元的刷新标识,当刷新标识的状态为空闲时,根据地面控制指令和重构配置数据对SRAM型FPGA单元进行重构。
其中一个实施例中,可编程存储单元包括1个主份存储单元和1个备份存储单元。
当系统上电时,由高可靠管控单元获取可编程存储单元中的重构配置数据进行校验,当通过校验时,使用重构配置数据对SRAM型FPGA单元进行引导,当未通过校验时,获取只读存储单元中的原始配置数据,对SRAM型FPGA单元进行引导的步骤包括:
当系统上电时,由高可靠管控单元获取主份存储单元中的重构配置数据进行校验,当通过校验时,使用主份存储单元中的重构配置数据对SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取备份存储单元中的重构配置数据进行校验,当通过校验时,使用备份存储单元中的重构配置数据对SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取只读存储单元中的原始配置数据,对SRAM型FPGA单元进行引导。
当获取到重构指令和重构配置数据时,由高可靠管控单元从SRAM型FPGA单元获取重构配置数据并写入可编程存储单元,获取可编程存储单元中的重构配置数据,对SRAM型FPGA单元进行重构的步骤包括:
当获取到重构指令和重构配置数据时,由高可靠管控单元根据重构指令擦除对应的备份存储单元中的程序。
由高可靠管控单元从SRAM型FPGA单元获取重构配置数据并写入备份存储单元,使用从备份存储单元获取的重构配置数据对SRAM型FPGA单元进行重构。
由高可靠管控单元根据SRAM型FPGA单元发送的复制指令信号,将备份存储单元中的重构配置数据复制到主份存储单元。
其中一个实施例中,高可靠管控单元通过局部通用IO接口和SelectMap接口与SRAM型FPGA单元连接。
由高可靠管控单元对SRAM型FPGA单元进行刷新,并从SRAM型FPGA单元获取地面控制指令和重构配置数据的步骤包括:
由高可靠管控单元对SRAM型FPGA单元进行刷新,并通过局部通用IO接口从所述SRAM型FPGA单元获取地面控制指令和重构配置数据。
当获取到引导指令时,由高可靠管控单元获取引导指令对应的可编程存储单元或只读存储单元中的数据,使用获取到的数据对SRAM型FPGA单元进行引导的步骤包括:
当获取到引导指令时,由高可靠管控单元获取引导指令对应的可编程存储单元或只读存储单元中的数据,通过SelectMap接口对SRAM型FPGA单元进行引导。
当获取到重构指令和重构配置数据时,由高可靠管控单元将重构配置数据写入可编程存储单元,并获取可编程存储单元中的重构配置数据,对SRAM型FPGA单元进行重构的步骤包括:
当获取到重构指令和重构配置数据时,由高可靠管控单元将重构配置数据写入可编程存储单元,获取可编程存储单元中的配置数据,通过SelectMap接口对SRAM型FPGA单元进行重构。
关于对刷新自适应的连续高可靠在轨FPGA重构方法的具体限定可以参见上文中对于刷新自适应的连续高可靠在轨FPGA重构系统的限定,在此不再赘述。
下面以一个实施例中的刷新自适应的连续高可靠在轨FPGA重构方法应用于如图1和图2所示的刷新自适应的连续高可靠在轨FPGA重构系统为例,进行说明。
一种刷新自适应的连续高可靠在轨FPGA重构方法,其具体执行流程如图4所示,具体包括:
(1)系统上电时,SRAM型FPGA单元的引导策略如图5所示。高可靠管控单元中FPGA引导与刷新配置模块默认从非易失性可编程主份NorFlash中引导加载2片SRAM型FPGA程序,引导前先对主份NorFlash配置数据做CRC校验,校验成功则开始程序加载,程序加载完后,检测FPGA SelectMap接口的“DONE”引脚电平,拉高则表示引导成功;若主份Flash配置数据CRC校验失败或程序引导完后“DONE”引脚电平没有拉高,则高可靠管控单元的FPGA引导与刷新配置模块选择从备份NorFlash引导加载2片SRAM型FPGA程序,引导过程同样执行CRC数据校验与“DONE”引脚电平判决过程,若从备份NorFlash引导失败,则高可靠管控单元的FPGA引导与刷新配置模块再从高可靠度一次性编程只读存储器件PROM中引导加载2片SRAM型FPGA程序。程序引导成功后,执行步骤(2)。
(2)FPGA引导与刷新配置模块上电默认工作于回读刷新模式并按图1执行刷新模式自适应切换策略,当在回读刷新或定时刷新模式下监测到SRAM型FPGA单元发生SEFI(单粒子功能中断),则刷新切入禁止刷新模式;当在回读刷新模式下监测到SRAM型FPGA单元没有发生SEFI,若在指定时间内回读刷新模式的实际FPGA刷新次数超过设定阈值,则刷新切入定时刷新模式,若没有超过设定阈值,则继续维持回读刷新模式。其中单粒子功能中断SEFI通过SRAM型FPGA单元的SelectMap接口监测,刷新次数阈值可根据SRAM型FPGA单元的SEU翻转率及轨道辐射环境数据综合设定。
(3)数据接收与控制模块通过信号线“data_rdy”电平监听SRAM型FPGA单元来自地面的重构控制指令,若“data_rdy”为低,即没有收到指令,则继续监听,若“data_rdy”为高,则执行步骤(4)。
(4)数据接收与控制模块向SRAM型FPGA(2)发送“data_req”数据请求信号,接收并解析SRAM型FPGA(2)的发送指令,若为引导指令,则执行步骤(5);若为重构指令,则执行步骤(6)。
(5)接收到引导指令时,根据引导指令获取对应的引导源,若引导源为高可靠度PROM,则由数据切换模块与FPGA引导与刷新配置模块进行引导,同时返回遥测数据“程序引导源为PROM”至遥测组帧和发射模块;若引导源为主份NorFlash或备份NorFlash,则通知数据切换模块与Flash总控模块,由Flash总控模块联动Flash存储器底层驱动模块先对主份NorFlash或备份NorFlash做CRC校验,若校验正确,则FPGA引导与刷新配置模块从相应NorFlash引导程序,并返回遥测数据“程序引导源”+“CRC校验值”至遥测组帧和发射模块;若校验失败,则保持原有程序继续运行,并返回遥测数据“程序引导源”+“CRC校验值”至遥测组帧和发射模块,然后至返回步骤(3)。
(6)若获取到重构指令,则先判断重构目标为主份NorFlash或备份NorFlash,无论目标为主份NorFlash或备份NorFlash,后续重构流程都是一致的。为提高FPGA重构过程的可靠性,本实施例以备份NorFlash为重构模板,故Flash总控模块联动Flash存储器底层驱动模块先对备份NorFlash进行擦除操作,擦除完成后,执行步骤(7)。
(7)若擦除失败,返回遥测数据“擦除Flash失败”至遥测组帧和发射模块,并返回至步骤(3);若擦除成功,则返回遥测数据“擦除Flash成功”至遥测组帧和发射模块,执行步骤(8)。
(8)数据接收与控制模块通过信号线“data_req”向SRAM型FPGA(2)请求重构配置数据。
(9)数据接收与控制模块从SRAM型FPGA单元获取重构配置数据,根据FPGA引导与刷新配置模块判断目前是否处于刷新忙状态,若FPGA引导与刷新配置模块正在执行SRAM型FPGA单元刷新,则继续等待与判断直到刷新结束;若FPGA引导与刷新配置模块处于刷新空闲状态,则通过“Busy”信号反馈至数据接收与控制模块以控制Flash总控模块与Flash存储器底层驱动模块将重构配置数据写入备份NorFlash,执行步骤(10);
(10)写完重构配置数据后,数据接收与控制模块判断重构数据计数器是否达到两片XQR4VSX55-CF1140V的重构配置文件大小44.368Mbit,若没有达到,则继续向SRAM型FPGA(2)请求重构数据,返回至步骤(8);若达到,则执行步骤(11)。
(11)Flash总控模块联动Flash存储器底层驱动模块执行备份NorFlash中重构配置数据的CRC校验;若校验成功,返回遥测数据“重构结束+重构成功+CRC校验值”至遥测组帧和发射模块,执行步骤(12);若校验失败,返回遥测数据“重构结束+重构失败+CRC校验值”,重构结束,返回至步骤(3)。
(12)接收地面发送的“从备份NorFlash引导指令”,若备份NorFlash中新版本程序在轨运行正常,执行备份NorFlash复制操作,即将备份NorFlash中的重构配置数据复制到主份NorFlash;若备份NorFlash中新版本程序在轨运行不正常或功能丢失导致无法接收重构或引导指令,则重启系统。由于上电时高可靠管控单元默认从主份NorFlash引导加载SRAM型FPGA程序,即回到步骤(1)。
所有返回遥测数据均可通过遥测组帧和发射模块返回至地面。
应该理解的是,虽然图1、4、5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、4、5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种刷新自适应的连续高可靠在轨FPGA重构系统,包括:
SRAM型FPGA单元,用于接收地面控制指令和重构配置数据;
只读存储单元,用于存储所述SRAM型FPGA单元对应的原始配置数据;
可编程存储单元,用于存储所述SRAM型FPGA单元对应的重构配置数据;
高可靠管控单元,用于对所述SRAM型FPGA单元进行刷新,以及用于根据地面控制指令和重构配置数据,对所述SRAM型FPGA单元进行引导和重构;
当系统上电时,所述高可靠管控单元获取所述可编程存储单元中的重构配置数据进行校验,当通过校验时,使用所述重构配置数据对所述SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取所述只读存储单元中的原始配置数据,对所述SRAM型FPGA单元进行引导;
根据地面控制指令对所述SRAM型FPGA单元FPGA进行引导时,所述高可靠管控单元获取所述地面指控指令对应的可编程存储单元或只读存储单元中的数据,使用获取到的数据对所述SRAM型FPGA单元进行引导;
根据地面控制指令对所述SRAM型FPGA单元FPGA进行重构时,所述高可靠管控单元从所述SRAM型FPGA单元获取重构配置数据并写入所述可编程存储单元,获取所述可编程存储单元中的所述重构配置数据,对所述SRAM型FPGA单元进行重构。
2.根据权利要求1所述的系统,其特征在于,所述高可靠管控单元还用于:
根据预设的时间间隔回读并校验所述SRAM型FPGA单元中的程序,当所述程序未通过校验时,从最近一次引导所述SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对所述SRAM型FPGA单元进行刷新;
获取所述SRAM型FPGA单元的刷新频率,当所述刷新频率超过预设值时,以预设的时间间隔,从最近一次引导所述SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对所述SRAM型FPGA单元进行刷新;
根据获取到的所述SRAM型FPGA单元的单粒子功能中断信号,停止对所述SRAM型FPGA单元进行刷新。
3.根据权利要求1所述的系统,其特征在于,所述可编程存储单元包括1个主份存储单元和1个备份存储单元;
当系统上电时,所述高可靠管控单元获取所述主份存储单元中的重构配置数据进行校验,当通过校验时,使用所述主份存储单元中的重构配置数据对所述SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取所述备份存储单元中的重构配置数据进行校验,当通过校验时,使用所述备份存储单元中的重构配置数据对所述SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取所述只读存储单元中的原始配置数据,对所述SRAM型FPGA单元进行引导;
对所述SRAM型FPGA单元FPGA进行重构时,所述高可靠管控单元获取所述SRAM型FPGA单元中的重构配置数据并写入所述备份存储单元,使用从所述备份存储单元获取的重构配置数据对所述SRAM型FPGA单元进行重构,所述高可靠管控单元根据所述SRAM型FPGA单元发送的复制指令信号,将所述备份存储单元中的重构配置数据复制到所述主份存储单元。
4.根据权利要求3所述的系统,其特征在于,所述主份存储单元和所述备份存储单元采用数据和地址共线传输接口。
5.根据权利要求1所述的系统,其特征在于,所述高可靠管控单元还用于判断所述地面控制指令的类型,
当所述地面控制指令的类型为引导指令时,所述高可靠管控单元获取所述引导指令对应的只读存储单元或可编程存储单元中的数据,使用获取到的数据对所述SRAM型FPGA单元进行引导;
当所述地面控制指令的类型为重构指令时,所述高可靠管控单元从所述SRAM型FPGA单元获取重构配置数据并写入所述可编程存储单元,获取所述可编程存储单元中的重构配置数据,对所述SRAM型FPGA单元进行重构。
6.根据权利要求1至5中任意一项所述的系统,其特征在于,
所述高可靠管控单元通过局部通用IO接口从所述SRAM型FPGA单元获取地面控制指令和重构配置数据,从所述只读存储单元或所述可编程存储单元获取数据,通过SelectMap接口对所述SRAM型FPGA单元进行刷新、引导和重构。
7.一种刷新自适应的连续高可靠在轨FPGA重构方法,所述方法包括:
当系统上电时,由高可靠管控单元获取可编程存储单元中的重构配置数据进行校验,当通过校验时,使用所述重构配置数据对SRAM型FPGA单元进行引导,当未通过校验时,获取只读存储单元中的原始配置数据对所述SRAM型FPGA单元进行引导;
由所述高可靠管控单元对SRAM型FPGA单元进行刷新,并从所述SRAM型FPGA单元获取地面控制指令和重构配置数据;所述地面控制指令包括引导指令和重构指令;
当获取到引导指令时,由所述高可靠管控单元获取所述引导指令对应的可编程存储单元或只读存储单元中的数据,使用获取到的数据对所述SRAM型FPGA单元进行引导;
当获取到重构指令和重构配置数据时,由所述高可靠管控单元将所述重构配置数据写入所述可编程存储单元,并获取所述可编程存储单元中的重构配置数据,对所述SRAM型FPGA单元进行重构。
8.根据权利要求7所述的方法,其特征在于,所述由高可靠管控单元对所述SRAM型FPGA单元进行刷新,并从所述SRAM型FPGA单元获取地面控制指令和重构配置数据的步骤包括:
由所述高可靠管控单元根据预设的时间间隔回读并校验所述SRAM型FPGA单元中的程序,当所述程序未通过校验时,从最近一次引导所述SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对所述SRAM型FPGA单元进行刷新;
由所述高可靠管控单元获取所述SRAM型FPGA单元的刷新频率,当所述刷新频率超过预设值时,以预设的时间间隔,从最近一次引导所述SRAM型FPGA单元的可编程存储单元或只读存储单元中获取数据,对所述SRAM型FPGA单元进行刷新;
由所述高可靠管控单元根据获取到的所述SRAM型FPGA单元的单粒子功能中断信号,停止对所述SRAM型FPGA单元进行刷新;
由所述高可靠管控单元从所述SRAM型FPGA单元获取地面控制指令和重构配置数据,并获取所述SRAM型FPGA单元的刷新标识,当所述刷新标识的状态为空闲时,根据所述地面控制指令和所述重构配置数据对所述SRAM型FPGA单元进行重构。
9.根据权利要求7所述的方法,其特征在于,所述可编程存储单元包括1个主份存储单元和1个备份存储单元;
所述当系统上电时,由高可靠管控单元获取可编程存储单元中的重构配置数据进行校验,当通过校验时,使用所述重构配置数据对SRAM型FPGA单元进行引导,当未通过校验时,获取只读存储单元中的原始配置数据,对所述SRAM型FPGA单元进行引导的步骤包括:
当系统上电时,由所述高可靠管控单元获取所述主份存储单元中的重构配置数据进行校验,当通过校验时,使用所述主份存储单元中的重构配置数据对所述SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取所述备份存储单元中的重构配置数据进行校验,当通过校验时,使用所述备份存储单元中的重构配置数据对所述SRAM型FPGA单元FPGA进行引导,当未通过校验时,获取所述只读存储单元中的原始配置数据,对所述SRAM型FPGA单元进行引导;
所述当获取到重构指令和重构配置数据时,由所述高可靠管控单元从所述SRAM型FPGA单元获取重构配置数据并写入所述可编程存储单元,获取所述可编程存储单元中的重构配置数据,对所述SRAM型FPGA单元进行重构的步骤包括:
当获取到重构指令和重构配置数据时,由所述高可靠管控单元根据所述重构指令擦除对应的备份存储单元中的程序;
由所述高可靠管控单元从所述SRAM型FPGA单元获取重构配置数据并写入所述备份存储单元,使用从所述备份存储单元获取的重构配置数据对所述SRAM型FPGA单元进行重构;
由所述高可靠管控单元根据所述SRAM型FPGA单元发送的复制指令信号,将所述备份存储单元中的重构配置数据复制到所述主份存储单元。
10.根据权利要求7至9所述的方法,其特征在于,所述高可靠管控单元通过局部通用IO接口和SelectMap接口与所述SRAM型FPGA单元连接;
由所述高可靠管控单元对SRAM型FPGA单元进行刷新,并从所述SRAM型FPGA单元获取地面控制指令和重构配置数据的步骤包括:
由所述高可靠管控单元对SRAM型FPGA单元进行刷新,并通过局部通用IO接口从所述SRAM型FPGA单元获取地面控制指令和重构配置数据;
所述当获取到引导指令时,由所述高可靠管控单元获取所述引导指令对应的可编程存储单元或只读存储单元中的数据,使用获取到的数据对所述SRAM型FPGA单元进行引导的步骤包括:
当获取到引导指令时,由所述高可靠管控单元获取所述引导指令对应的可编程存储单元或只读存储单元中的数据,通过SelectMap接口对所述SRAM型FPGA单元进行引导;
所述当获取到重构指令和重构配置数据时,由所述高可靠管控单元将所述重构配置数据写入所述可编程存储单元,并获取所述可编程存储单元中的重构配置数据,对所述SRAM型FPGA单元进行重构的步骤包括:
当获取到重构指令和重构配置数据时,由所述高可靠管控单元将所述重构配置数据写入所述可编程存储单元,获取所述可编程存储单元中的重构配置数据,通过SelectMap接口对所述SRAM型FPGA单元进行重构。
CN202010584293.8A 2020-06-24 2020-06-24 一种刷新自适应的连续高可靠在轨fpga重构系统与方法 Active CN111611201B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010584293.8A CN111611201B (zh) 2020-06-24 2020-06-24 一种刷新自适应的连续高可靠在轨fpga重构系统与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010584293.8A CN111611201B (zh) 2020-06-24 2020-06-24 一种刷新自适应的连续高可靠在轨fpga重构系统与方法

Publications (2)

Publication Number Publication Date
CN111611201A true CN111611201A (zh) 2020-09-01
CN111611201B CN111611201B (zh) 2022-04-19

Family

ID=72200861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010584293.8A Active CN111611201B (zh) 2020-06-24 2020-06-24 一种刷新自适应的连续高可靠在轨fpga重构系统与方法

Country Status (1)

Country Link
CN (1) CN111611201B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112272024A (zh) * 2020-10-29 2021-01-26 国核自仪系统工程有限公司 Fpga器件的配置数据的刷新方法、电路和存储介质
CN112332902A (zh) * 2020-10-20 2021-02-05 西安空间无线电技术研究所 一种星上自主控制的在轨重构系统与方法
CN112948093A (zh) * 2021-03-30 2021-06-11 中国电子信息产业集团有限公司第六研究所 一种卫星重构系统及其数据处理方法、星地链路通信系统
CN113312305A (zh) * 2021-06-15 2021-08-27 西安微电子技术研究所 一种基于fpga的宇航电子系统在轨重构方法及系统
CN113849456A (zh) * 2021-10-18 2021-12-28 中国科学院长春光学精密机械与物理研究所 星载fpga重构方法
CN114313314A (zh) * 2021-12-31 2022-04-12 浙江时空道宇科技有限公司 一种卫星在轨数字基带平台
CN114398054A (zh) * 2021-12-28 2022-04-26 北京遥感设备研究所 一种支持软件重构的星载处理器管理系统
CN114826381A (zh) * 2022-04-26 2022-07-29 上海航天测控通信研究所 星载可再生转发的解调调制系统
CN114924808A (zh) * 2022-05-12 2022-08-19 中国电子科技集团公司第二十九研究所 一种基于双份存储程序的sram型fpga在轨可靠加载方法
CN117453462A (zh) * 2023-12-26 2024-01-26 中国人民解放军国防科技大学 一种星载设备软件可靠重构和加载运行方法
CN118170582A (zh) * 2024-05-15 2024-06-11 中国电子科技集团公司第十四研究所 天基雷达数据在轨低成本高可靠抗辐照修复方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754436A (en) * 1994-12-22 1998-05-19 Texas Instruments Incorporated Adaptive power management processes, circuits and systems
US20060041925A1 (en) * 2004-08-23 2006-02-23 Samsung Electronics Co., Ltd. Method of obtaining additional network information in digital satellite broadcasting and a satellite broadcast receiver using the same
CN107957972A (zh) * 2017-10-30 2018-04-24 西安空间无线电技术研究所 一种基于fpga的在轨重构系统及方法
CN109522259A (zh) * 2018-11-12 2019-03-26 中国科学院长春光学精密机械与物理研究所 基于空间应用的在轨刷新重注成像系统
CN109614122A (zh) * 2018-12-04 2019-04-12 上海无线电设备研究所 一种星载多处理器软件在轨编程系统及其设计方法
CN109656870A (zh) * 2018-11-19 2019-04-19 北京时代民芯科技有限公司 一种sram型fpga在轨动态重构管理系统及方法
CN109783434A (zh) * 2018-10-25 2019-05-21 西安空间无线电技术研究所 低代价高可靠的星载单机多片sram型fpga在轨重构系统及方法
CN111142962A (zh) * 2019-11-15 2020-05-12 北京理工大学 一种星载fpga的在轨重构方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754436A (en) * 1994-12-22 1998-05-19 Texas Instruments Incorporated Adaptive power management processes, circuits and systems
US20060041925A1 (en) * 2004-08-23 2006-02-23 Samsung Electronics Co., Ltd. Method of obtaining additional network information in digital satellite broadcasting and a satellite broadcast receiver using the same
CN107957972A (zh) * 2017-10-30 2018-04-24 西安空间无线电技术研究所 一种基于fpga的在轨重构系统及方法
CN109783434A (zh) * 2018-10-25 2019-05-21 西安空间无线电技术研究所 低代价高可靠的星载单机多片sram型fpga在轨重构系统及方法
CN109522259A (zh) * 2018-11-12 2019-03-26 中国科学院长春光学精密机械与物理研究所 基于空间应用的在轨刷新重注成像系统
CN109656870A (zh) * 2018-11-19 2019-04-19 北京时代民芯科技有限公司 一种sram型fpga在轨动态重构管理系统及方法
CN109614122A (zh) * 2018-12-04 2019-04-12 上海无线电设备研究所 一种星载多处理器软件在轨编程系统及其设计方法
CN111142962A (zh) * 2019-11-15 2020-05-12 北京理工大学 一种星载fpga的在轨重构方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIAQI YANG: "SEU sensitivity evaluation of JTAG circuit used for SRAM-based FPGA", 《 2017 IEEE 24TH INTERNATIONAL SYMPOSIUM ON THE PHYSICAL AND FAILURE ANALYSIS OF INTEGRATED CIRCUITS (IPFA)》 *
邢克飞等: "Xilinx SRAM型FPGA抗辐射设计技术研究", 《宇航学报》 *
马寅: "航天用SRAM型FPGA抗单粒子翻转设计", 《航天器环境工程》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112332902A (zh) * 2020-10-20 2021-02-05 西安空间无线电技术研究所 一种星上自主控制的在轨重构系统与方法
CN112332902B (zh) * 2020-10-20 2022-09-27 西安空间无线电技术研究所 一种星上自主控制的在轨重构系统与方法
CN112272024A (zh) * 2020-10-29 2021-01-26 国核自仪系统工程有限公司 Fpga器件的配置数据的刷新方法、电路和存储介质
CN112948093A (zh) * 2021-03-30 2021-06-11 中国电子信息产业集团有限公司第六研究所 一种卫星重构系统及其数据处理方法、星地链路通信系统
CN112948093B (zh) * 2021-03-30 2023-09-15 中国电子信息产业集团有限公司第六研究所 一种卫星重构系统及其数据处理方法、星地链路通信系统
CN113312305A (zh) * 2021-06-15 2021-08-27 西安微电子技术研究所 一种基于fpga的宇航电子系统在轨重构方法及系统
CN113312305B (zh) * 2021-06-15 2023-05-30 西安微电子技术研究所 一种基于fpga的宇航电子系统在轨重构方法及系统
CN113849456A (zh) * 2021-10-18 2021-12-28 中国科学院长春光学精密机械与物理研究所 星载fpga重构方法
CN114398054A (zh) * 2021-12-28 2022-04-26 北京遥感设备研究所 一种支持软件重构的星载处理器管理系统
CN114398054B (zh) * 2021-12-28 2024-07-05 北京遥感设备研究所 一种支持软件重构的星载处理器管理系统
CN114313314A (zh) * 2021-12-31 2022-04-12 浙江时空道宇科技有限公司 一种卫星在轨数字基带平台
CN114826381A (zh) * 2022-04-26 2022-07-29 上海航天测控通信研究所 星载可再生转发的解调调制系统
CN114826381B (zh) * 2022-04-26 2024-02-27 上海航天测控通信研究所 星载可再生转发的解调调制系统
CN114924808A (zh) * 2022-05-12 2022-08-19 中国电子科技集团公司第二十九研究所 一种基于双份存储程序的sram型fpga在轨可靠加载方法
CN117453462B (zh) * 2023-12-26 2024-03-08 中国人民解放军国防科技大学 一种星载设备软件可靠重构和加载运行方法
CN117453462A (zh) * 2023-12-26 2024-01-26 中国人民解放军国防科技大学 一种星载设备软件可靠重构和加载运行方法
CN118170582A (zh) * 2024-05-15 2024-06-11 中国电子科技集团公司第十四研究所 天基雷达数据在轨低成本高可靠抗辐照修复方法及装置

Also Published As

Publication number Publication date
CN111611201B (zh) 2022-04-19

Similar Documents

Publication Publication Date Title
CN111611201B (zh) 一种刷新自适应的连续高可靠在轨fpga重构系统与方法
CN111142962B (zh) 一种星载fpga的在轨重构方法及系统
EP0415545B1 (en) Method of handling errors in software
CN110555237B (zh) 一种fpga在轨动态可重构方法
US6571324B1 (en) Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system
CN112732334A (zh) 一种高连续性导航卫星软件重构方法
CN111176908B (zh) 一种基于三模冗余的程序在轨加载刷新方法
EP0414379A2 (en) Method of handling errors in software
EP0415550A2 (en) Apparatus and method for documenting faults in computing modules
US5065312A (en) Method of converting unique data to system data
US20080005616A1 (en) Systems and methods for CPU repair
CN111176890A (zh) 一种星载软件数据存储及异常恢复方法
CN110874245A (zh) 一种微小卫星星载计算机及其可重构实现方法
CN102541690A (zh) 一种智能卡及其恢复数据方法
CN114860650A (zh) 一种多片sram型fpga在轨配置管理装置
CN114237122A (zh) 一种对sram型fpga进行配置、回读和刷新的电路和操作方法
US6546455B1 (en) Method and device for modifying the memory contents of control equipment
CN113341924A (zh) 一种ecu下电方法、装置、设备及存储介质
CN113238985A (zh) Fpga在轨重构控制系统及方法
US7917804B2 (en) Systems and methods for CPU repair
CN113867210A (zh) 多路星载嵌入式系统软件在轨重构控制系统及控制方法
CN112148317A (zh) 一种激光雷达系统的在线升级装置及激光雷达系统
CN111176732B (zh) 一种基于mram实现的软硬件冗余安全启动与维护方法
US20060230254A1 (en) Systems and methods for CPU repair
CN114741091A (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
GR01 Patent grant
GR01 Patent grant