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

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

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

硬件和軟件看門(mén)狗的異同

硬件設(shè)計(jì)解析 ? 來(lái)源:愛(ài)搞研究的阿燦 ? 作者:愛(ài)搞研究的阿燦 ? 2023-04-03 18:13 ? 次閱讀

說(shuō)到提高系統(tǒng)的可靠性,剛?cè)腴T(mén)的工程師都知道,增加一個(gè)看門(mén)狗是重要的手段??撮T(mén)狗又分軟件看門(mén)狗和硬件看門(mén)狗,但是很多人可能沒(méi)有深入了解其中的區(qū)別,工作中可能都遇到這樣的PK:

87b0b934-d1ff-11ed-a826-dac502259ad0.png


??軟件和硬件看門(mén)狗有什么區(qū)別?學(xué)完這篇文章就可以迎刃而解了。

1、硬件看門(mén)狗的原理

硬件看門(mén)狗是利用一個(gè)定時(shí)器電路,其定時(shí)輸出連接到電路的復(fù)位端,程序在一定時(shí)間范圍內(nèi)對(duì)定時(shí)器清零(俗稱(chēng)“喂狗”),因此程序正常工作時(shí),定時(shí)器總不能溢出,也就不能產(chǎn)生復(fù)位信號(hào)。如果程序出現(xiàn)故障,不在定時(shí)周期內(nèi)復(fù)位看門(mén)狗,就使得看門(mén)狗定時(shí)器溢出產(chǎn)生復(fù)位信號(hào)并重啟系統(tǒng)。
我們以ADI公司ADM6316看門(mén)狗芯片為例。

87d81a6a-d1ff-11ed-a826-dac502259ad0.png


??該看門(mén)狗芯片的主要功能有:
??1.可以監(jiān)控主電源VCC,26種復(fù)位閾值選項(xiàng):2.5 V至5 V,以100 mV遞增;
??2.4種復(fù)位延遲選項(xiàng):1 ms、20 ms、140 ms、1120 ms(最小值);
??3.4種看門(mén)狗喂狗超時(shí)選項(xiàng):6.3 ms、102 ms、1600 ms、25.6 s(典型值);
??4.支持手動(dòng)復(fù)位輸入;
??5.復(fù)位輸出級(jí):推挽低電平有效,開(kāi)漏低電平有效,推挽高電平有效。
??復(fù)位功能說(shuō)明:
??該芯片內(nèi)置復(fù)位功能。設(shè)備上電時(shí),芯片的VCC電壓一旦到達(dá)開(kāi)啟閾值電壓VTH,延遲定時(shí)器啟動(dòng),經(jīng)過(guò)延遲時(shí)間tRP,復(fù)位信號(hào)RESET或者/RESET即可輸出,實(shí)現(xiàn)設(shè)備的延遲上電復(fù)位;芯片同時(shí)會(huì)監(jiān)測(cè)VCC的電壓,一旦VCC跌落到VTH以下,經(jīng)過(guò)延遲時(shí)間tRD后,復(fù)位信號(hào)輸出電平翻轉(zhuǎn),實(shí)現(xiàn)設(shè)備的復(fù)位。

87f6f67e-d1ff-11ed-a826-dac502259ad0.png


??看門(mén)狗功能說(shuō)明:
??該芯片內(nèi)置看門(mén)狗功能,設(shè)備上電時(shí),芯片的VCC電壓一旦到達(dá)開(kāi)啟閾值電壓VTH,延遲定時(shí)器啟動(dòng),經(jīng)過(guò)延遲時(shí)間tRP,復(fù)位信號(hào)RESET或者/RESET即可輸出,實(shí)現(xiàn)設(shè)備的延遲上電復(fù)位;當(dāng)喂狗信號(hào)WDI收到第一個(gè)脈沖電平時(shí),就觸發(fā)芯片內(nèi)部的定時(shí)器,軟件必須在tWD時(shí)間內(nèi)輸出喂狗信號(hào)WDI,否則復(fù)位信號(hào)RESET或者/RESET將會(huì)在定時(shí)時(shí)間tWD到達(dá)時(shí),進(jìn)行復(fù)位,設(shè)備重新復(fù)位。

88ca1522-d1ff-11ed-a826-dac502259ad0.png

2、軟件看門(mén)狗的原理

