欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種fpga實現(xiàn)軟件編程器件可控看門狗功能的方法

文檔序號:6551156閱讀:400來源:國知局
一種fpga實現(xiàn)軟件編程器件可控看門狗功能的方法
【專利摘要】一種FPGA實現(xiàn)軟件編程器件可控看門狗功能的方法,是在FPGA和軟件編程器件(DSP/MCU/ARM等)聯(lián)合工作時,不需額外增加看門狗硬件設(shè)計,利用FPGA實現(xiàn)可控看門狗功能。在單板調(diào)試時,可以隨需要由軟件編程器件來打開/關(guān)閉看門狗功能;可以根據(jù)軟件編程器件的數(shù)據(jù)處理周期長短來修改FPGA的定時時間(通過軟件編程器件給FPGA中的看門狗監(jiān)控計數(shù)器寫初值);按照本方法實現(xiàn)的FPGA程序可通用化,且參數(shù)控制方便(軟件編程器件通過修改不同地址上的數(shù)據(jù):初值、看門狗總開關(guān)信號、寫初值開關(guān)等)。值得注意的是,當(dāng)FPGA讀取了軟件編程器件給FPGA的初值后,即將初值鎖定,只寫一次初值。
【專利說明】-種FPGA實現(xiàn)軟件編程器件可控看門狗功能的方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種FPGA實現(xiàn)軟件編程器件可控看門狗功能的方法,實現(xiàn)了 FPGA對 軟件編程器件的系統(tǒng)監(jiān)控,在軟件編程器件出現(xiàn)意外狀況時可使其重新回復(fù)到系統(tǒng)上電狀 態(tài),屬于軟硬件結(jié)合調(diào)試領(lǐng)域。

【背景技術(shù)】
[0002] 看門狗的作用是軟件編程器件在意外狀況下(比如程序陷入死循環(huán)),使其重新 回復(fù)到系統(tǒng)上電狀態(tài),以保證系統(tǒng)出問題的時候重啟一次。設(shè)置看門狗是防止軟件編程器 件死機和提高軟件編程器件系統(tǒng)抗干擾性的一種重要途徑。看門狗分為硬件看門狗和軟件 看門狗。
[0003] 從實現(xiàn)角度上看,專用硬件看門狗是一種軟件與片外專用電路相結(jié)合的技術(shù),看 門狗能否可靠有效地工作,與硬件組成及軟件的控制策略都有密切的關(guān)系??删幊痰膶S?看門狗定時器,定時時間可通過軟件進行選擇(200ms,600ms,1.4s)。單時限看門狗硬件電 路簡單、控制方便,但可靠性差。雙時限看門狗以增加硬件投入為代價來提高看門狗工作的 可靠性。
[0004] 軟件看門狗是利用軟件編程器件片內(nèi)閑置的定時器/計數(shù)器單元作為看門狗,在 軟件編程器件程序中適當(dāng)?shù)夭迦?喂狗"指令,當(dāng)程序運行出現(xiàn)異?;蜻M入死循環(huán)時,利用 軟件給程序定時器/計數(shù)器賦初值,強制性地使程序重新開始運行。軟件看門狗的最大特 點是無需外加硬件電路,經(jīng)濟性好。缺點:需要占用片內(nèi)定時器/計數(shù)器。
[0005] 隨著微波遙感信號處理系統(tǒng)集成性和復(fù)雜性的提高,硬件小型化、軟件通用化、標 準化的需求日益迫切。隨著微波遙感信號處理復(fù)雜度的提高,往往需要FPGA和DSP/MCU聯(lián) 合工作來使信號處理系統(tǒng)具有良好的控制和運算能力,使用FPGA來實現(xiàn)可控看門狗功能 是一種不錯的選擇。


【發(fā)明內(nèi)容】

