在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

看門狗芯片的應用場景

姚小熊27 ? 來源:英銳恩 ? 作者:英銳恩 ? 2020-06-26 14:27 ? 次閱讀

對于那些人類無法持續監視的嵌入式系統看門狗芯片可能是個很好的解決方案。英銳恩單片機開發工程師表示,大多數嵌入式系統需要自主處理異常,如果運算跑偏了,通常不可能等人們重新引導他們。這種情況下需要一個復位芯片,以引導嵌入式系統的重啟。

看門狗芯片是一種硬件,可以用來自動檢測軟件異常,并在發生任何異常時重置處理器。一般來說,看門狗芯片基于一個從某個初始值遞減到零的計數器。嵌入式軟件選擇計數器的初始值并定期重新啟動它。如果計數器在軟件重新啟動之前達到零,則認為軟件發生故障,并且處理器的復位信號有效。處理器(及其運行的嵌入式軟件)將重新啟動,就像人工操作員已關閉電源再打開一樣。

如下圖所示,看門狗芯片是處理器外部的芯片。但是,它也可以與CPU包含在同一芯片中。這是在許多單片機中完成的。無論哪種情況,看門狗芯片的輸出都直接與處理器的復位信號相關。

看門狗芯片的應用場景

一、什么是踢狗(也叫:喂狗)

重新啟動看門狗芯片計數器的過程有時稱為“踢狗(喂狗)”。踢狗的作用作用主要是起到復位重啟的作用,確保機器能夠一直運行。

如下面的案例1中,做了一個簡單的示例。這里,我們有一個無限循環來控制系統的整個行為。這種軟件體系結構在許多具有低端處理器和基于單個工作頻率的行為的嵌入式系統中很常見。該看門狗的硬件實現允許通過內存映射寄存器設置計數器值。

uint16 volatile * pWatchdog =

(uint16 volatile *) 0xFF0000;

main(void)

{

hwinit();

for (;;)

{

*pWatchdog = 10000;

read_sensors();

control_motor();

display_status();

}

}

案例1:踢狗

假設循環必須每五毫秒至少執行一次。(假設必須至少經常向電動機提供新的控制參數。)如果看門狗芯片的計數器初始化為與經過的時間(即10000毫秒)對應的五毫秒的值,并且軟件沒有錯誤,看門狗芯片將永遠不會到期,軟件將始終在達到零之前重新啟動計數器。

二、軟件異常

看門狗芯片可以使系統擺脫許多危險情況。但是,如果要有效,必須在整個軟件設計中考慮復位看門狗芯片。設計人員必須知道其軟件可能出什么問題,并確保看門狗芯片能夠檢測到它們(如果有的話)。

系統掛起有多種原因。導致執行無限循環的邏輯謬誤是最簡單的。假設這種情況發生在案例1的read_sensors()調用中。其他任何軟件(ISR除外,如果仍然啟用中斷)都不會再次運行。

另一種可能性是,在循環的一次通過期間,異常數量的中斷到達。在ISR中花費的任何額外時間就是沒有花費在執行主循環上的時間。可能會給電機新的控制指令帶來危險的延遲。

使用多任務內核時,可能會發生死鎖。例如,一組任務可能會卡在彼此之間等待,并且其中一個需要一些外部信號,從而使整個任務組無限期地掛起。

如果此類故障是瞬態的,則每次看門狗引起的復位后,系統可能會在一段時間內正常運行。但是,發生故障的硬件可能會導致系統不斷重置。因此,計算看門狗引起的復位次數并在固定次數的故障后放棄嘗試可能是明智的。

三、Karate框架接口測試

實際的看門狗實現通常會具有一個與案例1中的軟件相比更為復雜的軟件接口。當重置看門狗所需的指令集非常簡單時,有漏洞的軟件可能會偶然執行此操作。考慮一個錯誤,該錯誤導致將值10000一次又一次地寫入內存中的每個位置。此代碼將定期重新啟動看門狗計數器,并且看門狗可能永遠不會咬人。為防止這種情況,許多看門狗實現要求使用兩個或多個連續寫入的復雜序列來重新啟動看門狗芯片。

如果看門狗內置在你的單片機中,則在設備復位時可能不會自動啟用它。你必須確保在硬件初始化期間啟用它。為了提供保護以防止意外禁用看門狗的錯誤,硬件設計通常使得一旦啟用看門狗芯片就無法禁用它。

如果你的軟件可以比看門狗周期更快地完成一個完整的循環,那么案例1中的結構可能對你來說很好。如果你的軟件的某些部分需要很長時間才能完成,那么挑戰就更大了。假設你有一個循環,等待元素加熱到一定溫度再返回。許多看門狗芯片的最長持續時間約為兩秒鐘。如果你要延遲的時間超過該時間長度,則可能必須在等待循環中踢狗。如果你的軟件中有很多這樣的地方,看門狗的控制可能會出現問題。

系統初始化是代碼的一部分,通常需要比看門狗芯片的最大時間更長的時間。也許進行內存測試或從ROMRAM的數據傳輸會減慢此速度。因此,某些看門狗可以比其后繼踢等待更長的時間來等待他們的第一個踢。

