0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

軟件看門狗和硬件看門狗的作用和區(qū)別

物聯(lián)網(wǎng)動態(tài) ? 2019-10-15 17:29 ? 次閱讀

工業(yè)級無線路由器,作為無線組網(wǎng)中非常重要的設(shè)備,洞察客戶應(yīng)用場景,只要是關(guān)乎無線組網(wǎng)可靠性的需求,即使是最細(xì)微的技術(shù)應(yīng)用都要做到極致,比如看門狗。為什么工業(yè)級無線路由器這么重視軟硬件看門狗,今天我們就來看看軟硬件看門狗區(qū)別。

看門狗,又叫 watchdog timer,是一個定時器電路, 一般有一個輸入,叫喂狗,一個輸出到MCURST端,MCU正常工作的時候,每隔一段時間輸出一個信號到喂狗端,給 WDT 清零,如果超過規(guī)定時間不喂狗(一般在程序跑飛時),WDT 定時超過,就會給出一個復(fù)位信號到MCU,使MCU復(fù)位. 防止MCU死機(jī). 看門狗的作用就是防止程序發(fā)生死循環(huán)或者說程序跑飛。

工作原理:在系統(tǒng)運行以后也就啟動了看門狗的計數(shù)器,看門狗就開始自動計數(shù),如果到了一定的時間還不去清看門狗,那么看門狗計數(shù)器就會溢出從而引起看門狗中斷,造成系統(tǒng)復(fù)位。所以在使用有看門狗的芯片時要注意清看門狗。

硬件看門狗是利用了一個定時器,來監(jiān)控主程序的運行,也就是說在主程序的運行過程中,我們要在定時時間到之前對定時器進(jìn)行復(fù)位如果出現(xiàn)死循環(huán),或者說PC指針不能回來。那么定時時間到后就會使單片機(jī)復(fù)位。

軟件看門狗技術(shù)的原理和這差不多,只不過是用軟件的方法實現(xiàn),我們還是以51系列來講,我們知道在51單片機(jī)中有兩個定時器,我們就可以用這兩個定時器來對主程序的運行進(jìn)行監(jiān)控。我們可以對T0設(shè)定一定的定時時間,當(dāng)產(chǎn)生定時中斷的時候?qū)σ粋€變量進(jìn)行賦值,而這個變量在主程序運行的開始已經(jīng)有了一個初值,在這里我們要設(shè)定的定時值要小于主程序的運行時間,這樣在主程序的尾部對變量的值進(jìn)行判斷,如果值發(fā)生了預(yù)期的變化,就說明T0中斷正常,如果沒有發(fā)生變化則使程序復(fù)位。

對于T1我們用來監(jiān)控主程序的運行,我們給T1設(shè)定一定的定時時間,在主程序中對其進(jìn)行復(fù)位,如果不能在一定的時間里對其進(jìn)行復(fù)位,T1 的定時中斷就會使單片機(jī)復(fù)位。在這里T1的定時時間要設(shè)的大于主程序的運行時間,給主程序留有一定的的裕量。而T1的中斷正常與否我們再由T0定時中斷子程序來監(jiān)視。這樣就夠成了一個循環(huán),T0監(jiān)視T1,T1監(jiān)視主程序,主程序又來監(jiān)視T0,從而保證系統(tǒng)的穩(wěn)定運行。

看門狗運作原理

軟件、硬件看門狗的主要異同

兩者相同點如下:

1) 都是通過定時器實現(xiàn);定時時間到?jīng)]有喂狗就進(jìn)行復(fù)位。

2) 都是需要在規(guī)定的時間內(nèi)喂狗。

3) 兩者都是靠軟件進(jìn)行喂狗。

兩者的主要差異如下:

1) 附加功能:硬件看門狗芯片一般還附帶了延遲復(fù)位和電源檢 測的功能,軟件則沒有。

2) 屏蔽方法:軟件看門狗很容易屏蔽關(guān)閉,只需修改其中的寄存器,而硬件看門狗一旦啟動不斷電就停不下來。

