CN104331341A - 一种基于fpga的故障恢复方法 - Google Patents

一种基于fpga的故障恢复方法 Download PDF

Info

Publication number
CN104331341A
CN104331341A CN201410682741.2A CN201410682741A CN104331341A CN 104331341 A CN104331341 A CN 104331341A CN 201410682741 A CN201410682741 A CN 201410682741A CN 104331341 A CN104331341 A CN 104331341A
Authority
CN
China
Prior art keywords
fpga
logic
recovery method
software
failure recovery
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
CN201410682741.2A
Other languages
English (en)
Other versions
CN104331341B (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.)
Luoyang Institute of Electro Optical Equipment AVIC
Original Assignee
Luoyang Institute of Electro Optical Equipment 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 Luoyang Institute of Electro Optical Equipment AVIC filed Critical Luoyang Institute of Electro Optical Equipment AVIC
Priority to CN201410682741.2A priority Critical patent/CN104331341B/zh
Publication of CN104331341A publication Critical patent/CN104331341A/zh
Application granted granted Critical
Publication of CN104331341B publication Critical patent/CN104331341B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于FPGA的故障恢复方法,可实现在上电后对FPGA的工作状态进行监测,若逻辑未成功加载或逻辑崩溃等现象出现,使用硬件看门狗对逻辑进行复位;若FPGA上嵌入的软件加载不成功或者软件崩溃时,通过逻辑看门狗对软件进行复位,以实现模块的故障恢复,且不影响对FPGA的烧写、配置等操作。该方法适用于需要故障恢复的情况,提高工作的可靠性,且具有通用功能,可以适用于各种基于Xilinx FPGA的故障恢复情况。

Description

