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

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

3天內不再提示

窗口看門狗的基礎知識

星星科技指導員 ? 來源:ADI ? 作者:ADI ? 2023-06-15 14:20 ? 次閱讀

看門狗是綜合系統(tǒng)的重要組成部分,必須充分理解才能充分利用其功能。大多數看門狗都是有窗口的,這需要比非窗口看門狗更精確的計時,但允許更大的功能。設計人員可以使用窗口看門狗來實現上電擴展開窗、鎖存功能和可編程保持時間等功能。

介紹

本應用筆記描述了MAX20478和MAX20480系列產品中窗口看門狗的工作原理。這些看門狗具有可編程擴展窗口、可編程 RESETx 保持時間、單個或連續(xù)看門狗故障斷言以及 RESETx 鎖存功能。本應用筆記提供了對看門狗及其功能的更全面的了解。

看門狗操作基礎知識

看門狗是系統(tǒng)中用于確保片上系統(tǒng) (SoC) 設備或微控制器MCU) 正常運行的功能。這可能意味著檢測到陷入無限循環(huán)、執(zhí)行任務時間過長甚至完全關閉的 SoC。在系統(tǒng)中使用看門狗要求 SoC 定期向看門狗發(fā)送信號,此步驟稱為服務/刷新。一旦 SoC 為監(jiān)視器提供服務,監(jiān)視器就會確認 SoC 的正常運行,然后開始一個新的周期,在該周期中,它等待來自 SoC 的另一個服務命令。如果 SoC 在監(jiān)視器設置的持續(xù)時間內未為監(jiān)視器提供服務,則會斷言故障。此操作描述了一個非窗口看門狗,本應用筆記將不涉及該看門狗。窗口監(jiān)視器以非常相似的方式運行,但具有一個服務周期,該周期分為“關閉”和“打開”持續(xù)時間,稱為窗口。這需要對有效服務進行更精確的計時,因為服務僅在窗口周期中的特定時間有效。

這些窗口的持續(xù)時間由IC看門狗時鐘定義。看門狗時鐘源自IC系統(tǒng)時鐘,通常從系統(tǒng)時鐘的1/32開始,通常為1.28MHz。某些器件具有可編程的WDIV場,允許對該時鐘進行更多劃分,以允許更長的窗口時間。在以下示例中,看門狗周期為200μs,所用公式特定于MAX20478(圖1)。

wKgZomSKrbqAOfBDAAAXgCuEY3k640.png

圖1.根據MAX20478看門狗公式的閉合和開窗長度組合示例

監(jiān)視程序周期的 OPEN 窗口期間的監(jiān)視器服務被視為有效服務。有效服務后,無論打開窗口中剩余的時間如何,OPEN 窗口都將立即轉換為關閉窗口。圖 2 顯示了一個有效看門狗周期的示例。

wKgaomSKrbuALHssAAAJc-6YAQI444.png

圖2.打開窗口期間有效的監(jiān)視器刷新。緊隨其后的是新的關閉和開放。

在監(jiān)視器周期的 CLOSED 窗口中來自 SoC 的監(jiān)視器服務將被監(jiān)視器解釋為故障。如果在“關閉”和“打開”窗口都經過時沒有服務發(fā)生,則監(jiān)視器將斷言故障。要了解關閉窗口如何在窗口監(jiān)視程序中運行,必須首先探索擴展窗口。

擴展窗口

在大多數系統(tǒng)中,SoC 和 MCU 需要額外的時間來上電或執(zhí)行除維護看門狗之外的其他更重要的任務。因此,系統(tǒng)可能會使具有“關閉”和“打開”窗口的正常窗口監(jiān)視程序框架失敗。為了解決這個問題,ADI產品具有擴展窗口。這些窗口在首次開機時和每次 RESETx 斷言之后發(fā)生,并作為 OPEN 窗口運行,在該窗口期間的任何時間,服務都被視為有效。

在正常操作期間,如果 OPEN 窗口中有有效的監(jiān)視程序服務,監(jiān)視器將在有效刷新后立即啟動新的循環(huán)。這意味著一個新的關閉窗口,然后是一個打開窗口。在具有擴展窗口的監(jiān)視器中,如果發(fā)生任何故障,監(jiān)視器將立即停止當前所在的任何窗口,并在 RESETx 保持時間過后啟動新的擴展窗口。此擴展窗口沒有 CLOSED 持續(xù)時間,并將接受任何監(jiān)視程序服務在窗口持續(xù)時間內有效。如果監(jiān)視程序在此窗口中提供服務,則擴展窗口將立即停止,并遵循正常的關閉/打開循環(huán)。如果未在擴展窗口中為監(jiān)視器提供服務,RESETx 將斷言保持時間,隨后將出現另一個擴展窗口。重復此操作,直到為監(jiān)視器提供服務。

圖 3 和圖 4 顯示了無效刷新的兩種潛在計時情況。

wKgaomSKrbyAR2OaAAAYWTzPQFQ005.png

圖3.RESETx 將立即斷言 WD 是否在 CLO 窗口期間刷新。EXT 窗口將在 RESETx 取消斷言后啟動。擴展窗口繼續(xù)重復,直到為監(jiān)視器提供服務。

wKgZomSKrb2AWphYAAAdkkDL28E934.png

圖4.如果監(jiān)視器未刷新,RESETx 將在 OPN 窗口結束后立即斷言。RESETx 取消斷言后將啟動一個新的 EXT 窗口。EXT 窗口將繼續(xù)重復,直到刷新監(jiān)視器。

可變復位x 保持時間

系統(tǒng)在為監(jiān)視器提供服務失敗后進入中斷過程是很常見的。這些中斷例程可能需要幾毫秒才能完成,SoC 或 MCU 才能再次刷新看門狗。這可能會導致監(jiān)視器再次斷言 RESETx,并可能重復進入中斷例程。此問題可以通過更改 RESETx 保持時間的持續(xù)時間以允許 SoC 或 MCU 完成中斷例程來解決??勺僐ESETx保持時間功能將在發(fā)生故障后將IC的RESETx引腳保持低電平一段時間。如果發(fā)生故障,看門狗將立即停止其所在的窗口,并在由保持時間確定的設定持續(xù)時間內置位IC的RESETx引腳。一旦RESETx取消斷言,看門狗將恢復正常運行,SoC或MCU可以為看門狗提供服務。在圖 3 和圖 4 中,省略了 RESETx 保持時間長度以簡化圖表。圖 5 和圖 6 描述了兩種不同的 RESETx 保持時間。

wKgaomSKrb6Af-L1AAAbXiNg6q0052.png

圖5.RESETx 保持時間的持續(xù)時間是可編程的。ADI器件具有多個設定的持續(xù)時間,在制造器件時進行編程。請參考ADI IC數據手冊,了解RESETx保持時間的確切信息。

wKgZomSKrb-ABiejAAAajLhK6ow690.png

圖6.在此圖中,RESETx 保持時間的持續(xù)時間設置為 8 毫秒。請參考ADI IC數據手冊,了解RESETx保持時間的確切信息。

單/連續(xù)WD故障計數器

在某些實現監(jiān)視器的系統(tǒng)中,RESETx 斷言不一定構成系統(tǒng)問題。即使系統(tǒng)運行正常,系統(tǒng)中也可能會出現錯誤的 RESETx 斷言。為解決這一問題,ADI看門狗具有看門狗故障計數器,允許在單個或雙看門狗故障上發(fā)生RESETx斷言。

如果選擇了單個故障計數器選項,則只需要一個監(jiān)視器故障(無服務、CLO 窗口期間的服務等)即可斷言 RESETx。如果選擇雙故障選項,則第一個看門狗故障將增加看門狗故障計數器,第二個故障將置位RESETx。要在一次看門狗故障后重置故障計數器,需要連續(xù)兩次有效服務看門狗。圖 7 到 10 對此進行了描述。

wKgaomSKrcGABC9pAAAevD_yiuM581.png

圖7.如果在 CLO 窗口期間刷新 WD,RESETx 計數器將增加到 2。在下一個 OPN 窗口結束后不刷新會將計數器增加到 0。這會導致 RESETx 斷言,RESETx 取消斷言后將啟動 EXT 窗口,并且故障計數器 RESETx 為 <>。RESETx 在 EXT 窗口或 OPN 窗口期間未刷新后再次斷言。

wKgZomSKrcKAWaTHAAAcLSClv2Q248.png

圖8.如果在第一個 OPN 窗口期間未刷新監(jiān)視器,則 RESETx 計數器將增加到 1。將出現另一個正常的 CLO 和 OPEN。如果沒有刷新,RESETx 計數器將達到 2 并斷言。

wKgaomSKrcOAcptoAAAg1GfYb78319.png

圖9.第一個 OPN 窗口后不刷新會將故障計數器增加到 1。下一幀刷新,但故障計數器仍為 1。下一個 OPN 窗口未收到刷新,因此計數器增加到 2。斷言錯誤,EXT 窗口在 RESETx 取消斷言后啟動。

wKgZomSKrcWAMFwCAAAqi9gUhRQ089.png

圖 10.No 第一個 OPN 將故障計數器增加到 1 后的刷新。下一幀刷新,但計數器仍為 1。第三個窗口也接收刷新,因此計數器被清除為 0。接下來的兩個幀不會收到刷新,因此計數器達到 2,EXT 窗口遵循取消斷言。

復位x鎖存功能

ADI看門狗的另一個特性是能夠鎖存RESETx斷言。如果系統(tǒng)發(fā)現故障情況的時間超過可能的最長 RESETx 保持時間,則繼續(xù)保持 RESETx 直到故障條件消除可能是有益的。例如,如果 SoC 無法為監(jiān)視器提供服務,則正常的 RESETx 保持時間將意味著 RESETx 將在延長窗口的持續(xù)時間內取消斷言,然后在保留持續(xù)時間內斷言。這意味著RESETx信號將在斷言和取消斷言之間切換。使用 RESETx 鎖存器功能,此示例中的 RESETx 信號將保持置位狀態(tài),直到 SoC 重新獲得為看門狗提供服務的能力。此功能也可用作其他信號的啟用/禁用。例如,如果檢測到故障,看門狗鎖存功能可用于禁用所有CAN總線通信。當SoC解決系統(tǒng)故障時,CAN總線上的所有通信都將停止。

如果看門狗尚未完成首次上電,則 SoC 只需要一個有效服務即可解除鎖存的 RESETx 信號。上電后,無論是否使用連續(xù)故障計數器功能,SoC 都需要兩個連續(xù)的有效服務來解除鎖存的 RESETx 信號。圖 11 對此進行了描述。

wKgaomSKrcaAat61AAAiqk2r-kw514.png

圖 11.上面的示例顯示看門狗RESETx信號將鎖存,直到再次維護看門狗。它顯示由于在關閉的窗口期間刷新而導致的錯誤,但對于任何 RESETx 錯誤都是如此。RESETx 保持時間的持續(xù)時間實際上是 SoC 正確維護監(jiān)視器所需的時間。正常的 CLO/OPN 窗口在復位鎖存期間出現。

質詢/響應看門狗

某些ADI看門狗的另一個特點是能夠使用質詢/響應通過I2C.在某些系統(tǒng)中,僅僅要求SoC發(fā)送脈沖是不夠的。要求 SoC 執(zhí)行任務或計算以確保 SoC 完全正常運行可能是有益的。這就是質詢/響應看門狗可以滿足此要求的地方。在質詢/響應服務中,IC中有一個鍵值寄存器,SoC必須讀取該寄存器。讀取寄存器后,SoC 必須使用此值來計算相應的響應。然后,該響應通過I發(fā)送回IC2C. 使用正確的響應更新寄存器后,監(jiān)視程序已得到維護。看門狗的操作方式與窗口設置中的操作方式相同,唯一的變化是更新密鑰寄存器,而不是使用上升沿刷新看門狗。該 IC 包含一個線性反饋移位寄存器,多項式為 x8+x6+x5+x4+1。這會將所有位向上移向 MSb,并將計算出的位作為新的 LSb 插入。SoC必須以這種方式計算響應,并將其發(fā)送回IC中的寄存器。圖 12 對此進行了描述。

wKgaomSKrcaAZy5UAAAcNJEPZjg722.png

圖 12.質詢/響應看門狗的時間與窗口看門狗非常相似。密鑰寄存器由 SoC 通過 I 讀取2C 并且只需要出現一次。一旦SoC讀取了密鑰寄存器,就會使用前一個值計算下一個值。計算響應,然后寫回IC中的寄存器。在下一個時鐘沿,答案得到確認,并立即啟動一個新的 CLO/OPN 窗口。

表1顯示了一個特性列表,其中包含多個包含看門狗的ADI IC。ADI公司為那些想要了解更多信息的人提供了幾種設計計算器。請聯系ADI公司,獲取更多技術資料以及所列任何器件的數據手冊。

部件號 ASIL 評級 可編程復位保持時間 擴展窗口 復位閂鎖 挑戰(zhàn)/回應 我2C 能力
MAX20478 ASIL-D x x x
MAX20480 ASIL-D x x x x

結論

隨著窗口看門狗變得越來越普遍,對其操作有一個基本的了解非常重要。本應用筆記介紹了窗口看門狗的幾個特性,供讀者了解MAX20478和MAX20480產品系列的一般知識。這些功能包括可編程擴展窗口、可編程 RESETx 保持時間、單個或連續(xù)看門狗故障斷言以及 RESETx 鎖存功能。借助這些功能,設計師可以更自由地將更復雜的設計整合到他們的項目中。

審核編輯:郭婷

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

    關注

    48

    文章

    7336

    瀏覽量

    150108
  • 看門狗
    +關注

    關注

    10

    文章

    554

    瀏覽量

    70575
  • soc
    soc
    +關注

    關注

    38

    文章

    4021

    瀏覽量

    217032
收藏 人收藏

    評論

    相關推薦

    窗口看門狗(WWDG)的基礎知識

      窗口看門狗通常被用來監(jiān)測,由外部干擾或不可預見的邏輯條件造成的應用程序背離正常的運行序列而產生的軟件故障。除非遞減計數器的值在T6位變成0前被刷新,否則看門狗電路在達到預置的時間周期時,會產生一個MCU復位。
    發(fā)表于 10-19 17:00 ?8980次閱讀
    <b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>(WWDG)的<b class='flag-5'>基礎知識</b>

    獨立看門狗(IWDG)的基礎知識

      STM32F10xxx系列內置兩個看門狗(獨立看門狗窗口看門狗),提供了更高的安全性、時間的精確性和使用的靈活性。兩個看門狗設備(獨立
    發(fā)表于 10-19 17:10 ?4049次閱讀
    獨立<b class='flag-5'>看門狗</b>(IWDG)的<b class='flag-5'>基礎知識</b>

    STM32中的獨立看門狗窗口看門狗是什么

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

    stm32看門狗時間計算 獨立看門狗窗口看門狗的特性是什么

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

    什么是stm32看門狗?獨立看門狗窗口看門狗工作原理解析

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

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

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

    STM32單片機中的獨立看門狗窗口看門狗有哪些不同之處

    1.關于看門狗的解釋不再說明,窗口看門狗簡而言之即只能看某個窗口期即某段時間內才能夠喂狗。32的獨立看門狗是沒有中斷的,而
    發(fā)表于 12-10 15:55 ?3326次閱讀

    淺談STM8S_008_WDG獨立看門狗窗口看門狗

    STM8S_008_WDG獨立看門狗窗口看門狗
    的頭像 發(fā)表于 03-20 09:39 ?4950次閱讀
    淺談STM8S_008_WDG獨立<b class='flag-5'>看門狗</b>和<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>

    STM32有兩個看門狗,獨立看門狗窗口看門狗

    窗口看門狗的上窗口就是配置寄存器WWDG->CFR里設定的W[6:0];下窗口是固定的0x40;當窗口
    的頭像 發(fā)表于 06-15 09:02 ?4672次閱讀
    STM32有兩個<b class='flag-5'>看門狗</b>,獨立<b class='flag-5'>看門狗</b>和<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>

    STM32:獨立看門狗、窗口看門狗的配置

    STM32單片機的看門狗有獨立看門狗窗口看門狗之分,這兩者的工作原理卻完全不同。
    發(fā)表于 02-08 16:15 ?18次下載
    STM32:獨立<b class='flag-5'>看門狗</b>、<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>的配置

    窗口看門狗是什么?與獨立看門狗有啥區(qū)別?

    STM32有兩個看門狗,獨立看門狗窗口看門狗。其實兩者的功能是類似的,只是喂狗的限制時間不同。
    發(fā)表于 02-09 10:28 ?9次下載
    <b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>是什么?與獨立<b class='flag-5'>看門狗</b>有啥區(qū)別?

    窗口看門狗基礎知識

    發(fā)表于 11-16 23:57 ?0次下載
    <b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>的<b class='flag-5'>基礎知識</b>

    窗口看門狗基礎知識

    看門狗是綜合系統(tǒng)的重要組成部分,必須充分理解才能充分利用其功能。大多數看門狗都是有窗口的,這需要比非窗口看門狗更精確的計時,但允許更大的功能
    的頭像 發(fā)表于 12-14 15:35 ?2178次閱讀
    <b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>的<b class='flag-5'>基礎知識</b>

    STM32中的獨立看門狗窗口看門狗

    窗口看門狗。 獨立看門狗:使用的是外部時鐘,即使主頻不工作了,看門狗也能正常工作。只要在到達喂狗時間的上限前喂狗即表示程序是正常的,這點和窗口
    的頭像 發(fā)表于 12-22 16:58 ?1894次閱讀

    STM32中的獨立看門狗窗口看門狗

    在早期的MCU中是沒有看門狗這種東西的,所以產品就很容易出現死機,跑飛的情況。為了避免這種情況的出現,后期的MCU都集成了看門狗的功能。但是目前看門狗發(fā)展到今天基本上分為兩大類:獨立看門狗
    的頭像 發(fā)表于 01-30 14:38 ?1216次閱讀
    STM32中的獨立<b class='flag-5'>看門狗</b>和<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>