CN117453462B - 一种星载设备软件可靠重构和加载运行方法 - Google Patents

一种星载设备软件可靠重构和加载运行方法 Download PDF

Info

Publication number
CN117453462B
CN117453462B CN202311804625.9A CN202311804625A CN117453462B CN 117453462 B CN117453462 B CN 117453462B CN 202311804625 A CN202311804625 A CN 202311804625A CN 117453462 B CN117453462 B CN 117453462B
Authority
CN
China
Prior art keywords
dsp
fpga
type fpga
sram
loading
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.)
Active
Application number
CN202311804625.9A
Other languages
English (en)
Other versions
CN117453462A (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 CN202311804625.9A priority Critical patent/CN117453462B/zh
Publication of CN117453462A publication Critical patent/CN117453462A/zh
Application granted granted Critical
Publication of CN117453462B publication Critical patent/CN117453462B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

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

Abstract

本申请涉及一种星载设备软件可靠重构和加载运行方法。所述方法包括:对非易失性存储器件进行四等分设计,将第一至第三部分设置为实际使用区,第四部分设置为备用区;在实际使用区和备用区中对SRAM型FPGA的配置信息和DSP程序进行重构,利用反熔丝型FPGA根据预先设置的加载策略从非易失性存储器件加载重构后的SRAM型FPGA的配置信息和DSP程序,在上电或整机复位时,反熔丝型FPGA从非易失性存储器件相应位置读取配置信息并对SRAM型FPGA内部SRAM的配置进行刷新。采用本方法能够实现星载设备程序可靠重构和加载运行。

Description

一种星载设备软件可靠重构和加载运行方法
技术领域
本申请涉及星载设备程序可靠性技术领域,特别是涉及一种星载设备软件可靠重构和加载运行方法。
背景技术
空间电磁辐射造成的单粒子翻转,是造成星载设备失效的一个主要原因,尤其是中高轨道空间飞行器,其电子器件在单粒子效应的影响下,造成性能退化甚至失效。在中高轨道星载设备电子器件中,SRAM或非易失性存储器件类型的器件,如SRAM型FPGA、非易失性存储器件型存储器等,在星载设备中占据重要位置。此类器件若发生单粒子翻转,将导致软件加载失败或运行中软件失效,对星载设备安全造成危害。
星载设备一般使用DSP作为数据运算和逻辑控制单元,负责核心的计算和控制任务,搭配SRAM型FPGA作为协处理设备,实现数据采集、预处理和后处理,并使用反熔丝型FPGA实现程序管理、加载和刷新,以达到宇航级高可靠的设计要求。DSP作为整个设备的主控,除了完成核心的计算任务外,还负责对存储器中的程序进行重构更新。而片外SRAM或非易失性存储器件等存储器中程序的可靠性决定了系统能否正常工作,对系统运行稳定性起到至关重要的作用。SRAM型FPGA通过将配置信息加载到其内部SRAM实现预定功能,其内部SRAM对单粒子效应十分敏感,易被单粒子打翻。因此对SRAM型FPGA而言,非易失性存储器件存储器和其内部SRAM中的配置信息的正确性对其运行至关重要,直接对其功能正确性造成影响。基于反熔丝的FPGA采用击穿绝缘介质的方法进行编程,其编程过程不可逆,编程后无法修改。虽然抗辐照能力强,但成本高、容积小、性能弱且灵活性不够,只适合实现一些稳定性要求较高但较为简单的功能,不能进行可靠的程序重构与加载运行。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现星载设备程序可靠重构和加载运行的星载设备软件可靠重构和加载运行方法。
一种星载设备软件可靠重构和加载运行方法,所述方法包括:
构建星载设备;星载设备包括反熔丝型FPGA、片外SRAM、非易失性存储器件、DSP、SRAM型FPGA以及可编程只读存储器;
对非易失性存储器件进行四等分设计,将第一至第三部分设置为实际使用区,第四部分设置为备用区;在实际使用区和备用区中对SRAM型FPGA的配置信息和DSP程序进行重构,得到重构后的SRAM型FPGA的配置信息和DSP程序;
利用反熔丝型FPGA根据预先设置的加载策略从非易失性存储器件加载重构后的SRAM型FPGA的配置信息和DSP程序,当非易失性存储器件加载异常时,则从可编程只读存储器加载最小系统DSP程序,在上电或整机复位时,反熔丝型FPGA根据当前加载的功能程序,从非易失性存储器件相应位置读取配置信息并通过SelectMap接口对SRAM型FPGA内部SRAM的配置进行刷新。
在其中一个实施例中,反熔丝型FPGA与片外SRAM、非易失性存储器件、DSP、SRAM型FPGA以及可编程只读存储器相连,通过EMIF的CE1接口实现DSP加载并通过EMIF总线CE2为加载的DSP提供访问非易失性存储器件的接口,DSP通过接口对非易失性存储器件进行读写访问,反熔丝型FPGA按照非易失性存储器件的读写时序驱动芯片执行程序重构和升级操作;可编程只读存储器使用SelectMap接口与反熔丝型FPGA连接,用于存储DSP最小系统程序,对非易失性存储器件功能程序进行可靠重构。
在其中一个实施例中,将片外SRAM的配置引脚与反熔丝型FPGA相连,并且将提供自刷新信号的BUSY引脚与DSP的EMIF接口的READY引脚相连,为DSP读写片外SRAM提供等待信号。
在其中一个实施例中,实际使用区包括配置存储区和DSP程序存储区;备用区包括配置存储区和FPGA标识号存储区;配置存储区用于存储SRAM型FPGA配置信息及其EDAC校验;DSP程序存储区用于存储DSP程序及其EDAC校验;FPGA标识号存储区包括三个扇区,用于存储FPGA标识号。
在其中一个实施例中,在实际使用区和备用区中对SRAM型FPGA的配置信息和DSP程序进行重构,包括:
在实际使用区中重构某个SRAM型FPGA的配置信息时,采用按扇区逐步重构,若备用区FPGA标识号为空或者和当前重构的SRAM型FPGA序号一致时,则同步将新的配置信息及其EDAC校验写入到备用区的相应扇区;SRAM型FPGA的配置信息重构结束后,若实际使用区的相应扇区在重构过程中未发生写入错误,且备用区FPGA标识号与当前重构的SRAM型FPGA序号一致时,则将备用区FPGA标识号清空;若实际使用区的相应扇区在重构的过程中发生了写入错误,且备用区FPGA标识号为空时,则将备用区FPGA标识号变更为当前重构的SRAM型FPGA序号;
重构DSP程序为同步向实际使用区的三个DSP程序存储区写入相同的DSP程序及其EDAC校验。
在其中一个实施例中,利用反熔丝型FPGA根据预先设置的加载策略从非易失性存储器件加载重构后的SRAM型FPGA的配置信息和DSP程序,当非易失性存储器件加载异常时,则从可编程只读存储器加载最小系统DSP程序,包括:
利用反熔丝型FPGA根据预先设置的加载策略从非易失性存储器件加载重构后的SRAM型FPGA的配置信息和DSP程序时,先从主份非易失性存储器件依次加载三个SRAM型FPGA的配置信息,全部加载成功后,再加载DSP程序,反熔丝型FPGA先查看备用区FPGA标识号与当前需要加载的SRAM型FPGA序号是否相对应,若对应一致,则从备用区加载,否则直接从实际使用区加载,依次进行三个SRAM型FPGA的配置加载,加载时,先利用非易失性存储器件存储的EDAC校验进行数据校正,再送入SRAM型FPGA的SelectMap接口,加载完成后,还需要通过检测Done信号验证其加载是否成功,若三个SRAM型FPGA均加载成功,则进一步加载DSP程序,否则切换到备份非易失性存储器件重新加载;
反熔丝型FPGA加载DSP程序时,依次从实际使用区的三个DSP程序存储区进行加载,并且按地址递增的方式读取数据,先利用非易失性存储器件存储的EDAC校验进行数据校正,再送入反熔丝型FPGA的FIFO数据缓冲模块,转为EMIF并行时序,供DSP读取,若此次加载完成后,出现EDAC校验2Bit错误,则反熔丝型FPGA控制DSP复位,继续加载下一个DSP程序存储区的程序,直到EDAC校验未出现2Bit错误为止,若三个区域DSP程序加载时均出现EDAC校验2Bit错误,则反熔丝型FPGA切换到备用非易失性存储器件重新加载,若两片非易失性存储器件均出现加载异常,则从可编程只读存储器加载最小系统DSP程序。
在其中一个实施例中,当非易失性存储器件加载异常时或地面指令指定运行最小系统程序时,反熔丝型FPGA仅从可编程只读存储器加载DSP最小系统程序,并将三个SRAM型FPGA置于复位状态,从可编程只读存储器加载DSP程序时,利用内部FIFO按地址递增的方式进行数据缓冲,并在DSP端转换为EMIF时序来正确读取DSP。
在其中一个实施例中,在上电或整机复位时,反熔丝型FPGA通过配置引脚对片外SRAM的EDAC和自刷新功能进行初始化配置并打开EDAC和自刷新,反熔丝型FPGA允许系统开启或关闭SRAM型FPGA的刷新功能,当SRAM型FPGA的刷新功能打开时,反熔丝型FPGA根据当前程序来源,从非易失性存储器件相应位置读取配置信息并通过SelectMap接口对SRAM型FPGA内部SRAM的配置进行刷新。
上述一种星载设备软件可靠重构和加载运行方法,本申请一方面利用可编程只读存储器加DSP和反熔丝型FPGA构成最小系统,实现可靠重构;另一方面通过巧妙设计非易失性存储器件器件中程序存储结构实现软件冗余,配合反熔丝型FPGA的预先设置的加载策略,实现程序可靠加载;加载成功后,再借助反熔丝型FPGA对片外SRAM和SRAM型FPGA进行刷新控制,实现软件可靠运行,通过利用最小系统,辅以硬件备份和存储器程序冗余方法,结合本申请特有的可靠加载运行策略,实现了恶劣太空环境下的程序可靠重构和正确加载运行。本发明适用性强,所提出的硬件和软件冗余备份方法及相应策略,适用于对程序重构以及加载运行有极高可靠性要求的任意星载设备。
附图说明
图1为一个实施例中一种星载设备软件可靠重构和加载运行方法的流程示意图;
图2为一个实施例中星载设备的硬件架构示意图;
图3为一个实施例中非易失性存储器件器件程序等分设计后的结构示意图;
图4为另一个实施例中非易失性存储器件器件程序重构示意图;
图5为一个实施例中非易失性存储器件程序加载示意图;
图6为一个实施例中可编程只读存储器最小系统程序加载运行示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种星载设备软件可靠重构和加载运行方法,包括以下步骤:
步骤102,构建星载设备;星载设备包括反熔丝型FPGA、片外SRAM、非易失性存储器件、DSP、SRAM型FPGA以及可编程只读存储器。
反熔丝型FPGA与片外SRAM、非易失性存储器件、DSP、SRAM型FPGA以及可编程只读存储器相连,通过EMIF的CE1接口实现DSP加载并通过EMIF总线CE2为加载的DSP提供访问非易失性存储器件的接口,DSP通过接口对非易失性存储器件进行读写访问,反熔丝型FPGA按照非易失性存储器件的读写时序驱动芯片执行程序重构和升级操作;可编程只读存储器使用SelectMap接口与反熔丝型FPGA连接,用于存储DSP最小系统程序,对非易失性存储器件功能程序进行可靠重构。其中,反熔丝型FPGA用于接入外部晶振的时钟进行处理后提供给DSP;SRAM型FPGA的时钟由单独的外部晶振提供,反熔丝型FPGA还用于设计内部FIFO缓冲来进行EMIF时序转换,将可编程只读存储器或非易失性存储器件不同的串行时序统一转换为EMIF时序以满足DSP的加载时序要求。反熔丝型FPGA还用于通过三个SRAM型FPGA的SelectMap接口实现相应的配置信息加载。
步骤104,对非易失性存储器件进行四等分设计,将第一至第三部分设置为实际使用区,第四部分设置为备用区;在实际使用区和备用区中对SRAM型FPGA的配置信息和DSP程序进行重构,得到重构后的SRAM型FPGA的配置信息和DSP程序。
通过对非易失性存储器件进行四等分设计,将第一至第三部分设置为实际使用区,第四部分设置为备用区;在实际使用区和备用区中对SRAM型FPGA的配置信息和DSP程序进行重构,利用结构设计后的非易失性存储器件器件能够进行程序冗余存储,极大降低了非易失性存储器件器件单粒子翻转的风险,大大提高了程序重构和升级的可靠性。
步骤106,利用反熔丝型FPGA根据预先设置的加载策略从非易失性存储器件加载重构后的SRAM型FPGA的配置信息和DSP程序,当非易失性存储器件加载异常时,则从可编程只读存储器加载最小系统DSP程序,在上电或整机复位时,反熔丝型FPGA根据当前加载的功能程序,从非易失性存储器件相应位置读取配置信息并通过SelectMap接口对SRAM型FPGA内部SRAM的配置进行刷新。
利用反熔丝型FPGA根据预先设置的加载策略从非易失性存储器件加载重构后的SRAM型FPGA的配置信息和DSP程序,当非易失性存储器件加载异常时,则从可编程只读存储器加载最小系统DSP程序,能够实现程序的可靠加载。反熔丝型FPGA通过配置引脚对片外SRAM的EDAC和自刷新功能进行配置,并可通过SelectMap接口结合非易失性存储器件存储的配置信息,对多个SRAM型FPGA分别进行刷新操作便于增强星载硬件设备的抗单粒子能力以适用于太空强辐射环境,实现软件可靠运行。
上述一种星载设备软件可靠重构和加载运行方法中,本申请一方面利用可编程只读存储器加DSP和反熔丝型FPGA构成最小系统,实现可靠重构;另一方面通过巧妙设计非易失性存储器件器件中程序存储结构实现软件冗余,配合反熔丝型FPGA的预先设置的加载策略,实现程序可靠加载;加载成功后,再借助反熔丝型FPGA对片外SRAM和SRAM型FPGA进行刷新控制,实现软件可靠运行,通过利用最小系统,辅以硬件备份和存储器程序冗余方法,结合本申请特有的可靠加载运行策略,实现了恶劣太空环境下的程序可靠重构和正确加载运行。本发明适用性强,所提出的硬件和软件冗余备份方法及相应策略,适用于对程序重构以及加载运行有极高可靠性要求的任意星载设备。
在其中一个实施例中,反熔丝型FPGA与片外SRAM、非易失性存储器件、DSP、SRAM型FPGA以及可编程只读存储器相连,通过EMIF的CE1接口实现DSP加载并通过EMIF总线CE2为加载的DSP提供访问非易失性存储器件的接口,DSP通过接口对非易失性存储器件进行读写访问,反熔丝型FPGA按照非易失性存储器件的读写时序驱动芯片执行程序重构和升级操作;可编程只读存储器使用SelectMap接口与反熔丝型FPGA连接,用于存储DSP最小系统程序,对非易失性存储器件功能程序进行可靠重构。
在具体实施例中,如图2所示的星载设备的硬件架构,外部晶振的时钟直接接入反熔丝型FPGA,由反熔丝型FPGA处理后再提供给DSP,而三个SRAM型FPGA的时钟则由单独的外部晶振提供。反熔丝型FPGA通过三个SRAM型FPGA的SelectMap接口实现相应的配置信息加载。针对DSP程序加载,反熔丝FPGA设计内部FIFO缓冲,实现EMIF时序转换,将PROM或Flash不同的读时序统一转换为EMIF时序内部FIFO将串行时序转换为统一的EMIF并行时序来实现DSP程序从PROM或Flash的加载,以灵活适配不同类型的PROM和Flash器件。在硬件设计上,分别为DSP和SRAM型FPGA主程序提供了两个不同的Flash进行程序或配置信息的备份存储,反熔丝FPGA按照读写时序驱动两片Flash芯片,DSP通过接口,对两片Flash执行程序重构和升级操作
在其中一个实施例中,将片外SRAM的配置引脚与反熔丝型FPGA相连,并且将提供自刷新信号的BUSY引脚与DSP的EMIF接口的READY引脚相连,为DSP读写片外SRAM提供等待信号。
在具体实施例中,反熔丝FPGA可通过配置引脚对片外SRAM的EDAC和自刷新功能进行配置,反熔丝型FPGA作为核心器件,接入外部晶振1的时钟信号,然后对时钟信号进行处理后提供给DSP,反熔丝型FPGA通过EMIF的CE1接口实现DSP程序加载,通过三个SRAM型FPGA的SelectMap接口实现相应的配置信息加载。针对DSP程序加载,反熔丝型FPGA设计内部FIFO缓冲,实现EMIF时序转换,将可编程只读存储器(PROM)或非易失性存储器件(NORFlash)不同的读时序统一转换为EMIF时序,以满足DSP的加载时序要求,反熔丝型FPGA通过EMIF总线CE2为加载的DSP提供访问非易失性存储器件的接口,DSP通过反熔丝型FPGA提供的接口对非易失性存储器件进行读写访问,反熔丝型FPGA按照非易失性存储器件读写时序驱动芯片,执行程序重构和升级操作,其中,片外SRAM选用带EDAC和自刷新的芯片,由于片外SRAM进行自刷新时,无法进行读写操作,因此需要将片外SRAM提供自刷新信号的BUSY引脚与DSP的EMIF接口的READY引脚相连,为DSP读写片外SRAM提供等待信号,方便DSP在片外SRAM自刷新时进行读写等,提高程序重构的准确率。反熔丝型FPGA通过配置引脚对片外SRAM的EDAC和自刷新功能进行配置,并可通过SelectMap接口结合非易失性存储器件存储的配置信息,对多个SRAM型FPGA分别进行刷新操作便于增强星载硬件设备的抗单粒子能力。最小系统由DSP、反熔丝FPGA和PROM及对外通讯接口组成,仅提供基本的软件重构功能,以实现软件的可靠重构。
在其中一个实施例中,实际使用区包括配置存储区和DSP程序存储区;备用区包括配置存储区和FPGA标识号存储区;配置存储区用于存储SRAM型FPGA配置信息及其EDAC校验;DSP程序存储区用于存储DSP程序及其EDAC校验;FPGA标识号存储区包括三个扇区,用于存储FPGA标识号。
在具体实施例中,如图3所示,对非易失性存储器件(NOR Flash)器件中程序存储结构进行了特殊设计,以Virtex-II系列SRAM型FPGA和4M*16Bit容量的NOR 非易失性存储器件(NOR Flash)为例进行说明。NOR非易失性存储器件(NOR Flash)容量为4M*16Bit,Virtex-II系列FPGA配置信息约1.3MByte左右,而DSP程序约200KByte左右,因此将非易失性存储器件(NOR Flash)等分为四个1M*16Bit的区域,第一至三区域为实际使用区,第四区域为备用区该程序存储结构。由于Virtex-II系列FPGA配置信息约1.3MByte左右,而DSP程序约200KByte左右,因此将实际使用区的起始864K*16Bit处设计为SRAM型FPGA的配置存储区,存储配置信息及其EDAC校验,将后160K*16Bit设计为DSP程序存储区,存储DSP程序及其EDAC校验。实际使用区中的三个配置存储区存储不同的SRAM型FPGA配置信息,分别对应硬件上的三个SRAM型FPGA,而三个DSP程序存储区则存储相同的DSP程序备份,对应硬件上一个DSP。备用区由于容量限制,且非易失性存储器件(NOR Flash)器件在轨写入频度很低,只设计一个SRAM型FPGA配置信息的备份存储,配置信息依然存储在起始864K*16Bit处,并且在后160K*16Bit区域的尾部存储FPGA标识号。FPGA标识号定义为16Bit,表示备用区由哪个SRAM型FPGA使用,若备用区处于空闲状态则FPGA标识号为空。由于FPGA标识号作用十分重要,因此对其进行三模存储,分别存储在三个不同扇区,以防止单个扇区损坏的情况。
在其中一个实施例中,在实际使用区和备用区中对SRAM型FPGA的配置信息和DSP程序进行重构,包括:
在实际使用区中重构某个SRAM型FPGA的配置信息时,采用按扇区逐步重构,若备用区FPGA标识号为空或者和当前重构的SRAM型FPGA序号一致时,则同步将新的配置信息及其EDAC校验写入到备用区的相应扇区;SRAM型FPGA的配置信息重构结束后,若实际使用区的相应扇区在重构过程中未发生写入错误,且备用区FPGA标识号与当前重构的SRAM型FPGA序号一致时,则将备用区FPGA标识号清空;若实际使用区的相应扇区在重构的过程中发生了写入错误,且备用区FPGA标识号为空时,则将备用区FPGA标识号变更为当前重构的SRAM型FPGA序号;
重构DSP程序为同步向实际使用区的三个DSP程序存储区写入相同的DSP程序及其EDAC校验。
在具体实施例中,如图4所示,在重构实际使用区中某个SRAM型FPGA的配置信息时,由于Virtex-II系列SRAM型FPGA配置信息较大,一般采用按扇区逐步重构。若备用区FPGA标识号为空或者和当前重构的SRAM型FPGA序号一致时,则同步将新的配置信息及其EDAC校验写入到备用区的相应扇区,SRAM型FPGA的配置信息重构结束后,若实际使用区的相应扇区在重构过程中未发生写入错误,且备用区FPGA标识号与当前重构的SRAM型FPGA序号一致时,则将备用区FPGA标识号清空;若实际使用区的相应扇区在重构的过程中发生了写入错误,且备用区FPGA标识号为空时,则将备用区FPGA标识号变更为当前重构的SRAM型FPGA序号;在重构DSP程序时,只需要同步向实际使用区的三个DSP程序存储区写入相同的DSP程序及其EDAC校验即可,通过重新设置非易失性存储器件(NOR Flash)器件中程序存储结构,对程序进行冗余存储,大大提高程序重构和升级的效率。
在其中一个实施例中,利用反熔丝型FPGA根据预先设置的加载策略从非易失性存储器件加载重构后的SRAM型FPGA的配置信息和DSP程序,当非易失性存储器件加载异常时,则从可编程只读存储器加载最小系统DSP程序,包括:
利用反熔丝型FPGA根据预先设置的加载策略从非易失性存储器件加载重构后的SRAM型FPGA的配置信息和DSP程序时,先从主份非易失性存储器件依次加载三个SRAM型FPGA的配置信息,全部加载成功后,再加载DSP程序,反熔丝型FPGA先查看备用区FPGA标识号与当前需要加载的SRAM型FPGA序号是否相对应,若对应一致,则从备用区加载,否则直接从实际使用区加载,依次进行三个SRAM型FPGA的配置加载,加载时,先利用非易失性存储器件存储的EDAC校验进行数据校正,再送入SRAM型FPGA的SelectMap接口,加载完成后,还需要通过检测Done信号验证其加载是否成功,若三个SRAM型FPGA均加载成功,则进一步加载DSP程序,否则切换到备份非易失性存储器件重新加载;
反熔丝型FPGA加载DSP程序时,依次从实际使用区的三个DSP程序存储区进行加载,并且按地址递增的方式读取数据,先利用非易失性存储器件存储的EDAC校验进行数据校正,再送入反熔丝型FPGA的FIFO数据缓冲模块,转为EMIF并行时序,供DSP读取,若此次加载完成后,出现EDAC校验2Bit错误,则反熔丝型FPGA控制DSP复位,继续加载下一个DSP程序存储区的程序,直到EDAC校验未出现2Bit错误为止,若三个区域DSP程序加载时均出现EDAC校验2Bit错误,则反熔丝型FPGA切换到备用非易失性存储器件重新加载,若两片非易失性存储器件均出现加载异常,则从可编程只读存储器加载最小系统DSP程序。
在具体实施例中,如图5所示,反熔丝FPGA在进行程序加载时,先依次加载三个SRAM型FPGA的配置信息,全部加载成功后,再加载DSP程序;当系统要求从非易失性存储器件(NOR Flash)加载程序,在进行SRAM型FPGA配置信息加载时,反熔丝FPGA先查看备用区FPGA标识号与当前需要加载的SRAM型FPGA序号是否相对应,若对应一致,则从备用区加载,否则直接从实际使用区加载。加载时,先利用非易失性存储器件(NOR Flash)存储的EDAC校验进行数据校正,再送入SRAM型FPGA的SelectMap接口,依次完成三个SRAM型FPGA的配置加载。加载完成后,还需要通过检测Done信号验证其加载是否成功,若三个SRAM型FPGA均加载成功,则进一步加载DSP程序,否则在三次加载失败后,反熔丝FPGA切换到可编程只读存储器(PROM)启动。
当系统要求从非易失性存储器件(NOR Flash)加载程序,在进行DSP程序加载时,复用内部FIFO进行数据缓冲。反熔丝FPGA依次从实际使用区的三个DSP程序存储区进行加载,并且按地址递增的方式读取数据。加载时,先利用非易失性存储器件(NOR Flash)存储的EDAC校验进行数据校正,再送入FIFO数据缓冲模块。若此次加载完成后,出现EDAC校验2Bit错误,则加载分区移动到实际使用区内下一个DSP程序存储区,反熔丝FPGA控制DSP复位,继续加载下一个DSP程序存储区的程序,直到EDAC校验未出现2Bit错误为止。若加载分区移动后出现越界,也即三个区域DSP程序加载时均出现EDAC校验2Bit错误,则反熔丝FPGA切换到可编程只读存储器(PROM)启动。
在其中一个实施例中,当非易失性存储器件加载异常时或地面指令指定运行最小系统程序时,反熔丝型FPGA仅从可编程只读存储器加载DSP最小系统程序,并将三个SRAM型FPGA置于复位状态,从可编程只读存储器加载DSP程序时,利用内部FIFO按地址递增的方式进行数据缓冲,并在DSP端转换为EMIF时序来正确读取DSP。
在具体实施例中,如图6所示,反熔丝型FPGA在进行程序加载时,先读取当前加载来源标识寄存器,当前加载来源为可编程只读存储器(PROM)最小系统时,将三个SRAM型FPGA置于复位状态,读取DSP程序的可编程只读存储器(PROM)数据并送入内部FIFO转化为EMIF时序,复位DSP开始主动加载,加载完毕返馈遥测状态等待地面遥控指令,依据地面重构指令执行非易失性存储器件(NOR Flash)程序重构。
在其中一个实施例中,在上电或整机复位时,反熔丝型FPGA通过配置引脚对片外SRAM的EDAC和自刷新功能进行初始化配置并打开EDAC和自刷新,反熔丝型FPGA允许系统开启或关闭SRAM型FPGA的刷新功能,当SRAM型FPGA的刷新功能打开时,反熔丝型FPGA根据当前程序来源,从非易失性存储器件相应位置读取配置信息并通过SelectMap接口对SRAM型FPGA内部SRAM的配置进行刷新。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (6)

1.一种星载设备软件可靠重构和加载运行方法,其特征在于,所述方法包括:
构建星载设备;所述星载设备包括反熔丝型FPGA、片外SRAM、非易失性存储器件、DSP、SRAM型FPGA以及可编程只读存储器;
对所述非易失性存储器件进行四等分设计,将第一至第三部分设置为实际使用区,第四部分设置为备用区;在所述实际使用区和所述备用区中对SRAM型FPGA的配置信息和DSP程序进行重构,得到重构后的SRAM型FPGA的配置信息和DSP程序;
利用反熔丝型FPGA根据预先设置的加载策略从非易失性存储器件加载重构后的SRAM型FPGA的配置信息和DSP程序,当非易失性存储器件加载异常时,则从可编程只读存储器加载最小系统DSP程序,在上电或整机复位时,反熔丝型FPGA根据当前加载的功能程序,从非易失性存储器件相应位置读取配置信息并通过SelectMap接口对SRAM型FPGA内部SRAM的配置进行刷新;
利用反熔丝型FPGA根据预先设置的加载策略从非易失性存储器件加载重构后的SRAM型FPGA的配置信息和DSP程序,当非易失性存储器件加载异常时,则从可编程只读存储器加载最小系统DSP程序,包括:
利用反熔丝型FPGA根据预先设置的加载策略从非易失性存储器件加载重构后的SRAM型FPGA的配置信息和DSP程序时,先从主份非易失性存储器件依次加载三个SRAM型FPGA的配置信息,全部加载成功后,再加载DSP程序,反熔丝型FPGA先查看备用区FPGA标识号与当前需要加载的SRAM型FPGA序号是否相对应,若对应一致,则从备用区加载,否则直接从实际使用区加载,依次进行三个SRAM型FPGA的配置加载,加载时,先利用非易失性存储器件存储的EDAC校验进行数据校正,再送入SRAM型FPGA的SelectMap接口,加载完成后,还需要通过检测Done信号验证其加载是否成功,若三个SRAM型FPGA均加载成功,则进一步加载DSP程序,否则切换到备份非易失性存储器件重新加载;
反熔丝型FPGA加载DSP程序时,依次从实际使用区的三个DSP程序存储区进行加载,并且按地址递增的方式读取数据,先利用非易失性存储器件存储的EDAC校验进行数据校正,再送入反熔丝型FPGA的FIFO数据缓冲模块,转为EMIF并行时序,供DSP读取,若此次加载完成后,出现EDAC校验2Bit错误,则反熔丝型FPGA控制DSP复位,继续加载下一个DSP程序存储区的程序,直到EDAC校验未出现2Bit错误为止,若三个区域DSP程序加载时均出现EDAC校验2Bit错误,则反熔丝型FPGA切换到备用非易失性存储器件重新加载,若两片非易失性存储器件均出现加载异常,则从可编程只读存储器加载最小系统DSP程序;
当非易失性存储器件加载异常时或地面指令指定运行最小系统程序时,反熔丝型FPGA仅从可编程只读存储器加载DSP最小系统程序,并将三个SRAM型FPGA置于复位状态,从可编程只读存储器加载DSP程序时,利用内部FIFO按地址递增的方式进行数据缓冲,并在DSP端转换为EMIF时序来正确读取DSP。
2.根据权利要求1所述的方法,其特征在于,所述反熔丝型FPGA与片外SRAM、非易失性存储器件、DSP、SRAM型FPGA以及可编程只读存储器相连,通过EMIF的CE1接口实现DSP加载并通过EMIF总线CE2为加载的DSP提供访问非易失性存储器件的接口,所述DSP通过接口对非易失性存储器件进行读写访问,反熔丝型FPGA按照非易失性存储器件的读写时序驱动芯片执行程序重构和升级操作;所述可编程只读存储器使用SelectMap接口与反熔丝型FPGA连接,用于存储DSP最小系统程序,对非易失性存储器件功能程序进行可靠重构。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将片外SRAM的配置引脚与反熔丝型FPGA相连,并且将提供自刷新信号的BUSY引脚与DSP的EMIF接口的READY引脚相连,为DSP读写片外SRAM提供等待信号。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述实际使用区包括配置存储区和DSP程序存储区;所述备用区包括配置存储区和FPGA标识号存储区;所述配置存储区用于存储SRAM型FPGA配置信息及其EDAC校验;所述DSP程序存储区用于存储DSP程序及其EDAC校验;所述FPGA标识号存储区包括三个扇区,用于存储FPGA标识号。
5.根据权利要求4所述的方法,其特征在于,在所述实际使用区和所述备用区中对SRAM型FPGA的配置信息和DSP程序进行重构,包括:
在实际使用区中重构某个SRAM型FPGA的配置信息时,采用按扇区逐步重构,若备用区FPGA标识号为空或者和当前重构的SRAM型FPGA序号一致时,则同步将新的配置信息及其EDAC校验写入到备用区的相应扇区;SRAM型FPGA的配置信息重构结束后,若实际使用区的相应扇区在重构过程中未发生写入错误,且备用区FPGA标识号与当前重构的SRAM型FPGA序号一致时,则将备用区FPGA标识号清空;若实际使用区的相应扇区在重构的过程中发生了写入错误,且备用区FPGA标识号为空时,则将备用区FPGA标识号变更为当前重构的SRAM型FPGA序号;
重构DSP程序为同步向实际使用区的三个DSP程序存储区写入相同的DSP程序及其EDAC校验。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在上电或整机复位时,反熔丝型FPGA通过配置引脚对片外SRAM的EDAC和自刷新功能进行初始化配置并打开EDAC和自刷新,反熔丝型FPGA允许系统开启或关闭SRAM型FPGA的刷新功能,当SRAM型FPGA的刷新功能打开时,反熔丝型FPGA根据当前程序来源,从非易失性存储器件相应位置读取配置信息并通过SelectMap接口对SRAM型FPGA内部SRAM的配置进行刷新。
CN202311804625.9A 2023-12-26 2023-12-26 一种星载设备软件可靠重构和加载运行方法 Active CN117453462B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311804625.9A CN117453462B (zh) 2023-12-26 2023-12-26 一种星载设备软件可靠重构和加载运行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311804625.9A CN117453462B (zh) 2023-12-26 2023-12-26 一种星载设备软件可靠重构和加载运行方法

Publications (2)

Publication Number Publication Date
CN117453462A CN117453462A (zh) 2024-01-26
CN117453462B true CN117453462B (zh) 2024-03-08

Family

ID=89591305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311804625.9A Active CN117453462B (zh) 2023-12-26 2023-12-26 一种星载设备软件可靠重构和加载运行方法

Country Status (1)

Country Link
CN (1) CN117453462B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783434A (zh) * 2018-10-25 2019-05-21 西安空间无线电技术研究所 低代价高可靠的星载单机多片sram型fpga在轨重构系统及方法
CN110874245A (zh) * 2019-11-19 2020-03-10 深圳航天东方红海特卫星有限公司 一种微小卫星星载计算机及其可重构实现方法
CN111142962A (zh) * 2019-11-15 2020-05-12 北京理工大学 一种星载fpga的在轨重构方法及系统
CN111611201A (zh) * 2020-06-24 2020-09-01 中国人民解放军国防科技大学 一种刷新自适应的连续高可靠在轨fpga重构系统与方法
CN112099832A (zh) * 2020-11-04 2020-12-18 中国人民解放军国防科技大学 星载设备的单粒子翻转恢复方法及系统
CN112732334A (zh) * 2021-01-12 2021-04-30 中国科学院微小卫星创新研究院 一种高连续性导航卫星软件重构方法
CN113247308A (zh) * 2021-04-13 2021-08-13 中国科学院上海技术物理研究所 一种多源重构系统、重构方法、构建方法及应用
CN113296820A (zh) * 2021-06-18 2021-08-24 上海航天测控通信研究所 基于sram fpga的星载抗单粒子效应加固方法
WO2021164170A1 (zh) * 2020-02-21 2021-08-26 山东超越数控电子股份有限公司 多路高速协议接口动态可重构系统及实现方法
CN114860650A (zh) * 2022-04-22 2022-08-05 中国科学院国家空间科学中心 一种多片sram型fpga在轨配置管理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO346155B1 (en) * 2020-10-26 2022-03-28 Kongsberg Defence & Aerospace As Configuration authentication prior to enabling activation of a FPGA having volatile configuration-memory
CN112947996B (zh) * 2021-05-14 2021-08-27 南京芯驰半导体科技有限公司 基于虚拟映射的片外非易失性存储器动态装载系统及方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783434A (zh) * 2018-10-25 2019-05-21 西安空间无线电技术研究所 低代价高可靠的星载单机多片sram型fpga在轨重构系统及方法
CN111142962A (zh) * 2019-11-15 2020-05-12 北京理工大学 一种星载fpga的在轨重构方法及系统
CN110874245A (zh) * 2019-11-19 2020-03-10 深圳航天东方红海特卫星有限公司 一种微小卫星星载计算机及其可重构实现方法
WO2021164170A1 (zh) * 2020-02-21 2021-08-26 山东超越数控电子股份有限公司 多路高速协议接口动态可重构系统及实现方法
CN111611201A (zh) * 2020-06-24 2020-09-01 中国人民解放军国防科技大学 一种刷新自适应的连续高可靠在轨fpga重构系统与方法
CN112099832A (zh) * 2020-11-04 2020-12-18 中国人民解放军国防科技大学 星载设备的单粒子翻转恢复方法及系统
CN112732334A (zh) * 2021-01-12 2021-04-30 中国科学院微小卫星创新研究院 一种高连续性导航卫星软件重构方法
CN113247308A (zh) * 2021-04-13 2021-08-13 中国科学院上海技术物理研究所 一种多源重构系统、重构方法、构建方法及应用
CN113296820A (zh) * 2021-06-18 2021-08-24 上海航天测控通信研究所 基于sram fpga的星载抗单粒子效应加固方法
CN114860650A (zh) * 2022-04-22 2022-08-05 中国科学院国家空间科学中心 一种多片sram型fpga在轨配置管理装置

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
Reconfigurable macroprocessor model and its algorithm application;Guangfu Sun;《SPIE》;20010918;全文 *
一种SRAM-FPGA在轨重构的工程实现方案;庞波;郝维宁;张文峰;徐勇;朱剑冰;;航天器工程;20171015(05);全文 *
一种星载软件无线电系统的高可靠智能重构方法;丁磊等;《航天电子对抗》;20181205;全文 *
动态可重构的高速小波图像压缩系统;孙广富等;《信息科技》;20030630;全文 *
卫星导航天线阵抗干扰关键技术研究;鲁祖坤;《信息科技》;20210115;全文 *
卫星导航时域自适应抗干扰技术综述.《 信息科技》.2022,全文. *
星载处理设备软件在轨重构技术研究;王战强等;《信息科技》;20130325;全文 *
熊浩伦等.基于最小系统的小卫星在轨软件重构系统设计.《工程科技Ⅱ辑》.全文. *

Also Published As

Publication number Publication date
CN117453462A (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
US8171281B2 (en) Microprocessor boot-up controller connected to a processor and NAND flash memory for controlling the boot-up of a computer device
US7793035B2 (en) Memory system and controller
US8656252B2 (en) Memory controller and non-volatile storage device
CN110874245B (zh) 一种微小卫星星载计算机及其可重构实现方法
US8856427B2 (en) Memory controller and non-volatile storage device
CN102135891B (zh) 可实现引导启动的系统及引导启动控制装置和方法
CN104035843B (zh) 用于提高锁步核可用性的系统和方法
CN111176908B (zh) 一种基于三模冗余的程序在轨加载刷新方法
US8060784B1 (en) Programmable logic device and methods for providing multi-boot configuration data support
CN108319465B (zh) 对fpga配置数据进行升级的电路及方法
CN107704285B (zh) 现场可编程门阵列多版本配置芯片、系统和方法
CN110555237B (zh) 一种fpga在轨动态可重构方法
US10346240B2 (en) Repair information providing device in an integrated circuit
US9092322B2 (en) Processor system and control method thereof
CN105446783B (zh) 一种皮卫星dsp程序快速加载方法
CN117453462B (zh) 一种星载设备软件可靠重构和加载运行方法
CN117453279B (zh) 一种适用于太空强辐射环境下的星载设备硬件架构
CN113906511A (zh) 非易失性存储器装置中的数据读取与编程的安全性及正确性的改进
CN103677868A (zh) 一种通过芯片内部的mcu配置芯片内置fpga的方法
Carmichael et al. Correcting single-event upsets in virtex-4 platform FPGA configuration memory
CN111696614B (zh) 非挥发性存储器冗余存储的控制测试电路和控制测试方法
US11372700B1 (en) Fault-tolerant data transfer between integrated circuits
Zeif et al. The redundancy and fail-safe concept of the OPS-SAT payload processing platform
CN208314757U (zh) 对fpga配置数据进行升级的电路
US20110314236A1 (en) Control apparatus, control method, and storage system

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