一种基于FPGA的故障恢复方法
技术领域
本发明涉及一种基于FPGA的故障恢复方法。
背景技术
Xilinx公司的FPGA芯片是基于SRAM型工艺的挥发性器件,电路功能依靠存储在SRAM型配置寄存器中数据实现。FPGA芯片上电后必须从配置FLASH中读取配置信息之后才能正常工作。
FPGA的配置过程包括5个阶段:初始化,清空配置存储器,加载配置数据,CRC校验,START-UP,该配置过程的上电时序如图1所示,在芯片上电或者FPGA的PROG_B信号为低脉冲时,会清空配置寄存器,即会重新从配置FLASH中读取配置信息。PROG_B的最短脉冲时间由TPOR时间参数决定,当该信号有效(低电平)时,芯片处于复位状态。
现有的FPGA没有配置工作状态监测系统,如果出现异常现象无法及时复位,同时也影响了对FPGA的烧写、配置等操作。
发明内容
本发明的目的是提供一种基于FPGA的故障恢复方法,对FPGA的工作状态进行监测,可对出现的异常现象进行复位,且不影响对FPGA的烧写、配置等操作。
为了实现以上目的,本发明所采用的技术方案是:一种基于FPGA的故障恢复方法,包括如下步骤:
(1)上电后,FPGA从配置Flash中读取配置信息,加载构成逻辑看门狗的逻辑;
(2)加载完成后逻辑运行,对硬件看门狗进行喂狗操作;
(3)若逻辑故障或逻辑未成功加载,且持续设定时间未完成喂狗操作,硬件看门狗输出复位脉冲到FPGA,FPGA重新加载直至逻辑加载成功;
(4)逻辑加载成功后,FPGA加载嵌入的软件,软件启动后对逻辑看门狗进行喂狗操作,若持续设定时间未进行喂狗操作,则逻辑看门狗对软件进行复位。
若硬件看门狗上有外部复位信号产生,则FPGA重新加载逻辑。
配置Flash和硬件看门狗均与FPGA的PROG_B相连。
所述FPGA还接有DEBUG信号用于在调试过程中烧入bit文件。
本发明基于FPGA的故障恢复方法可实现在上电后,对FPGA的工作状态进行监测,若逻辑未成功加载或逻辑崩溃等现象出现,使用硬件看门狗对逻辑进行复位;若FPGA上嵌入的软件加载不成功或者软件崩溃时,通过逻辑看门狗对软件进行复位,以实现模块的故障恢复,且不影响对FPGA的烧写、配置等操作。该方法适用于需要故障恢复的情况,提高工作的可靠性,且具有通用功能,可以适用于各种基于Xilinx FPGA的故障恢复情况。
附图说明
图1为FPGA芯片的上电配置时序;
图2为本发明硬件电路原理示意图;
图3为故障恢复方法流程图。
具体实施方式
下面结合附图及具体的实施例对本发明进行进一步介绍。
如图1所示,在Xilinx FPGA的PROG_B信号为低时,清空配置寄存器,FPGA从配置Flash中重新加载程序。
如图2所示,该故障恢复系统主要由硬件电路单元和逻辑看门狗单元组成。硬件电路单元主要包括硬件看门狗芯片、Xilinx FPGA和配置Flash;逻辑看门狗单元主要由在PC机上编写的逻辑进行编码来实现,编译生成适于芯片加载格式的软件或逻辑。配置Flash和硬件看门狗均与Xilinx FPGA的PROG_B相连。
另外,若不接DEBUG信号,会出现调试过程中无法烧入bit文件的问题,但可正常烧录mcs文件。为解决此问题,引入DEBUG信号,当处于调试状态,烧入bit文件时,该信号置为1,工作状态下,该信号为0。SYS_RST为外部复位信号,此信号效果为FPGA复位外围电路的同时,自身重新加载程序。
如图3所示,本发明提供了一种基于FPGA的故障恢复方法,包括如下步骤:
(1)上电后,首先FPGA从配置Flash中读取配置信息,加载构成逻辑看门狗的逻辑;
(2)等待FPGA加载完成后,此时逻辑运行,逻辑开始对硬件看门狗进行喂狗操作(WDI);
(3)若逻辑故障(例如出现逻辑崩溃现象)或逻辑未成功加载,且持续设定时间未完成喂狗操作(FPGA逻辑出现问题),硬件看门狗芯片输出复位脉冲到FPGA,此时FPGA将重新加载直至逻辑加载成功;
(4)逻辑加载成功后,FPGA开始加载嵌入的软件,软件启动后对逻辑看门狗进行喂狗操作,若持续设定时间未进行喂狗操作(软件出现问题),则逻辑看门狗对软件进行复位,从而实现故障恢复。
另外,在进行上述操作的同时检测外部复位信号,若有外部复位信号产生,则FPGA复位外围电路的同时,自身重新加载逻辑。
以上实施例仅用于帮助理解本发明的核心思想,不能以此限制本发明,对于本领域的技术人员,凡是依据本发明的思想,对本发明进行修改或者等同替换,在具体实施方式及应用范围上所做的任何改动,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于FPGA的故障恢复方法,其特征在于,包括如下步骤:
(1)上电后,FPGA从配置Flash中读取配置信息,加载构成逻辑看门狗的逻辑;
(2)加载完成后逻辑运行,对硬件看门狗进行喂狗操作;
(3)若逻辑故障或逻辑未成功加载,且持续设定时间未完成喂狗操作,硬件看门狗输出复位脉冲到FPGA,FPGA重新加载直至逻辑加载成功;
(4)逻辑加载成功后,FPGA加载嵌入的软件,软件启动后对逻辑看门狗进行喂狗操作,若持续设定时间未进行喂狗操作,则逻辑看门狗对软件进行复位。
2.根据权利要求1所述的基于FPGA的故障恢复方法,其特征在于:若硬件看门狗上有外部复位信号产生,则FPGA重新加载逻辑。
3.根据权利要求1或2所述的基于FPGA的故障恢复方法,其特征在于:配置Flash和硬件看门狗均与FPGA的PROG_B相连。
4.根据权利要求3所述的基于FPGA的故障恢复方法,其特征在于:所述FPGA还接有DEBUG信号用于在调试过程中烧入bit文件。
CN201410682741.2A 2014-11-24 2014-11-24 一种基于fpga的故障恢复方法 Active CN104331341B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410682741.2A CN104331341B (zh) 2014-11-24 2014-11-24 一种基于fpga的故障恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410682741.2A CN104331341B (zh) 2014-11-24 2014-11-24 一种基于fpga的故障恢复方法

Publications (2)

Publication Number Publication Date
CN104331341A true CN104331341A (zh) 2015-02-04
CN104331341B CN104331341B (zh) 2018-04-27

Family

ID=52406073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410682741.2A Active CN104331341B (zh) 2014-11-24 2014-11-24 一种基于fpga的故障恢复方法

Country Status (1)

