CN114860650A - 一种多片sram型fpga在轨配置管理装置 - Google Patents

一种多片sram型fpga在轨配置管理装置 Download PDF

Info

Publication number
CN114860650A
CN114860650A CN202210427818.6A CN202210427818A CN114860650A CN 114860650 A CN114860650 A CN 114860650A CN 202210427818 A CN202210427818 A CN 202210427818A CN 114860650 A CN114860650 A CN 114860650A
Authority
CN
China
Prior art keywords
chip
bit stream
configuration
orbit
fpga chip
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
CN202210427818.6A
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.)
National Space Science Center of CAS
Original Assignee
National Space Science Center 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 National Space Science Center of CAS filed Critical National Space Science Center of CAS
Priority to CN202210427818.6A priority Critical patent/CN114860650A/zh
Publication of CN114860650A publication Critical patent/CN114860650A/zh
Pending legal-status Critical Current

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/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Stored Programmes (AREA)

Abstract

本发明属于航空航天和航天器电子设备配置管理技术领域,具体地说,涉及一种多片SRAM型FPGA在轨配置管理装置,该装置包括:至少三片NOR FLASH存储芯片、至少两片EEPROM存储芯片、至少三片PROM存储芯片和一片反熔丝FPGA芯片;所述反熔丝FPGA芯片上设有至少三个NOR FLASH接口、至少两个EEPROM接口和至少三个PROM接口;每片NOR FLASH存储芯片通过NOR FLASH接口与反熔丝FPGA芯片电性连接,每片EEPROM存储芯片通过EEPROM接口与反熔丝FPGA芯片电性连接,每片PROM存储芯片通过PROM接口与反熔丝FPGA芯片电性连接,被管理的SRAM型FPGA芯片通过配置管理接口与反熔丝FPGA芯片电性连接。本发明的装置通过多片SRAM型FPGA芯片的在轨配置管理,可以有效实现对航天器中FPGA软件功能的在轨更新和升级。

Description

