一種看門狗復位裝置的制造方法
【技術領域】
[0001]本實用新型涉及一種用于監控服務中看門狗的技術領域,尤其涉及一種看門狗復位裝置。
【背景技術】
[0002]看門狗(Watch Dog Timer,簡稱WDT)的核心是看門狗定時器,看門狗定時器實際上是一個計數器,一般給看門狗定時器一個閾值,程序開始運行后,看門狗開始倒計數;如果程序運行正常,過一段時間就會收到一個復位信號,讓看門狗中的定時器重新開始倒計數。設置看門狗電路的主要目的是對于一些程序的潛在錯誤和惡劣環境下干擾等因素而導致的系統死機,在無人干預的情況下能自動恢復系統正常工作狀態。
[0003]隨著計算機水平的發展,看門狗的應用也更加廣泛,例如,在中國專利申請號為CN201210271617.8的中國專利申請中,公開了一種網絡看門狗及其實現方法,具體的技術方案是:至少一個與被監控計算機對應的看門狗控制器;處理模塊,用于當所述看門狗控制器產生超時信號時,生成用來控制被監控計算機進行復位上電操作的網絡復位包;網絡模塊,用于向與所述看門狗控制器對應的被監控計算機發送所述網絡復位包;并且網絡模塊還用于向被監控計算機發送網絡請求包和接收被監控計算機返回的網絡應答包;所述處理模塊還用于當所述網絡模塊接收到被監控計算機返回的網絡應答包,則向與所述被監控計算機對應的看門狗控制器進行喂狗操作。處理模塊還用于設置看門狗控制器和與所述看門狗控制器對應的被監控計算機的IP地址之間的映射關系;所述網絡模塊則用于根據與看門狗控制器對應的IP地址向被監控計算機發送所述網絡復位包。因此,可以通過網絡看門狗實現多個計算機系統的看門狗功能,能節省多個計算機的硬件成本。
[0004]本實用新型的發明人在實現本實用新型的過程中發現:現有技術中的看門狗定時器的工作原理是:在微控單元(Micro controller unit,簡稱MCU)正常工作時,每隔一段時間輸出一個喂狗信號,給看門狗電路清零,如果超過規定的時間不喂狗,看門狗定時超時,就會給一個復位信號到MCU,使MCU復位,防止MCU死機;但是這類看門狗定時器的弊端在于,MCU在開發過程中會錯誤復位,例如MCU在仿真過程中暫停,這時看門狗會誤判斷MCU死機,并對MCU進行復位,從而導致MCU無法正常進行仿真。
[0005]在中國專利申請號為CN201410298589.8的中國專利申請中,雖然公開了一種能夠讓看門狗的定時時間可控和看門狗功能也可控的技術方案:一種FPGA實現軟件編程器件可控看門狗功能的方法,包括:(I)FPGA上電復位,令看門狗監控計數器初值為0,進入步驟(2) ;(2)判斷軟件編程器件是否打開了寫初值開關,若軟件編程器件打開了寫初值開關,則進入步驟(3);若軟件編程器件沒有打開寫初值開關,則直接進入步驟(5) ;(3)軟件編程器件根據數據處理周期計算看門狗監控計數器初值,FPGA讀取該初值并將初值鎖定,進入步驟(4);所述數據處理周期與喂狗周期相同;(4)FPGA將從軟件編程器件中讀取的看門狗監控計數器初值賦給看門狗監控計數器,進入步驟(5) ; (5)FPGA判斷軟件編程器件是否打開了看門狗使能,若軟件編程器件沒有打開看門狗使能,則直接結束;若軟件編程器件打開了看門狗使能,則進入步驟(6) ; (6)FPGA中看門狗監控計數器根據FPGA的時鐘開始自動計數,進入步驟(7) ;(7)FPGA判斷是否有軟件編程器件發出的喂狗信號,如果有喂狗信號,則利用喂狗周期來修改FPGA中的看門狗監控計數器初值,返回步驟(4);若沒有喂狗信號,則進入步驟⑶;(8)FPGA判斷看門狗監控計數器是否計滿或者達到預設的固定值,若看門狗監控計數器的計數上限為計數器上限且看門狗監控計數器沒有計滿,返回步驟(6);若看門狗監控計數器的計數上限為計數器上限且看門狗監控計數器計滿,進入步驟(9);若看門狗監控計數器的計數上限為預設的固定值且看門狗監控計數器沒有達到預設的固定值,返回步驟¢);若看門狗監控計數器的計數上限為預設的固定值且看門狗監控計數器達到預設的固定值,進入步驟(9);所述預設的固定值小于計數器上限;(9)FPGA產生給軟件編程器件復位的信號,返回步驟(4)。
[0006]本實用新型的發明人在實現本實用新型的過程中發現,上述申請號為CN201410298589.8的中國專利申請中,雖然有講到可以讓看門狗看門功能可控的技術方案,但是對于如何通過軟件編程器件可控地打開或者關閉看門狗功能并沒有公開。因此,本領域人員迫切希望找到一種能夠智能、可靠地實現看門狗的看門功能打開或者關閉的技術方案。
【實用新型內容】
[0007]為了解決現有技術中存在的上述技術問題,本實用新型提供一種基于FPGA具體實現對看門狗的看門功能打開或者關閉功能的技術方案,能夠有效避免看門狗對MCU錯誤復位。
[0008]本實用新型采用的技術方案是:提供一種看門狗復位裝置,其特征在于,包括:
[0009]用于接收看門狗配置報文的看門狗接收模塊,所述看門狗接收模塊可以將配置報文轉換為并行數據,并且所述看門狗配置報文中的數據通過最大似然判決法識別;
[0010]用于解碼看門狗配置報文數據的看門狗配置報文數據解碼模塊,當所述看門狗配置報文數據解碼模塊檢測到幀起始位時,進入看門狗配置報文數據接收狀態;并且將接收的看門狗配置報文數據存儲至寄存器中;當接收到此幀結束位時,此幀看門狗配置報文數據接收結束,并且所述看門狗配置報文數據解碼模塊可以從看門狗配置報文數據中判斷開啟或者關閉看門狗功能的命令;
[0011]用于向MCU發射復位信號的看門狗復位發生器,所述看門狗復位發生器設置成可以接收來自所述看門狗配置報文數據解碼模塊中發出的開啟或者關閉看門狗功能的命令;
[0012]用于檢測喂狗信號的喂狗信號檢測模塊,當所述看門狗復位發生器接收到開啟看門狗功能命令時,所述喂狗信號檢測模塊和所述看門狗復位發生器執行看門狗功能。
[0013]因此,當MCU處于仿真狀態下時,利用FPGA硬件平臺,通過對看門狗配置報文的解碼,可以準確地控制看門狗功能進行關閉;而1(^正常工作時,又可以通過對看門狗配置報文進行解碼,讓看門狗功能開啟;并且在看門狗配置報文接收、解碼過程中,通過最大似然判決法識別看門狗配置報文的數據,提高了看門狗配置報文數據獲取、解碼過程中抗干擾的能力,使得看門狗配置報文數據的結果更加準確。
[0014]優選地,所述看門狗接收模塊中數據識別采用的最大似然判決法包括:將看門狗配置報文接收的時鐘配置為波特率的N倍,所述看門狗配置報文中的數據的每個位都會有N個采樣值,當采樣值超過N/2次的電平邏輯值即為所述數據中相應位的值。
[0015]優選地,所述N倍為16倍,所述波特率為9600Bps ;所述看門狗配置報文接收的時鐘的分頻率系數為652,每個周期的前半段內為高電平,每個周期的后半段為低電平。
[0016]因此,采用上述優選的技術方案,更好地,保證了看門狗配置報文接收、解碼后數據的準確性。
[0017]優選地,喂狗信號檢測模塊中喂狗信號檢測方法包括:在喂狗信號檢測模塊中設置第一寄存器和第二寄存器,所述第一寄存器中的值滯后喂狗信號一個時鐘,所述第二寄存器滯后所述第一寄存器一個時鐘;如果在同一個時刻檢測到所述第一寄存器中的值和所述第二寄存器中的值不同,復位信號發生器中的計數器就開始計時。
[0018]優選地,所述復位信號發生器中計數器開始計時后,判斷所述復位信號發生器中計數器的計時時間;如果時間滿足看門狗變化時間,則將喂狗信號檢測模塊中的狀態寄存器置為看門狗信號處于正常的狀態;如果時間不滿足看門狗變化時間,則將喂狗信號檢測模塊中的狀態寄存器置為看門狗信號處于異常的狀態。
[0019]因此,可以讓看門狗功能可以更好地監控MCU狀態,避免對MCU錯誤復位的同時,能夠在正常情況下,準確、及時地為MCU發出復位信號。
[0020]優選地,所述復位信號發生器設置有狀態寄存器,計數器和復位信號發出模塊;所述所述復位信號發生器中狀態寄存器檢測到復位信號有效后,對計所述復位信號發生器中計數器進行清零。
[0021]優選地,