CN113010233A - 一种适用商业卫星的fpga多备份程序加载方法及装置 - Google Patents

一种适用商业卫星的fpga多备份程序加载方法及装置 Download PDF

Info

Publication number
CN113010233A
CN113010233A CN202110403113.6A CN202110403113A CN113010233A CN 113010233 A CN113010233 A CN 113010233A CN 202110403113 A CN202110403113 A CN 202110403113A CN 113010233 A CN113010233 A CN 113010233A
Authority
CN
China
Prior art keywords
fpga
unit
arm processor
loading
selection
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.)
Withdrawn
Application number
CN202110403113.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.)
Tianjin Xunlian Technology Co ltd
Original Assignee
Tianjin Xunlian 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 Tianjin Xunlian Technology Co ltd filed Critical Tianjin Xunlian Technology Co ltd
Priority to CN202110403113.6A priority Critical patent/CN113010233A/zh
Publication of CN113010233A publication Critical patent/CN113010233A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Abstract

本发明提供了适用商业卫星的FPGA多备份程序加载方法,ARM处理器向选择单元和FPGA单元发送信号;FPGA单元读取一个存储单元的信息,进行加载:ARM处理器监控FPGA单元状态;若一段时间内,ARM处理器未收到FPGA单元发送的遥测信息,ARM处理器控制FPGA单元断电,选择另一存储单元重新加载。本发明还提供了加载装置,包括选择单元和多个存储单元,所述存储单元与FPGA单元连接,用于存储FPGA单元的配置代码;所述选择单元分别与存储单元、FPGA单元和ARM处理器连接。本发明采用多个存储单元,使用ARM处理器来选择存储单元,在部分存储单元异常时,仍能保证FPGA正常加载,同时在FPGA程序运行异常时,控制FPGA重新加载。

Description