3) 啟動方式:軟件看門狗很容易啟動,只需修改其中的寄存器。硬件一般是收到第一個喂狗信號后就啟動。

4) 初始化:硬件看門狗上電后收到第一個喂狗脈沖就完成了初始化,軟件看門狗則需要配置相關(guān)的寄存器(或者調(diào)用相關(guān)的看門狗子程序)。

工業(yè)路由器看門狗設(shè)計

杭州塔石物聯(lián)網(wǎng)工業(yè)級無線路由器、工業(yè)級無線DTU具有雙重看門狗,包括軟件看門狗與硬件看門狗,當(dāng)設(shè)備終端出現(xiàn)異常時,會智能進(jìn)行軟件喚醒或硬件斷電自動重啟,實時保障無線組網(wǎng)與無線數(shù)據(jù)傳輸暢通無阻。

軟件看門狗包括一個喂狗(kicking the dog or service the dog)進(jìn)程。喂狗進(jìn)程按一定的周期執(zhí)行喂狗操作,該周期小于等于定時器的周期。具體地,當(dāng)系統(tǒng)正常工作的時候,每隔一段時間輸出一個信號到喂狗端,給定時器清零;如果超過規(guī)定的時間不喂狗,定時器超時,就會輸出一個復(fù)位信號到系統(tǒng),使系統(tǒng)復(fù)位,以防止系統(tǒng)死機(jī)。

而硬件看門狗開啟則不受軟件的約束,設(shè)備上電就可以依賴上拉電阻提供的高脈沖開啟看門狗,只要軟件不及時喂狗,就復(fù)位,這個是無條件的。所謂一分錢一分貨,在電子產(chǎn)品也是適用的。

