CN104331341B - 一种基于fpga的故障恢复方法 - Google Patents
一种基于fpga的故障恢复方法 Download PDFInfo
- Publication number
- CN104331341B CN104331341B CN201410682741.2A CN201410682741A CN104331341B CN 104331341 B CN104331341 B CN 104331341B CN 201410682741 A CN201410682741 A CN 201410682741A CN 104331341 B CN104331341 B CN 104331341B
- Authority
- CN
- China
- Prior art keywords
- fpga
- logic
- fault recovery
- software
- dog
- 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.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (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 (2)
1.一种基于FPGA的故障恢复方法,其特征在于,包括如下步骤:
(1)上电后,FPGA从配置Flash中读取配置信息,加载构成逻辑看门狗的逻辑;
(2)加载完成后逻辑运行,对硬件看门狗进行喂狗操作;
(3)若逻辑故障或逻辑未成功加载,且持续设定时间未完成喂狗操作,硬件看门狗输出复位脉冲到FPGA,FPGA重新加载直至逻辑加载成功;
(4)逻辑加载成功后,FPGA加载嵌入的软件,软件启动后对逻辑看门狗进行喂狗操作,若持续设定时间未进行喂狗操作,则逻辑看门狗对软件进行复位;
配置Flash和硬件看门狗均与FPGA的PROG_B相连;所述FPGA还接有DEBUG信号用于在调试过程中烧入bit文件。
2.根据权利要求1所述的基于FPGA的故障恢复方法,其特征在于:若硬件看门狗上有外部复位信号产生,则FPGA重新加载逻辑。
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 CN104331341A (zh) | 2015-02-04 |
CN104331341B true 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) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766285B (zh) * | 2017-09-12 | 2021-06-01 | 郑州云海信息技术有限公司 | 一种基于fpga挂载外部存储的复位系统 |
CN111914497B (zh) * | 2020-06-17 | 2024-04-09 | 中国航空工业集团公司洛阳电光设备研究所 | 一种dsp核心模块故障恢复方法 |
CN115189917A (zh) * | 2022-06-13 | 2022-10-14 | 上海华瑞众信技术有限公司 | 一种使用fpga+mcu实现的隔离装置 |
CN115629916B (zh) * | 2022-12-23 | 2023-03-14 | 湖南博匠信息科技有限公司 | 一种基于Zynq的业务程序故障恢复方法 |
Citations (4)
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 |
CN102253864A (zh) * | 2011-06-14 | 2011-11-23 | 中国科学院长春光学精密机械与物理研究所 | Fpga芯片加电启动容错装置 |
CN103870292A (zh) * | 2012-12-13 | 2014-06-18 | 中国航空工业集团公司洛阳电光设备研究所 | Fpga自动加载逻辑的装置及方法 |
CN104021051A (zh) * | 2014-06-06 | 2014-09-03 | 上海航天电子通讯设备研究所 | 用于星载扩频应答机单粒子翻转故障的监测及纠正装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100541438C (zh) * | 2007-12-29 | 2009-09-16 | 上海华为技术有限公司 | 一种控制看门狗电路复位的方法和装置 |
CN103885847A (zh) * | 2014-02-08 | 2014-06-25 | 京信通信系统(中国)有限公司 | 一种基于嵌入式系统的喂狗方法及装置 |
-
2014
- 2014-11-24 CN CN201410682741.2A patent/CN104331341B/zh active Active
Patent Citations (4)
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 |
CN102253864A (zh) * | 2011-06-14 | 2011-11-23 | 中国科学院长春光学精密机械与物理研究所 | Fpga芯片加电启动容错装置 |
CN103870292A (zh) * | 2012-12-13 | 2014-06-18 | 中国航空工业集团公司洛阳电光设备研究所 | Fpga自动加载逻辑的装置及方法 |
CN104021051A (zh) * | 2014-06-06 | 2014-09-03 | 上海航天电子通讯设备研究所 | 用于星载扩频应答机单粒子翻转故障的监测及纠正装置 |
Non-Patent Citations (1)
Title |
---|
航天应用FPGA配置可靠性研究;王文华等;《空间科学学报》;20110228(第1期);第106-111页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104331341A (zh) | 2015-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104331341B (zh) | 一种基于fpga的故障恢复方法 | |
CN102081573A (zh) | 用于记录设备重启原因的装置及方法 | |
CN102681907B (zh) | 一种多功能看门狗电路 | |
CN106873990B (zh) | 嵌入式系统ram损坏模式下的多分区引导方法 | |
KR101885228B1 (ko) | 데이터 저장 디바이스에 대한 전력 강하 방지 | |
CN107704067B (zh) | 一种SoC芯片复位方法和复位系统 | |
CN101556551B (zh) | 设备故障日志的硬件获取系统及方法 | |
CN102141939B (zh) | 可记录整机重启原因的装置 | |
JP6290934B2 (ja) | プログラマブルデバイス、エラー保持システム、及び電子システム装置 | |
CN111143132B (zh) | 一种bios恢复方法、装置、设备及可读存储介质 | |
CN104503857A (zh) | 一种计算机开机启动管理控制系统 | |
CN100590599C (zh) | 一种flash的写操作处理方法、系统及设备 | |
TWI640872B (zh) | 記憶體控制電路單元、記憶體儲存裝置及其控制方法 | |
CN102915209B (zh) | 一种存储控制芯片、存储设备及其系统数据写入方法 | |
TW201500925A (zh) | 資料保護方法、記憶體控制器與記憶體儲存裝置 | |
CN102722430B (zh) | 一种检测安全数码卡热插拔的方法及装置 | |
CN103890713A (zh) | 用于管理处理系统内的寄存器信息的装置及方法 | |
US8374046B2 (en) | Computing device and method for clearing data stored in complementary metal-oxide semiconductor chip | |
CN111914497B (zh) | 一种dsp核心模块故障恢复方法 | |
CN108121842B (zh) | 多处理器系统芯片的低功耗工作方式的验证方法和装置 | |
CN111783173A (zh) | 一种铁路产品或非型闪存的保护电路和方法 | |
CN104900264A (zh) | 一种防止spi flash开关机时数据破坏的系统及方法 | |
CN107977278A (zh) | 死机状态数据恢复处理的方法和装置 | |
CN110794804B (zh) | 用于刷写ecu的系统、ecu、机动车和方法 | |
CN100530119C (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 |