CN104331341A - 一种基于fpga的故障恢复方法 - Google Patents
一种基于fpga的故障恢复方法 Download PDFInfo
- 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
Links
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于FPGA的故障恢复方法,可实现在上电后对FPGA的工作状态进行监测,若逻辑未成功加载或逻辑崩溃等现象出现,使用硬件看门狗对逻辑进行复位;若FPGA上嵌入的软件加载不成功或者软件崩溃时,通过逻辑看门狗对软件进行复位,以实现模块的故障恢复,且不影响对FPGA的烧写、配置等操作。该方法适用于需要故障恢复的情况,提高工作的可靠性,且具有通用功能,可以适用于各种基于Xilinx FPGA的故障恢复情况。
Description
技术领域
本发明涉及一种基于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文件。
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)
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)
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 | 上海航天电子通讯设备研究所 | 用于星载扩频应答机单粒子翻转故障的监测及纠正装置 |
-
2014
- 2014-11-24 CN CN201410682741.2A patent/CN104331341B/zh active Active
Patent Citations (6)
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)
Title |
---|
李裕华,马慧敏: "《FPGA硬件软件设计及项目开发》", 31 August 2014 * |
王彦等: "《基于FPGA的工程设计与应用》", 31 May 2007 * |
王文华等: "航天应用FPGA配置可靠性研究", 《空间科学学报》 * |
Cited By (6)
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 |