軟件看門(mén)狗原理上一樣,只是將硬件電路上的定時(shí)器用處理器的內(nèi)部定時(shí)器代替,這樣可以簡(jiǎn)化硬件電路設(shè)計(jì),一般是將一個(gè)芯片中的定時(shí)器來(lái)作為看門(mén)狗,通過(guò)程序的初始化,寫(xiě)入初值,并啟動(dòng)定時(shí)器。程序按時(shí)對(duì)定時(shí)器賦初值(或復(fù)位),以免它餓了。
??這種看門(mén)狗是可以被禁用的(只要停止這個(gè)定時(shí)器即可),好比對(duì)那只要咬你的狗來(lái)個(gè)“葵花點(diǎn)穴手”,大部分CPU都內(nèi)置看門(mén)狗,硬件原理可參考各芯片數(shù)據(jù)手冊(cè)。
??優(yōu)點(diǎn):可以通過(guò)程序改變初始時(shí)間,也可以隨時(shí)禁用。
??缺點(diǎn):需要初始化,如果程序在初始化、啟動(dòng)完成前跑飛或在禁用后跑飛,看門(mén)狗就無(wú)法復(fù)位系統(tǒng),這樣看門(mén)狗的作用就沒(méi)有了,系統(tǒng)恢復(fù)能力降低。

88ea2af6-d1ff-11ed-a826-dac502259ad0.png

3、軟硬件看門(mén)狗的主要異同

學(xué)習(xí)了上述的軟硬件看門(mén)狗,我們總結(jié)一下兩者的異同。
??兩者相同點(diǎn)如下:
??1) 都是通過(guò)定時(shí)器實(shí)現(xiàn);定時(shí)時(shí)間到?jīng)]有喂狗就進(jìn)行復(fù)位。
??2) 都是需要在規(guī)定的時(shí)間內(nèi)喂狗。
??3) 兩者都是靠軟件進(jìn)行喂狗。
??兩者主要差異如下:
??1) 附加功能:硬件看門(mén)狗芯片一般還附帶了延遲復(fù)位和電源檢 測(cè)的功能,軟件則沒(méi)有。
??2) 屏蔽方法:軟件看門(mén)狗很容易屏蔽關(guān)閉,只需修改其中的寄存器,而硬件看門(mén)狗一旦啟動(dòng)不斷電就停不下來(lái)。
??3) 啟動(dòng)方式:軟件看門(mén)狗很容易啟動(dòng),只需修改其中的寄存器。硬件一般是收到第一個(gè)喂狗信號(hào)后就啟動(dòng)。
??4) 初始化:硬件看門(mén)狗上電后收到第一個(gè)喂狗脈沖就完成了初始化,軟件看門(mén)狗則需要配置相關(guān)的寄存器(或者調(diào)用相關(guān)的看門(mén)狗子程序)。

4、一個(gè)軟件看門(mén)狗搞不定的案例

項(xiàng)目組研發(fā)一款戶外遠(yuǎn)程采集器,應(yīng)用場(chǎng)景包括偏僻的郊外,對(duì)可靠性要求很高,出現(xiàn)故障后或者遠(yuǎn)程升級(jí)后能夠自動(dòng)復(fù)位重啟。為了節(jié)省成本,該產(chǎn)品采用主芯片內(nèi)置的看門(mén)狗功能。主芯片其他資源初始化完成后,再初始化看門(mén)狗功能。產(chǎn)品批量后,遠(yuǎn)程升級(jí)過(guò)程中,大概有5%的概率設(shè)備升級(jí)后變磚,需要人工斷電后再上電才能恢復(fù)正常。
??經(jīng)過(guò)研發(fā)人員分析,軟件的看門(mén)狗的流程如下圖,一小部分設(shè)備,在升級(jí)程序過(guò)程,出現(xiàn)了死機(jī)的問(wèn)題,程序還沒(méi)有運(yùn)行到初始化看門(mén)狗的階段,看門(mén)狗無(wú)法生效,導(dǎo)致設(shè)備處于一直死機(jī)的狀態(tài),人工斷電重啟后恢復(fù)正常。

891351ce-d1ff-11ed-a826-dac502259ad0.png


