廣東省東莞市石碣鎮涌口第二工業區田心街87號3樓
在對可靠性有嚴格要求的機載航空電子系統中,看門狗是保障系統穩定運行的重要手段,可以及時監控嵌入式系統軟件是否在規定的時間內執行了規定的指令,如果發現進入錯誤狀態可以及時發起中斷或復位。下面介紹看門狗電路工作原理、作用及注意事項。
簡述看門狗的基本原理
看門狗是一種監控系統的運行狀況的手段,通過軟硬件結合的方式實現對系統運行狀況的監控。穩定運行的軟件會在執行完特定指令后進行喂狗,若在一定周期內看門狗沒有收到來自軟件的喂狗信號,則認為系統故障,會進入中斷處理程序或強制系統復位??撮T狗的工作流程見圖1,系統上電后根據不同的工作模式可以選擇使能看門狗的時機,若看門狗被使能則計數器開始計數,如果在設定的時間內沒有及時喂狗則會發生看門狗超時。看門狗主要由寄存器、計數器和狗叫模塊構成;通過寄存器對看門狗進行基本設置,計數器計算狗叫時間,狗叫模塊決定看門狗超時后發出的中斷或復位方式。
看門狗工作流程
軟件看門狗作用原理
軟件看門狗因其只使用了單片機內部的定時器/計數器單元實現看門狗功能,不必外加元器件,因而被普遍的應用于單片機系統中,常與硬件看門狗一起使用。
軟件看門狗一般采用中斷的方式執行,通過在中斷程序中設置系統復位寄存器或對程序計數器PC賦予初始值的方式進行系統復位。可根據系統的需要自行確定看門狗動作的時間,該時間通過設置定時器的計數值來確定。在系統正常的主循環中適當地插入“喂狗”指令來重置定時器值,當程序跑飛或進入死循環時,定時器因計時到而中斷,從而執行中斷復位程序,將系統復位。
一般看門狗硬件電路設計原理
看門狗,又叫watchdog,從本質上來說就是一個定時器電路,一般有一個輸入和一個輸出,其中輸入叫做喂狗,輸出一般連接到另外一個部分的復位端,一般是連接到單片機。
單片機正常工作的時候,每隔一段時間輸出一個信號到喂狗端,給看門狗電路清零,如果在超過規定的時間不喂狗,定時超時,就會給一個復位信號到達單片機,使單片機復位,防止單片機程序跑飛。看門狗電路的作用就是防止程序發生死循環,或者說程序跑飛。
電路設計
看門狗硬件電路設計原理,利用電阻、電容、MOSFET、反相觸發器搭建了一套運行可靠的看門狗電路。
圖2看門狗硬件設計電路圖
如圖2所示,信號“WATCHDOG_KICK”為“喂狗”信號;RESET為復位信號,一般在整套電氣系統里與單片機的reset引腳相連;U1,U2,U3,U4為邏輯反相器;Q1、Q2、Q3為N型MOSFET;VCC一般為5v電壓。
看門狗電路注意事項
1、系統電壓
選擇看門狗依據系統內部的電壓軌,也就是說,根據MCU或DSP的驅動電壓來選擇電壓監控器。
2、看門狗輸入端(WDI)
一旦MCU無法正常工作時,而且其片內看門狗功能也無法復位,軟件進入死循環。這時,具有集成看門狗功能的監控器可觸發復位,從而提高系統的可靠性。
3、手動復位(MR)功能
借助該功能,可對電路進行手動復位,或者通過應用中的另一個器件來主動控制監控器電路。
4、有效高電平輸出
如果處理器需要采用有效高電平復位輸入,無需增加額外的器件就可實現。
5、電源故障輸入/輸出(PFI/PFO)
利用該比較器能夠提供更大的靈活性,例如用來實現電池電量的長時間監測和電壓跌落預警。
6、延遲時間
一定的延遲時間使得電壓和電路中的其它器件能夠在正常操作重新開始之前先穩定先來,降低電壓波動,提高系統的可靠性。
7、通道數
一般而言,系統中所需的監控器功能的數量取決于處理器及外圍器件的電壓。例如,獨立電壓的處理器有可能需要對兩個電源軌進行監控,與此同時,系統中的存儲器可能也需要進行監控并工作在第三個(不同的)電壓軌上。
8、芯片啟動選通作用
一旦電源電壓處于欠壓狀態時,看門狗電路的芯片啟動選通功能能夠防止錯誤數據使CMOSRAM發生劣化。
下一篇:正熱敏電阻和負熱敏電阻的區別