一種基于fpga的故障恢復(fù)方法
【專利摘要】本發(fā)明公開(kāi)了一種基于FPGA的故障恢復(fù)方法,可實(shí)現(xiàn)在上電后對(duì)FPGA的工作狀態(tài)進(jìn)行監(jiān)測(cè),若邏輯未成功加載或邏輯崩潰等現(xiàn)象出現(xiàn),使用硬件看門狗對(duì)邏輯進(jìn)行復(fù)位;若FPGA上嵌入的軟件加載不成功或者軟件崩潰時(shí),通過(guò)邏輯看門狗對(duì)軟件進(jìn)行復(fù)位,以實(shí)現(xiàn)模塊的故障恢復(fù),且不影響對(duì)FPGA的燒寫、配置等操作。該方法適用于需要故障恢復(fù)的情況,提高工作的可靠性,且具有通用功能,可以適用于各種基于Xilinx FPGA的故障恢復(fù)情況。
【專利說(shuō)明】—種基于FPGA的故障恢復(fù)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于FPGA的故障恢復(fù)方法。
【背景技術(shù)】
[0002]Xilinx公司的FPGA芯片是基于SRAM型工藝的揮發(fā)性器件,電路功能依靠存儲(chǔ)在SRAM型配置寄存器中數(shù)據(jù)實(shí)現(xiàn)。FPGA芯片上電后必須從配置FLASH中讀取配置信息之后才能正常工作。
[0003]FPGA的配置過(guò)程包括5個(gè)階段:初始化,清空配置存儲(chǔ)器,加載配置數(shù)據(jù),CRC校驗(yàn),START-UP,該配置過(guò)程的上電時(shí)序如圖1所示,在芯片上電或者FPGA的PR0G_B信號(hào)為低脈沖時(shí),會(huì)清空配置寄存器,即會(huì)重新從配置FLASH中讀取配置信息。PR0G_B的最短脈沖時(shí)間由Ttok時(shí)間參數(shù)決定,當(dāng)該信號(hào)有效(低電平)時(shí),芯片處于復(fù)位狀態(tài)。
[0004]現(xiàn)有的FPGA沒(méi)有配置工作狀態(tài)監(jiān)測(cè)系統(tǒng),如果出現(xiàn)異?,F(xiàn)象無(wú)法及時(shí)復(fù)位,同時(shí)也影響了對(duì)FPGA的燒寫、配置等操作。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供一種基于FPGA的故障恢復(fù)方法,對(duì)FPGA的工作狀態(tài)進(jìn)行監(jiān)測(cè),可對(duì)出現(xiàn)的異?,F(xiàn)象進(jìn)行復(fù)位,且不影響對(duì)FPGA的燒寫、配置等操作。
[0006]為了實(shí)現(xiàn)以上目的,本發(fā)明所采用的技術(shù)方案是:一種基于FPGA的故障恢復(fù)方法,包括如下步驟:
[0007](I)上電后,F(xiàn)PGA從配置Flash中讀取配置信息,加載構(gòu)成邏輯看門狗的邏輯;
[0008](2)加載完成后邏輯運(yùn)行,對(duì)硬件看門狗進(jìn)行喂狗操作;
[0009](3)若邏輯故障或邏輯未成功加載,且持續(xù)設(shè)定時(shí)間未完成喂狗操作,硬件看門狗輸出復(fù)位脈沖到FPGA,F(xiàn)PGA重新加載直至邏輯加載成功;
[0010](4)邏輯加載成功后,F(xiàn)PGA加載嵌入的軟件,軟件啟動(dòng)后對(duì)邏輯看門狗進(jìn)行喂狗操作,若持續(xù)設(shè)定時(shí)間未進(jìn)行喂狗操作,則邏輯看門狗對(duì)軟件進(jìn)行復(fù)位。
[0011]若硬件看門狗上有外部復(fù)位信號(hào)產(chǎn)生,則FPGA重新加載邏輯。
[0012]配置Flash和硬件看門狗均與FPGA的PR0G_B相連。
[0013]所述FPGA還接有DEBUG信號(hào)用于在調(diào)試過(guò)程中燒入bit文件。
[0014]本發(fā)明基于FPGA的故障恢復(fù)方法可實(shí)現(xiàn)在上電后,對(duì)FPGA的工作狀態(tài)進(jìn)行監(jiān)測(cè),若邏輯未成功加載或邏輯崩潰等現(xiàn)象出現(xiàn),使用硬件看門狗對(duì)邏輯進(jìn)行復(fù)位;若FPGA上嵌入的軟件加載不成功或者軟件崩潰時(shí),通過(guò)邏輯看門狗對(duì)軟件進(jìn)行復(fù)位,以實(shí)現(xiàn)模塊的故障恢復(fù),且不影響對(duì)FPGA的燒寫、配置等操作。該方法適用于需要故障恢復(fù)的情況,提高工作的可靠性,且具有通用功能,可以適用于各種基于Xilinx FPGA的故障恢復(fù)情況。
【專利附圖】
【附圖說(shuō)明】
[0015]圖1為FPGA芯片的上電配置時(shí)序;
[0016]圖2為本發(fā)明硬件電路原理示意圖;
[0017]圖3為故障恢復(fù)方法流程圖。
【具體實(shí)施方式】
[0018]下面結(jié)合附圖及具體的實(shí)施例對(duì)本發(fā)明進(jìn)行進(jìn)一步介紹。
[0019]如圖1所示,在Xilinx FPGA的PR0G_B信號(hào)為低時(shí),清空配置寄存器,F(xiàn)PGA從配置Flash中重新加載程序。
[0020]如圖2所示,該故障恢復(fù)系統(tǒng)主要由硬件電路單元和邏輯看門狗單元組成。硬件電路單元主要包括硬件看門狗芯片、Xilinx FPGA和配置Flash ;邏輯看門狗單元主要由在PC機(jī)上編寫的邏輯進(jìn)行編碼來(lái)實(shí)現(xiàn),編譯生成適于芯片加載格式的軟件或邏輯。配置Flash和硬件看門狗均與Xilinx FPGA的PR0G_B相連。
[0021]另外,若不接DEBUG信號(hào),會(huì)出現(xiàn)調(diào)試過(guò)程中無(wú)法燒入bit文件的問(wèn)題,但可正常燒錄mcs文件。為解決此問(wèn)題,引入DEBUG信號(hào),當(dāng)處于調(diào)試狀態(tài),燒入bit文件時(shí),該信號(hào)置為1,工作狀態(tài)下,該信號(hào)為O。SYS_RST為外部復(fù)位信號(hào),此信號(hào)效果為FPGA復(fù)位外圍電路的同時(shí),自身重新加載程序。
[0022]如圖3所示,本發(fā)明提供了一種基于FPGA的故障恢復(fù)方法,包括如下步驟:
[0023](I)上電后,首先FPGA從配置Flash中讀取配置信息,加載構(gòu)成邏輯看門狗的邏輯;
[0024](2)等待FPGA加載完成后,此時(shí)邏輯運(yùn)行,邏輯開(kāi)始對(duì)硬件看門狗進(jìn)行喂狗操作(WDI);
[0025](3)若邏輯故障(例如出現(xiàn)邏輯崩潰現(xiàn)象)或邏輯未成功加載,且持續(xù)設(shè)定時(shí)間未完成喂狗操作(FPGA邏輯出現(xiàn)問(wèn)題),硬件看門狗芯片輸出復(fù)位脈沖到FPGA,此時(shí)FPGA將重新加載直至邏輯加載成功;
[0026](4)邏輯加載成功后,F(xiàn)PGA開(kāi)始加載嵌入的軟件,軟件啟動(dòng)后對(duì)邏輯看門狗進(jìn)行喂狗操作,若持續(xù)設(shè)定時(shí)間未進(jìn)行喂狗操作(軟件出現(xiàn)問(wèn)題),則邏輯看門狗對(duì)軟件進(jìn)行復(fù)位,從而實(shí)現(xiàn)故障恢復(fù)。
[0027]另外,在進(jìn)行上述操作的同時(shí)檢測(cè)外部復(fù)位信號(hào),若有外部復(fù)位信號(hào)產(chǎn)生,則FPGA復(fù)位外圍電路的同時(shí),自身重新加載邏輯。
[0028]以上實(shí)施例僅用于幫助理解本發(fā)明的核心思想,不能以此限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員,凡是依據(jù)本發(fā)明的思想,對(duì)本發(fā)明進(jìn)行修改或者等同替換,在【具體實(shí)施方式】及應(yīng)用范圍上所做的任何改動(dòng),均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于FPGA的故障恢復(fù)方法,其特征在于,包括如下步驟: (1)上電后,F(xiàn)PGA從配置Flash中讀取配置信息,加載構(gòu)成邏輯看門狗的邏輯; (2)加載完成后邏輯運(yùn)行,對(duì)硬件看門狗進(jìn)行喂狗操作; (3)若邏輯故障或邏輯未成功加載,且持續(xù)設(shè)定時(shí)間未完成喂狗操作,硬件看門狗輸出復(fù)位脈沖到FPGA,F(xiàn)PGA重新加載直至邏輯加載成功; (4)邏輯加載成功后,F(xiàn)PGA加載嵌入的軟件,軟件啟動(dòng)后對(duì)邏輯看門狗進(jìn)行喂狗操作,若持續(xù)設(shè)定時(shí)間未進(jìn)行喂狗操作,則邏輯看門狗對(duì)軟件進(jìn)行復(fù)位。
2.根據(jù)權(quán)利要求1所述的基于FPGA的故障恢復(fù)方法,其特征在于:若硬件看門狗上有外部復(fù)位信號(hào)產(chǎn)生,則FPGA重新加載邏輯。
3.根據(jù)權(quán)利要求1或2所述的基于FPGA的故障恢復(fù)方法,其特征在于:配置Flash和硬件看門狗均與FPGA的PROG_B相連。
4.根據(jù)權(quán)利要求3所述的基于FPGA的故障恢復(fù)方法,其特征在于:所述FPGA還接有DEBUG信號(hào)用于在調(diào)試過(guò)程中燒入bit文件。
【文檔編號(hào)】G06F11/07GK104331341SQ201410682741
【公開(kāi)日】2015年2月4日 申請(qǐng)日期:2014年11月24日 優(yōu)先權(quán)日:2014年11月24日
【發(fā)明者】董歡, 徐愷 申請(qǐng)人:中國(guó)航空工業(yè)集團(tuán)公司洛陽(yáng)電光設(shè)備研究所