一种多片SRAM型FPGA在轨配置管理装置
技术领域
本发明属于航空航天和航天器电子设备配置管理技术领域,具体地说,涉及一种多片SRAM型FPGA在轨配置管理装置。
背景技术
现场可编程门阵列(Field Programmable Gate Array,简写FPGA)因其所具有的设计灵活、功耗小、集成度高等优点,已经在空间探索领域中被广泛应用。随着航天器执行任务的日益复杂,智能处理算法层出不穷,对航天器硬件设计带来了极大的挑战,为了解决星载设备算力不足的问题,现有的航天器主流硬件设计通常为多片SRAM型FPGA阵列模式,以往单片FPGA的配置管理方法已经无法满足新的设计需求,因此,多片SRAM型FPGA的高可靠和有效管理是航天器算力提升的重要需求。
同时,由于SRAM型FPGA在空间辐射环境下一直存在极易受到单粒子效应影响从而引发系统功能故障的问题。目前,对抗单粒子翻转的设计方法主要有以下几种:
1.利用静态重配置技术,实现配置RAM的单粒子防护,但是,该方案缺点在于:实施过程中需要复位,FPGA不工作,不利于执行不间断任务的航天器采用;
2.利用动态刷新技术,实现配置RAM的单粒子防护,该方法不需复位,设计架构简单,易于实现、资源利用率低、可靠性较高,但是,由于每次刷新会将翻转的RAM单元和未翻转的RAM单元均写一遍,因此,刷新效率不高,同时由于对FPGA配置电路本身没有进行检测及防护,当发生配置电路单粒子中断(SEFI)时,极易造成错误刷新,从而带来电路错误甚至芯片烧毁的后果;
3.利用纠检错码技术,实现BRAM的单粒子防护:该方案针对数据流极其有效,但是,对于大规模配置电路收效甚微;
4.利用三模冗余技术,实现CLB中存储单元的单粒子防护:该方案是主流SRAM型FPGA设计采用方案,但是,消耗资源太大。
发明内容
为解决现有技术存在的上述缺陷,本发明提出了一种多片FPGA在轨配置管理装置,具体涉及一种面向航天应用的多片SRAM型FPGA在轨配置管理装置,基于高效、高可靠的自恢复配置管理电路,提高在轨配置管理可靠度,易于工程实现。
本发明提供了一种多片SRAM型FPGA在轨配置管理装置,该装置设置在星上航天器,用于在星上航天器开始工作时,对星上航天器进行在轨升级、配置加载与刷新、存储控制,实现在轨配置管理;该装置包括:至少三片NOR FLASH存储芯片、至少两片EEPROM存储芯片、至少三片PROM存储芯片和一片反熔丝FPGA芯片;
所述反熔丝FPGA芯片上设有至少三个NOR FLASH接口、至少两个EEPROM接口、至少三个PROM接口;
每片NOR FLASH存储芯片通过NOR FLASH接口与反熔丝FPGA芯片电性连接,每片EEPROM存储芯片通过EEPROM接口与反熔丝FPGA芯片电性连接,每片PROM存储芯片通过PROM接口与反熔丝FPGA芯片电性连接,
被管理的SRAM型FPGA通过配置管理接口与反熔丝FPGA芯片电性连接;
所述PROM存储芯片为不可重复存储器,用于在星上航天器开始工作前,预先存储每个SRAM型FPGA芯片所需要的基础更新软件配置位流包;其中,所述基础更新软件配置位流包为能够对SRAM型FPGA芯片进行基本运行的配置位流包;
所述EEPROM存储芯片,用于在星上航天器开始工作前,预先存储每个SRAM型FPGA芯片所需要的待更新的在轨更新软件配置位流包,为在轨软件更新或重要配置位流冗余备份做准备;其中,待更新的在轨更新软件配置位流包为星上航天器进入轨道后需要对星上航天器实现预先指定功能的配置位流包;
所述NOR FLASH存储芯片,用于在星上航天器开始工作后,通过星地链路从地面站将每个SRAM型FPGA芯片所需要的实时待更新在轨更新软件配置位流包进行上注,将每个SRAM型FPGA芯片所需要的实时待更新的在轨更新软件配置位流包进行存储,为每个SRAM型FPGA芯片在轨软件实时更新做准备;
所述反熔丝FPGA芯片,用于根据地面站发送的遥控指令,选择一对一、一对多、多对一或多对多的在轨更新方式,以及选择不同的存储芯片,分别读取对应的存储芯片内存储的配置位流包,并对应地发送至相互组合的多个SRAM型FPGA芯片;
所述多个SRAM型FPGA芯片,用于在星上航天器中,在轨配置管理装置开始工作时,根据地面站发送的遥控指令或默认工作状态,将对应的存储芯片内存储的配置位流包,对每个对应的SRAM型FPGA芯片进行软件配置;或接收地面上注位流数据,并存储在对应的存储器中,再对每个对应的SRAM型FPGA芯片进行软件配置;从而实现对星上航天器中FPGA软件的在轨升级、配置加载与刷新、位流数据的存储控制,进而实现在轨配置管理;其中,每个SRAM型FPGA芯片里配置一个对应的配置位流包。
作为上述技术方案的改进之一,所述反熔丝FPGA芯片上还设有遥测接口和遥控接口;
遥测处理电路通过遥测接口与反熔丝FPGA芯片电性连接,遥控处理电路通过遥控接口反熔丝FPGA芯片电性连接;
所述遥测处理电路,用于通过星地链路,与地面站进行遥测通信,将星上航天器的在轨更新结果反馈至地面站;其中,所述地面站为与星上航天器对应的地面测控系统,为航天器提供星地通信链路;
所述遥控处理电路,用于通过星地链路,与地面站进行遥控通信,将地面站发送的遥控指令发送至反熔丝型FPGA芯片。
作为上述技术方案的改进之一,所述反熔丝FPGA芯片包括:
在轨配置管理电路,用于根据地面站发送的遥控指令,选择一对一、一对多、多对一或多对多的在轨更新方式,以及选择不同的存储芯片,分别读取对应的存储芯片内存储的配置位流包,并对应地发送至相互组合的多个SRAM型FPGA芯片。
作为上述技术方案的改进之一,所述在轨配置管理电路包括:
上注数据流写入更新电路,用于根据地面站发送的遥控指令,选择一对一、一对多、多对一或多对多的在轨更新方式,以及选择不同的存储芯片,分别读取对应的存储芯片内存储的配置位流包,实现对每个SRAM型FPGA芯片的在轨配置位流包的配置;
配置加载与刷新电路,用于对每个SRAM型FPGA芯片进行在轨配置加载、部分回读,以及对在轨软件进行定时刷新;
其中,所述在轨配置加载为将对应的位流包写入对应的SRAM型FPGA芯片中的配置存储区,进而实现相应的SRAM型FPGA芯片的在轨软件更新;
所述部分回读为通过对相应的配置存储区内的部分数据进行读出,并与写入的位流包中的位流文件数据进行比对,通过比对结果,检查相应的配置存储区中写入的位流包是否出错;
如果比对结果一致,则写入的位流包没有出错;
如果比对结果不一致,则写入的位流包发生错误,通过重加载配置对该位流包进行重写;
所述定时刷新操作为通过对配置存储区数据进行重写,保证配置数据不出错。
作为上述技术方案的改进之一,所述上注数据流写入更新电路的具体实现过程包括:
当地面站发送的遥控指令为对至少三个被管理的SRAM型FPGA芯片同时进行基础在轨更新、在轨更新和实时在轨更新时,星上航天器开始工作时,选择一对多的在轨更新方式,以及分别选择PROM存储芯片、EEPROM存储芯片和NOR FLASH存储芯片;
针对其中一个SRAM型FPGA芯片,反熔丝FPGA芯片从该PROM存储芯片中读取对应的配置位流包,实现对该SRAM型FPGA芯片的在轨配置位流包的配置;进而加载对应的配置位流包,完成对该SRAM型FPGA芯片的在轨软件基础升级与更新;
针对其中另外一个未使用的SRAM型FPGA芯片,反熔丝FPGA芯片从该EEPROM存储芯片中读取对应的配置位流包,实现对该SRAM型FPGA芯片的在轨配置位流包的配置;进而加载对应的配置位流包,完成对该SRAM型FPGA芯片的在轨软件升级与更新;
针对剩下的一个SRAM型FPGA芯片,反熔丝FPGA芯片从该NOR FLASH存储芯片中读取对应的配置位流包,实现对该SRAM型FPGA芯片的在轨配置位流包的配置;进而加载对应的配置位流包,完成对该SRAM型FPGA芯片的实时在轨软件升级与更新;其中,在完成更新后,可将该NOR FLASH存储芯片中存储的配置位流包通过反熔丝FPGA芯片和对应的EEPROM接口,写入EEPROM存储芯片,后续如再遇到需要进行该更新时,可直接从EEPROM存储芯片中读取对应的配置位流包,并进行相应的记载,从而在对应的SRAM型FPGA芯片中完成在轨更新和升级。
作为上述技术方案的改进之一,所述在轨配置管理电路还包括:
内部数据流切换电路,用于内部数据和地址总线的切换控制;
PROM接口控制电路,用于将每片PROM芯片读出的配置位流包分发至未使用的SRAM型FPGA芯片进行上注;
EEPROM接口控制电路,用于将每片EEPROM芯片读出的或写入的配置位流包分发至未使用的SRAM型FPGA芯片进行上注;
FLASH接口控制电路,用于将每片NOR FLASH芯片读出的或写入的配置位流包分发至未使用的SRAM型FPGA芯片进行上注;还用于对读出的或写入的配置位流包进行擦除;
存储器控制电路,用于控制PROM接口控制电路的读取、控制EEPROM接口控制电路的读取和写入,以及控制FLASH接口控制电路的读取、写入或擦除。
本发明与现有技术相比的有益效果是:
1、本发明的装置通过多片SRAM型FPGA芯片的在轨配置管理,可以有效实现对航天器中FPGA软件功能的在轨更新和升级;
2、本发明的装置能够有效减少对配置位流包的上注时间,节省星地链路资源。由于星地上行链路资源宝贵,单个软件配置项的上注时间通常超过了1天。本装置通过对多片FPGA进行管理,可实现上注一次软件配置项对多片SRAM型FPGA芯片进行配置;
3、本发明的装置还具有软件功能冗余备份的功能,提高向上航天器在轨运行的可靠性;由于航天应用的在轨不可维修性,要求软件要具备较高的可靠性。与常规技术手段相比,本装置通过软件配置管理,实现了多个软件配置项存储在不同的存储器中,互为备份;
4、本发明的装置能够提高软件配置灵活性,降低软件应用费效比,且支持软件配置项与SRAM型FPGA芯片的两两组合,最大限度的利用在轨存储资源,综合降低航天应用的费效比。
附图说明
图1是根据本发明一个实施例的两片FPGA在轨配置管理装置的系统框图;
图2是本发明的管理装置的一个实施例中的2片SRAM型FPGA的软件在轨更新过程和方法示意图。
具体实施方式
现结合附图和实例对本发明作进一步的描述。
如图1所示,本发明提供了一种多片FPGA在轨配置管理装置,该装置设置在星上航天器,用于在星上航天器开始工作时,对星上航天器进行在轨升级、配置加载与刷新、存储控制和内部总线切换,实现在轨配置管理;SRAM型FPGA被大量使用在航天器中,实现遥测遥控、任务规划、能源管理、数据处理等多种功能。本发明主要针对SRAM型FPGA实现了一种软件配置管理装置,具备高效完成SRAM型FPGA软件的健康监测、动态重构、上注更新等在轨管理维护能力。该装置包括:至少三片NOR FLASH存储芯片、至少两片EEPROM存储芯片、至少三片PROM存储芯片和一片反熔丝FPGA芯片;
所述反熔丝FPGA芯片上设有至少三个NOR FLASH接口、至少两个EEPROM接口和至少三个PROM接口;
每片NOR FLASH存储芯片通过NOR FLASH接口与反熔丝FPGA芯片电性连接,每片EEPROM存储芯片通过EEPROM接口与反熔丝FPGA芯片电性连接,每片PROM存储芯片通过PROM接口与反熔丝FPGA芯片电性连接,
被管理的SRAM型FPGA芯片通过配置管理接口与反熔丝FPGA芯片电性连接;
具体地,如图1所示,NOR FLASH存储芯片0(即FLASH 0)通过NOR FLASH接口与反熔丝FPGA芯片电性连接,NOR FLASH存储芯片1即FLASH 1)通过NOR FLASH接口与反熔丝FPGA芯片电性连接,NOR FLASH存储芯片2(即FLASH 2)通过NOR FLASH接口与反熔丝FPGA芯片电性连接;EEPROM存储芯片0(即EEPROM 0)通过EEPROM接口与反熔丝FPGA芯片电性连接,EEPROM存储芯片1(即EEPROM 1)通过EEPROM接口与反熔丝FPGA芯片电性连接,EEPROM存储芯片2(即EEPROM 2)通过EEPROM接口与反熔丝FPGA芯片电性连接,EEPROM存储芯片3(即EEPROM 3)通过EEPROM接口与反熔丝FPGA芯片电性连接;PROM存储芯片0(即PROM 0)通过PROM接口与反熔丝FPGA芯片电性连接,PROM存储芯片1(即PROM 1)通过PROM接口与反熔丝FPGA芯片电性连接,PROM存储芯片2(即PROM 2)通过PROM接口与反熔丝FPGA芯片电性连接;SRAM型FPGA芯片0(即SRAM FPGA 0)通过配置管理接口与反熔丝FPGA芯片电性连接,SRAM型FPGA芯片1(即SRAM FPGA 1)通过配置管理接口与反熔丝FPGA芯片电性连接,
所述PROM存储芯片为不可重复存储器,用于在星上航天器开始工作前,预先存储每个SRAM型FPGA芯片所需要的基础更新软件配置位流包;其中,所述基础更新软件配置位流包为能够对SRAM型FPGA芯片进行基本运行的配置位流包;
所述EEPROM存储芯片,用于在星上航天器开始工作前,预先存储每个SRAM型FPGA芯片所需要的待更新的在轨更新软件配置位流包,为在轨软件更新或重要配置位流冗余备份做准备;其中,待更新的在轨更新软件配置位流包为星上航天器进入轨道后需要对星上航天器实现预先指定功能的配置位流包;
所述NOR FLASH存储芯片,用于在星上航天器开始工作后,通过星地链路从地面站将每个SRAM型FPGA芯片所需要的实时待更新在轨更新软件配置位流包进行上注,将每个SRAM型FPGA芯片所需要的实时待更新的在轨更新软件配置位流包进行存储,为每个SRAM型FPGA在轨软件实时更新做准备;
所述反熔丝FPGA芯片,用于根据地面站发送的遥控指令,选择一对一、一对多、多对一或多对多的在轨更新方式,以及选择不同的存储芯片,分别读取对应的存储芯片内存储的配置位流包,并对应地发送至相互组合的多个SRAM型FPGA芯片;
所述多个SRAM型FPGA芯片之间彼此相互组合,用于在星上航天器中,在轨配置管理装置开始工作时,根据地面站发送的遥控指令或默认工作状态,将对应的存储芯片内存储的配置位流包,对每个对应的SRAM型FPGA芯片进行软件配置;或接收地面上注位流数据,并存储在对应的存储器中,再对每个对应的SRAM型FPGA芯片进行软件配置;从而实现对星上航天器中FPGA软件的在轨升级、配置加载与刷新、位流数据的存储控制,进而实现在轨配置管理;其中,每个SRAM型FPGA芯片里配置一个对应的配置位流包。
其中,所述反熔丝FPGA芯片上还设有遥测接口和遥控接口;
遥测处理电路通过遥测接口与反熔丝FPGA芯片电性连接,遥控处理电路通过遥控接口与反熔丝FPGA芯片电性连接;
所述遥测处理电路,用于通过星地链路,与地面站进行遥测通信,将星上航天器的在轨更新结果反馈至地面站;其中,如图1所示,所述地面站为与星上航天器上的测控分系统对应的地面测控系统;
所述遥控处理电路,用于通过星地链路,与地面站进行遥控通信,将地面站发送的遥控指令发送至反熔丝型FPGA芯片;
其中,所述反熔丝FPGA芯片包括:
在轨配置管理电路,用于根据地面站发送的遥控指令,选择一对一、一对多、多对一或多对多的在轨更新方式,以及选择不同的存储芯片,分别读取对应的存储芯片内存储的配置位流包,并对应地发送至相互组合的多个SRAM型FPGA芯片。
其中,所述在轨配置管理电路包括:上注数据流写入更新电路和配置加载与刷新电路;
所述上注数据流写入更新电路,用于根据地面站发送的遥控指令,选择一对一、一对多、多对一或多对多的在轨更新方式,以及选择不同的存储芯片,分别读取对应的存储芯片内存储的配置位流包,实现对每个SRAM型FPGA芯片的在轨配置位流包的配置;
所述配置加载与刷新电路,用于对每个SRAM型FPGA芯片进行在轨配置加载、部分回读,以及定时刷新的在轨软件健康可靠管理;
其中,所述在轨配置加载为将对应的位流包写入对应的SRAM型FPGA芯片中的配置存储区,进而实现相应的SRAM型FPGA芯片的在轨软件更新;
所述部分回读为通过对相应的配置存储区内的部分数据进行读出,并与写入的位流包中的位流文件数据进行比对,通过比对结果,检查相应的配置存储区中写入的位流包是否出错;
如果比对结果一致,则写入的位流包没有出错;
如果比对结果不一致,则写入的位流包发生错误,并通过重加载配置对该位流包进行重写;
所述定时刷新操作为通过对配置存储区数据进行重写,保证数据不出错。
如图2所示,所述上注数据流写入更新电路的具体实现过程为:
当地面站发送的遥控指令为对某个SRAM型FPGA芯片进行基础在轨更新时,星上航天器开始工作时,选择一对一的在轨更新方式,以及选择PROM存储芯片,且该PROM存储芯片中已经预先存储该SRAM型FPGA芯片所需要的基础软件配置位流包,反熔丝FPGA芯片从该PROM存储芯片中读取对应的配置位流包,实现对该SRAM型FPGA芯片的在轨配置位流包的配置;进而加载对应的配置位流包,完成对该SRAM型FPGA芯片的在轨基础软件的加载运行;
当地面站发送的遥控指令为对至少三个被管理的SRAM型FPGA芯片同时进行加载运行基础软件、加载运行升级软件和快速上注在轨更新时,星上航天器开始工作时,选择一对多的在轨更新方式,以及分别选择PROM存储芯片、EEPROM存储芯片和NOR FLASH存储芯片;
针对其中一个SRAM型FPGA芯片,反熔丝FPGA芯片从该PROM存储芯片中读取对应的配置位流包,实现对该SRAM型FPGA芯片的在轨配置位流包的配置;进而加载对应的配置位流包,完成对该SRAM型FPGA芯片的在轨软件加载运行;
针对其中另外一个未使用的SRAM型FPGA芯片,反熔丝FPGA芯片从该EEPROM存储芯片中读取对应的配置位流包,实现对该SRAM型FPGA芯片的在轨配置位流包的配置;进而加载对应的配置位流包,完成对该SRAM型FPGA芯片的在轨软件升级与更新;
针对剩下的一个SRAM型FPGA芯片,反熔丝FPGA芯片从该NOR FLASH存储芯片中读取对应的配置位流包,实现对该SRAM型FPGA芯片的在轨配置位流包的配置;进而加载对应的配置位流包,完成对该SRAM型FPGA芯片的实时在轨软件升级与更新;其中,在完成更新后,可将该NOR FLASH存储芯片中存储的配置位流包通过反熔丝FPGA芯片和对应的EEPROM接口,写入EEPROM存储芯片,后续如再遇到需要进行该更新时,可直接从EEPROM存储芯片中读取对应的配置位流包,并进行相应的记载,从而在对应的SRAM型FPGA芯片中完成在轨更新和升级;
当地面站发送的遥控指令为对某个SRAM型FPGA芯片同时进行基础在轨更新、在轨更新和实时在轨更新时,星上航天器开始工作时,选择一对多的在轨更新方式,以及分别选择PROM存储芯片、EEPROM存储芯片和NOR FLASH存储芯片,并分别将对应的配置位流包写入该SRAM型FPGA芯片的配置存储区;
针对该SRAM型FPGA芯片,反熔丝FPGA芯片从该PROM存储芯片中读取对应的配置位流包,并写入该SRAM型FPGA芯片,该SRAM型FPGA芯片执行对应的配置位流包中位流文件,实现对该SRAM型FPGA芯片的在轨配置位流包的配置;进而加载对应的配置位流包,完成对该SRAM型FPGA芯片的在轨软件基础升级与更新;
然后,针对该SRAM型FPGA芯片,反熔丝FPGA芯片从该EEPROM存储芯片中读取对应的配置位流包,并写入该SRAM型FPGA芯片,该SRAM型FPGA芯片执行对应的配置位流包中位流文件,实现对该SRAM型FPGA芯片的在轨配置位流包的配置;进而加载对应的配置位流包,完成对该SRAM型FPGA芯片的在轨软件升级与更新;
然后,针对该SRAM型FPGA芯片,反熔丝FPGA芯片从该NOR FLASH存储芯片中读取对应的配置位流包,并写入该SRAM型FPGA芯片,该SRAM型FPGA芯片执行对应的配置位流包中位流文件,实现对该SRAM型FPGA芯片的在轨配置位流包的配置;进而加载对应的配置位流包,完成对该SRAM型FPGA芯片的实时在轨软件升级与更新;其中,在完成更新后,可将该NORFLASH存储芯片中存储的配置位流包通过反熔丝FPGA芯片和对应的EEPROM接口,写入EEPROM存储芯片,后续如再遇到需要进行该更新时,可直接从EEPROM存储芯片中读取对应的配置位流包,并进行相应的记载,从而在对应的SRAM型FPGA芯片中完成在轨更新和升级;
多对一和多对多的在轨更新方式,与上述技术方案相似,在此不一一陈述。
存储器:本装置通过多类存储器构建软件在轨更新管理方案,采用PROM、EEPROM、NOR FLASH作为软件配置数据包的非易失性存储器,其中PROM为不可更改的只读类存储器(只读不可写),该类存储器造价昂贵且一次性烧写后数据不可更改,作为存储软件的基础版本,该版本软件存储后,在任何情况下都不会被更改;EEPROM存储器作用有两点,上注更新前作为PROM的冗余备份,防止PROM中软件数据损坏,上注更新后的软件经过在轨测试验证正确以后,最终的更新软件存放在EEPROM中;NOR FLASH作为上注更新软件的直接存储区,航天器在轨接收到的上注软件数据首先存储在NOR FLASH中,如果完成软件上注,首先从NOR FLASH中给目标FPGA加载相应的软件,软件在轨测试验证正确后,再搬移到EEPROM中,并最终从EEPROM中加载。
综上总结,PROM(软件基础版本),EEPROM(软件基础版本或测试验证后的在轨更新版本),NOR FLASH(在轨更新版本)。从工作流程看,航天器在轨时默认使用PROM内基本版本软件,当需要在轨更新时,首先将软件上注到NOR FLASH中,通过NOR FLASH对目标FPGA进行加载重配置;然后对软件更新后的FPGA进行在轨功能测试,待测试正确后将软件更新数据从NOR FLASH中搬移到EEPROM中,最终在轨更新后并长期工作的软件将从EEPROM中加载。
加载配置:航天器使用的SRAM型FPGA数量较多,通过本装置可以实现对多片SRAM型FPGA的软件在轨更新管理,示例中(如图1所示)主要详述了2片SRAM型FPGA的软件在轨更新过程和方法。由存储器方案可知,本装置提供三类用于存储更新软件的存储器,数据流的南向接口都是存储器接口,同时在北向都是SRAM型FPGA(示例中为2片);原则上南向的存储器和北向的SRAM型FPGA可以实现两两组合,同一个软件配置数据包可以加载多片FPGA,也可以实现某一个软件配置项对某一个FPGA的加载,根据任务所需的加载配置软件和目标FPGA通过遥控指令进行选择。
在轨软件更新需求:
1、可靠性需求,航天器长期在轨工作时无法进行维护,所以对软硬件有较高的可靠性要求,软件在轨重构可以防止软件数据损坏,是提高软件可靠性的重要技术手段之一;
2、功能变化需求,航天器长期在轨工作,随着任务变化,客观存在软件在轨更新需求;
3、功能复用需求,航天器硬件资源宝贵,在有限硬件资源的情况下,可通过在轨软件更新实现多任务的分时复用,提高航天器应用效能。
其中,所述在轨配置管理电路还包括:
内部数据流切换电路,用于内部数据和地址总线的切换控制;其中,所述内部数据包括:不同存储芯片所存储的对应的配置位流包;
PROM接口控制电路,用于将每片PROM芯片读出的配置位流包分发至未使用的SRAM型FPGA芯片进行上注;
EEPROM接口控制电路,用于将每片EEPROM芯片读出的或写入的配置位流包分发至未使用的SRAM型FPGA芯片进行上注;
FLASH接口控制电路,用于将每片NOR FLASH芯片读出的或写入的配置位流包分发至未使用的SRAM型FPGA芯片进行上注;还用于对读出的或写入的配置位流包进行擦除;和
存储器控制电路,用于控制PROM接口控制电路的读取、控制EEPROM接口控制电路的读取和写入,以及控制FLASH接口控制电路的读取、写入或擦除。
由于星上硬件资源的有限性及现代航天器对长寿命的需求,因此,可在轨升级便成为面向航天应用设备中比较重要的一项配置管理内容;利用星地链路通过遥测处理电路和遥控处理电路将需要更新的软件配置位流包预先上注至NOR FLASH存储芯片中,并从存储芯片中加载对应的需要更新的软件配置位流包,然后通过遥控重构指令,完成星上航天器中的SRAM型FPGA芯片的在轨升级与更新。
综上所述,本发明提供的方法适合应用于所有面向航天应用的多片FPGA在轨配置管理系统,可以有效实现对航天器中FPGA软件功能的在轨更新和升级。本发明占用较少硬件资源,但可获得较高程度的可靠性,工程实现也相对便利。实践证明,该装置及方法针对SRAM型FPGA的配置电路结构特点,结合现有航天产品单粒子防护方案,是一种适用于航天领域的高效、高可靠的配置管理装置及方法。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (6)

