CN111104240A - 一种fpga故障自恢复的电路及方法 - Google Patents

一种fpga故障自恢复的电路及方法 Download PDF

Info

Publication number
CN111104240A
CN111104240A CN201911192064.5A CN201911192064A CN111104240A CN 111104240 A CN111104240 A CN 111104240A CN 201911192064 A CN201911192064 A CN 201911192064A CN 111104240 A CN111104240 A CN 111104240A
Authority
CN
China
Prior art keywords
fpga
timer
tri
state driver
output
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
CN201911192064.5A
Other languages
English (en)
Other versions
CN111104240B (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.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
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 Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201911192064.5A priority Critical patent/CN111104240B/zh
Publication of CN111104240A publication Critical patent/CN111104240A/zh
Application granted granted Critical
Publication of CN111104240B publication Critical patent/CN111104240B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electronic Switches (AREA)
  • Logic Circuits (AREA)

Abstract

本发明属于嵌入式计算机系统设计技术领域。具体涉及一种FPGA故障自恢复的电路及方法,解决现有技术中FPGA故障时,手动对计算机系统进行下电再上电操作造成的人为干预、不能及时恢复等问题。电路采用定时器产生定时脉冲,通过FPGA对三态驱动器进行输出控制,当FPGA正常工作时,禁止三态驱动器输出,当FPGA故障后,三态驱动器会将定时器产生的定时脉冲,输出给FPGA的加载启动信号,造成FPGA重新加载启动,以此来消除故障,使FPGA恢复正常工作。若FPGA加载失败或仍不能正常工作,则继续重启,直到FPGA能够正常工作为止。实现方式简单,不会增加系统负担,软件无需增加任何操作,适合被广泛应用。

Description

一种FPGA故障自恢复的电路及方法
技术领域
本发明属于嵌入式计算机系统设计技术领域,具体涉及一种FPGA故障自恢复的电路及方法。
背景技术
FPGA中文翻译为现场可编程门阵列,是计算机系统中最重要的集成电路之一,其特点是逻辑资源丰富、功能强大、开发智能灵活、可重复编程。FPGA与CPU、GPU并称为未来数字电路的三大基石,是现代集成电路设计开发验证的主流,当今的人工智能、5G通信、移动终端以及国防军工等领域都对FPGA非常依赖。随着技术及工艺的不断改进,FPGA的逻辑资源也在不断增大,功能不断扩展,作用越来越突出,大有取代CPU和GPU,一统天下的趋势。
FPGA采用了逻辑单元阵列的概念,内部包括可配置逻辑模块、输入输出模块和内部连线三个部分。与传统的逻辑电路门阵列(如CPLD、GAL等)相比,FPGA具有不同的内部结构。FPGA的逻辑是通过向内部SRAM加载逻辑数据来实现的,存储在内部SRAM中的数据决定了FPGA所能实现的功能。FPGA允许无限次的编程,但当FPGA下电后,内部逻辑结构就会消失,再次上电后,需要重新将外部PROM中的逻辑代码加载到内部SRAM中,这需要一定的加载时间。
随着FPGA的功能越来越强大,其在嵌入式计算机系统中的重要度也越来越高,如果FPGA出现故障,那对嵌入式计算机系统造成的影响也必然是巨大的。在现有技术中,如果计算机系统中FPGA出现故障,需要手动对计算机系统进行下电再上电操作,才能使FPGA恢复工作,否则就会造成计算机系统瘫痪,但这种方法存在需要人为干预,而且出现故障后不能及时恢复等缺陷。
发明内容
本发明的目的是提供一种FPGA故障自恢复的电路及方法,解决现有技术中FPGA故障时,手动对计算机系统进行下电再上电操作造成的人为干预、不能及时恢复等问题。本发明在FPGA出现故障后,通过电路自动产生的控制信号,重新启动FPGA进行工作,若FPGA加载失败或仍不能正常工作,则继续重启,直到FPGA能够正常工作为止。该方法能够提高嵌入式计算机系统的可靠性,对于非常依赖FPGA的嵌入式计算机系统来说,是非常有意义的。
本发明的技术解决方案是提供一种FPGA故障自恢复的电路,其特殊之处在于:包括定时器与三态驱动器;
上述定时器用于产生定时连续的低脉冲信号;
上述三态驱动器的输入端与定时器的输出端连接,用于对定时器输出的定时连续的低脉冲信号进行电平转换;上述三态驱动器的输出端与FPGA的加载启动信号加载启动信号PROGRAM端连接,将电平转换后的定时连续的低脉冲信号输入至FPGA;上述三态驱动器的使能/禁止信号OE端与FPGA的通用I/O连接,上述三态驱动器的使能/禁止信号OE端并通过电阻R4与地端连接。
进一步地,上述定时器包括可调电阻R1、可调电阻R2、电容C1及电容C2;
第一电源端通过可调电阻R1与定时器的DIS端连接;
第一电源端通过可调电阻R1与可调电阻R2与定时器的THR端连接;
定时器的THR端与定时器的TRI端连接;定时器的TRI端通过电容C1与地端连接;定时器的CON端通过电容C2与地端连接。
进一步地,上述电容C2为0.01μF。
进一步地,上述三态驱动器包括电阻R3;
上述三态驱动器的DIR端通过电阻R3与第二电源端连接。
进一步地,上述定时器为LM555定时器。
本发明还提供一种利用上述的FPGA故障自恢复的电路实现FPGA故障自恢复的方法,定时器产生定时连续的低脉冲信号;
当FPGA正常工作时,FPGA通用I/O输出为高电平,控制三态驱动器的OE端信号,禁止三态驱动器输出;
当FPGA故障后,FPGA通用I/O无输出;
三态驱动器的OE端输出使能,将定时器产生的定时连续的低脉冲经过电平转换后输出给FPGA的加载启动信号PROGRAM端,使得FPGA重新加载启动。
进一步地,上述定时器为LM555定时器;LM555定时器产生的定时连续的低脉冲,其低脉冲间隔时间,由R1、R2和C1的取值计算得出:
T1=0.693(R1+R2)C1
T2=0.693(R2)C1。
本发明的优点是:
1、本发明采用定时器产生定时脉冲,通过三态驱动器一方面实现信号电平转换,一方面实现输出控制,三态驱动器的输出控制信号由FPGA实现。当FPGA正常工作时,控制该信号禁止三态驱动器输出,当FPGA故障后,无法控制该信号,此时三态驱动器会将LM555定时器产生的定时连续的低脉冲,输出给FPGA的加载启动信号,造成FPGA重新加载启动,以此来消除故障,使FPGA自动恢复正常工作。不需要人为干预且故障可及时恢复。
2、本发明设计思想清晰明确,实现方式简单,不会增加系统负担,软件无需增加任何操作,适合被广泛应用。
附图说明
图1为本发明FPGA故障自恢复的电路图;
图2为实施例中Virtex系列的FPGA上电加载时序图;
图3为实施例中FPGA故障自恢复的电路图;
图4为实施例中FPGA自恢复信号PROGRAM端产生时序图;
具体实施方式
以下结合附图及具体实施方式对本发明做进一步地描述。
如图1所示,本发明FPGA故障自恢复的电路主要包括定时器及三态驱动器。
定时器包括可调电阻R1、可调电阻R2、电容C1及电容C2;第一电源端通过可调电阻R1与定时器的DIS端连接;第一电源端通过可调电阻R1与可调电阻R2与定时器的THR端连接;定时器的THR端与定时器的TRI端连接;定时器的TRI端通过电容C1与地端连接;定时器的CON端通过电容C2与地端连接。采用定时器产生定时连续的低脉冲信号。定时器产生的定时连续的低脉冲,其低脉冲间隔时间,由R1、R2和C1的取值决定。
采用三态驱动器,一方面实现信号电平转换,一方面实现输出使能/禁止控制;三态驱动器的输入端连接定时器的定时连续的低脉冲输出,三态驱动器的输出端连接FPGA的加载启动信号PROGRAM端,三态驱动器的使能/禁止信号OE端连接FPGA的通用I/O;三态驱动器的输出使能/禁止信号OE端对地端接电阻R4(1kΩ)下拉,确保FPGA的通用I/O无输出时,OE端为低,三态驱动器输出使能。
当FPGA正常工作时,FPGA将通用I/O输出为高电平,控制OE端信号禁止三态驱动器输出;当FPGA故障后,通用I/O无输出,OE端因下拉电阻接地为低电平,三态驱动器输出使能,将定时器产生的定时连续的低脉冲输出给FPGA的加载启动信号PROGRAM端,造成FPGA重新加载启动,以此来消除故障,使FPGA恢复正常工作。FPGA加载的数据存储在外部FLASH或PROM中。
下面以XILINX公司的Virtex系列I/O接口电压为3.3V的FPGA为例,对本发明方法做进一步详细说明。
Virtex系列的FPGA上电加载是一个自动的过程,其过程分为三步:第一步,将FPGA内部配置存储器SRAM中数据清除;第二步,将逻辑数据从外部PROM加载到FPGA内部SRAM中;第三步,逻辑启动,FPGA开始工作。加载过程从PROGRAM端信号的低脉冲开始,INIT端信号由低变高表示FPGA内部SRAM数据清除完成,DONE信号由低变高表示整个加载过程完成。FPGA加载过程时序见图2,图中TPRO:PROGRAM端信号低脉冲时间,要求大于300ns,表示开始一个配置加载过程;TINIT:表示FPGA内部SRAM的数据清除时间;TDONE:表示FPGA内部逻辑加载时间。
PROGRAM端作为FPGA的输入信号,当出现一个大于300ns的低脉冲时,就会重新启动FPGA的配置加载序列。因此,本方法中就利用PROGRAM端的这个特点,当FPGA故障后,向FPGA的PROGRAM端输入管脚发出大于300ns的低脉冲,使之重启加载过程,重新加载并工作。若FPGA重加载失败,或加载后仍无法正常工作,本方法会持续每隔一段时间向FPGA发出一次PROGRAM端低脉冲,直到FPGA正常工作后,停止发送PROGRAM端低脉冲。
本实施例中,除了FPGA自身之外,另外采用了两个简单的集成电路,实现本方法中特定的功能,这两个集成电路分别是:
LM555定时器:功能是加电后产生定时连续的低脉冲信号;
三态驱动器SN74LVTH2245:功能有两点,一是对5V电平的LM555输出信号与3.3V电平的FPGA信号之间进行电平转换,二是该驱动器本身具备输出三态控制,可通过OE端管脚控制其是否输出。
本方法中,通过FPGA的通用I/O实现对三态驱动器SN74LVTH2245输出使能/禁止信号OE端的控制,当FPGA故障或还未启动工作时,该通用I/O对外无输出,OE端被对地端接的1kΩ电阻拉低,三态驱动器SN74LVTH2245正常输出,PROGRAM端由LM555定时器输出产生;当FPGA正常工作时,该通用I/O对外输出高电平将OE端置高,三态驱动器SN74LVTH2245输出关闭,PROGRAM端被拉高。具体电路见图3。
不同的FPGA因为逻辑资源量的不同,加载时间也不同,从几十毫秒到几秒都有。所以在设计时,PROGRAM端低脉冲间隔是设计重点,如果间隔太短,会造成FPGA还在加载期间,再次接收到PROGRAM端低脉冲,导致反复循环加载而始终无法加载完成,如果间隔太长,会导致长时间没有PROGRAM端低脉冲,造成FPGA启动时间过长。
因此,LM555定时器输出的低脉冲宽度和间隔,就需要按照不同项目的要求,来做不同的设计了。图4是本实施例中的FPGA自恢复信号PROGRAM端产生时序图。图中T1为LM555定时器产生的高脉冲宽度;T2为LM555定时器产生的低脉冲宽度;T1+T2=低脉冲间隔时间。
根据LM555定时器应用信息,图3中:
T1=0.693(R1+R2)C1
T2=0.693(R2)C1
上面公式中,R1、R2单位为千欧(kΩ),C1单位为微法(μF),T1、T2单位为毫秒(ms),举例如下:
a、若R1=10kΩ,R2=1KΩ,C1=10μF,则计算结果T1=76.23ms,T2=6.93ms,即每隔(76.23+6.93)=83.16ms产生一个宽度为6.93ms的低脉冲;
b、若R1=100kΩ,R2=10KΩ,C1=20μF,则计算结果T1=1524.6ms,T2=138.6ms,即每隔(1524.6+138.6)=1663.2ms产生一个宽度为138.6ms的低脉冲。
本方法已完成实验室验证,可广泛应用于对FPGA可靠性要求较高的嵌入式计算机系统中,具有很好的应用前景。

Claims (7)

1.一种FPGA故障自恢复的电路,其特征在于:包括定时器与三态驱动器;
所述定时器用于产生定时连续的低脉冲信号;
所述三态驱动器的输入端与定时器的输出端连接,用于对定时器输出的定时连续的低脉冲信号进行电平转换;所述三态驱动器的输出端与FPGA的加载启动信号PROGRAM端连接,将电平转换后的定时连续的低脉冲信号输入至FPGA;所述三态驱动器的使能/禁止信号OE端与FPGA的通用I/O连接,所述三态驱动器的使能/禁止信号OE端并通过电阻R4与地端连接。
2.根据权利要求1所述的FPGA故障自恢复的电路,其特征在于:所述定时器包括可调电阻R1、可调电阻R2、电容C1及电容C2;
第一电源端通过可调电阻R1与定时器的DIS端连接;
第一电源端通过可调电阻R1与可调电阻R2与定时器的THR端连接;
定时器的THR端与定时器的TRI端连接;定时器的TRI端通过电容C1与地端连接;定时器的CON端通过电容C2与地端连接。
3.根据权利要求2所述的FPGA故障自恢复的电路,其特征在于:所述电容C2为0.01μF。
4.根据权利要求2所述的FPGA故障自恢复的电路,其特征在于:所述三态驱动器包括电阻R3;
所述三态驱动器的DIR端通过电阻R3与第二电源端连接。
5.根据权利要求1-4任一所述的FPGA故障自恢复的电路,其特征在于:所述定时器为LM555定时器。
6.一种利用权利要求1-5任一所述的FPGA故障自恢复的电路实现FPGA故障自恢复的方法,其特征在于:
定时器产生定时连续的低脉冲信号;
当FPGA正常工作时,FPGA通用I/O输出为高电平,控制三态驱动器的OE端信号,禁止三态驱动器输出;
当FPGA故障后,FPGA通用I/O无输出;
三态驱动器的OE端输出使能,将定时器产生的定时连续的低脉冲经过电平转换后输出给FPGA的加载启动信号PROGRAM端,使得FPGA重新加载启动。
7.根据权利要求6所述的FPGA故障自恢复的方法,其特征在于:所述定时器为LM555定时器;LM555定时器产生的定时连续的低脉冲,其低脉冲间隔时间,由R1、R2和C1的取值计算得出:
T1=0.693(R1+R2)C1
T2=0.693(R2)C1。
CN201911192064.5A 2019-11-28 2019-11-28 一种fpga故障自恢复的电路及方法 Active CN111104240B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911192064.5A CN111104240B (zh) 2019-11-28 2019-11-28 一种fpga故障自恢复的电路及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911192064.5A CN111104240B (zh) 2019-11-28 2019-11-28 一种fpga故障自恢复的电路及方法

Publications (2)

Publication Number Publication Date
CN111104240A true CN111104240A (zh) 2020-05-05
CN111104240B CN111104240B (zh) 2024-05-10

Family

ID=70421193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911192064.5A Active CN111104240B (zh) 2019-11-28 2019-11-28 一种fpga故障自恢复的电路及方法

Country Status (1)

Country Link
CN (1) CN111104240B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113056042A (zh) * 2021-04-21 2021-06-29 北京航天控制仪器研究所 一种闭环控制光纤加热装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236248A (ja) * 2000-02-21 2001-08-31 Nec Corp フェイルセーフ回路並びにこれを備えた制御装置
CN1916916A (zh) * 2006-08-31 2007-02-21 株洲南车时代电气股份有限公司 一种确保现场可编程门阵列可靠配置的电路及方法
CN101192068A (zh) * 2006-11-20 2008-06-04 中兴通讯股份有限公司 直流稳压电源开关控制装置
CN103176945A (zh) * 2011-12-23 2013-06-26 中国科学院高能物理研究所 现场可编程门阵列器件自重配置装置及方法
CN103885848A (zh) * 2014-03-13 2014-06-25 南京科远驱动技术有限公司 一种微处理器死机、程序跑飞故障的保护电路及实现方法
CN105589772A (zh) * 2015-08-07 2016-05-18 杭州华三通信技术有限公司 检测fpga芯片逻辑挂死的方法和装置
CN108415791A (zh) * 2018-02-02 2018-08-17 上海康斐信息技术有限公司 一种看门狗电路及控制方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236248A (ja) * 2000-02-21 2001-08-31 Nec Corp フェイルセーフ回路並びにこれを備えた制御装置
CN1916916A (zh) * 2006-08-31 2007-02-21 株洲南车时代电气股份有限公司 一种确保现场可编程门阵列可靠配置的电路及方法
CN101192068A (zh) * 2006-11-20 2008-06-04 中兴通讯股份有限公司 直流稳压电源开关控制装置
CN103176945A (zh) * 2011-12-23 2013-06-26 中国科学院高能物理研究所 现场可编程门阵列器件自重配置装置及方法
CN103885848A (zh) * 2014-03-13 2014-06-25 南京科远驱动技术有限公司 一种微处理器死机、程序跑飞故障的保护电路及实现方法
CN105589772A (zh) * 2015-08-07 2016-05-18 杭州华三通信技术有限公司 检测fpga芯片逻辑挂死的方法和装置
CN108415791A (zh) * 2018-02-02 2018-08-17 上海康斐信息技术有限公司 一种看门狗电路及控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
唐德洲: "《数字电子技术》", 重庆大学出版社, pages: 173 - 174 *
齐志才,韩成浩: "基于X25043/45E~2PROM的嵌入式系抗干扰、自修复技术", no. 11 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113056042A (zh) * 2021-04-21 2021-06-29 北京航天控制仪器研究所 一种闭环控制光纤加热装置

Also Published As

Publication number Publication date
CN111104240B (zh) 2024-05-10

Similar Documents

Publication Publication Date Title
US7673201B1 (en) Recovering a prior state of a circuit design within a programmable integrated circuit
CN106528244B (zh) Fpga配置文件自动加载系统及方法
US20110056399A1 (en) Electronic detonator control chip
KR102374380B1 (ko) 인공지능 칩 테스트 방법, 장치, 기기 및 저장매체
CN106128352B (zh) Goa单元、驱动方法、goa电路和显示装置
CN103325411A (zh) 一种用于fpga的抗单粒子翻转加固系统及其方法
CN103617056A (zh) Fpga逻辑代码的在线升级方法和装置
CN111104240A (zh) 一种fpga故障自恢复的电路及方法
CN109271178A (zh) 一种基于Whitley平台实现CPLD升级的方法和系统
AU2009242842B9 (en) An electronic detonator control chip
CN107480023A (zh) 一种磁盘故障注入的方法及系统
CN110569038B (zh) 随机验证参数设计方法、装置、计算机设备及存储介质
CN107703810B (zh) 自锁电子开关
CN109192177A (zh) 一种控制电路、液晶显示驱动模组及液晶显示装置
CN105095137A (zh) 控制芯片及连接模块
CN203338067U (zh) 嵌入式系统中otp存储元件编程控制的电路结构
CN108347244B (zh) 用于fpga的多模式por电路
CN206209364U (zh) 基于dsp与fpga的控制电路装置
CN109240474A (zh) 复位值可控的数字电路及其设计方法
CN109753394B (zh) 一种实时调试固件配置信息的电路及方法
CN106598192A (zh) 一种供电装置、方法及供电系统
CN208654778U (zh) 一种ota升级电路
CN205375058U (zh) 一种控制电流输出的优化装置
CN108944736B (zh) 一种汽车、汽车电子设备及其开机控制电路
CN105718009B (zh) 基于fpga的pcie加速卡及其冷复位方法、电路

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