一种适用商业卫星的FPGA多备份程序加载方法及装置
技术领域
本发明属于计算机领域,特别涉及一种适用商业卫星的FPGA多备份程序加载方法及装置。
背景技术
未来10年全球将发射7000颗小卫星,卫星按照其应用分为通信卫星、遥感卫星、导航卫星,遥感卫星主要分布在低轨(400-1000km)。目前大多数卫星的测控、数传、导航数据处理单元等采用FPGA+CPU的灵活架构。然而宇宙中存在各种辐射射线,使得高性能FPGA系统受太空射线影响而产生单粒子效应的概率大大提高,并且器件的集成度越高,单粒子效应的影响就越显著,这严重影响和制约着航天电子仪器设备的正常工作。
常规航天级FPGA可靠性措施采用控制器FPGA,采用SelectMAP加载方式,所用控制器一般为ACLTEL公司反熔丝或者flash结构FPGA或者专用FPGA加载控制芯片(如上海复旦微电子公司抗辐射回读刷新芯片JFMRS01RH)。这种系统过于庞大,且价格昂贵,成本在2万人民币以上,同时需要额外功耗1W以上,不适合商业航天的应用。
发明内容
本发明针对现有技术中存在的技术问题,提供一种适用商业卫星的FPGA多备份程序加载方法及装置,采用多个存储单元,使用ARM处理器来选择存储单元,在部分存储单元异常时,仍能保证FPGA正常加载,不影响任务执行,同时在FPGA程序运行异常时,可以通过使用CPU监控办法,控制FPGA重新加载,具有成本低、功耗小的优点。
本发明采用的技术方案是:一种适用商业卫星的FPGA多备份程序加载方法,包括以下步骤:
步骤1:ARM处理器控制FPGA单元加电,同时向选择单元发送片选使能信号,向FPGA单元发送加载控制信号;
步骤2:FPGA单元向选择单元发送片选信号;选择单元向对应的存储单元发送片选信号;
步骤3:FPGA单元读取该存储单元的信息,进行加载:若加载成功,向ARM处理器发送加载完成指示信号;若加载未成功,等待一段时间;
步骤4:ARM处理器开始监控FPGA单元状态;若一段时间内,ARM处理器未收到FPGA单元发送的遥测信息,ARM处理器控制FPGA单元断电,并重复步骤1,选择另一个存储单元用于FPGA单元加载。
优选的,每次步骤1中, ARM处理器发出的片选使能信号不同。
本发明采用的技术方案还是:一种适用商业卫星的FPGA多备份程序加载装置,包括选择单元和存储单元,
所述存储单元与FPGA单元连接,所述存储单元用于存储FPGA单元的配置代码;所述存储单元的数量不止一个;
所述选择单元分别与存储单元、FPGA单元和ARM处理器连接,所述选择单元用于根据ARM处理器和FPGA单元的信号,选择一个存储单元用于FPGA单元的加载。
优选的,所述选择单元包括若干通道,每个通道均与FPGA单元、ARM处理器和存储单元连接。
优选的,所述通道的结构均相同,每个通道对应一个存储单元。
优选的,所述通道为缓冲门。
优选的,所述存储单元的数量为2-4个。
优选的,所述存储单元均采用串行flash存储芯片,所述选择单元采用四总线缓冲门。
优选的,串行flash存储芯片的型号为N25Q128,2脚、3脚、5脚、7脚、6脚接FPGA单元;四总线缓冲门的型号为SN74ALVC125PW,每个通道的管脚OE接ARM处理器,输出Y端口接串行flash存储芯片的1脚,输入A端口接FPGA单元。
与现有技术相比,本发明所具有的有益效果是:
1.本发明在电路上只需要增加一个总线复用芯片、2个或更多的存储芯片(存储备份程序),即可实现程序多备份加载功能。无需复杂的FPGA加载专用控制芯片,所需额外功耗很小,适用于商业航天领域。
2.本发明配置控制ARM只需3个普通IO口,适用单片机实现,例如STM32系列。
3.本发明通过ARM实现系统FPGA监控功能,若FPGA工作异常可自动切换选择其它FPGA存储器,并重新加载FPGA程序。本发明采用多个代码存储器,每个存储器存储代码可以一样也可以不一样。
4.本发明的FPGA配置采用Master SPI模式,无需采用复杂的SelectMAP加载方式,总线宽度支持x1, x2, x4。适用于xilinx公司7系列FPGA,如XC7A200T/XC7K325T等。
5.本发明所用ARM为工业级产品,但具备长期飞行经历,且通过看门狗电路防止单粒子翻转导致的程序跑飞。
附图说明
图1为本发明实施例的加载装置的结构框图;
图2为本发明实施例的加载方法的流程图;
图3为本发明实施例的加载装置的电路图;
图4为本发明实施例的加载过程的流程图。
图中,1-选择单元,2-存储单元,3-FPGA单元,4-ARM处理器。
具体实施方式
为使本领域技术人员更好的理解本发明的技术方案,下面结合附图和具体实施例对本发明作详细说明。
本发明的实施例提供了一种适用商业卫星的FPGA多备份程序加载装置,如图1所示,其包括选择单元1和存储单元2。所述存储单元2与FPGA单元3连接,所述存储单元2用于存储FPGA单元3的配置代码;所述存储单元2的数量为三个;所述选择单元1分别与存储单元2、FPGA单元3和ARM处理器4连接,所述选择单元1用于根据ARM处理器4和FPGA单元3的信号,选择一个存储单元2用于FPGA单元3的加载。所述选择单元1包括三通道,每个通道均与FPGA单元3、ARM处理器4和存储单元2连接。所述通道的结构均相同,每个通道对应一个存储单元2。
本发明的实施例提供了还一种适用商业卫星的FPGA多备份程序加载方法,如图2所示,包括以下步骤:
步骤1:ARM处理器4向选择单元1的三个通道分别发送片选使能信号1-3,片选使能信号1-3中只有一个有效,同时向FPGA单元3发送加载控制信号prom;
步骤2:FPGA单元3向选择单元1的三个通道发送片选信号;选择单元1的三个通道向对应的存储单元2发送片选信号;
步骤3:FPGA单元3读取该存储单元2的信息,进行加载:若加载成功,FPGA单元3向ARM处理器4发送加载完成指示信号done;若加载未成功,等待一段时间;
步骤4:ARM处理器4开始监控FPGA单元3状态,ARM处理器4持续接收FPGA单元3发送的遥测信息;若一段时间内,ARM处理器4未收到FPGA单元3发送的遥测信息,ARM处理器4控制FPGA单元3断电,并重复步骤1,ARM处理器4发出与前次不同的片选使能信号,选择另一个存储单元2用于FPGA单元3加载。
以FPGA单元3采用xilinx公司FPGA芯片XC7A200T-2FBG484为例介绍电路设计,电路结构如图3所示。其中FPGA芯片的配置管脚M0,M1,M2配置状态为100,即选择Master SPI模式。
FPGA配置代码的存储单元2为三个,选用三片相同的串行flash存储芯片(图中U2,U3,U4),型号为N25Q128,厂家为镁光。
3个串行flash存储芯片的电源VCC(8脚),时钟输入(6脚),数据线D0-D4(2脚、3脚、5脚、7脚)均连接在一块,并与FPGA芯片相连。3个串行flash存储芯片片选输入端分别接总线复用芯片选用SN74ALVC125PW的输出端口Y。
选择单元1采用四总线缓冲门SN74ALVC125PW,其具有一个空闲的通道,其余三个通道功能为:当使能管脚OE为低时,输出Y端口与输入A端口一样。若使能管脚OE为高,输出Y端口为高阻状态。
四总线缓冲门SN74ALVC125PW的使能管脚由ARM芯片控制。默认端口1有效,即EN_QSPI1为低。同一时刻EN_QSPI1、EN_QSPI2、EN_QSPI3只有一个为低,另2个为高。EN_QSPI为低,对应的串行flash存储芯片被选作为FPGA加载存储flash。3个flash的片选(QSPI_CS_B1-QSPI_CS_B3)分别接其3个通道的Y端口,3个A端口均接FPGA输出的QSPI_CS_B信号。QSPI_CS_B1-QSPI_CS_B3和QSPI_CS_B均接4.7K上拉电阻。
本实施例的额外成本低,总造价不足20元,额外功率消耗不足0.1W,额外面积约7mm*6mm,特别适用于商业航天卫星。
本实施例所采用的FPGA多备份程序加载方法,如图4所示,包括以下步骤:
步骤1:ARM处理器4上电后初始化;向选择单元1发送片选使能信号:EN_QSPI1、EN_QSPI2、EN_QSPI3,状态为011,选择flash存储芯片U2为FPGA单元3的加载flash;同时向FPGA单元3发送加载控制信号:PROGRAM_B低脉冲信号;
步骤2:FPGA单元3向选择单元1发送片选信号:QSPI_CS_B;选择单元1向flash存储芯片U2发送片选信号:QSPI_CS_B1;
步骤3:FPGA单元3读取该flash存储芯片U2的信息,进行加载:ARM处理器4等待FPGA单元3加载完成DONE信号拉高,若拉高说明FPGA单元3加载正常,ARM处理器4程序运行进入main函数,并开始监控FPGA单元3状态。如果FPGA单元3加载完成DONE信号20s一直不拉高,说明FPG单元A加载失败,ARM处理器4程序运行也进入main函数,并开始监控FPGA状态;
步骤4:正确情况下(FPGA单元3正常加载)FPGA单元3每1s均会通过串口给ARM处理器4发送遥测信息,如果连续60s ARM处理器4未收到FPGA单元3的遥测信息,则将FPGA单元3电源断电。同时ARM处理器4通过选择EN_QSPI1、EN_QSPI2、EN_QSPI3状态为101,选择flash存储芯片U3为FPGA单元3的加载flash。给FPGA单元3一个PROGRAM_B低脉冲信号,FPGA单元3重新加载,同时ARM处理器4进入监控状态。若FPGA单元3仍然加载失败,ARM处理器4通过选择EN_QSPI1、EN_QSPI2、EN_QSPI3状态为110,重新选择选择flash存储芯片U4重新加载FPGA。如此循环。
多备份程序烧录方法:
1.对于烧录相同代码步骤:
a.使用ISE Design Suite 14.7软件将所需VERILOG/VHDL代码生成bit文件。
b.使用iMPACT将bit文件转化为MCS文件。
c.使用ARM处理器4选择flash存储芯片U2,并使用iMPACT将MCS烧入flash存储芯片U2中。
d.使用ARM处理器4选择flash存储芯片U3,并使用iMPACT将MCS烧入flash 存储芯片U3中。
e.使用ARM处理器4选择flash存储芯片U4,并使用iMPACT将MCS烧入flash 存储芯片U4中。
f.烧录工作完成。
2.对于烧录不同代码步骤:
a.使用ISE Design Suite 14.7软件将所需VERILOG/VHDL代码1生成bit文件1。
b.使用iMPACT将bit文件转化为MCS1文件。
c.使用ISE Design Suite 14.7软件将所需VERILOG/VHDL代码2生成bit文件2。
d.使用iMPACT将bit文件转化为MCS2文件。
e.使用ISE Design Suite 14.7软件将所需VERILOG/VHDL代码3生成bit文件3。
f.使用iMPACT将bit文件转化为MCS3文件。
g.其中代码1,代码2,代码3,可以是3个种不同代码,或者只有2种不同代码。
h.使用ARM处理器4选择flash存储芯片U2,并使用iMPACT将MCS1烧入flash存储芯片U2中。
i.使用ARM处理器4选择flash存储芯片U3,并使用iMPACT将MCS2烧入flash存储芯片U3中。
j.使用ARM处理器4选择flash存储芯片U4,并使用iMPACT将MCS3烧入flash存储芯片U4中。
k.烧录工作完成。
以上通过实施例对本发明进行了详细说明,但所述内容仅为本发明的示例性实施例,不能被认为用于限定本发明的实施范围。本发明的保护范围由权利要求书限定。凡利用本发明所述的技术方案,或本领域的技术人员在本发明技术方案的启发下,在本发明的实质和保护范围内,设计出类似的技术方案而达到上述技术效果的,或者对申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖保护范围之内。