Country Link
CN (1) CN104331341B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766285A (zh) * 2017-09-12 2018-03-06 郑州云海信息技术有限公司 一种基于fpga挂载外部存储的复位系统
CN111914497A (zh) * 2020-06-17 2020-11-10 中国航空工业集团公司洛阳电光设备研究所 一种dsp核心模块故障恢复方法
CN115189917A (zh) * 2022-06-13 2022-10-14 上海华瑞众信技术有限公司 一种使用fpga+mcu实现的隔离装置
CN115629916A (zh) * 2022-12-23 2023-01-20 湖南博匠信息科技有限公司 一种基于Zynq的业务程序故障恢复方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2429347A (en) * 2005-04-01 2007-02-21 Westinghouse Airbrake Technolo Fail safe switching of an electrical load
CN101196836A (zh) * 2007-12-29 2008-06-11 上海华为技术有限公司 一种控制看门狗电路复位的方法和装置
CN102253864A (zh) * 2011-06-14 2011-11-23 中国科学院长春光学精密机械与物理研究所 Fpga芯片加电启动容错装置
CN103870292A (zh) * 2012-12-13 2014-06-18 中国航空工业集团公司洛阳电光设备研究所 Fpga自动加载逻辑的装置及方法
CN103885847A (zh) * 2014-02-08 2014-06-25 京信通信系统(中国)有限公司 一种基于嵌入式系统的喂狗方法及装置
CN104021051A (zh) * 2014-06-06 2014-09-03 上海航天电子通讯设备研究所 用于星载扩频应答机单粒子翻转故障的监测及纠正装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2429347A (en) * 2005-04-01 2007-02-21 Westinghouse Airbrake Technolo Fail safe switching of an electrical load
CN101196836A (zh) * 2007-12-29 2008-06-11 上海华为技术有限公司 一种控制看门狗电路复位的方法和装置
CN102253864A (zh) * 2011-06-14 2011-11-23 中国科学院长春光学精密机械与物理研究所 Fpga芯片加电启动容错装置
CN103870292A (zh) * 2012-12-13 2014-06-18 中国航空工业集团公司洛阳电光设备研究所 Fpga自动加载逻辑的装置及方法
CN103885847A (zh) * 2014-02-08 2014-06-25 京信通信系统(中国)有限公司 一种基于嵌入式系统的喂狗方法及装置
CN104021051A (zh) * 2014-06-06 2014-09-03 上海航天电子通讯设备研究所 用于星载扩频应答机单粒子翻转故障的监测及纠正装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
李裕华,马慧敏: "《FPGA硬件软件设计及项目开发》", 31 August 2014 *
王彦等: "《基于FPGA的工程设计与应用》", 31 May 2007 *
王文华等: "航天应用FPGA配置可靠性研究", 《空间科学学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766285A (zh) * 2017-09-12 2018-03-06 郑州云海信息技术有限公司 一种基于fpga挂载外部存储的复位系统
CN107766285B (zh) * 2017-09-12 2021-06-01 郑州云海信息技术有限公司 一种基于fpga挂载外部存储的复位系统
CN111914497A (zh) * 2020-06-17 2020-11-10 中国航空工业集团公司洛阳电光设备研究所 一种dsp核心模块故障恢复方法
CN111914497B (zh) * 2020-06-17 2024-04-09 中国航空工业集团公司洛阳电光设备研究所 一种dsp核心模块故障恢复方法
CN115189917A (zh) * 2022-06-13 2022-10-14 上海华瑞众信技术有限公司 一种使用fpga+mcu实现的隔离装置
CN115629916A (zh) * 2022-12-23 2023-01-20 湖南博匠信息科技有限公司 一种基于Zynq的业务程序故障恢复方法

Also Published As

Publication number Publication date
CN104331341B (zh) 2018-04-27

Similar Documents

Publication Publication Date Title
CN102081573B (zh) 用于记录设备重启原因的装置及方法
CN106873990B (zh) 嵌入式系统ram损坏模式下的多分区引导方法
CN101208646A (zh) 监视电源电平的系统和方法
CN104331341A (zh) 一种基于fpga的故障恢复方法
US20170277603A1 (en) Data saving method, device and terminal
JP6290934B2 (ja) プログラマブルデバイス、エラー保持システム、及び電子システム装置
EP2770507B1 (en) Memory circuits, method for accessing a memory and method for repairing a memory
CN104123167A (zh) 具有配置字自检功能的mcu上电启动方法及其自检方法
CN104579313A (zh) 一种基于配置帧的在轨sram型fpga故障检测与修复方法
TWI537734B (zh) 資料保護方法、記憶體控制器與記憶體儲存裝置
CN102915209B (zh) 一种存储控制芯片、存储设备及其系统数据写入方法
TWI640872B (zh) 記憶體控制電路單元、記憶體儲存裝置及其控制方法
CN103631677B (zh) 一种plc设备数据掉电保持的方法
CN103890713A (zh) 用于管理处理系统内的寄存器信息的装置及方法
CN111914497B (zh) 一种dsp核心模块故障恢复方法
CN101582294B (zh) 一种解决sram模块闩锁问题与增强sram模块可靠性的方法
US10747611B2 (en) Safety enhancement for memory controllers
CN104900264A (zh) 一种防止spi flash开关机时数据破坏的系统及方法
CN102043735B (zh) 外接存储设备及其掉电保护方法
CN106610862B (zh) 支持eeprom掉电测试的仿真器
KR20150034540A (ko) 전자기기
CN110794804B (zh) 用于刷写ecu的系统、ecu、机动车和方法
CN106354580A (zh) 一种数据恢复方法及装置
CN100530119C (zh) 同步监控提供辅助基本输入/输出系统码的方法及相关装置
CN104035784A (zh) 一种设备启动系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant