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

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

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

看門狗提高系統(tǒng)可靠性—如何選擇正確的器件

星星科技指導(dǎo)員 ? 來(lái)源:ADI ? 作者:ADI ? 2023-05-08 11:29 ? 次閱讀

看門狗計(jì)時(shí)器用于監(jiān)視和最小化代碼執(zhí)行錯(cuò)誤。內(nèi)部看門狗定時(shí)器容易受到代碼執(zhí)行問(wèn)題的影響,使得外部看門狗電路在防止系統(tǒng)鎖定方面非常寶貴。

本文檔有助于為不同類型的應(yīng)用選擇正確的看門狗/監(jiān)控產(chǎn)品時(shí)間,以及如何在沒(méi)有軟件代碼的情況下應(yīng)用電路。

以前使用專用硬件實(shí)現(xiàn)的許多電路功能現(xiàn)在都在軟件中實(shí)現(xiàn),部分原因是當(dāng)今低成本微處理器(μP)的廣泛選擇。雖然軟件通常是解決問(wèn)題的成本最低、最靈活的方法,但它迫使設(shè)計(jì)人員采取額外措施來(lái)確保系統(tǒng)可靠性。雖然沒(méi)有代碼錯(cuò)誤的程序,但仔細(xì)的測(cè)試可以將錯(cuò)誤數(shù)量減少到每 1000 行代碼 10 到 10 個(gè)。因此,設(shè)計(jì)人員必須期望在具有 000,<> 行代碼的典型控制軟件程序中至少出現(xiàn) <> 個(gè)代碼錯(cuò)誤。

導(dǎo)致系統(tǒng)崩潰的桌面應(yīng)用程序軟件錯(cuò)誤并不嚴(yán)重,因?yàn)橛脩艨梢灾匦聠?dòng)系統(tǒng),而只有輕微的數(shù)據(jù)丟失。但是,對(duì)于工業(yè)控制軟件,系統(tǒng)必須能夠在沒(méi)有人為干預(yù)的情況下從代碼錯(cuò)誤中恢復(fù)。此功能對(duì)于兩個(gè)主要類別至關(guān)重要:具有高可用性的系統(tǒng),例如服務(wù)器、電話系統(tǒng)和生產(chǎn)線;以及必須高度可靠的系統(tǒng),因?yàn)榕鲎部赡軐?dǎo)致受傷,例如汽車、醫(yī)療器械、工業(yè)控制、機(jī)器人和自動(dòng)門。即使這些標(biāo)準(zhǔn)都不適用,也最好在沒(méi)有用戶干預(yù)(按復(fù)位或電源循環(huán))的情況下進(jìn)行系統(tǒng)崩潰/恢復(fù)。如果設(shè)備在沒(méi)有人為干預(yù)的情況下從錯(cuò)誤中恢復(fù),則此設(shè)備的感知質(zhì)量良好,因?yàn)橛脩舨恢涝O(shè)備內(nèi)部出了問(wèn)題。實(shí)現(xiàn)這種改進(jìn)的系統(tǒng)可靠性的一種簡(jiǎn)單有效的方法是使用看門狗。

看門狗

監(jiān)視器是必須在監(jiān)視器超時(shí)期限內(nèi)清除的計(jì)數(shù)器。如果未進(jìn)行清除,監(jiān)視器將生成重置以導(dǎo)致系統(tǒng)重新啟動(dòng)或創(chuàng)建不可屏蔽中斷 (NMI),從而導(dǎo)致程序分支進(jìn)入故障恢復(fù)子例程。大多數(shù)看門狗都是邊緣觸發(fā)的。因此,看門狗輸入 (WDI) 上的上升沿或下降沿將清除計(jì)數(shù)器。WDI 引腳連接到處理器 I/O 引腳,該引腳由軟件切換(圖 1)。

wKgaomRYcK6AOybeAAAUaxjuhWs034.png

圖1.微處理器通過(guò)WDI引腳上的脈沖清除看門狗定時(shí)器,以防止復(fù)位。

清除看門狗計(jì)數(shù)器的命令必須發(fā)生在主程序循環(huán)中(圖2)。如果未清除監(jiān)視程序,則進(jìn)行重置,軟件分支到地址 0000(啟動(dòng)例程)。計(jì)算執(zhí)行主循環(huán)所需的時(shí)間通常很困難,因?yàn)榭赡軙?huì)調(diào)用許多子例程,具體取決于系統(tǒng)的輸入。因此,設(shè)計(jì)人員通常選擇比最長(zhǎng)測(cè)量或計(jì)算的環(huán)路時(shí)間長(zhǎng)得多的看門狗超時(shí)。

