CN101493809B - 一种基于fpga的多核心星载计算机 - Google Patents

一种基于fpga的多核心星载计算机 Download PDF

Info

Publication number
CN101493809B
CN101493809B CN2009100714759A CN200910071475A CN101493809B CN 101493809 B CN101493809 B CN 101493809B CN 2009100714759 A CN2009100714759 A CN 2009100714759A CN 200910071475 A CN200910071475 A CN 200910071475A CN 101493809 B CN101493809 B CN 101493809B
Authority
CN
China
Prior art keywords
processor
output terminal
fpga
input
links
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.)
Expired - Fee Related
Application number
CN2009100714759A
Other languages
English (en)
Other versions
CN101493809A (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.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of 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 Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN2009100714759A priority Critical patent/CN101493809B/zh
Publication of CN101493809A publication Critical patent/CN101493809A/zh
Application granted granted Critical
Publication of CN101493809B publication Critical patent/CN101493809B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Logic Circuits (AREA)

Abstract

一种基于FPGA的多核心星载计算机,属于航天航空的数据处理技术领域。本发明的目的是解决采用AS工C软件实现方式的星载计算机处理速度慢的问题。本发明包括基于SRAM的FPGA、n个PROM、n个SRAM、反熔丝FPGA和配置NOR型闪存,基于SRAM的FPGA构建成具有n个处理器的多核结构,反熔丝FPGA包括回读刷写接口电路、监测电路和控制电路,监测电路监测n个处理器的健康状态,如异常部分重构,回读刷写接口电路按固定速度读基于SRAM的FPGA的配置文件,并与原始配置文件比较,如不同,则重构错误部分。本发明多核心星载计算机可根据卫星任务、通过FPGA硬件编程实现自动切换系统功能。

Description

一种基于FPGA的多核心星载计算机
技术领域
本发明涉及一种航天应用的、可根据卫星任务、通过硬件编程自主改变系统功能并进行部分重构等故障处理的、多核心星载计算机及其实现方法,尤其涉及,属于航天航空的数据处理技术领域。
背景技术
随着电子技术和计算机技术的不断发展,航天器电子系统的微小型化设计越来越受到关注,高密度的功能集成对于星载电子系统的性能也提出了更高的要求。传统星载计算机采用ASIC,通过操作系统软件的设计来进行系统功能任务的划分,同时操作系统的各个任务间通过一定的同步机制完成系统功能的调用,这往往涉及到占用较长机器周期的运算,处理速度慢;同时现有的星载计算机设计多采用双机备份的方法,这种结构常常需要可靠的仲裁机构的支持,这会加大计算机的设计难度,同时难以保证整机设计的可靠性。常规的星载计算机在片级或系统级利用相同的处理器冷热备份的方法来完成系统的冗余性,可靠性差。
发明内容
本发明的目的是解决采用ASIC软件实现方式的星载计算机处理速度慢、可靠性差的问题,提供了一种基于FPGA的多核心星载计算机。
本发明包括基于SRAM的FPGA、n个PROM、n个SRAM、反熔丝FPGA和配置NOR型闪存,基于SRAM的FPGA包括n个处理器,分别为第一处理器、第二处理器……第n处理器,每个处理器的始能输入端与一个PROM的输出端相连,每个处理器的缓存输入输出端与一个SRAM的输入输出端相连,反熔丝FPGA包括回读刷写接口电路、监测电路、控制电路和表决电路,回读刷写接口电路的配置文件输入输出端与基于SRAM的FPGA的配置文件输入输出端相连,第一处理器的心跳信号输出端与监测电路的第一输入端相连,第二处理器的心跳信号输出端与监测电路的第二输入端相连,第n处理器的心跳信号输出端与监测电路的第n输入端相连,监测电路的输出端与控制电路的监测输入端相连,控制电路的重构控制信号输入输出端与回读刷写接口电路的重构控制信号输入输出端相连,配置NOR型闪存的输入输出端与回读刷写接口电路的输入输出端相连,第一处理器的总线输出端与表决电路的第一输入端相连,第二处理器的总线输出端与表决电路的第二输入端相连,第n处理器的总线输出端与表决电路的第n输入端相连,表决电路的输出端与控制电路的表决信息输入端相连,表决电路对基于SRAM的FPGA的n个处理器输出的n个总线输出信息根据少数服从多数的标准进行仲裁。
本发明的优点是:本发明由于采用FPGA多核心处理器,简化设计流程,并行结构使计算机具有多线程计算功能,使用多个处理器执行不同的任务,实现不同的功能,可以大幅提升系统的性能,多核处理器在不增加额外的硬件开销的前提下,既保留了软件实现的灵活性,又可以大幅提高计算机的性能,具备高处理速度的优点。
附图说明
图1是本发明的结构示意图。
具体实施方式
具体实施方式一:下面结合图1说明本实施方式,本实施方式包括基于SRAM的FPGA1、n个PROM2、n个SRAM3、反熔丝FPGA4和配置NOR型闪存5,
基于SRAM的FPGA1包括n个处理器,分别为第一处理器1-1、第二处理器1-2……第n处理器1-n,每个处理器的始能输入端与一个PROM2的输出端相连,每个处理器的缓存输入输出端与一个SRAM3的输入输出端相连,
反熔丝FPGA4包括回读刷写接口电路4-1、监测电路4-2和控制电路4-3,回读刷写接口电路4-1的配置文件输入输出端与基于SRAM的FPGA1的配置文件输入输出端相连,第一处理器1-1的心跳信号输出端与监测电路4-2的第一输入端相连,第二处理器1-2的心跳信号输出端与监测电路4-2的第二输入端相连,第n处理器1-n的心跳信号输出端与监测电路4-2的第n输入端相连,监测电路4-2的输出端与控制电路4-3的监测输入端相连,控制电路4-3的重构控制信号输入输出端与回读刷写接口电路4-1的重构控制信号输入输出端相连,配置NOR型闪存5的输入输出端与回读刷写接口电路4-1的输入输出端相连。
用于航空航天的星载计算机会接收地面控制系统或其它中间站发送的任务,并进行处理,输出相应的控制信号驱动执行机构动作来完成所述任务,星载计算机接收的任务被下载到配置NOR型闪存5中,通过硬件描述语言编程、仿真、验证、逻辑综合等设计过程生成配置文件,并通过回读刷写接口电路4-1将配置文件刷写到基于SRAM的FPGA1中,将基于SRAM的FPGA1构建成具有多核心处理器(第一处理器1-1、第二处理器1-2……第n处理器1-n)的硬件结构,对多个任务采用并行处理方式,实现星载计算机在轨运行各个阶段的数据采集、信息处理、电源与热控管理、数据管理、故障处理以及遥测遥控等功能。
每个处理器的始能输入端与一个PROM2的输出端相连,PROM2中存储与其相连的处理器的系统程序启动代码;每个处理器的缓存输入输出端与一个SRAM3的输入输出端相连,SRAM(Static Random Access Memory,静态随机存储器),SRAM3作为与之相连的处理器的数据缓存区和程序运行区。
本实施方式中基于SRAM的FPGA1可重构,反熔丝FPGA4的抗辐射能力强,可以提高系统整体的可靠性,非常适合空间应用。
本实施方式中,基于SRAM的FPGA1被构建成异构处理器,每个处理器执行不同的任务,从而实现多线程处理功能,异构处理器结构的星载计算机具有两种容错机制:一种是处理器心跳信号监测机制,另一种是配置文件回读与刷写机制。
每个处理器输出心跳信号,由监测电路4-2接收并进行监测,监测电路4-2接收到的n个处理器输出的n路心跳信号均为表明正常的工作状态信号,如果n路心跳信号经校验无误,则表明n个处理器工作正常;如果监测电路4-2接收到来自某一个处理器的心跳信号有误,判断其健康状态异常,监测电路4-2就会将所属处理器的异常信息报告给控制电路4-3,控制电路4-3控制回读刷写接口电路4-1将配置NOR型闪存5中配置文件刷写到基于SRAM的FPGA1中,对异常的处理器进行重构,从而实现错误的修复,不用将基于SRAM的FPGA1整体重构,具有很大的灵活性。
当星载计算运行时,回读刷写接口电路4-1以固定的速度对基于SRAM的FPGA1的配置文件进行回读,并将回读的配置文件与原始的配置文件进行对比,如果不同,输出配置文件异常信号给控制电路4-3,控制电路4-3控制回读刷写接口电路4-1将配置NOR型闪存5中配置文件刷写到基于SRAM的FPGA1中,修复相应的错误部分。
具体实施方式二:本实施方式与实施方式一的不同之处在于,所述心跳信号为处理器的I/O端口输出的脉冲信号,其它组成及连接方式与实施方式一相同。
正常输出的脉冲信号是按一定周期高低电平变换的波形,类似心跳信号;异常指输出的脉冲信号常高、常低或周期不规律。
具体实施方式三:本实施方式与实施方式一的不同之处在于,它还包括备份NOR型闪存6,备份NOR型闪存6的输入输出端与基于SRAM的FPGA1的数据输入输出端相连,其它组成及连接方式与实施方式一相同。
由于基于SRAM的FPGA1具有掉电数据易失性,给星载计算机系统带来信息丢失的问题,为了解决这个问题,在基于SRAM的FPGA1出现错误需要重构,重新被配置新的功能模块前,通过一定的内存访址指令,将基于SRAM的FPGA1中需要保护的数据读入备份NOR型闪存6中,当基于SRAM的FPGA1重新上电后,基于SRAM的FPGA1从备份NOR型闪存6中读回被保护数据,这样设置大大提高了星载计算机系统的安全性。
具体实施方式四:本实施方式与实施方式一的不同之处在于,反熔丝FPGA4还包括表决电路4-4,第一处理器1-1的总线输出端与表决电路4-4的第一输入端相连,第二处理器1-2的总线输出端与表决电路4-4的第二输入端相连,第n处理器1-n的总线输出端与表决电路4-4的第n输入端相连,表决电路4-4的输出端与控制电路4-3的表决信息输入端相连,其它组成及连接方式与实施方式一相同。
本实施方式中基于SRAM的FPGA1被构建成同构处理器结构,与异构处理器结构相比,增加了表决电路4-4。
具体实施方式五:本实施方式与实施方式四的不同之处在于,表决电路4-4对基于SRAM的FPGA1的n个处理器输出的n个总线输出信息根据少数服从多数的标准进行仲裁,其它组成及连接方式与实施方式四相同。
同构处理器结构的星载计算机与异构处理器结构的星载计算机相比,除了具有处理器心跳信号监测机制和配置文件回读与刷写机制外,还增加了一种容错机制:少数服从多数的仲裁机制。三种容错机制的同时使用,使得同构处理器结构的星载计算机的可靠性得到大幅度提升。
基于SRAM的FPGA1的n个处理器分别有一路有效的总线输出,分别为O1、O2……On,n个总线输出给表决电路4-4进行仲裁,被判断出异常的处理器会被重构,如果仲裁结果表示n个处理器的总线输出都正常,表决电路4-4将正确的结果作为星载计算机的总输出O。
仲裁的方法为:
步骤一、先按如下公式计算出总输出O的真假:
O=(O1&O2&…&On)||(O1&O2&…&On)||…||(O1&O2&…&On)
=(O1·O2·...·On-2·On-1)+(O1·O2·...·On-2·On)+...+(O1·O3·...·On-1·On)
+(O2·O3·...·On-1·On)
步骤二、将总输出O分别与O1、O2……On进行比较,来判断n个处理器的总线输出是否正常,处理器的总线输出(O1、O2……或On)与总输出O相同表明此处理器状态正常,处理器的总线输出(O1、O2……或On)与总输出O不相同表明此处理器状态异常。
例如,n=3,即将基于SRAM的FPGA1构建成具有三个处理器的同构结构,如果其中第一处理器1-1的总线输出O1异常,为0,其余为1,则:
O=(O1&O2&O3)||(O1&O2&O3)||(O1&O2&O3)
=O1O2+O1O3+O2O3
=1
则O1、O2、O3与总输出O比较的结果为:与O相同的为O2和O3,与O不相同的为O1,则状态正常的处理器为第二处理器1-2和第三处理器1-3,状态异常的处理器为第一处理器O1,需要进行重构。
多核处理器的引入能够令星载计算机具有片内多核冗余容错的功能,避免了常规计算机复杂的仲裁设计;常规的星载计算机在片级或系统级利用相同的处理器冷热备份的方法来完成,而采用多个处理器核的方法则能够在狭小的芯片内部实现多个处理器核心的冗余设计,较之常规的冷热备份,具备更高系统的空间适应能力,多核心处理器技术的应用使未来的星载计算机实现星载计算机的单机容错,避免了系统多硬件设备对卫星带来的影响。
传统星载计算机采用ASIC,采用单一的处理器难以满足卫星在长期可靠性方面的要求。本发明基于快速可重构技术,以可编程逻辑器件FPGA为载体,融合传统意义上的星载计算机的功能,通过多核心处理器的配置、仲裁,既能够提高系统性能,又能够大幅度提高可靠性。

Claims (3)

1.一种基于FPGA的多核心星载计算机,其特征在于:它包括基于SRAM的FPGA(1)、n个PROM(2)、n个SRAM(3)、反熔丝FPGA(4)和配置NOR型闪存(5),
基于SRAM的FPGA(1)包括n个处理器,分别为第一处理器(1-1)、第二处理器(1-2)……第n处理器(1-n),每个处理器的始能输入端与一个PROM(2)的输出端相连,每个处理器的缓存输入输出端与一个SRAM(3)的输入输出端相连,
反熔丝FPGA(4)包括回读刷写接口电路(4-1)、监测电路(4-2)、控制电路(4-3)和表决电路(4-4),回读刷写接口电路(4-1)的配置文件输入输出端与基于SRAM的FPGA(1)的配置文件输入输出端相连,第一处理器(1-1)的心跳信号输出端与监测电路(4-2)的第一输入端相连,第二处理器(1-2)的心跳信号输出端与监测电路(4-2)的第二输入端相连,第n处理器(1-n)的心跳信号输出端与监测电路(4-2)的第n输入端相连,监测电路(4-2)的输出端与控制电路(4-3)的监测输入端相连,控制电路(4-3)的重构控制信号输入输出端与回读刷写接口电路(4-1)的重构控制信号输入输出端相连,第一处理器(1-1)的总线输出端与表决电路(4-4)的第一输入端相连,第二处理器(1-2)的总线输出端与表决电路(4-4)的第二输入端相连,第n处理器(1-n)的总线输出端与表决电路(4-4)的第n输入端相连,表决电路(4-4)的输出端与控制电路(4-3)的表决信息输入端相连,表决电路(4-4)对基于SRAM的FPGA(1)的n个处理器输出的n个总线输出信息根据少数服从多数的标准进行仲裁,
配置NOR型闪存(5)的输入输出端与回读刷写接口电路(4-1)的输入输出端相连,n为自然数,且n≥1。
2.根据权利要求1所述的一种基于FPGA的多核心星载计算机,其特征在于:所述心跳信号为处理器的I/O端口输出的脉冲信号。
3.根据权利要求1所述的一种基于FPGA的多核心星载计算机,其特征在于:它还包括备份NOR型闪存(6),备份NOR型闪存(6)的输入输出端与基于SRAM的FPGA(1)的数据输入输出端相连。
CN2009100714759A 2009-03-03 2009-03-03 一种基于fpga的多核心星载计算机 Expired - Fee Related CN101493809B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100714759A CN101493809B (zh) 2009-03-03 2009-03-03 一种基于fpga的多核心星载计算机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100714759A CN101493809B (zh) 2009-03-03 2009-03-03 一种基于fpga的多核心星载计算机

Publications (2)

Publication Number Publication Date
CN101493809A CN101493809A (zh) 2009-07-29
CN101493809B true CN101493809B (zh) 2010-09-08

Family

ID=40924413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100714759A Expired - Fee Related CN101493809B (zh) 2009-03-03 2009-03-03 一种基于fpga的多核心星载计算机

Country Status (1)

Country Link
CN (1) CN101493809B (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788927B (zh) * 2010-01-20 2012-08-01 哈尔滨工业大学 一种基于fpga的自适应星载计算机实现内部资源动态分配的方法
CN102096607B (zh) * 2010-03-16 2014-10-29 威盛电子股份有限公司 微处理器及其除错方法
CN101826045B (zh) * 2010-05-28 2011-12-28 哈尔滨工业大学 一种可重构星载计算机永久性故障电路的在线修复方法
CN102122276B (zh) * 2011-01-31 2013-02-06 哈尔滨工业大学 一种双处理器星载计算机
CN102156626B (zh) * 2011-04-27 2012-10-10 哈尔滨工业大学 可重构星载计算机的正余弦函数ip核
CN104981807B (zh) * 2013-02-11 2019-04-23 帝斯贝思数字信号处理和控制工程有限公司 在运行中改变fpga的信号值
EP2765528B1 (de) 2013-02-11 2018-11-14 dSPACE digital signal processing and control engineering GmbH Wahlfreier Zugriff auf Signalwerte eines FPGA zur Laufzeit
US9223715B2 (en) 2013-08-21 2015-12-29 Via Alliance Semiconductor Co., Ltd. Microprocessor mechanism for decompression of cache correction data
US9348690B2 (en) 2013-08-21 2016-05-24 Via Alliance Semiconductor Co., Ltd. Correctable configuration data compression and decompression system
CN103475413A (zh) * 2013-09-12 2013-12-25 成都成电光信科技有限责任公司 Fpga可配置的光纤网络数据卡
CN103500125B (zh) * 2013-10-10 2016-07-06 中国科学院上海技术物理研究所 一种基于fpga的抗辐射的数据处理系统及方法
CN103678515B (zh) * 2013-11-26 2017-03-15 北京空间机电研究所 空间站可扩展和海量遥感信息处理系统
CN103870353A (zh) * 2014-03-18 2014-06-18 北京控制工程研究所 一种面向多核的可重构容错系统及方法
US9395802B2 (en) 2014-05-22 2016-07-19 Via Alliance Semiconductor Co., Ltd. Multi-core data array power gating restoral mechanism
US9524241B2 (en) 2014-05-22 2016-12-20 Via Alliance Semiconductor Co., Ltd. Multi-core microprocessor power gating cache restoral mechanism
US9606933B2 (en) 2014-05-22 2017-03-28 Via Alliance Semiconductor Co., Ltd. Multi-core apparatus and method for restoring data arrays following a power gating event
US9665490B2 (en) 2014-05-22 2017-05-30 Via Alliance Semiconductor Co., Ltd. Apparatus and method for repairing cache arrays in a multi-core microprocessor
CN104050051B (zh) * 2014-06-27 2016-10-26 上海航天电子通讯设备研究所 一种星载计算机的故障诊断方法
CN105279049A (zh) * 2015-06-16 2016-01-27 康宇星科技(北京)有限公司 一种故障自主恢复三模冗余容错计算机ip核的设计方法
CN105045335A (zh) * 2015-06-23 2015-11-11 上海航天测控通信研究所 一种内嵌8051ip核的fpga信息处理系统
CN106081046B (zh) * 2016-07-13 2018-02-16 中国电子科技集团公司第三十八研究所 一种双余度浮空器测控装置
CN108257700A (zh) * 2016-12-29 2018-07-06 中核核电运行管理有限公司 一种核电厂控制室退防方法
CN107544392B (zh) * 2017-09-25 2020-04-21 上海卫星工程研究所 卫星在轨监测系统平台状态的图形化监控系统及方法
CN108196890B (zh) * 2017-12-24 2021-04-20 北京卫星信息工程研究所 在轨混合加载fpga与cpu的方法
CN108375971A (zh) * 2018-03-18 2018-08-07 哈尔滨工程大学 用于小卫星的综合电子系统健康管理模块及健康管理方法
CN108563166B (zh) * 2018-03-23 2020-11-20 哈尔滨工程大学 基于fpga的小卫星在轨健康综合管理终端及管理方法
CN109189500B (zh) * 2018-08-22 2021-11-16 航天东方红卫星有限公司 星载计算机应用软件的下载存储与引导加载方法及系统
CN109271274B (zh) * 2018-11-13 2022-02-11 天津津航计算技术研究所 一种嵌入式系统的双机热备方法
CN109460314B (zh) * 2018-11-13 2022-02-11 天津津航计算技术研究所 一种嵌入式系统的双机热备装置
CN109614122B (zh) * 2018-12-04 2022-03-29 上海无线电设备研究所 一种星载多处理器软件在轨编程系统及其设计方法

Also Published As

Publication number Publication date
CN101493809A (zh) 2009-07-29

Similar Documents

Publication Publication Date Title
CN101493809B (zh) 一种基于fpga的多核心星载计算机
Iturbe et al. A triple core lock-step (tcls) arm® cortex®-r5 processor for safety-critical and ultra-reliable applications
CN105045672B (zh) 一种基于sram fpga的多级容错加固卫星信息处理系统
Avizienis Toward systematic design of fault-tolerant systems
Rennels Fault-tolerant computing—Concepts and examples
Pignol COTS-based applications in space avionics
Siewiorek Architecture of fault-tolerant computers: An historical perspective
CN104850530B (zh) 一种立方星星载计算机
Rogenmoser et al. On-demand redundancy grouping: Selectable soft-error tolerance for a multicore cluster
Depledge Fault-tolerant computer systems
Schagaev et al. Software design for resilient computer systems
Ulbricht et al. The tetrisc soc—a resilient quad-core system based on the resilicell approach
Johnson et al. Fault tolerant computer system for the A129 helicopter
Shinghal et al. Design and analysis of a fault tolerant microprocessor based on triple modular redundancy using VHDL
Mariani et al. Comparing fail-safe microcontroller architectures in light of IEC 61508
Wang et al. Analysis and experimental evaluation of comparison-based system-level diagnosis for multiprocessor systems
Dong et al. Implementation of a transient-fault-tolerance scheme on DEOS-A technology transfer from an academic system to an industrial system
Li et al. Transient fault tolerance on multicore processor in amp mode
CN116501508B (zh) 一种天基边缘计算模块及设备
Matthews et al. NSEU impact on commercial avionics
Bernhard Theno-downtime'computer
Thompson Transputer-based fault tolerance in safety-critical systems
Shen et al. A high performance fault tolerant system for on-board signal processing
Siewiorek et al. Experimental Research in Reliable Computing at Carnegie Mellon University
Hartmann et al. Advanced flight control system study

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100908

Termination date: 20130303