一種高可用性看門狗電路的制作方法
【技術領域】
[0001]本發明屬于嵌入式計算機系統領域,尤其涉及一種高可用性看門狗電路電路。
【背景技術】
[0002]隨著機載系統綜合化模塊化航空電子系統發展的需求,對航電核心處理平臺的綜合化程度和處理性能要求越來越高,綜合處理平臺的綜合化導致系統應用軟件隨之也朝著綜合化的方向發展,于是,系統應用軟件規模越來越龐大、任務調度越來越復雜,航電系統任務高度集中,如何提高系統應用軟件的可靠性、健壯性、可用性成為我們當前面臨的重要問題。
[0003]在聯合式航電系統中,為了防止系統應用軟件運行異常而出現程序跑飛或者死循環的現象,硬件電路專門設計了看門狗電路解決此類問題。在規定時間周期內,系統應用軟件必須通過讀/寫特定寄存器對看門狗電路中的計數器“清零”(俗稱喂狗),表示系統應用軟件運行正常;否則,看門狗電路的計數器“超時”,看門狗電路將判定系統應用軟件運行異常,然后看門狗電路將發出看門狗中斷信號(俗稱狗叫)通知系統,并產生系統復位。
[0004]綜合化航電系統中,硬件電路和任務處理均采用綜合化設計,如果看門狗超時后直接進行系統復位,將會導致系統因軟件/硬件偶發性故障或非關鍵性故障導致整個系統出現短時間失控的現象,降低了系統的可靠性、可用性;而且,故障源如果并未消除,將導致故障系統反復復位,此系統將無法正常工作,如果此系統無余度備份的話,那么此系統功能將完全喪失;其次狗叫發生時的軟件現場未記錄的話,事后無法進行故障分析、定位。
[0005]綜上所述,針對綜合化航電系統,需要設計一種高可用性看門狗電路,通過增強對系統偶發故障的容錯能力來提升系統的可靠性和可用性,滿足綜合化航電系統應用軟件的使用要求。
【發明內容】
[0006]為了解決【背景技術】中所存在的技術問題,本發明提出了一種高可用性看門狗電路,適應綜合化航電系統大規模應用軟件的使用要求,通過增強系統的容錯能力來提高系統的可用性,避免了系統軟件/硬件因偶發性故障引起的系統復位。
[0007]本發明的技術解決方案是:一種高可用性看門狗電路,其特征在于:所述看門狗電路包括依次連接的看門狗計數電路、看門狗喂狗電路,看門狗中斷電路以及看門狗復位電路;
[0008]所述看門狗計數電路實現看門狗的周期計數、以及與看門狗超時計數器的超時比較;依據不同的需求初始化為不同的看門狗計數周期和超時周期;
[0009]所述看門狗喂狗電路通過讀/寫寄存器對看門狗電路中的計數器“清零”;
[0010]所述看門狗中斷電路包括看門狗中斷控制電路和看門狗中斷計數器;當系統沒有在規定時間內喂狗時,看門狗中斷控制電路輸出看門狗中斷信號有效給CPU,同時看門狗中斷計數器加I;[0011 ]所述看門狗復位電路控制當連續三次看門狗超時,看門狗復位有效。
[0012]上述看門狗計數電路的輸入輸出是:
[0013]a)復位信號:輸入,復位信號有效時,看門狗計數器被清零、看門狗超時計數器被預置、看門狗超時信號輸出無效狀態;
[0014]b)看門狗計數時鐘:輸入,時鐘信號,每過一個周期,看門狗計數器加I;
[0015]c)看門狗喂狗信號:輸入,該信號有效時,看門狗計數器被清零;
[0016]d)看門狗超時信號:輸出,當看門狗計數器大于等于看門狗超時計數器時,即看門狗超時事件發生,看門狗超時信號輸出有效狀態。
[0017]上述看門狗喂狗電路的輸入輸出:
[0018]a)復位信號:輸入,復位信號有效時,看門狗喂狗信號輸出無效狀態;
[0019]b)看門狗喂狗信號:輸出,處理器讀/寫特定寄存器時,看門狗喂狗信號輸出有效狀態。
[0020]上述看門狗中斷電路的輸入輸出:
[0021]a)復位信號:輸入,復位信號有效時,看門狗中斷信號輸出無效狀態且看門狗中斷計數器被清零;
[0022]b)看門狗超時信號:輸入,當沒有在規定時間內喂狗時,看門狗超時信號有效;
[0023]c)看門狗中斷計數清除信號:輸入,該信號有效時,看門狗中斷計數器被清零;看門狗超時發生后,當處理器判定造成看門狗超時的故障原因已修復或可屏蔽時,處理器通過讀/寫特定寄存器使得看門狗中斷計數清除信號有效,即系統“忽略”此前發生的看門狗超時異常。
[0024]d)看門狗中斷信號:輸出,看門狗超時信號有效時,該電路輸出看門狗中斷有效信號給CPU; CPU進行現場保存;
[0025]e)看門狗中斷超限信號:輸出,當連續三次看門狗超時發生后,該信號輸出有效。
[0026]上述看門狗復位電路的輸入輸出:
[0027]a)復位信號:輸入,復位信號有效時,看門狗復位信號輸出無效狀態;
[0028]b)看門狗中斷超限信號:輸入,當連續三次看門狗超時發生后,該信號有效;
[0029]c)看門狗復位信號:輸出,看門狗中斷超限信號有效時,即發生連續三次看門狗超時,該電路輸出看門狗復位有效信號給系統復位控制電路。
[0030]—種高可用性看門狗電路的實現方法,其特征在于:所述方法包括以下步驟:
[0031 ] I)判定系統復位:如果復位有效,則對看門狗相關資源進行初始化,然后進入步驟
6);否則,進入步驟2);
[0032]2)判定喂狗操作:如果喂狗操作有效,則對看門狗相關資源進行初始化,然后進入步驟6);否則,進入步驟3);
[0033]3)看門狗計數器加I;
[0034]4)判定看門狗超時:如果超時,則看門狗中斷計數器加I,并發出看門狗中斷信號有效給CPU,CPU進入看門狗中斷服務程序進行故障現場保存、故障判定,進入步驟5);如果未超時,進入步驟6);
[0035]5)判定看門狗連續超時的次數是否超過3次,如果超過3次,使能看門狗復位信號;否則,進入步驟6);
[0036]6)推出看門狗計時周期服務程序。
[0037]本發明的優點:
[0038]I)看門狗連續三次發生后才進行復位,可避免偶發性故障導致的看門狗的看門狗復位;
[0039]2)提供看門狗超時中斷計數器門限值設置功能,可滿足不同系統對看門狗超時中斷不同的容錯能力要求;
[0040]3)提供看門狗中斷,應用軟件可進行故障現場記錄,還可以結合健康管理系統進行故障診斷、故障定位、故障消除等一系列措施,在此發明的基礎上更進一步提高系統的可靠性、健壯性、可用性。
[0041]本發明通過對看門狗超時中斷的監控,僅對連續三次出現的看門狗故障進行處理,剔除了偶發性故障造成的看門狗超時中斷,增強了對偶發性故障的容錯能力,提高了系統的可用性。本發明采用VHDL語言實現,可應用于FPGA、CPLD等可編程器件實現。
【附圖說明】
[0042]圖1是本發明看門狗電路結構框圖;
【具體實施方式】
[0043]參見圖1,本發明的高可用性看門狗電路的工作原理:看門狗控制電路主要由看門狗計數電路,看門狗喂狗電路,看門狗中斷電路,看門狗復位電路組成。看門狗電路的主要組成部分的功能如下:
[0044]a)看門狗計數電路:主要實現看門狗的周期計數、以及與看門狗超時計數器的超時比較。依據不同的需求可初始化為不同的看門狗計數周期和超時周期;電路的輸入輸出如下:
[0045]I)復位信號:輸入,復位信號有效時,看門狗計數器被清零、看門狗超時計數器被預置、看門狗超時信號輸出無效狀態;
[0046]2)看門狗計數時鐘:輸入,時鐘信號,每過一個周期,看門狗計數器加I;
[0047]3)看門狗喂狗信號:輸入,該信號