隨著將控制線程添加到軟件中(以ISR和軟件任務的形式),在代碼中僅放置一處看門狗變得無效。所以,選擇合適的踢腳間隔也是一個重要問題,這只能以系統特定的方式解決。

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

    關注

    32

    文章

    2256

    瀏覽量

    94683
  • 看門狗芯片
    +關注

    關注

    0

    文章

    19

    瀏覽量

    6124
收藏 人收藏

    評論

    相關推薦

    安利給工程師!看門狗相關知識

    適當的參數來確保系統在正常運行和故障場景下都能自動恢復。? ▼ 看門狗簡介 ▼ 看門狗(Watch Dog Timer,WDT) ——是一種監控電路,主要應用于嵌入式系統,目的是為了提高系統的可靠性和穩定性。在
    的頭像 發表于 12-31 14:29 ?110次閱讀
    安利給工程師!<b class='flag-5'>看門狗</b>相關知識

    抄作業!看門狗定時器必備知識

    Air201在模組內部集成了硬件看門狗,今天就一起來聊聊~ 本文將帶你了解看門狗的工作原理、應用架構、定時時間設置、軟硬件看門狗的區別,以及看門狗定時器的典型應
    的頭像 發表于 12-30 14:44 ?154次閱讀
    抄作業!<b class='flag-5'>看門狗</b>定時器必備知識

    一文詳解看門狗/電壓監控芯片規格書

    一、關于一些看門狗、電壓監控的疑問?1.什么是看門狗看門狗,又叫Watchdog,本質上來說就是一個定時器電路,一般有一個輸入和一個輸出,其中輸入叫做喂狗,輸出一般連接到另外一個部分的復位端,一般
    的頭像 發表于 12-26 17:18 ?197次閱讀
    一文詳解<b class='flag-5'>看門狗</b>/電壓監控<b class='flag-5'>芯片</b>規格書

    常用硬件看門狗電路

    硬件看門狗電路分享
    的頭像 發表于 12-18 14:09 ?570次閱讀
    常用硬件<b class='flag-5'>看門狗</b>電路

    看門狗定時器的工作原理

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

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

    在電子產品中,有時候需要看門狗定時器(WDT),看門狗芯片有外部和內置兩種。在設計之初,要不要使用看門狗芯片?這是個值得考慮的問題。在本文中
    發表于 09-25 13:46

    Sitara AM6442 RTI看門狗調試

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

    【GD32F470紫藤派開發板使用手冊】第七講 FWDG-看門狗實驗

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

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

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

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

    系統出現了故障或死鎖,軟件看門狗會自動重啟系統或執行其他預定義的操作。軟件看門狗通常用于嵌入式系統中,可以方便地進行編程和控制。硬件看門狗則是一種獨立的硬件設備,它與計算機主板上的芯片
    的頭像 發表于 04-16 15:10 ?1119次閱讀

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

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

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

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

    求助,關于看門狗定時器的喂狗時間和多APP看門狗的問題求解

    參考例程,在看門狗定時器時間的配置上,我看到如下函數: /* Step 3- Write match value */ #if(WDT_DEMO == WDT_INTERRUPT_DEMO
    發表于 02-21 06:50

    什么是看門狗?如何實現對系統程序的監控?

    看門狗通過定時器計數器和相關的控制邏輯來實現功能。在系統正常運行時,定時器會以固定的時間間隔重復計數,如果系統一切正常,那么定時器會定期被重置。
    的頭像 發表于 02-02 15:58 ?2559次閱讀

    ADUC7024的看門狗能不能在看門狗定時沒有到之前,將看門狗給關了啊?

    ADUC7024的看門狗能不能在看門狗定時沒有到之前(即沒有復位之前),將看門狗給關了啊?
    發表于 01-15 08:17
    主站蜘蛛池模板: 黄视频网站免费观看| 免费无码看av的网站| 黄色日批网站| 操天天操| 日女人免费视频| 亚洲欧洲一区二区三区在线观看| 中文字幕在线播放一区| 日韩欧美印度一级毛片| 一区二区三区四区在线视频| 性欧美丨18一19| 三级在线网址| 久久久久久88色偷偷| 插吧插吧综合网| 奇米影视婷婷| 日本xxxxxxxxx68| 女人aaaaa片一级一毛片| 一品毛片| 日本高清午夜色wwwσ | 国产肥女bbwbbw| 免费在线观看视频| 激情五月社区| 色偷偷偷| 九九全国免费视频| 亚洲综合五月天婷| 久久91精品牛牛| 一区二区视频| 五月婷婷在线免费观看| 欧美成人精品一区二三区在线观看| 国产日韩三级| 免费在线观看黄| 夜色成人网| 五月四房婷婷| 久久免费手机视频| 五月婷婷丁香色| 1024手机免费看| 99久久免费精品国产免费高清| 色多多网站| 成人18毛片| 国产午夜在线视频| 老师解胸罩喂我吃奶| 色播在线|