??經(jīng)過(guò)改良升級(jí),研發(fā)人員使用了硬件看門(mén)狗,上電瞬間就依賴上拉電阻形成的高脈沖開(kāi)啟看門(mén)狗,看門(mén)狗的延遲最遲喂狗時(shí)間為1.8S,評(píng)估升級(jí)+初始化時(shí)間最遲為1.2S,所以該看門(mén)狗芯片滿足要求,一旦1.8S內(nèi)應(yīng)用程序還無(wú)法喂狗,則復(fù)位重啟,問(wèn)題得以解決。

893caea2-d1ff-11ed-a826-dac502259ad0.png

5、總結(jié)

軟件和硬件的看門(mén)狗的最主要差異在于開(kāi)啟看門(mén)狗的時(shí)機(jī),軟件看門(mén)狗必須初始化(配置)看門(mén)狗才能使用,如果軟件看門(mén)狗是廠商提供的SDK中的一個(gè)API接口,開(kāi)發(fā)者又沒(méi)有能力修改底層的uboot、內(nèi)核,無(wú)法在uboot、內(nèi)核階段開(kāi)啟和喂狗,開(kāi)啟看門(mén)狗的時(shí)機(jī)就很晚了,程序就有可能還沒(méi)有跑到看門(mén)狗初始化就掛了,中間的各種幺蛾子都不受控,就像上述的案例。
??而硬件看門(mén)狗開(kāi)啟則不受軟件的約束,設(shè)備上電就可以依賴上拉電阻提供的高脈沖開(kāi)啟看門(mén)狗,只要軟件不及時(shí)喂狗,就復(fù)位,這個(gè)是無(wú)條件的。所謂一分錢(qián)一分貨,在電子產(chǎn)品也是適用的。
??當(dāng)然,如果你能說(shuō)服驅(qū)動(dòng)工程師,能夠在主芯片上電第一時(shí)間,就初始化和開(kāi)啟軟件看門(mén)狗,理論上,軟件看門(mén)狗也可以做的和硬件看門(mén)狗一樣可靠。