1.一种多片SRAM型FPGA在轨配置管理装置,其特征在于,该装置设置在星上航天器,用于在星上航天器开始工作时,对星上航天器进行在轨升级、配置加载与刷新、存储控制,实现在轨配置管理;该装置包括:至少三片NOR FLASH存储芯片、至少两片EEPROM存储芯片、至少三片PROM存储芯片和一片反熔丝FPGA芯片;
所述反熔丝FPGA芯片上设有至少三个NOR FLASH接口、至少两个EEPROM接口和至少三个PROM接口;
每片NOR FLASH存储芯片通过NOR FLASH接口与反熔丝FPGA芯片电性连接,每片EEPROM存储芯片通过EEPROM接口与反熔丝FPGA芯片电性连接,每片PROM存储芯片通过PROM接口与反熔丝FPGA芯片电性连接,
被管理的SRAM型FPGA芯片通过配置管理接口与反熔丝FPGA芯片电性连接;
所述PROM存储芯片为不可重复存储器,用于在星上航天器开始工作前,预先存储每个SRAM型FPGA芯片所需要的基础更新软件配置位流包;其中,所述基础更新软件配置位流包为能够对SRAM型FPGA芯片进行基本运行的配置位流包;
所述EEPROM存储芯片,用于在星上航天器开始工作前,预先存储每个SRAM型FPGA芯片所需要的待更新的在轨更新软件配置位流包,为在轨软件更新或重要配置位流冗余备份做准备;其中,待更新的在轨更新软件配置位流包为星上航天器进入轨道后需要对星上航天器实现预先指定功能的配置位流包;
所述NOR FLASH存储芯片,用于在星上航天器开始工作后,通过星地链路从地面站将每个SRAM型FPGA芯片所需要的实时待更新在轨更新软件配置位流包进行上注,将每个SRAM型FPGA芯片所需要的实时待更新的在轨更新软件配置位流包进行存储,为每个SRAM型FPGA芯片在轨软件实时更新做准备;
所述反熔丝FPGA芯片,用于根据地面站发送的遥控指令,选择一对一、一对多、多对一或多对多的在轨更新方式,以及选择不同的存储芯片,分别读取对应的存储芯片内存储的配置位流包,并对应地发送至相互组合的多个SRAM型FPGA芯片;
所述多个SRAM型FPGA芯片,用于在星上航天器中,在轨配置管理装置开始工作时,根据地面站发送的遥控指令或默认工作状态,将对应的存储芯片内存储的配置位流包,对每个对应的SRAM型FPGA芯片进行软件配置;或接收地面上注位流数据,并存储在对应的存储器中,再对每个对应的SRAM型FPGA芯片进行软件配置;从而实现对星上航天器中FPGA软件的在轨升级、配置加载与刷新、位流数据的存储控制,进而实现在轨配置管理;其中,每个SRAM型FPGA芯片里配置一个对应的配置位流包。
2.根据权利要求1所述的多片FPGA在轨配置管理装置,其特征在于,所述反熔丝FPGA芯片上还设有遥测接口和遥控接口;
遥测处理电路通过遥测接口与反熔丝FPGA芯片电性连接,遥控处理电路通过遥控接口反熔丝FPGA芯片电性连接;
所述遥测处理电路,用于通过星地链路,与地面站进行遥测通信,将星上航天器的在轨更新结果反馈至地面站;其中,所述地面站为与星上航天器上的测控分系统对应的地面测控系统,为航天器提供星地通信链路;
所述遥控处理电路,用于通过星地链路,与地面站进行遥控通信,将地面站发送的遥控指令发送至反熔丝型FPGA芯片。
3.根据权利要求2所述的多片FPGA在轨配置管理装置,其特征在于,所述反熔丝FPGA芯片包括:
在轨配置管理电路,用于根据地面站发送的遥控指令,选择一对一、一对多、多对一或多对多的在轨更新方式,以及选择不同的存储芯片,分别读取对应的存储芯片内存储的配置位流包,并对应地发送至相互组合的多个SRAM型FPGA芯片。
4.根据权利要求3所述的多片FPGA在轨配置管理装置,其特征在于,所述在轨配置管理电路包括:上注数据流写入更新电路和配置加载与刷新电路;
所述上注数据流写入更新电路,用于根据地面站发送的遥控指令,选择一对一、一对多、多对一或多对多的在轨更新方式,以及选择不同的存储芯片,分别读取对应的存储芯片内存储的配置位流包,实现对每个SRAM型FPGA芯片的在轨配置位流包的配置;
所述配置加载与刷新电路,用于对每个SRAM型FPGA芯片进行在轨配置加载、部分回读,以及对在轨软件进行定时刷新;
其中,所述在轨配置加载为将对应的位流包写入对应的SRAM型FPGA芯片中的配置存储区,进而实现相应的SRAM型FPGA芯片的在轨软件更新;
所述部分回读为通过对相应的配置存储区内的部分数据进行读出,并与写入的位流包中的位流文件数据进行比对,通过比对结果,检查相应的配置存储区中写入的位流包是否出错;
如果比对结果一致,则写入的位流包没有出错;
如果比对结果不一致,则写入的位流包发生错误,通过重加载配置对该位流包进行重写;
所述定时刷新操作为通过对配置存储区数据进行重写,保证配置数据不出错。
5.根据权利要求4所述的多片FPGA在轨配置管理装置,其特征在于,所述上注数据流写入更新电路的具体实现过程包括:
当地面站发送的遥控指令为对至少三个被管理的SRAM型FPGA芯片同时进行基础在轨更新、在轨更新和实时在轨更新时,星上航天器开始工作时,选择一对多的在轨更新方式,以及分别选择PROM存储芯片、EEPROM存储芯片和NOR FLASH存储芯片;
针对其中一个SRAM型FPGA芯片,反熔丝FPGA芯片从该PROM存储芯片中读取对应的配置位流包,实现对该SRAM型FPGA芯片的在轨配置位流包的配置;进而加载对应的配置位流包,完成对该SRAM型FPGA芯片的在轨软件基础升级与更新;
针对其中另外一个未使用的SRAM型FPGA芯片,反熔丝FPGA芯片从该EEPROM存储芯片中读取对应的配置位流包,实现对该SRAM型FPGA芯片的在轨配置位流包的配置;进而加载对应的配置位流包,完成对该SRAM型FPGA芯片的在轨软件升级与更新;
针对剩下的一个SRAM型FPGA芯片,反熔丝FPGA芯片从该NOR FLASH存储芯片中读取对应的配置位流包,实现对该SRAM型FPGA芯片的在轨配置位流包的配置;进而加载对应的配置位流包,完成对该SRAM型FPGA芯片的实时在轨软件升级与更新;其中,在完成更新后,可将该NOR FLASH存储芯片中存储的配置位流包通过反熔丝FPGA芯片和对应的EEPROM接口,写入EEPROM存储芯片,后续如再遇到需要进行该更新时,可直接从EEPROM存储芯片中读取对应的配置位流包,并进行相应的记载,从而在对应的SRAM型FPGA芯片中完成在轨更新和升级。
6.根据权利要求4所述的多片FPGA在轨配置管理装置,其特征在于,所述在轨配置管理电路还包括:
内部数据流切换电路,用于内部数据和地址总线的切换控制;
PROM接口控制电路,用于将每片PROM芯片读出的配置位流包分发至未使用的SRAM型FPGA芯片进行上注;
EEPROM接口控制电路,用于将每片EEPROM芯片读出的或写入的配置位流包分发至未使用的SRAM型FPGA芯片进行上注;
FLASH接口控制电路,用于将每片NOR FLASH芯片读出的或写入的配置位流包分发至未使用的SRAM型FPGA芯片进行上注;还用于对读出的或写入的配置位流包进行擦除;和
存储器控制电路,用于控制PROM接口控制电路的读取、控制EEPROM接口控制电路的读取和写入,以及控制FLASH接口控制电路的读取、写入或擦除。
CN202210427818.6A 2022-04-22 2022-04-22 一种多片sram型fpga在轨配置管理装置 Pending CN114860650A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210427818.6A CN114860650A (zh) 2022-04-22 2022-04-22 一种多片sram型fpga在轨配置管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210427818.6A CN114860650A (zh) 2022-04-22 2022-04-22 一种多片sram型fpga在轨配置管理装置

Publications (1)

Publication Number Publication Date
CN114860650A true CN114860650A (zh) 2022-08-05

Family

ID=82633193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210427818.6A Pending CN114860650A (zh) 2022-04-22 2022-04-22 一种多片sram型fpga在轨配置管理装置

Country Status (1)

Country Link
CN (1) CN114860650A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117453279A (zh) * 2023-12-26 2024-01-26 中国人民解放军国防科技大学 一种适用于太空强辐射环境下的星载设备硬件架构
CN117453462A (zh) * 2023-12-26 2024-01-26 中国人民解放军国防科技大学 一种星载设备软件可靠重构和加载运行方法
CN117539826A (zh) * 2023-11-10 2024-02-09 中国科学院国家空间科学中心 基于jtag的星载sram型fpga加载配置系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103777983A (zh) * 2014-01-24 2014-05-07 航天东方红卫星有限公司 一种星载软件在轨维护及升级方法
CN104484214A (zh) * 2014-12-30 2015-04-01 华中科技大学 一种sram型fpga的配置、刷新与程序上注一体化系统
CN107678913A (zh) * 2017-09-13 2018-02-09 湖南斯北图科技有限公司 一种多功能可配置的抗单粒子辐射系统及方法
CN112732334A (zh) * 2021-01-12 2021-04-30 中国科学院微小卫星创新研究院 一种高连续性导航卫星软件重构方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103777983A (zh) * 2014-01-24 2014-05-07 航天东方红卫星有限公司 一种星载软件在轨维护及升级方法
CN104484214A (zh) * 2014-12-30 2015-04-01 华中科技大学 一种sram型fpga的配置、刷新与程序上注一体化系统
CN107678913A (zh) * 2017-09-13 2018-02-09 湖南斯北图科技有限公司 一种多功能可配置的抗单粒子辐射系统及方法
CN112732334A (zh) * 2021-01-12 2021-04-30 中国科学院微小卫星创新研究院 一种高连续性导航卫星软件重构方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117539826A (zh) * 2023-11-10 2024-02-09 中国科学院国家空间科学中心 基于jtag的星载sram型fpga加载配置系统
CN117539826B (zh) * 2023-11-10 2024-06-21 中国科学院国家空间科学中心 基于jtag的星载sram型fpga加载配置系统
CN117453279A (zh) * 2023-12-26 2024-01-26 中国人民解放军国防科技大学 一种适用于太空强辐射环境下的星载设备硬件架构
CN117453462A (zh) * 2023-12-26 2024-01-26 中国人民解放军国防科技大学 一种星载设备软件可靠重构和加载运行方法
CN117453462B (zh) * 2023-12-26 2024-03-08 中国人民解放军国防科技大学 一种星载设备软件可靠重构和加载运行方法
CN117453279B (zh) * 2023-12-26 2024-03-19 中国人民解放军国防科技大学 一种适用于太空强辐射环境下的星载设备硬件架构

Similar Documents

Publication Publication Date Title
CN114860650A (zh) 一种多片sram型fpga在轨配置管理装置
CN107957972B (zh) 一种基于fpga的在轨重构系统及方法
CN111176908B (zh) 一种基于三模冗余的程序在轨加载刷新方法
CN111611201B (zh) 一种刷新自适应的连续高可靠在轨fpga重构系统与方法
CN110555237B (zh) 一种fpga在轨动态可重构方法
CN107678913B (zh) 一种多功能可配置的抗单粒子辐射系统及方法
CN109783434A (zh) 低代价高可靠的星载单机多片sram型fpga在轨重构系统及方法
CN103325411A (zh) 一种用于fpga的抗单粒子翻转加固系统及其方法
CN111800345B (zh) 一种高可靠星座组网空间路由器电路
CN109614122B (zh) 一种星载多处理器软件在轨编程系统及其设计方法
CN113238985A (zh) Fpga在轨重构控制系统及方法
CN113312305B (zh) 一种基于fpga的宇航电子系统在轨重构方法及系统
CN113867210B (zh) 多路星载嵌入式系统软件在轨重构控制方法
CN113247308A (zh) 一种多源重构系统、重构方法、构建方法及应用
CN104063292A (zh) 一种在轨可重构方法
CN113467990B (zh) 深空探测重要数据备份与恢复方法、系统
CN111930393B (zh) 一种用于星载软件的在轨编程系统、方法及电路
US10541043B1 (en) On demand data stream controller for programming and executing operations in an integrated circuit
CN113687871B (zh) 一种星载微处理器启动防死锁方法及装置
CN117453279B (zh) 一种适用于太空强辐射环境下的星载设备硬件架构
US9977478B1 (en) Memory device and method with backup energy reservoir to write in-flight data in non-volatile memory
CN117453462B (zh) 一种星载设备软件可靠重构和加载运行方法
CN114313314A (zh) 一种卫星在轨数字基带平台
Zhao et al. Design and Implementation of a Highly Reliable Dynamic Configuration Scheme
CN117319838A (zh) 基于管理平面控制的SpaceVPX高性能单机最小安全系统和设备

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