Claims (9)

1.一种适用商业卫星的FPGA多备份程序加载方法,其特征在于:包括以下步骤:
步骤1:ARM处理器同时向选择单元发送片选使能信号,向FPGA单元发送加载控制信号;
步骤2:FPGA单元向选择单元发送片选信号;选择单元向对应的存储单元发送片选信号;
步骤3:FPGA单元读取该存储单元的信息,进行加载:若加载成功,向ARM处理器发送加载完成指示信号;若加载未成功,等待一段时间;
步骤4:ARM处理器开始监控FPGA单元状态;若一段时间内,ARM处理器未收到FPGA单元发送的遥测信息,ARM处理器控制FPGA单元断电,并重复步骤1,选择另一个存储单元用于FPGA单元加载。
2.如权利要求1所述的适用商业卫星的FPGA多备份程序加载方法,其特征在于:每次步骤1中, ARM处理器发出的片选使能信号不同。
3.一种使用权利要求1或2所述的加载方法的适用商业卫星的FPGA多备份程序加载装置,其特征在于:包括选择单元和存储单元,
所述存储单元与FPGA单元连接,所述存储单元用于存储FPGA单元的配置代码;所述存储单元的数量不止一个;
所述选择单元分别与存储单元、FPGA单元和ARM处理器连接,所述选择单元用于根据ARM处理器和FPGA单元的信号,选择一个存储单元用于FPGA单元的加载。
4.如权利要求3所述的适用商业卫星的FPGA多备份程序加载装置,其特征在于:所述选择单元包括若干通道,每个通道均与FPGA单元、ARM处理器和存储单元连接。
5.如权利要求4所述的适用商业卫星的FPGA多备份程序加载装置,其特征在于:所述通道的结构均相同,每个通道对应一个存储单元。
6.如权利要求4所述的适用商业卫星的FPGA多备份程序加载装置,其特征在于:所述通道为缓冲门。
7.如权利要求5所述的适用商业卫星的FPGA多备份程序加载装置,其特征在于:所述存储单元的数量为2-4个。
8.如权利要求7所述的适用商业卫星的FPGA多备份程序加载装置,其特征在于:所述存储单元均采用串行flash存储芯片,所述选择单元采用四总线缓冲门。
9.如权利要求8所述的适用商业卫星的FPGA多备份程序加载装置,其特征在于:串行flash存储芯片的型号为N25Q128,2脚、3脚、5脚、7脚、6脚接FPGA单元;四总线缓冲门的型号为SN74ALVC125PW,每个通道的管脚OE接ARM处理器,输出Y端口接串行flash存储芯片的1脚,输入A端口接FPGA单元。
CN202110403113.6A 2021-04-15 2021-04-15 一种适用商业卫星的fpga多备份程序加载方法及装置 Withdrawn CN113010233A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110403113.6A CN113010233A (zh) 2021-04-15 2021-04-15 一种适用商业卫星的fpga多备份程序加载方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110403113.6A CN113010233A (zh) 2021-04-15 2021-04-15 一种适用商业卫星的fpga多备份程序加载方法及装置