wKgaomRYbISARHNCAAAcj5b0Gm4235.gif

圖2.該圖顯示了在主循環(huán)中生成WDI信號(hào)的典型程序流程。

圖3顯示了正常操作時(shí)的看門狗和復(fù)位信號(hào)(看門狗在超時(shí)期限內(nèi)清除)。在圖4中,看門狗計(jì)數(shù)器達(dá)到超時(shí)后生成復(fù)位。行業(yè)標(biāo)準(zhǔn)看門狗電路的超時(shí)范圍為100ms至2s,盡管有可調(diào)和定制的看門狗覆蓋更寬的范圍(30ms至分鐘)。如果主環(huán)路的執(zhí)行時(shí)間對(duì)于看門狗來(lái)說(shuō)太長(zhǎng),設(shè)計(jì)人員可以在主環(huán)路的不同部分實(shí)現(xiàn)多個(gè)看門狗切換命令,或使用超時(shí)更長(zhǎng)的設(shè)備。

wKgZomRYcLyABaDxAAAMqq9-GJQ976.png

圖3.如果WDI引腳始終在看門狗超時(shí)內(nèi)切換,則不會(huì)生成復(fù)位。

wKgZomRYbIeAEHZdAAAO7u_8Nrc891.gif

圖4.一旦看門狗計(jì)數(shù)器達(dá)到超時(shí)值,就會(huì)生成復(fù)位。

防止系統(tǒng)卡在寄生環(huán)路中的一種技術(shù)是在主環(huán)路開(kāi)始時(shí)將相關(guān)I/O引腳設(shè)置為高電平,并在主環(huán)路的另一部分將其設(shè)置為低電平。如果軟件在主環(huán)路開(kāi)始時(shí)卡在寄生環(huán)路中,則看門狗超時(shí),系統(tǒng)恢復(fù),因?yàn)閃DI保持高電平(圖5)。如果使用低-高-低脈沖(如圖2所示),看門狗將被清除,但系統(tǒng)將保持卡住狀態(tài)。對(duì)于具有需要監(jiān)視的多個(gè)任務(wù)的程序,可能需要更復(fù)雜的方案。每個(gè)任務(wù)設(shè)置一個(gè)標(biāo)志,只有在設(shè)置了所有標(biāo)志時(shí),才會(huì)切換監(jiān)視器。所有任務(wù)的持續(xù)時(shí)間必須短于監(jiān)視器超時(shí)期限。與實(shí)際程序相比,圖 2 和圖 5 可能看起來(lái)很簡(jiǎn)單,但它們說(shuō)明了相關(guān)概念。還應(yīng)監(jiān)視更復(fù)雜的系統(tǒng)中的其他潛在問(wèn)題,例如內(nèi)存泄漏和堆棧溢出。這超出了本文的范圍,但通常通過(guò)使用合適的設(shè)計(jì)過(guò)程、執(zhí)行仔細(xì)的代碼審查和使用專門的軟件工具來(lái)完成。

wKgaomRYbImASBStAAAchQKY1Iw901.gif

圖5.改進(jìn)的程序流程具有兩個(gè)獨(dú)立的看門狗切換命令,這些命令在 WDI 引腳上生成上升沿和下降沿信號(hào)。這可以防止程序卡在寄生循環(huán)中。

內(nèi)部與外部看門狗

許多μP具有集成的可編程看門狗,可在軟件控制下禁用。內(nèi)部看門狗容易出現(xiàn)代碼錯(cuò)誤,因此不能提供與獨(dú)立外部看門狗相同的保護(hù)。對(duì)于安全關(guān)鍵型應(yīng)用(即自動(dòng)門、醫(yī)療設(shè)備、機(jī)器人),內(nèi)部看門狗是不可接受的。監(jiān)管機(jī)構(gòu)要求使用單獨(dú)的外部監(jiān)管機(jī)構(gòu)。因此,最好使用外部看門狗來(lái)降低關(guān)鍵系統(tǒng)故障的風(fēng)險(xiǎn)。

簡(jiǎn)單的看門狗加復(fù)位

由于看門狗超時(shí)通常會(huì)復(fù)位系統(tǒng),因此大多數(shù)看門狗都集成了μP復(fù)位功能,該復(fù)位器還監(jiān)視處理器電源電壓。復(fù)位由看門狗或欠壓條件激活。圖823所示的MAX825-MAX6系列結(jié)合了這兩種功能,提供標(biāo)準(zhǔn)復(fù)位電壓、一個(gè)標(biāo)稱看門狗、一個(gè)復(fù)位超時(shí),電流消耗僅為6μA。這些器件采用超小型SC70封裝。

wKgZomRYbIuAETmCAAAYQfe2FOs242.gif

圖6.MAX823-MAX825系列集成了兩種常用功能:看門狗和復(fù)位。

工廠預(yù)設(shè)看門狗系列

MAX6316-MAX6322系列提供26路工廠預(yù)設(shè)復(fù)位電壓、1路標(biāo)稱看門狗和<>路標(biāo)稱復(fù)位超時(shí)以及<>種輸出配置(見(jiàn)表<>)。

應(yīng)用 家庭 電壓監(jiān)控 看門狗超時(shí)(分鐘) 復(fù)位超時(shí)(分鐘) 特殊功能
簡(jiǎn)單加復(fù)位 MAX823/
MAX824
工廠預(yù)設(shè) 2.5V、3.0V、3.3V 或 5V 1.12 140毫秒 SOT23 或 SC70 封裝
定制 MAX6316-
MAX6322
工廠預(yù)設(shè),步長(zhǎng)為 100mV 2.5V 至 5V 4.3毫秒, 71毫秒, 1.12秒, 17.9秒 1毫秒, 20毫秒, 140毫秒, 1.12秒 推挽式、漏極開(kāi)路或雙向輸出
電容可調(diào) MAX6746-
MAX6753
出廠預(yù)設(shè),或通過(guò)分壓器調(diào)節(jié) 1.575V 至 5V 700ms 至 70s,兩個(gè)范圍,100pF 至 100nF 電容器 預(yù)設(shè),或電容0.5ms至5s SOT23-8,最小/最大窗口選項(xiàng)
MAX6301-
MAX6304
SO 或 DIP 封裝
長(zhǎng)啟動(dòng),引腳可選 MAX6369-
MAX6374
雙工廠預(yù)設(shè) 1.8V、2.5V、3.0V、3.3V 或 5.0V 30ms 至 60s ;200ms 至 60s 首次邊緣激活 僅看門狗 雙模式、引腳可編程啟動(dòng)延遲
多電源 MAX6369-
MAX6360
雙固定1.8V、2.5V、3.0V、3.3V、5V;或雙 固定加一個(gè)可調(diào) 1.6s 正常 100毫秒 手動(dòng)復(fù)位、電源失效比較器、雙復(fù)位、 復(fù)位加復(fù)位輸出
MAX6721-
MAX6767
25.6秒啟動(dòng)
窗口 MAX6323/
MAX6324
雙路模式
工廠預(yù)設(shè) 2.5V、3V、3.3V 或 5V 1.5毫秒至719毫秒(最小值);10ms 至 1.3s(最大值)窗口 100毫秒 八個(gè)工廠修剪選項(xiàng);僅在定義的窗口內(nèi)接受超時(shí)復(fù)位脈沖

電容可調(diào)看門狗

如果應(yīng)用需要靈活的看門狗超時(shí),設(shè)計(jì)人員可以使用可調(diào)電路。MAX6746-MAX6753系列提供工廠預(yù)設(shè)或分壓器可編程復(fù)位電壓,以及看門狗和復(fù)位超時(shí)的外部電容調(diào)整。圖7顯示了一個(gè)典型的工作電路,其中:

復(fù)位電壓由分壓器R1/R2確定,

復(fù)位超時(shí)由電容決定,以設(shè)置復(fù)位超時(shí)(C.SRT),和

看門狗超時(shí)由電容器設(shè)置,以設(shè)置看門狗超時(shí)(C斯威特).

wKgaomRYbIyACcLcAAAaAsjk3dU571.gif

圖7.圖中給出了電容可調(diào)看門狗系列MAX6346-MAX6353的典型應(yīng)用電路。

圖 8 顯示了 C 的看門狗超時(shí)范圍斯威特值從 100pF 到 100nF。憑借如此廣泛的看門狗超時(shí)范圍,設(shè)計(jì)人員可以為任何應(yīng)用提供解決方案。MAX6301-MAX6304系列與MAX6746-MAX6753系列具有基本相同的特性,但提供SO和DIP封裝。

wKgZomRYbI6AfT6vAAAitjK_iC8941.gif

圖8.此圖顯示了各種可用的看門狗超時(shí)。

