什么是看門狗型復位電路
看門狗型復位電路(Watchdog Timer Reset Circuit),簡稱看門狗電路,是一種常見的復位電路類型,用于監控和恢復嵌入式系統的異常狀態。
看門狗電路的作用是在系統出現故障或停機時,能夠自動檢測并觸發系統復位操作,使系統恢復到可控的初始狀態。它通過定期喂狗信號來確認系統正常運行,如果系統未能在規定的時間內正常喂狗,看門狗電路將產生復位信號,將系統重新啟動。
看門狗電路通常由兩部分組成:
1. 看門狗定時器(Watchdog Timer):看門狗定時器是一個可編程的定時器,它設置了一個特定的時間間隔,稱為看門狗超時時間。定時器在每次啟動后開始倒計時,如果在超時時間內未接收到喂狗信號,定時器會溢出,觸發復位信號。
2. 喂狗信號源(WDT Feed Signal Source):喂狗信號源是一個周期性產生喂狗信號的源頭。通常是由系統軟件定期發送一個特定的信號,告訴看門狗定時器系統正常運行。喂狗信號可以是一個特定的數據或命令,也可以是一個定時器中斷信號。
看門狗型復位電路廣泛應用于嵌入式系統、工控系統、自動化設備等對穩定性和可靠性要求較高的場景。它可以監測系統死鎖、軟件異常、硬件故障等問題,并能夠自動恢復系統,保障系統的可靠運行。
上電復位時看門狗模塊默認工作在什么模式?
對于上電復位時的看門狗模塊,默認情況下,它通常處于使能模式。也就是說,當系統上電時,看門狗模塊會默認開始工作,并開始監控系統的運行狀態。
在使能模式下,看門狗模塊會按照預設的定時器設置開始計時,在每個定時器周期內需要接收到喂狗信號來確認系統正常運行。如果在設定的時間間隔內未接收到喂狗信號(也就是系統未能定期“喂狗”),看門狗模塊會產生復位信號,將系統重新啟動。
上電時的看門狗模塊行為可能取決于具體的實現和配置。有些看門狗模塊可能具有可配置的工作模式,可以根據需求進行設置。
看門狗型復位電路
看門狗型復位電路主要利用CPU正常工作時,定時復位計數器,使得計數器的值不超過某一值;當CPU不能正常工作時,由于計數器不能被復位,因此其計數會超過某一值,從而產生復位脈沖,使得CPU恢復正常工作狀態。
典型應用的Watchdog復位電路如圖7所示。此復位電路的可靠性主要取決于軟件設計,即將定時向復位電路發出脈沖的程序放在何處。
一般設計,將此段程序放在定時器中斷服務子程序中。然而,有時這種設計仍然會引起程序走飛或工作不正常。原因主要是:當程序“走飛”發生時定時器初始化以及開中斷之后的話,這種“走飛”情況就有可能不能由Watchdog復位電路校正回來。因為定時器中斷一真在產生,即使程序不正常,Watchdog也能被正常復位。為此提出定時器加預設的設計方法。即在初始化時壓入堆棧一個地址,在此地址內執行的是一條關中斷和一條死循環語句。
在所有不被程序代碼占用的地址盡可能地用子程序返回指令RET代替。這樣,當程序走飛后,其進入陷阱的可能性將大大增加。而一旦進入陷阱,定時器停止工作并且關閉中斷,從而使Watchdog復位電路會產生一個復位脈沖將CPU復位。當然這種技術用于實時性較強的控制或處理軟件中有一定的困難。
看門狗復位是硬件復位還是軟件復位
看門狗復位既可以是硬件復位,也可以是軟件復位,具體取決于系統設計和實現。
硬件復位:在硬件上實現看門狗復位意味著看門狗電路在硬件層面上監控系統狀態并觸發復位操作。當看門狗定時器檢測到系統未能及時喂狗或發現其他異常情況時,它會生成一個復位信號,將系統重新啟動。硬件復位通常是由一個特定的電路(如看門狗定時器)直接控制復位引腳,從而重置整個系統。
軟件復位:軟件復位是通過系統軟件來實現的復位操作。當系統檢測到需要復位時,它會在軟件層面上執行相應的復位程序或代碼,進行系統的重新初始化和重啟。
在某些系統中,硬件復位和軟件復位可以同時使用。例如,看門狗電路可能會在硬件上監控系統狀態,并在檢測到故障時觸發硬件復位。而軟件可以通過定期喂狗信號來防止硬件復位的發生,從而保持系統正常運行。
審核編輯:黃飛
-
看門狗
+關注
關注
10文章
566瀏覽量
70949 -
嵌入式系統
+關注
關注
41文章
3625瀏覽量
129756 -
cpu
+關注
關注
68文章
10904瀏覽量
213027 -
定時器
+關注
關注
23文章
3255瀏覽量
115376 -
復位電路
+關注
關注
13文章
322瀏覽量
44707
發布評論請先 登錄
相關推薦
X25045 看門狗電路芯片的電路設計
![X25045 <b class='flag-5'>看門狗</b><b class='flag-5'>電路</b>芯片的<b class='flag-5'>電路設計</b>](https://file1.elecfans.com//web2/M00/A4/6C/wKgZomUMNCWAPvkQAAAEArpZxM4581.gif)
看門狗喂狗時間及程序
STM32看門狗配置(獨立看門狗IWDG和窗口看門狗WWDG)
![STM32<b class='flag-5'>看門狗</b>配置(獨立<b class='flag-5'>看門狗</b>IWDG和窗口<b class='flag-5'>看門狗</b>WWDG)](https://file1.elecfans.com//web2/M00/A6/E1/wKgZomUMQQeANJA7AAAvqvkO9zw240.png)
stm32看門狗復位技巧編輯
![stm32<b class='flag-5'>看門狗</b><b class='flag-5'>復位</b>技巧編輯](https://file1.elecfans.com//web2/M00/A7/28/wKgZomUMQrqAeCOsAAAVpjvg1Eo360.png)
什么是看門狗,工業路由器看門狗技術的功能優勢
![什么是<b class='flag-5'>看門狗</b>,工業路由器<b class='flag-5'>看門狗</b>技術的功能優勢](https://file.elecfans.com/web2/M00/4F/E1/pYYBAGLE9fmAcJBIAABOSysc4IA097.png)
評論