Publications (1)

Publication Number Publication Date
CN113010233A true CN113010233A (zh) 2021-06-22

Family

ID=76388641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110403113.6A Withdrawn CN113010233A (zh) 2021-04-15 2021-04-15 一种适用商业卫星的fpga多备份程序加载方法及装置

Country Status (1)

Country Link
CN (1) CN113010233A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339282A (zh) * 2016-08-26 2017-01-18 哈尔滨工业大学 一种用于空间复杂环境的三模冗余信息存储系统和程序烧写及程序启动加载方法
CN106547574A (zh) * 2016-12-08 2017-03-29 航天恒星科技有限公司 一种dsp程序和fpga程序的外部下载系统及方法
CN206575435U (zh) * 2017-02-17 2017-10-20 杭州晨晓科技股份有限公司 双存储器加载电路及工业光网络单元终端设备
CN107678913A (zh) * 2017-09-13 2018-02-09 湖南斯北图科技有限公司 一种多功能可配置的抗单粒子辐射系统及方法
CN108763146A (zh) * 2018-04-24 2018-11-06 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 一种基于常加电工作模式的高可靠星上计算机
CN109001764A (zh) * 2018-09-30 2018-12-14 中国气象局气象探测中心 基于浮空器的掩星探测系统及方法
CN111800345A (zh) * 2020-06-30 2020-10-20 西安微电子技术研究所 一种高可靠星座组网空间路由器电路
CN111813619A (zh) * 2020-06-10 2020-10-23 珠海欧比特宇航科技股份有限公司 一种大容量存储器加载切换装置
US20200409707A1 (en) * 2019-06-25 2020-12-31 Advanced Micro Devices, Inc. Method and apparatus for efficient programmable instructions in computer systems
CN112307697A (zh) * 2020-11-05 2021-02-02 中国航空工业集团公司西安航空计算技术研究所 一种fpga逻辑重加载电路

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339282A (zh) * 2016-08-26 2017-01-18 哈尔滨工业大学 一种用于空间复杂环境的三模冗余信息存储系统和程序烧写及程序启动加载方法
CN106547574A (zh) * 2016-12-08 2017-03-29 航天恒星科技有限公司 一种dsp程序和fpga程序的外部下载系统及方法
CN206575435U (zh) * 2017-02-17 2017-10-20 杭州晨晓科技股份有限公司 双存储器加载电路及工业光网络单元终端设备
CN107678913A (zh) * 2017-09-13 2018-02-09 湖南斯北图科技有限公司 一种多功能可配置的抗单粒子辐射系统及方法
CN108763146A (zh) * 2018-04-24 2018-11-06 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 一种基于常加电工作模式的高可靠星上计算机
CN109001764A (zh) * 2018-09-30 2018-12-14 中国气象局气象探测中心 基于浮空器的掩星探测系统及方法
US20200409707A1 (en) * 2019-06-25 2020-12-31 Advanced Micro Devices, Inc. Method and apparatus for efficient programmable instructions in computer systems
CN111813619A (zh) * 2020-06-10 2020-10-23 珠海欧比特宇航科技股份有限公司 一种大容量存储器加载切换装置
CN111800345A (zh) * 2020-06-30 2020-10-20 西安微电子技术研究所 一种高可靠星座组网空间路由器电路
CN112307697A (zh) * 2020-11-05 2021-02-02 中国航空工业集团公司西安航空计算技术研究所 一种fpga逻辑重加载电路