引腳可選看門狗,具有更長(zhǎng)的啟動(dòng)/超時(shí)

如果啟動(dòng)例程很長(zhǎng)(參見(jiàn)圖 2),則需要具有兩種不同超時(shí)的看門狗:較長(zhǎng)的初始超時(shí)和較短的正常操作超時(shí)。MAX6369-MAX6374系列具有引腳可編程的啟動(dòng)延遲,可選擇200ms至60s,看門狗超時(shí)范圍為30ms至60s。某些版本提供看門狗的首次邊緣激活,為更長(zhǎng)的啟動(dòng)例程提供解決方案。對(duì)于這些芯片,看門狗在啟動(dòng)期間被禁用,并由μP相關(guān)I/O引腳的第一個(gè)邊沿激活。

具有多個(gè)電源電壓的看門狗

對(duì)于雙電源系統(tǒng),MAX6358-MAX6360系列可以 監(jiān)視兩個(gè)標(biāo)準(zhǔn)電壓,并提供具有長(zhǎng)啟動(dòng)和正常超時(shí)的看門狗。對(duì)于具有三路電源電壓或同時(shí)需要高電平有效和低電平有效復(fù)位功能的系統(tǒng),設(shè)計(jì)人員可以使用MAX6721-MAX6729系列。這些器件具有雙模式看門狗,具有較長(zhǎng)的啟動(dòng)時(shí)間以及正常的超時(shí)。它們可監(jiān)測(cè)兩個(gè)標(biāo)準(zhǔn)電源電壓(MAX6721-MAX6722)或兩個(gè)標(biāo)準(zhǔn)電源電壓加第三個(gè)可調(diào)電源電壓(MAX6723-MAX6724)。這些器件提供手動(dòng)復(fù)位輸入、電源失效比較器、雙復(fù)位輸出以及復(fù)位和/復(fù)位輸出。

具有超高可靠性的窗口看門狗

為實(shí)現(xiàn)超高可靠性,設(shè)計(jì)人員可以使用MAX6323/MAX6324窗口看門狗。對(duì)于這些器件,看門狗的脈沖清除必須在明確指定的時(shí)間窗口內(nèi)發(fā)生。有效脈沖可能最早在最后一個(gè)脈沖后1.5ms到達(dá),也可能在最后一個(gè)脈沖后10ms到達(dá)(有關(guān)其他范圍,請(qǐng)參見(jiàn)表1)。利用MAX6323/MAX6324,系統(tǒng)從寄生環(huán)路中恢復(fù),如果清除看門狗命令在環(huán)路內(nèi),可以產(chǎn)生快速脈沖序列。這些脈沖將清除正常的看門狗,并且不會(huì)產(chǎn)生復(fù)位。使用窗口看門狗可以避免這種情況,因?yàn)樗鼈冃枰撮T狗脈沖之間的最小延遲。這些器件的典型應(yīng)用是防抱死制動(dòng)系統(tǒng)或其他汽車電路、高安全要求的工業(yè)和醫(yī)療應(yīng)用,或系統(tǒng)可用性至關(guān)重要的應(yīng)用。

結(jié)論

