新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 看門狗工作原理和電路設計

        看門狗工作原理和電路設計

        —— 門狗工作原理和電路設計
        作者: 時間:2024-05-06 來源:硬件筆記本 收藏

        1.是什么?

        本文引用地址:http://www.104case.com/article/202405/458341.htm

        ,又叫watchdog timer,是一個,一般有一個輸入,叫喂狗(kicking the dog/service the dog),一個輸出到MCU的RST端。

        MCU正常工作的時候,每隔一段時間輸出一個信號到喂狗端,給 WDT清零,如果超過規定的時間不喂狗(一般在程序跑飛時),WDT定時超過,就會給出一個復位信號到MCU,使MCU復位,防止MCU死機。的作用就是防止程序發生死循環,或者說程序跑飛。


        2.硬件和軟件看門狗


        ? 硬件看門狗

        硬件看門狗是利用了一個定時器,來監控主程序的運行,也就是說在主程序的運行過程中,我們要在定時時間到之前對定時器進行復位。如果出現死循環,或者說PC指針不能回來,那么定時時間到后就會使單片機復位。常用的WDT芯片如MAX813,5045,IMP 813等。


        ? 軟件看門狗

        而在某些情況下,也會采用純軟件的方法來設置看門狗,如在單片機系統中,利用閑置的定時器/計數器就可以設計一個軟件看門狗。具體實現步驟如下:

        首先,在初始化程序中設置定時器/計數器的方式以控制寄存器(TMOD) 和定時時間的初值,并且打開中斷。

        然后,根據定時器的時間,在主程序中按一定的時間間隔插入復位定時器的指令(喂狗), 兩條喂狗指令之間的時間間隔可以根據系統時鐘與指令周期計算出來,而且該時間周期應該小于定時器的定時時間。

        最后,在定時器的中斷服務程序中,設置一條無條件轉移指令,將程序計數器PC轉移到初始化程序的入口。

        軟件看門狗的優點是無需額外的硬件支持,但當系統存在嚴重的錯誤時(例如:中斷服務出錯),則有可能導致軟件看門狗失效。


        3.硬件看門狗芯片電路


        看門狗芯片與MCU的連接關系如下:其基本的原理就是MCU要在固定的時間內通過IO翻轉去控制看門狗芯片的WDI引腳,否則看門狗芯片就會將WDO拉低,進而使CPU復位。


        以SP706為例,看門狗芯片的引腳定義和功能描述如下圖:

        (來自CSDN: heat.huang)


        這個MR腳是手動復位,挺有用的,原理圖設計時注意下


        當J2接上跳線帽時,開啟看門狗。反之,看門狗關閉。

        芯片參數比較少,關注下最短喂狗時間Twd 即可:


        參考文獻:

        1. https://www.bilibili.com/video/BV1134y197sh?spm_id_from=333.337.search-card.all.click&vd_source=1dd819fba773162098e21ce510439d48

        2. https://baike.baidu.com/item/%E7%9C%8B%E9%97%A8%E7%8B%97/6518878?fr=aladdin

        3. https://blog.csdn.net/weixin_40407893/article/details/117956750




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 定兴县| 枣庄市| 宁德市| 卓尼县| 福泉市| 耒阳市| 逊克县| 昌黎县| 乐山市| 册亨县| 常熟市| 安庆市| 阳朔县| 金昌市| 理塘县| 恩平市| 永年县| 通州区| 鹿泉市| 拉萨市| 蕉岭县| 阜宁县| 韩城市| 城口县| 沭阳县| 班玛县| 永丰县| 甘谷县| 陆良县| 浮山县| 深圳市| 新营市| 慈利县| 威信县| 阳高县| 隆化县| 东港市| 新民市| 嘉善县| 桐乡市| 商都县|