Similar Documents

Publication Publication Date Title
TWI417891B (zh) 記憶體鏡射裝置與方法
US5357473A (en) Semiconductor storage system including defective bit replacement
US5283792A (en) Power up/power down controller and power fail detector for processor
JP3030342B2 (ja) カード
US7133960B1 (en) Logical to physical address mapping of chip selects
US5146607A (en) Method and apparatus for sharing information between a plurality of processing units
EP0582370A2 (en) Disk drive controller with a posted write cache memory
US5745673A (en) Memory architecture for solid state discs
EP0415548A2 (en) Method and apparatus for controlling initiation of bootstrap loading
US6801459B2 (en) Obtaining data mask mapping information
KR20190019209A (ko) Ddr 메모리 에러 복구
JPS61273649A (ja) コンピユ−タのメモリ管理システム
GB1573539A (en) Digital data processing apparatus
JP2010501915A (ja) メモリ用モジュールコマンド構造およびメモリシステム
US20090125659A1 (en) Inter-Integrated Circuit (12C) Slave with Read/Write Access to Random Access Memory
EP0473405A2 (en) Communication system in data processing apparatus
US6804794B1 (en) Error condition handling
US6957307B2 (en) Mapping data masks in hardware by controller programming
EP0096779B1 (en) Multi-bit error scattering arrangement to provide fault tolerant semiconductor memory
CN113010233A (zh) 一种适用商业卫星的fpga多备份程序加载方法及装置
CN113238985A (zh) Fpga在轨重构控制系统及方法
EP0700540B1 (en) Pipelined data ordering system
US5838892A (en) Method and apparatus for calculating an error detecting code block in a disk drive controller
US5206952A (en) Fault tolerant networking architecture
US11636054B2 (en) Memory controller power states

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20210622

WW01 Invention patent application withdrawn after publication