軟件和硬件的看門狗的最主要差異在于開啟看門狗的時機(jī),軟件看門狗必須初始化(配置)看門狗才能使用,如果軟件看門狗是廠商提供的SDK中的一個API接口開發(fā)者又沒有能力修改底層的uboot、內(nèi)核,無法在uboot、內(nèi)核階段開啟和喂狗,開啟看門狗的時機(jī)就很晚了,程序就有可能還沒有跑到看門狗初始化就掛了,中間的各種幺蛾子都不受控。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    Sitara AM6442 RTI看門狗調(diào)試

    電子發(fā)燒友網(wǎng)站提供《Sitara AM6442 RTI看門狗調(diào)試.pdf》資料免費下載
    發(fā)表于 08-27 11:26 ?0次下載
    Sitara AM6442 RTI<b class='flag-5'>看門狗</b>調(diào)試

    軟件看門狗硬件看門狗區(qū)別

    軟件看門狗硬件看門狗都是用于監(jiān)控系統(tǒng)崩潰的工具,它們的作用是在系統(tǒng)出現(xiàn)故障或異常情況時自動恢復(fù)系統(tǒng)。 ?
    的頭像 發(fā)表于 04-16 15:10 ?705次閱讀

    TLF35584中集成的看門狗工作應(yīng)用案例

    看門狗輸入引腳 WDI 具有集成的下拉電流 IWDI 。看門狗輸入 WDI 可以在“Closed Window”內(nèi)或隨后的“Open Window”期間轉(zhuǎn)換為高電平。
    發(fā)表于 03-18 11:27 ?2900次閱讀
    TLF35584中集成的<b class='flag-5'>看門狗</b>工作應(yīng)用案例

    調(diào)試模式下如何調(diào)試看門狗?

    大家在調(diào)試GD32 MCU系統(tǒng)的時候,若開了看門狗外設(shè),是否會碰到進(jìn)入調(diào)試模式看門狗就會咬造成無法調(diào)試的問題?
    的頭像 發(fā)表于 02-23 09:30 ?1081次閱讀
    調(diào)試模式下如何調(diào)試<b class='flag-5'>看門狗</b>?

    芯知識 | 語音芯片中的聲音播放提示IC內(nèi)置看門狗作用介紹

    作用不可忽視。首先,讓我們了解一下什么是看門狗。看門狗是一種計算機(jī)硬件軟件的保護(hù)機(jī)制,用于檢測和恢復(fù)系統(tǒng)故障。在語音芯片中,
    的頭像 發(fā)表于 12-20 08:40 ?363次閱讀
    芯知識 | 語音芯片中的聲音播放提示IC內(nèi)置<b class='flag-5'>看門狗</b>的<b class='flag-5'>作用</b>介紹

    MCU看門狗應(yīng)用注意事項

    我們使用的MCU是普冉的PY32F030,這顆芯片在低功耗應(yīng)用場景下,使用看門狗會有很多的問題和缺陷,需要非常注意,稍有不慎,就會出問題。
    發(fā)表于 12-02 09:47 ?849次閱讀
    MCU<b class='flag-5'>看門狗</b>應(yīng)用注意事項

    STM32的看門狗原理和示例代碼

    看門狗基礎(chǔ):STM32微控制器上的看門狗主要有兩種類型:獨立看門狗(IWDG)和窗口看門狗(WWDG),這兩者都是用于監(jiān)控系統(tǒng)運行狀態(tài)的機(jī)制,但它們在實現(xiàn)和應(yīng)用上有一些
    的頭像 發(fā)表于 12-01 08:00 ?1548次閱讀
    STM32的<b class='flag-5'>看門狗</b>原理和示例代碼

    什么是模擬看門狗?模擬看門狗有什么用處?

    看門狗大家應(yīng)該再熟悉不過了,一旦忘記喂狗就會導(dǎo)致單片機(jī)復(fù)位,而在大部分stm32中都存在兩種類型的看門狗,Independent watchdog (IWDG)獨立看門狗和Window watchdog (WWDG)窗口
    的頭像 發(fā)表于 11-22 09:40 ?1426次閱讀
    什么是模擬<b class='flag-5'>看門狗</b>?模擬<b class='flag-5'>看門狗</b>有什么用處?

    看門狗要如何使用?

    雖然知道看門狗作用,不過還是不太明白看門狗要如何使用。 看門狗作用是在程序跑飛的情況下讓系統(tǒng)能夠及時復(fù)位重新開始執(zhí)行程序,道理很簡單,但
    發(fā)表于 11-06 07:02

    MCU硬件看門狗+軟件看門狗監(jiān)測多任務(wù)的思路

    MCU硬件看門狗+軟件看門狗監(jiān)測多任務(wù)的思路
    的頭像 發(fā)表于 10-24 15:25 ?1658次閱讀
    MCU<b class='flag-5'>硬件</b><b class='flag-5'>看門狗</b>+<b class='flag-5'>軟件</b><b class='flag-5'>看門狗</b>監(jiān)測多任務(wù)的思路

    AXI時基看門狗定時器(WDT)概述

    XilinxLogiCORE IP AXI4-Lite時基看門狗定時器(WDT)是一個32位外設(shè),提供32位自由運行時基和看門狗定時器。
    的頭像 發(fā)表于 10-16 11:10 ?988次閱讀
    AXI時基<b class='flag-5'>看門狗</b>定時器(WDT)概述

    請問STM32的獨立看門狗和窗口看門狗有什么主要的區(qū)別?

    STM32的獨立看門狗和窗口看門狗有什么主要的區(qū)別
    發(fā)表于 10-15 06:44

    怎么用STM32實現(xiàn)一個軟件看門狗?

    不用硬件外設(shè)的看門狗,怎么用軟件實現(xiàn)一個的看門狗
    發(fā)表于 10-13 06:35

    硬件看門狗芯片和MCU外設(shè)看門狗有什么區(qū)別?

    硬件看門狗芯片和MCU外設(shè)看門狗有什么區(qū)別
    發(fā)表于 10-09 09:04

    電路中看門狗作用

    電路中看門狗作用 電路中的看門狗是一個非常重要的保護(hù)裝置,它主要用于監(jiān)測系統(tǒng)是否出現(xiàn)異常狀況,在檢測到異常狀況后關(guān)閉系統(tǒng),防止系統(tǒng)出現(xiàn)不可預(yù)知的故障。 又稱“掛”或“
    的頭像 發(fā)表于 09-26 16:38 ?3290次閱讀