審核編輯黃宇

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

    關(guān)注

    10

    文章

    554

    瀏覽量

    70573
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32中的獨(dú)立看門(mén)狗和窗口看門(mén)狗是什么

    在早期的MCU中是沒(méi)有看門(mén)狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門(mén)狗的功能。但是目前看門(mén)狗發(fā)展到今天基本上分為兩大類(lèi):獨(dú)立看門(mén)狗
    的頭像 發(fā)表于 02-20 17:47 ?2508次閱讀
    STM32中的獨(dú)立<b class='flag-5'>看門(mén)狗</b>和窗口<b class='flag-5'>看門(mén)狗</b>是什么

    嵌入式系統(tǒng)的硬件軟件看門(mén)狗怎么選擇

    本文從原理、異同、舉例來(lái)說(shuō)明硬件軟件看門(mén)狗怎么選擇:一、硬件看門(mén)狗的原理
    發(fā)表于 12-21 08:04

    什么是看門(mén)狗電路

    看門(mén)狗電路 看門(mén)狗電路一般有軟件看門(mén)狗硬件看門(mén)狗兩種。
    發(fā)表于 10-21 01:40 ?8071次閱讀

    stm32看門(mén)狗時(shí)間計(jì)算 獨(dú)立看門(mén)狗和窗口看門(mén)狗的特性是什么

    本文為您講解STM看門(mén)狗時(shí)間計(jì)算(時(shí)限)與頻率計(jì)算,獨(dú)立看門(mén)狗和窗口看門(mén)狗的特性、區(qū)別與聯(lián)系。
    發(fā)表于 10-10 10:41 ?8664次閱讀

    什么是stm32看門(mén)狗?獨(dú)立看門(mén)狗和窗口看門(mén)狗工作原理解析

    stm32有兩個(gè)看門(mén)狗,獨(dú)立看門(mén)狗和窗口看門(mén)狗,其實(shí)兩者的功能是類(lèi)似的,只是喂狗的限制時(shí)間不同。 獨(dú)立看門(mén)狗
    的頭像 發(fā)表于 11-06 11:48 ?2.7w次閱讀
    什么是stm32<b class='flag-5'>看門(mén)狗</b>?獨(dú)立<b class='flag-5'>看門(mén)狗</b>和窗口<b class='flag-5'>看門(mén)狗</b>工作原理解析

    STM32看門(mén)狗配置(獨(dú)立看門(mén)狗IWDG和窗口看門(mén)狗WWDG)

    stm32自帶兩個(gè)看門(mén)狗模塊,獨(dú)立看門(mén)狗IWDG和窗口看門(mén)狗WWDG。看門(mén)狗主要作用是可用來(lái)檢測(cè)和解決由軟件錯(cuò)誤引起的故障;當(dāng)計(jì)數(shù)器達(dá)到給定
    發(fā)表于 11-09 17:17 ?8292次閱讀
    STM32<b class='flag-5'>看門(mén)狗</b>配置(獨(dú)立<b class='flag-5'>看門(mén)狗</b>IWDG和窗口<b class='flag-5'>看門(mén)狗</b>WWDG)

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

    ,主程序又來(lái)監(jiān)視T0,從而保證系統(tǒng)的穩(wěn)定運(yùn)行。軟件、硬件看門(mén)狗的主要異同兩者相同點(diǎn)如下:1) 都是通過(guò)定時(shí)器實(shí)現(xiàn);定時(shí)時(shí)間到?jīng)]有喂狗就進(jìn)行復(fù)位。2) 都是需要在規(guī)定的時(shí)間內(nèi)喂狗。3)
    的頭像 發(fā)表于 10-15 17:29 ?3.9w次閱讀

    基于STM32、FreeRTOS 實(shí)現(xiàn)硬件看門(mén)狗+軟件看門(mén)狗監(jiān)測(cè)多任務(wù)的方法

    基于STM32、FreeRTOS實(shí)現(xiàn)硬件看門(mén)狗+軟件看門(mén)狗監(jiān)測(cè)多任務(wù)的方法
    的頭像 發(fā)表于 03-12 10:11 ?9056次閱讀

    嵌入式開(kāi)發(fā)中的軟、硬件看門(mén)狗

    本文從原理、異同、舉例來(lái)說(shuō)明硬件軟件 看門(mén)狗 怎么選擇: 一、 硬件看門(mén)狗的原理
    的頭像 發(fā)表于 10-12 11:13 ?2631次閱讀

    如何實(shí)現(xiàn)模擬看門(mén)狗

    作者:逸珺 轉(zhuǎn)自:STM32 對(duì)于看門(mén)狗大家或許不陌生,但對(duì)于模擬看門(mén)狗有的朋友可能就不甚了解了。本文來(lái)聊聊模擬看門(mén)狗,旨在梳理相應(yīng)的概念,理解模擬看門(mén)狗原理、與常規(guī)
    的頭像 發(fā)表于 10-23 14:51 ?5162次閱讀
    如何實(shí)現(xiàn)模擬<b class='flag-5'>看門(mén)狗</b>?

    單片機(jī)硬件看門(mén)狗使用經(jīng)驗(yàn)分享

    1.既然選擇使用硬件看門(mén)狗,就是想盡可能在只要得電情況下,看門(mén)狗就起作用,因此不應(yīng)該通過(guò)軟件的方式去使能和禁止開(kāi)門(mén),默認(rèn)只要得電
    發(fā)表于 12-01 15:51 ?13次下載
    單片機(jī)<b class='flag-5'>硬件</b><b class='flag-5'>看門(mén)狗</b>使用經(jīng)驗(yàn)分享

    STM32中的獨(dú)立看門(mén)狗和窗口看門(mén)狗

    一、前言 在早期的MCU中是沒(méi)有看門(mén)狗這種東西的,所以產(chǎn)品就很容易出現(xiàn)死機(jī),跑飛的情況。為了避免這種情況的出現(xiàn),后期的MCU都集成了看門(mén)狗的功能。但是目前看門(mén)狗發(fā)展到今天基本上分為兩大類(lèi):獨(dú)立
    的頭像 發(fā)表于 12-22 16:58 ?1894次閱讀

    什么是看門(mén)狗,工業(yè)路由器看門(mén)狗技術(shù)的功能優(yōu)勢(shì)

    一個(gè)輸入和一個(gè)輸出,其中輸入叫做喂狗,輸出一般連接到另外一個(gè)部分的復(fù)位端。看門(mén)狗技術(shù)的核心硬件看門(mén)狗模塊,分為硬件看門(mén)狗
    的頭像 發(fā)表于 03-27 10:16 ?1629次閱讀
    什么是<b class='flag-5'>看門(mén)狗</b>,工業(yè)路由器<b class='flag-5'>看門(mén)狗</b>技術(shù)的功能優(yōu)勢(shì)

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

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

    軟件看門(mén)狗硬件看門(mén)狗的區(qū)別

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