[0006] 本發(fā)明的技術(shù)解決問題是:克服現(xiàn)有技術(shù)的不足,提供一種FPGA實現(xiàn)軟件編程器 件可控看門狗功能的方法,減少了硬件投入,F(xiàn)PGA定時時間可控、是否使用看門狗功能可 控、可通用、控制方便。
[0007] 本發(fā)明的技術(shù)解決方案是:一種FPGA實現(xiàn)軟件編程器件可控看門狗功能的方法, 步驟如下:
[0008] (l)FPGA上電復(fù)位,令看門狗監(jiān)控計數(shù)器初值為0,進入步驟(2);
[0009] (2)判斷軟件編程器件是否打開了寫初值開關(guān),若軟件編程器件打開了寫初值開 關(guān),則進入步驟(3);若軟件編程器件沒有打開寫初值開關(guān),則直接進入步驟(5);
[0010] (3)軟件編程器件根據(jù)數(shù)據(jù)處理周期計算看門狗監(jiān)控計數(shù)器初值,F(xiàn)PGA讀取該初 值并將初值鎖定,進入步驟(4);所述數(shù)據(jù)處理周期與喂狗周期相同;
[0011] (4) FPGA將從軟件編程器件中讀取的看門狗監(jiān)控計數(shù)器初值賦給看門狗監(jiān)控計數(shù) 器,進入步驟(5);
[0012] (5)FPGA判斷軟件編程器件是否打開了看門狗使能,若軟件編程器件沒有打開看 門狗使能,則直接結(jié)束;若軟件編程器件打開了看門狗使能,則進入步驟(6);
[0013] (6)FPGA中看門狗監(jiān)控計數(shù)器根據(jù)FPGA的時鐘開始自動計數(shù),進入步驟(7);
[0014] (7)FPGA判斷是否有軟件編程器件發(fā)出的喂狗信號,如果有喂狗信號,則利用喂狗 周期來修改FPGA中的看門狗監(jiān)控計數(shù)器初值,返回步驟(4);若沒有喂狗信號,則進入步驟 ⑶;
[0015] (8)FPGA判斷看門狗監(jiān)控計數(shù)器是否計滿或者達到預(yù)設(shè)的固定值,若看門狗監(jiān)控 計數(shù)器的計數(shù)上限為計數(shù)器上限且看門狗監(jiān)控計數(shù)器沒有計滿,返回步驟¢);若看門狗 監(jiān)控計數(shù)器的計數(shù)上限為計數(shù)器上限且看門狗監(jiān)控計數(shù)器計滿,進入步驟(9);若看門狗 監(jiān)控計數(shù)器的計數(shù)上限為預(yù)設(shè)的固定值且看門狗監(jiān)控計數(shù)器沒有達到預(yù)設(shè)的固定值,返回 步驟¢);若看門狗監(jiān)控計數(shù)器的計數(shù)上限為預(yù)設(shè)的固定值且看門狗監(jiān)控計數(shù)器達到預(yù)設(shè) 的固定值,進入步驟(9);所述預(yù)設(shè)的固定值小于計數(shù)器上限;
[0016] (9)FPGA產(chǎn)生給軟件編程器件復(fù)位的信號,返回步驟(4)。
[0017] 所述步驟(3)中軟件編程器件根據(jù)數(shù)據(jù)處理周期計算看門狗監(jiān)控計數(shù)器初值,具 體為:
[0018] 看門狗監(jiān)控計數(shù)器初值具體由公式:
[0019] Ni = (t1-t2)/T1
[0020] 給出,式中,&為看門狗監(jiān)控計數(shù)器初值,?\為FPGA中的看門狗監(jiān)控計數(shù)器使用 的時鐘周期,h為看門狗監(jiān)控計數(shù)器計滿的總時間= ?\*Ν,其中,N為看門狗監(jiān)控計數(shù)器 的計數(shù)器上限值或預(yù)設(shè)的固定值;t2為看門狗監(jiān)控計數(shù)器的定時時間,t 2 = t3/0. 9,其中, t3為喂狗周期,喂狗周期與軟件編程器件的數(shù)據(jù)處理周期相同。
[0021] 本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:
[0022] (1)本發(fā)明在FPGA和軟件編程器件聯(lián)合工作時,利用FPGA實現(xiàn)軟件編程器件可控 看門狗功能,不需額外增加看門狗硬件設(shè)計,簡化了硬件設(shè)計;
[0023] (2)本發(fā)明在單板調(diào)試時,可以隨需要由軟件編程器件將看門狗總開關(guān)信號置位 來打開/關(guān)閉看門狗功能,調(diào)試方便;
[0024] (3)本發(fā)明可以根據(jù)軟件編程器件的數(shù)據(jù)處理周期長短來修改FPGA的定時時間, 即通過軟件編程器件給FPGA中的看門狗監(jiān)控計數(shù)器寫初值的方式完成修改,克服了看門 狗芯片固定定時時間容易在軟件編程器件的數(shù)據(jù)處理周期內(nèi)復(fù)位使軟件編程器件功能不 正確的問題;
[0025] (4)本發(fā)明可以通過軟件編程器件修改不同地址上的數(shù)據(jù),程序可以通用化,且參 數(shù)控制方便。

