『壹』 關於單片機內部看門狗的問題
單片機內部看門狗的使用,就是對看門狗寄存器初始化,即啟動看門狗,在主循環程序中不停的刷新看門狗,俗稱喂狗。一般都有一個看門狗專用寄存器,因不同單片機,寄存器不同,啟動方法和刷新也稍有不同。查看一下技術手冊,都有說明,也有常式。
『貳』 單片機中的看門狗是什麼東西,有什麼作用
看門狗(WDT)是一個定時器。看門狗是用來防止萬一單片機程序出錯造成重大損失的。防錯的原理很簡單,它在硬體上就是一個定時器,當它溢出的時候就會讓單片機強制復位使程序重新開始執行。
正常的情況下是不能讓它溢出的,所以在程序上每隔一段時間要給他置一次值(俗稱喂狗),只要程序中正常給它喂他就不會溢出。
一旦程序跑飛了,有干擾或者進入死循環之類的情況時,不能正常執行程序了,那麼就永遠執行不到喂狗的指令了,但此時定時器是硬體控制的,仍然會走,所以溢出了,單片機就復位了。
一般安全性要求比較高的,系統跑飛了會造成重大事故的都會加一個「狗」保安全。
通常,看門狗的溢出時間越短越靈敏,跑飛之後復位的時間越短,也就越安全,但是,喂狗的操作也要更頻繁。
(2)單片機喂狗擴展閱讀:
看門狗工作原理:
使用時,WDT將遞增直到溢出或「超時」。 除非處於休眠或空閑模式,否則WDT超時將強制器件復位。 為避免WDT超時復位,用戶必須使用PWRSAV或CLRWDT指令定期清除看門狗定時器。 如果WDT在休眠或空閑模式下超時。
器件將喚醒並從執行PWRSAV指令的位置繼續執行代碼。 在以上兩種情況下,WDTO位(RCON <4>)將被置1,表明器件復位或喚醒事件是由WDT超時引起的。
如果WDT將CPU從睡眠或空閑模式喚醒,則還將置位「睡眠」狀態位(RCON <3>)或「空閑」狀態位(RCON <2>),表明該設備先前已上電。 保存模式。
在正常操作期間,WDT超時將產生設備復位。 當設備處於睡眠狀態時,WDT超時將喚醒設備以繼續正常操作(稱為WDT喚醒)。 清零WDTE設置位可以永久關閉WDT。 後分頻器分配完全由軟體控制,也就是說,可以在程序執行期間隨時更改它。
為避免不可預測的器件復位,當從Timer0預分頻器分配更改為WDT後分頻器分配時,必須執行以下指令序列。 即使禁止了WDT,也必須執行該指令序列。
『叄』 單片機中的看門狗是什麼東西,有什麼作用
看門狗(WDT)是一個定時器,開啟看門狗定時器之後(比如定時200ms),在單片機程序中每隔一定的時間(小於200ms)要「喂狗」一次,即將看門狗定時器清零。
看門狗分硬體看門狗和軟體看門狗。硬體看門狗是利用一個定時器電路,其定時輸出連接到電路的復位端,程序在一定時間范圍內對定時器清零(俗稱「喂狗」),因此程序正常工作時,定時器總不能溢出,也就不能產生復位信號。
如果程序出現故障,不在定時周期內復位看門狗,就使得看門狗定時器溢出產生復位信號並重啟系統。軟體看門狗原理上一樣,只是將硬體電路上的定時器用處理器的內部定時器代替,這樣可以簡化硬體電路設計,但在可靠性方面不如硬體定時器。
比如系統內部定時器自身發生故障就無法檢測到。當然也有通過雙定時器相互監視,這不僅加大系統開銷,也不能解決全部問題,比如中斷系統故障導致定時器中斷失效。
(3)單片機喂狗擴展閱讀:
應用:
看門狗電路的應用,使單片機可以在無人狀態下實現連續工作,其工作原理是:看門狗晶元和單片機的一個I/O引腳相連,該I/O引腳通過程序控制它定時地往看門狗的這個引腳上送入高電平(或低電平),這一程序語句是分散地放在單片機其他控制語句中間的。
一旦單片機由於干擾造成程序跑飛後而陷入某一程序段進入死循環狀態時,寫看門狗引腳的程序便不能被執行,這個時候,看門狗電路就會由於得不到單片機送來的信號,便在它和單片機復位引腳相連的引腳上送出一個復位信號。
使單片機發生復位。即程序從程序存儲器的起始位置開始執行,這樣便實現了單片機的自動復位。
『肆』 單片機 看門狗電路中,喂狗信號是什麼求比較詳細通俗的解釋,謝謝了!
看門狗(WDT)有內置的也有外置的,其實就是個定時器。
看門狗的作用是:當程序在某種意外情況下跑飛了,這時就沒辦法去」喂狗「,一旦持續某個門檻時間(比如20ms)還沒有」喂狗「,那麼看門狗就把單片機復位。
喂狗信號就是在上面說的20ms之內,去清WDT定時器。
『伍』 單片機中說的看門狗是什麼
單片機中的看門狗指的是一個定時器電路,有一個輸入和一個輸出,其中輸入叫做喂狗,輸出連接到另外一個部分的復位端。
看門狗的功能是定期的查看晶元內部的情況,一旦發生錯誤就向晶元發出重啟信號。看門狗命令在程序的中斷中擁有最高的優先順序。
在由單片機構成的微型計算機系統中,由於單片機的工作常常會受到來自外界電磁場的干擾,造成各種寄存器和內存的數據混亂,會導致程序指針錯誤,不在程序區,取出錯誤的程序指令等,都有可能會陷入死循環,程序的正常運行被打斷,由單片機控制的系統無法繼續正常工作,導致整個系統的陷入停滯狀態,發生不可預料的後果。
工作原理
使用時,WDT將遞增,直到溢出,或稱「超時」。除非處於休眠或空閑模式,WDT 超時會強制器件復位。為避免WDT超時復位,用戶必須定期用PWRSAV 或CLRWDT 指令將看門狗定時器清零。如果WDT 在休眠或空閑模式下超時,器件將喚醒並從PWRSAV 指令執行處繼續執行代碼。
在上述兩種情況下,WDTO 位(RCON<4>)都會置1,表示該器件復位或喚醒事件是由於WDT超時引起的。如果WDT 將CPU從休眠或空閑模式喚醒,「休眠」狀態位(RCON<3>)或「空閑」狀態位(RCON<2>)也會置1,表示器件之前處於省電模式。