由于每個(gè)軟件程序都有代碼錯(cuò)誤,設(shè)計(jì)人員必須確保系統(tǒng)不會(huì)鎖定。噪聲和EMI也會(huì)影響系統(tǒng)中的數(shù)據(jù),并導(dǎo)致不可預(yù)測(cè)的系統(tǒng)行為??撮T狗是提高系統(tǒng)可靠性的一種簡(jiǎn)單、廉價(jià)的方法。外部看門狗可防止系統(tǒng)卡住,并在看門狗超時(shí)期限內(nèi)未切換WDI時(shí)復(fù)位μP。由于當(dāng)今的看門狗種類繁多,設(shè)計(jì)人員一定會(huì)找到符合器件要求的器件。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 電源
    +關(guān)注

    關(guān)注

    184

    文章

    17410

    瀏覽量

    248794
  • emi
    emi
    +關(guān)注

    關(guān)注

    53

    文章

    3562

    瀏覽量

    127056
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2233

    瀏覽量

    82209
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    硬件和軟件看門狗的異同

    說(shuō)到提高系統(tǒng)可靠性,剛?cè)腴T的工程師都知道,增加一個(gè)看門狗是重要的手段。看門狗又分軟件看門狗和硬
    的頭像 發(fā)表于 04-03 18:13 ?4036次閱讀

    如何利用看門狗電路改善系統(tǒng)可靠性

    復(fù)位操作。使系統(tǒng)恢復(fù)正常的工作狀態(tài),即在程序沒(méi)有正常運(yùn)行期間,如期復(fù)位看門狗以保證所選擇的定時(shí)溢出歸零,使處理器重新啟動(dòng)。看門狗電路的定時(shí)時(shí)間長(zhǎng)短可由具體應(yīng)用程序的循環(huán)周期決定,通常比
    發(fā)表于 02-26 07:30

    利用看門狗改善系統(tǒng)可靠性―如何正確選擇器件

    本文主要講述的是利用看門狗改善系統(tǒng)可靠性―如何正確選擇器件。
    發(fā)表于 04-23 08:46 ?10次下載

    利用看門狗改善系統(tǒng)可靠性―如何正確選擇器件

    本文主要講述的是利用看門狗改善系統(tǒng)可靠性―如何正確選擇器件
    發(fā)表于 04-26 16:27 ?12次下載

    利用看門狗改善系統(tǒng)可靠性

    利用看門狗改善系統(tǒng)可靠性
    發(fā)表于 04-27 10:34 ?22次下載
    利用<b class='flag-5'>看門狗</b>改善<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>可靠性</b>

    單片機(jī)應(yīng)用中看門狗技術(shù)

    分析研究了單片機(jī)應(yīng)用系統(tǒng)中軟件看門狗、單雙時(shí)限和強(qiáng)制復(fù)位 看門狗 等幾種常見(jiàn)的看門狗技術(shù)及具體的實(shí)現(xiàn)方法, 從提高看門狗工作
    發(fā)表于 06-03 16:49 ?318次下載
    單片機(jī)應(yīng)用中<b class='flag-5'>看門狗</b>技術(shù)

    利用看門狗提高系統(tǒng)可靠性

    看門狗是一個(gè)計(jì)數(shù)器,它需要在一定的看門狗延時(shí)周期內(nèi)被清零,如果沒(méi)有清零動(dòng)作,看門狗電路將產(chǎn)生一個(gè)復(fù)位信號(hào)使系統(tǒng)重新啟動(dòng)或建立一個(gè)非屏蔽終端、執(zhí)行故障恢復(fù)子程序。
    發(fā)表于 03-07 16:03 ?35次下載
    利用<b class='flag-5'>看門狗</b><b class='flag-5'>提高</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>可靠性</b>

    基于CPLD的系統(tǒng)硬件看門狗設(shè)計(jì)

    本設(shè)計(jì)的最初思路來(lái)源:實(shí)現(xiàn)高可靠性數(shù)字伺服控制器軟、硬件看門狗的雙冗余設(shè)計(jì)要求,目前缺少軍品級(jí)國(guó)產(chǎn)化硬件看門狗器件,在滿足系統(tǒng)要求的情況下減
    發(fā)表于 05-03 09:18 ?6170次閱讀
    基于CPLD的<b class='flag-5'>系統(tǒng)</b>硬件<b class='flag-5'>看門狗</b>設(shè)計(jì)

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

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

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

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

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

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

    uC/OS-II 系統(tǒng)的多任務(wù)看門狗設(shè)計(jì)

    在嵌入式系統(tǒng)中為提高微型機(jī)系統(tǒng)可靠性和安全, 常用的方法就是使用看門狗
    發(fā)表于 11-30 06:39 ?661次閱讀

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

    和窗口看門狗。 獨(dú)立看門狗:使用的是外部時(shí)鐘,即使主頻不工作了,看門狗也能正常工作。只要在到達(dá)喂狗時(shí)間的上限前喂狗即表示程序是正常的,這點(diǎn)和窗口看門狗是有區(qū)別的。另外獨(dú)立
    的頭像 發(fā)表于 12-22 16:58 ?1996次閱讀

    窗口看門狗增強(qiáng)了μP監(jiān)控器

    看門狗定時(shí)器提高了基于微處理器的系統(tǒng)可靠性。引腳可選的看門狗定時(shí)器允許看門狗超時(shí)周期可調(diào),從而
    的頭像 發(fā)表于 05-08 11:23 ?1120次閱讀
    窗口<b class='flag-5'>看門狗</b>增強(qiáng)了μP監(jiān)控器

    看門狗芯片具有哪些功能?

    看門狗芯片可以通過(guò)多種方式來(lái)保證系統(tǒng)的穩(wěn)定性和安全,從而提高系統(tǒng)可靠性和可用
    的頭像 發(fā)表于 07-05 14:37 ?1753次閱讀