【專利附圖】

【附圖說明】
[0026] 圖1為FPGA實現(xiàn)軟件編程器件可控看門狗功能的原理圖;
[0027] 圖2為FPGA實現(xiàn)軟件編程器件可控看門狗功能的流程圖。

【具體實施方式】
[0028] 下面結(jié)合附圖對本發(fā)明的【具體實施方式】進行詳細地闡述。
[0029] 本發(fā)明提供的一種FPGA實現(xiàn)軟件編程器件可控看門狗功能的原理圖如圖1所示, 由圖1可知,本發(fā)明中軟件編程器件的數(shù)據(jù)線,地址線,片選信號,使能信號與FPGA連接,由 軟件編程器件通過數(shù)據(jù)線,地址線,片選信號,使能信號來給不同的地址上寫看門狗監(jiān)控計 數(shù)器初值、置位看門狗總開關(guān)信號以及發(fā)送喂狗信號等;FPGA通過讀取看門狗總開關(guān)信號 來判斷打開/關(guān)閉看門狗使能,讀取初值給看門狗監(jiān)控計數(shù)器賦初值來修改FPGA的定時時 間,如果超過FPGA的定時時間沒有接收到喂狗信號將產(chǎn)生復(fù)位信號來復(fù)位軟件編程器件 心/T 〇
[0030] 本發(fā)明提供的一種FPGA實現(xiàn)軟件編程器件可控看門狗功能的方法由軟件編程器 件控制看門狗使能的打開/關(guān)閉和控制看門狗監(jiān)控計數(shù)器的初值大?。葱薷腇PGA的定 時時間)。如果軟件編程器件打開了看門狗使能,程序正常運行時,軟件編程器件會按一定 時間間隔進行"喂狗",F(xiàn)PGA中的看門狗監(jiān)控計數(shù)器則會賦初值重新開始計數(shù),所以不會影 響程序正常運行。如果軟件編程器件程序陷入死循環(huán),超過規(guī)定的時間沒有"喂狗",則FPGA 中的看門狗監(jiān)控計數(shù)器就會溢出或達到預(yù)設(shè)的固定值,F(xiàn)PGA產(chǎn)生給軟件編程器件的復(fù)位信 號使軟件編程器件復(fù)位。
[0031] 如圖2所示為本發(fā)明流程圖,由圖2可知,本發(fā)明提出的一種FPGA實現(xiàn)軟件編程 器件可控看門狗功能的方法,實現(xiàn)步驟如下:
[0032] (l)FPGA上電復(fù)位,令看門狗監(jiān)控計數(shù)器初值為0,進入步驟(2);
[0033] (2)判斷軟件編程器件是否打開了寫初值開關(guān),若軟件編程器件打開了寫初值開 關(guān),則進入步驟(3);若軟件編程器件沒有打開寫初值開關(guān),則直接進入步驟(5);
[0034] (3)軟件編程器件根據(jù)數(shù)據(jù)處理周期計算看門狗監(jiān)控計數(shù)器初值,F(xiàn)PGA讀取該初 值并將初值鎖定,進入步驟(4);所述數(shù)據(jù)處理周期與喂狗周期相同;
[0035] 看門狗監(jiān)控計數(shù)器初值具體由公式:
[0036] N! = (t「t2) /?\
[0037] 給出,式中,&為看門狗監(jiān)控計數(shù)器初值,?\為FPGA中的看門狗監(jiān)控計數(shù)器使用 的時鐘周期,h為看門狗監(jiān)控計數(shù)器計滿的總時間= ?\*Ν,其中,N為看門狗監(jiān)控計數(shù)器 的計數(shù)器上限值或預(yù)設(shè)的固定值;t2為看門狗監(jiān)控計數(shù)器的定時時間,t 2 = t3/0. 9,其中, t3為喂狗周期,喂狗周期與軟件編程器件的數(shù)據(jù)處理周期相同。
[0038] (4) FPGA將從軟件編程器件中讀取的看門狗監(jiān)控計數(shù)器初值賦給看門狗監(jiān)控計數(shù) 器,進入步驟(5);
[0039] (5)FPGA判斷軟件編程器件是否打開了看門狗使能,若軟件編程器件沒有打開看 門狗使能,則直接結(jié)束;若軟件編程器件打開了看門狗使能,則進入步驟(6);
[0040] (6)FPGA中看門狗監(jiān)控計數(shù)器根據(jù)FPGA的時鐘開始自動計數(shù),進入步驟(7);
[0041] (7)FPGA判斷是否有軟件編程器件發(fā)出的喂狗信號,如果有喂狗信號,則利用喂狗 周期來修改FPGA中的看門狗監(jiān)控計數(shù)器初值,返回步驟(4);若沒有喂狗信號,則進入步驟 ⑶;
[0042] (8)FPGA判斷看門狗監(jiān)控計數(shù)器是否計滿或者達到預(yù)設(shè)的固定值,若看門狗監(jiān)控 計數(shù)器的計數(shù)上限為計數(shù)器上限且看門狗監(jiān)控計數(shù)器沒有計滿,返回步驟¢);若看門狗 監(jiān)控計數(shù)器的計數(shù)上限為計數(shù)器上限且看門狗監(jiān)控計數(shù)器計滿,進入步驟(9);若看門狗 監(jiān)控計數(shù)器的計數(shù)上限為預(yù)設(shè)的固定值且看門狗監(jiān)控計數(shù)器沒有達到預(yù)設(shè)的固定值,返回 步驟(6);若看門狗監(jiān)控計數(shù)器的計數(shù)上限為預(yù)設(shè)的固定值且看門狗監(jiān)控計數(shù)器達到預(yù)設(shè) 的固定值,進入步驟(9);所述預(yù)設(shè)的固定值小于計數(shù)器上限;
[0043] (9) FPGA產(chǎn)生給軟件編程器件復(fù)位的信號,然后FPGA返回步驟(4)。
[0044] 實施例
[0045] FPGA實現(xiàn)給DSP的可控看門狗功能。
[0046] (1)用本發(fā)明方法實現(xiàn)的FPGA程序固定,可通用,可預(yù)先固化在FPGA中;
[0047] (2)在調(diào)試初期,DSP程序不成熟,所以需要關(guān)閉看門狗功能;DSP將地址 addr〃00101001〃上的數(shù)據(jù)賦給看門狗使能開關(guān)wdt_en,即將wdt_en置0 (0為關(guān)閉看門狗 使能);
[0048] (3)在調(diào)試后期,DSP程序成熟,所以需要打開看門狗功能;DSP將地址 addr〃00101001〃上的數(shù)據(jù)賦給看門狗使能開關(guān)wdt_en,即將wdt_en置1 (1為打開看門狗 使能);〇3?在地址&(1(11'〃00100011〃上給??64發(fā)送系統(tǒng)監(jiān)測信號(喂狗信號) ;05?給??6八 的看門狗監(jiān)控計數(shù)器寫初值X〃4E0〃(因為DSP的數(shù)據(jù)處理周期為1. 44S,DSP發(fā)出的喂狗 信號周期也是1. 44S,故可設(shè)置FPGA中的看門狗監(jiān)控計數(shù)器的定時時間為1. 6S(1. 44S/0. 9 =1.6S) ;FPGA中的看門狗監(jiān)控計數(shù)器使用的時鐘周期是20ms,看門狗監(jiān)控計數(shù)器計滿為 2048,即總時間為2048*20ms = 40960ms ;看門狗監(jiān)控計數(shù)器的定時時間為1. 6S,所以DSP 需要給FPGA的看門狗監(jiān)控計數(shù)器寫初值(40960ms-16000ms)/20ms = 1248 = X〃4E0〃),DSP 先將地址addr〃00100110〃上的數(shù)據(jù)賦給寫初值開關(guān)wdt_wp (即將wdt_wp置1,打開寫初 值開關(guān)),然后DSP將地址addr〃00100101〃上的數(shù)據(jù)賦給初值低位wdt_int_l (即將wdt_ int_l置為Χ〃Ε0〃,寫初值低位),將地址addr〃00100100〃上的數(shù)據(jù)賦給初值高位wdt_int_ h (即將wdt_int_h置為X〃04〃,寫初值高位,寫了高位后鎖住初值,初值只寫一次);
[0049] (4)當(dāng)FPGA每收到DSP發(fā)出的系統(tǒng)監(jiān)測信號(喂狗信號)都將對看門狗監(jiān)控計數(shù) 器再次賦鎖定初值,重新進行計數(shù)(看門狗監(jiān)控計數(shù)器以FPGA時鐘的上升沿計數(shù),時鐘周 期是20ms)。若1. 6S FPGA都沒有收到DSP發(fā)出的喂狗信號,則FPGA中的看門狗監(jiān)控計數(shù) 器就會計滿。FPGA判斷看門狗監(jiān)控計數(shù)器計滿,則認為DSP的程序已經(jīng)跑飛,F(xiàn)PGA將產(chǎn)生 給DSP的復(fù)位信號(3us的低電平脈沖)來使DSP復(fù)位;
[0050] (5)DSP復(fù)位后,F(xiàn)PGA中的看門狗監(jiān)控計數(shù)器再次賦鎖定初值,重新進行計數(shù),繼 續(xù)去監(jiān)控是否收到DSP發(fā)出的系統(tǒng)監(jiān)測信號(喂狗信號)。
[0051] 通過后期實際工程的驗證,證明了本發(fā)明方法經(jīng)濟性好,是否使用看門狗功能可 控,F(xiàn)PGA定時時間可控,可通用,控制方便。
[0052] 本發(fā)明說明書中未作詳細描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員的公知技術(shù)。
【權(quán)利要求】
1. 一種FPGA實現(xiàn)軟件編程器件可控看門狗功能的方法,其特征在于步驟如下: (1) FPGA上電復(fù)位,令看門狗監(jiān)控計數(shù)器初值為0,進入步驟(2); (2) 判斷軟件編程器件是否打開了寫初值開關(guān),若軟件編程器件打開了寫初值開關(guān),則 進入步驟(3);若軟件編程器件沒有打開寫初值開關(guān),則直接進入步驟(5); (3) 軟件編程器件根據(jù)數(shù)據(jù)處理周期計算看門狗監(jiān)控計數(shù)器初值,F(xiàn)PGA讀取該初值并 將初值鎖定,進入步驟(4);所述數(shù)據(jù)處理周期與喂狗周期相同; (4) FPGA將從軟件編程器件中讀取的看門狗監(jiān)控計數(shù)器初值賦給看門狗監(jiān)控計數(shù)器, 進入步驟(5); (5) FPGA判斷軟件編程器件是否打開了看門狗使能,若軟件編程器件沒有打開看門狗 使能,則直接結(jié)束;若軟件編程器件打開了看門狗使能,則進入步驟(6); (6) FPGA中看門狗監(jiān)控計數(shù)器根據(jù)FPGA的時鐘開始自動計數(shù),進入步驟(7); (7) FPGA判斷是否有軟件編程器件發(fā)出的喂狗信號,如果有喂狗信號,則利用喂狗周 期來修改FPGA中的看門狗監(jiān)控計數(shù)器初值,返回步驟(4);若沒有喂狗信號,則進入步驟 ⑶; (8) FPGA判斷看門狗監(jiān)控計數(shù)器是否計滿或者達到預(yù)設(shè)的固定值,若看門狗監(jiān)控計數(shù) 器的計數(shù)上限為計數(shù)器上限且看門狗監(jiān)控計數(shù)器沒有計滿,返回步驟¢);若看門狗監(jiān)控 計數(shù)器的計數(shù)上限為計數(shù)器上限且看門狗監(jiān)控計數(shù)器計滿,進入步驟(9);若看門狗監(jiān)控 計數(shù)器的計數(shù)上限為預(yù)設(shè)的固定值且看門狗監(jiān)控計數(shù)器沒有達到預(yù)設(shè)的固定值,返回步驟 (6);若看門狗監(jiān)控計數(shù)器的計數(shù)上限為預(yù)設(shè)的固定值且看門狗監(jiān)控計數(shù)器達到預(yù)設(shè)的固 定值,進入步驟(9);所述預(yù)設(shè)的固定值小于計數(shù)器上限; (9) FPGA產(chǎn)生給軟件編程器件復(fù)位的信號,返回步驟(4)。
2. 根據(jù)權(quán)利要求1所述的一種FPGA實現(xiàn)軟件編程器件可控看門狗功能的方法,其特征 在于:所述步驟(3)中軟件編程器件根據(jù)數(shù)據(jù)處理周期計算看門狗監(jiān)控計數(shù)器初值,具體 為: 看門狗監(jiān)控計數(shù)器初值具體由公式: Ni = (t1~t2)/T1 給出,式中,K為看門狗監(jiān)控計數(shù)器初值,?\為FPGA中的看門狗監(jiān)控計數(shù)器使用的時 鐘周期為看門狗監(jiān)控計數(shù)器計滿的總時間= ?\*Ν,其中,N為看門狗監(jiān)控計數(shù)器的計 數(shù)器上限值或預(yù)設(shè)的固定值;t2為看門狗監(jiān)控計數(shù)器的定時時間,t 2 = t3/0. 9,其中,t3為 喂狗周期,喂狗周期與軟件編程器件的數(shù)據(jù)處理周期相同。
【文檔編號】G06F9/44GK104063223SQ201410298589
【公開日】2014年9月24日 申請日期:2014年6月26日 優(yōu)先權(quán)日:2014年6月26日
【發(fā)明者】孫娟, 李彬 申請人:西安空間無線電技術(shù)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
五峰| 兰溪市| 通许县| 自治县| 乐安县| 三门峡市| 哈尔滨市| 佳木斯市| 土默特右旗| 桦甸市| 驻马店市| 罗平县| 吉安县| 黔西| 上饶市| 沐川县| 嘉祥县| 民乐县| 治多县| 延边| 佛冈县| 广昌县| 巴林左旗| 滨海县| 寿阳县| 奎屯市| 绥阳县| 黑河市| 渭南市| 高唐县| 攀枝花市| 乐安县| 鄢陵县| 黎平县| 昌都县| 江安县| 和平区| 望城县| 拉萨市| 泰宁县| 盖州市|