精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式開發中的軟、硬件看門狗

嵌入式星球 ? 2020-10-12 11:13 ? 次閱讀

本文從原理、異同、舉例來說明硬件軟件看門狗怎么選擇:

一、 硬件看門狗的原理
硬件看門狗是利用一個定時器電路,其定時輸出連接到電路的復位端,程序在一定時間范圍內對定時器清零(俗稱“喂狗”),因此程序正常工作時,定時器總不能溢出,也就不能產生復位信號
如果程序出現故障,不在定時周期內復位看門狗,就使得看門狗定時器溢出產生復位信號并重啟系統。
我們以ADI公司ADM6316看門狗芯片為例。

圖1 :看門狗芯片功能框圖

該看門狗芯片的主要功能有:
1. 可以監控電源VCC,26種復位閾值選項:2.5 V至5 V,以100 mV遞增;
2. 4種復位延遲選項:1 ms、20 ms、140 ms、1120 ms(最小值);
3. 4種看門狗喂狗超時選項:6.3 ms、102 ms、1600 ms、25.6 s(典型值);
4. 支持手動復位輸入;
5. 復位輸出級:推挽低電平有效,開漏低電平有效,推挽高電平有效;
復位功能說明:
該芯片內置復位功能。設備上電時,芯片的VCC電壓一旦到達開啟閾值電壓Vth,延遲定時器啟動,經過延遲時間Trp,復位信號RESET或者/RESET即可輸出,實現設備的延遲上電復位;芯片同時會監測VCC的電壓,一旦VCC跌落到Vth以下,經過延遲時間Rrd后,復位信號輸出電平翻轉,實現設備的復位。

圖2 :復位功能時序圖

看門狗功能說明:
該芯片內置看門狗功能,設備上電時,芯片的VCC電壓一旦到達開啟閾值電壓Vth,延遲定時器啟動,經過延遲時間Trp,復位信號RESET或者/RESET即可輸出,實現設備的延遲上電復位;當喂狗信號WDI收到第一個脈沖電平時,就出發芯片內部的定時器,軟件必須在Twd時間內輸出喂狗信號WDI,否則復位信號/RESET將會在定時時間TWd到達時,進行復位,設備重新復位。

圖3:看門狗功能時序圖

二、 軟件看門狗的原理
軟件看門狗原理上一樣,只是將硬件電路上的定時器用處理器的內部定時器代替,這樣可以簡化硬件電路設計,一般是將一個芯片中的定時器來作為看門狗,通過程序的初始化,寫入初值,并啟動定時器。程序按時對定時器賦初值(或復位),以免它餓了。
這種看門狗是可以被禁用的(只要停止這個定時器即可),好比對那只要咬你的狗來個“葵花點穴手”, 大部分CPU都內置看門狗,硬件原理可參考各芯片數據手冊
優點:可以通過程序改變初始時間,也可以隨時禁用。
缺點:需要初始化,如果程序在初始化、啟動完成前跑飛或在禁用后跑飛,看門狗就無法復位系統,這樣看門狗的作用就沒有了,系統恢復能力降低。

圖4:軟件看門狗功能示意圖

三、 軟、硬件看門狗的主要異同
學習了上述的軟硬件看門狗,我們總結一下兩者的異同。
兩者相同點如下:
1) 都是通過定時器實現;定時時間到沒有喂狗就進行復位。
2) 都是需要在規定的時間內喂狗。
3) 兩者都是靠軟件進行喂狗。
兩者的主要差異如下:
1) 附加功能:硬件看門狗芯片一般還附帶了延遲復位和電源檢 測的功能,軟件則沒有。
2) 屏蔽方法:軟件看門狗很容易屏蔽關閉,只需修改其中的寄存器,而硬件看門狗一旦啟動不斷電就停不下來。
3) 啟動方式:軟件看門狗很容易啟動,只需修改其中的寄存器。硬件一般是收到第一個喂狗信號后就啟動。
4) 初始化:硬件看門狗上電后收到第一個喂狗脈沖就完成了初始化,軟件看門狗則需要配置相關的寄存器(或者調用相關的看門狗子程序)。

四、 一個軟件看門狗搞不定的案例
項目組研發一款戶外遠程采集器,應用場景包括偏僻的郊外,對可靠性要求很高,出現故障后或者遠程升級后能夠自動復位重啟。為了節省成本,該產品采用主芯片內置的看門狗功能。主芯片其他資源初始化完成后,再初始化看門狗功能。產品批量后,遠程升級過程中,大概有5%的概率設備升級后變磚,需要人工斷電后再上電才能恢復正常。
經過研發人員分析,軟件的看門狗的流程如下圖,一小部分設備,在升級程序過程,出現了死機的問題,程序還沒有運行到初始化看門狗的階段,看門狗無法生效,導致設備處于一直死機的狀態,人工斷電重啟后恢復正常。

圖5:軟件看門狗流程圖

經過改良升級,研發人員使用了硬件看門狗,上電瞬間就依賴上拉電阻形成的高脈沖開啟看門狗,看門狗的延遲最遲喂狗時間為1.8S,評估升級+初始化時間最遲為1.2S,所以該看門狗芯片滿足要求,一旦1.8S內應用程序還無法喂狗,則復位重啟,問題得以解決。

圖6:硬件看門狗流程圖

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    看門狗定時器的工作原理

    看門狗定時器是一種獨立的計時器硬件模塊,其核心功能是倒計時。如果系統軟件在計時器超時前沒有對其進行復位操作(即“喂狗”),看門狗將觸發一個預定義的動作,通常是系統復位或中斷。
    的頭像 發表于 10-21 14:18 ?250次閱讀
    <b class='flag-5'>看門狗</b>定時器的工作原理

    單片機開發:使用內部看門狗定時器(WDT)還是外掛看門狗芯片?

    不需要看門狗功能。 看門狗定時器(WDT)是一種用于檢測在嵌入式系統的異常并復位單片機。它通常包含一個預裝計時器,該計時器遞減為零。當預裝的
    發表于 09-25 13:46

    嵌入式開發常見問題排查

    嵌入式開發問題排查很多人認為嵌入式開發很難,主要是因為在這個過程中常常會遇到各式各樣的問題。這些問題的復雜性和多樣性使得許多人感到困惑和無所適從。然而,如果將這些問題逐一拆解,實際上大部分都可以
    的頭像 發表于 09-22 08:04 ?267次閱讀
    <b class='flag-5'>嵌入式開發</b>常見問題排查

    【「ARM MCU嵌入式開發 | 基于國產GD32F10x芯片」閱讀體驗】+書籍整體概況

    一、導言 上周收到《ARM MCU嵌入式開發 | 基于國產GD32F10x芯片》書籍,該紙質書籍內容可謂是面面俱到,由“清華大學出版社”出版,印刷第1版時間為2024年6月份,總共464千字
    發表于 08-25 22:48

    嵌入式C編程常用的異常錯誤處理

    嵌入式C編程,異常錯誤處理是確保系統穩定性和可靠性的重要部分。以下是一些常見的異常錯誤處理方法及其詳細說明和示例: 1. 斷言 (Assertions) 斷言用于在開發階段捕獲程序
    發表于 08-06 14:32

    聚焦嵌入式開發的合規性工具、項目管理工具、版本迭代工具應用

    ,就嵌入式開發與管理領域的最新趨勢、工具選擇以及DevSecOps實踐應用等方面展開了深入探討。 本期對話龍智資深DevSecOps顧問徐晨暉, 分享嵌入式開發的合規性工具、項目管理和版本管理的工具選擇,以及DevSecOps
    的頭像 發表于 07-29 15:15 ?478次閱讀

    嵌入式開發前景怎么樣?

    嵌入式開發前景非常廣闊,這主要得益于物聯網、人工智能、大數據等技術的快速發展,以及嵌入式系統在各個領域的廣泛應用。以下是對嵌入式開發前景的詳細分析
    的頭像 發表于 07-10 09:00 ?2506次閱讀
    <b class='flag-5'>嵌入式開發</b>前景怎么樣?

    嵌入式開發就業前景怎么樣?

    。在智能家居領域,嵌入式開發的主要工作是開發各種智能化設備和系統,如智能照明、智能安防、智能家電等。嵌入式開發人員需要掌握相關的硬件和軟件技術,如處理器、傳感器、通信技術、操作系統等,
    發表于 06-07 14:51

    【GD32H757Z海棠派開發板使用手冊】第七講 FWDG-看門狗實驗

    通過本實驗主要學習以下內容: 獨立看門狗的原理 獨立看門狗功能介紹 實現獨立看門狗功能
    的頭像 發表于 05-10 09:37 ?657次閱讀
    【GD32H757Z海棠派<b class='flag-5'>開發</b>板使用手冊】第七講 FWDG-<b class='flag-5'>看門狗</b>實驗

    軟件看門狗硬件看門狗的區別

    系統出現了故障或死鎖,軟件看門狗會自動重啟系統或執行其他預定義的操作。軟件看門狗通常用于嵌入式系統,可以方便地進行編程和控制。硬件
    的頭像 發表于 04-16 15:10 ?954次閱讀

    TLF35584集成的看門狗工作應用案例

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

    調試模式下如何調試看門狗

    大家在調試GD32 MCU系統的時候,若開了看門狗外設,是否會碰到進入調試模式看門狗就會咬造成無法調試的問題?
    的頭像 發表于 02-23 09:30 ?1215次閱讀
    調試模式下如何調試<b class='flag-5'>看門狗</b>?

    嵌入式看門狗如何提高系統穩定性?

    嵌入式系統設計,系統的穩定性至關重要,它決定了系統的價值及競爭力,而看門狗作為一種重要的穩定性增強技術,在保護系統免受異常行為或故障影響方面起著至關重要的作用
    的頭像 發表于 02-20 16:14 ?660次閱讀

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

    隨著科技的不斷發展,語音芯片在各個領域的應用越來越廣泛。其中,聲音播放提示IC作為語音芯片的重要組成部分,其功能和性能的提升對于產品的用戶體驗和穩定性至關重要。而在聲音播放提示IC,內置看門狗
    的頭像 發表于 12-20 08:40 ?500次閱讀
    芯知識 | 語音芯片中的聲音播放提示IC內置<b class='flag-5'>看門狗</b>的作用介紹

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

    ):IWDG是一個定時器,其計數器在啟用后開始遞增。在程序,你需要定期喂狗(通過向IWDG的寄存器寫入特定的值),以防止看門狗超時。否則,如果超過了預定的時間,系統
    的頭像 發表于 12-01 08:00 ?1884次閱讀
    STM32的<b class='flag-5'>看門狗</b>原理和示例代碼