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

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

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

【技術(shù)分享】"喂狗",也要講究方法

AGk5_ZLG_zhiyua ? 來(lái)源:未知 ? 2023-03-21 13:35 ? 次閱讀
看似乖巧的看門狗,也有比較調(diào)皮的一面,在燒錄無(wú)法喂狗的特殊情況下仍會(huì)毫不留情的復(fù)位芯片,造成燒錄失敗,該如何避免這種情況的發(fā)生嗎?

7a1d60de-c7a9-11ed-bfe3-dac502259ad0.jpg??初識(shí)看門狗

嵌入式產(chǎn)品設(shè)備在電源瞬變、電磁干擾、靜電放電、極端溫濕度等復(fù)雜環(huán)境的干擾下可能會(huì)造成程序異常,從而使系統(tǒng)陷入癱瘓狀態(tài),這時(shí)候我們就希望設(shè)備能夠自動(dòng)復(fù)位,而不需要人工干預(yù),看門狗定時(shí)器可以幫助捕獲和重置已經(jīng)“失控”的設(shè)備,實(shí)現(xiàn)無(wú)人值守,提高系統(tǒng)可靠性。看門狗又叫 watchdog timer,是一個(gè)定時(shí)器電路,一般有一個(gè)輸入端用來(lái)喂狗,一個(gè)輸出端RST接到芯片的復(fù)位引腳,芯片正常工作的時(shí)候,每隔一段時(shí)間輸出一個(gè)信號(hào)到喂狗端,給看門狗清零,如果超過(guò)規(guī)定的時(shí)間不喂狗,看門狗溢出,就會(huì)給出一個(gè)復(fù)位信號(hào),拉低RST引腳使得芯片復(fù)位。ZL6300是廣州致遠(yuǎn)微電子有限公司自行設(shè)計(jì)的一款集欠壓監(jiān)測(cè)復(fù)位、手動(dòng)復(fù)位和超時(shí)復(fù)位功能的看門狗芯片,具有以下特性:
  • 上電復(fù)位脈沖200mS;
  • 支持手動(dòng)復(fù)位;
  • 看門狗定時(shí)器溢出周期1.7S;
  • 低功耗僅9uA;
  • 欠壓復(fù)位。
7a2f8354-c7a9-11ed-bfe3-dac502259ad0.png

圖1 ZL6300內(nèi)部結(jié)構(gòu)

7a4c6d5c-c7a9-11ed-bfe3-dac502259ad0.jpg應(yīng)用電路

通過(guò)之前對(duì)看門狗的初步認(rèn)識(shí),好的看門狗設(shè)計(jì)可以大大提升產(chǎn)品的穩(wěn)定可靠性,我司基于該理念,核心板上均板載獨(dú)立看門狗,為適應(yīng)各種復(fù)雜環(huán)境保駕護(hù)航。下面以我司性能卓越的M3568核心板為例,看下它如何靈活設(shè)計(jì)看門狗電路,對(duì)應(yīng)的原理圖如下圖2所示,看門狗芯片選型ZL6300,支持手動(dòng)按鍵復(fù)位和看門狗溢出復(fù)位,當(dāng)系統(tǒng)正常運(yùn)行時(shí)從芯片上電啟動(dòng)到加載看門狗喂狗驅(qū)動(dòng)所需時(shí)長(zhǎng)約為1S左右,ZL6300溢出周期為1.7S,可以在看門狗溢出周期內(nèi)及時(shí)喂狗清除定時(shí)器。

7a5db12a-c7a9-11ed-bfe3-dac502259ad0.png

圖2看門狗電路

當(dāng)芯片處于燒錄狀態(tài)時(shí)因內(nèi)核停止工作,喂狗程序不能正常運(yùn)行,不能及時(shí)喂狗,看門狗溢出拉低芯片復(fù)位引腳,導(dǎo)致程序下載失敗。為應(yīng)對(duì)這種特殊情況,預(yù)留了跳線冒選項(xiàng),插上短路帽即可禁用看門狗,當(dāng)J2插上短路帽時(shí),WDO_EN被拉至低電平,Q1三級(jí)管處于關(guān)斷狀態(tài),WDI引腳處于高組態(tài),當(dāng)WDI引腳檢測(cè)到它處于高阻抗?fàn)顟B(tài)時(shí)將產(chǎn)生自己的WDI脈沖,對(duì)應(yīng)的喂狗波形如下圖3所示。

7a746906-c7a9-11ed-bfe3-dac502259ad0.png

圖3 看門狗禁能時(shí)喂狗波形

當(dāng)燒錄完成后拔掉跳線帽,Q3處于導(dǎo)通狀態(tài),芯片產(chǎn)生的喂狗脈沖WDI_GPIO可通過(guò)Q3傳遞到WDI引腳,實(shí)現(xiàn)正常喂狗,對(duì)應(yīng)的喂狗波形如下圖4所示。

7a8bb106-c7a9-11ed-bfe3-dac502259ad0.png

圖4看門狗使能時(shí)喂狗波形

7a4c6d5c-c7a9-11ed-bfe3-dac502259ad0.jpg總結(jié)

下面簡(jiǎn)單匯總看門狗電路設(shè)計(jì)注意事項(xiàng)
  • 看門狗復(fù)位脈沖時(shí)長(zhǎng)要大于CPU的最少?gòu)?fù)位時(shí)間;

  • 看門狗溢出周期要大于系統(tǒng)啟動(dòng)到加載看門狗驅(qū)動(dòng)時(shí)長(zhǎng),并留有一定的余量;

  • 充分利用WDI引腳在高阻態(tài)時(shí)看門狗定時(shí)器功能禁用;

  • 避免通過(guò)使能看門狗的電源來(lái)控制看門狗工作與否,否則會(huì)造成系統(tǒng)一直重啟,看門狗芯片上電后會(huì)輸出一個(gè)時(shí)長(zhǎng)200mS的POR信號(hào)。

7a4c6d5c-c7a9-11ed-bfe3-dac502259ad0.jpg關(guān)聯(lián)產(chǎn)品 7a4c6d5c-c7a9-11ed-bfe3-dac502259ad0.jpg技術(shù)交流長(zhǎng)按識(shí)別如下二維碼可加入“工控板/核心板技術(shù)交流群”,與志同道合的朋友交流,并有專業(yè)技術(shù)人員為您答疑解惑,如有問(wèn)題可以咨詢小致微信zlgmcu-888。

聲明:本文內(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)投訴
  • 致遠(yuǎn)電子
    +關(guān)注

    關(guān)注

    13

    文章

    402

    瀏覽量

    31201

原文標(biāo)題:【技術(shù)分享】"喂狗",也要講究方法

文章出處:【微信號(hào):ZLG_zhiyuan,微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SPC582B用SPC5Studio打開(kāi)SWT后,哪一個(gè)是喂狗函數(shù)???

    SPC582B的芯片,用SPC5Studio打開(kāi)SWT后,哪一個(gè)是喂狗函數(shù)???還是要自己寫?
    發(fā)表于 05-31 08:25

    為什么PWM模式輸出不能執(zhí)行喂狗操作?

    為什么PWM模式輸出不能執(zhí)行喂狗操作,喂狗已初始化,Keil示波器顯示一秒中斷?
    發(fā)表于 03-08 06:03

    求助,關(guān)于看門狗定時(shí)器的喂狗時(shí)間和多APP看門狗的問(wèn)題求解

    : 如果我在我的app1里面加入了看門狗, 我的app0沒(méi)有喂狗操作。 當(dāng)我的程序有app1跳轉(zhuǎn)到app0后,是否會(huì)因?yàn)椴?b class='flag-5'>喂狗而導(dǎo)致復(fù)位。 另外我的app1如果引起了看門狗復(fù)位,那么是復(fù)位到app0的入口開(kāi)始執(zhí)行還是復(fù)位到app1的入口開(kāi)始執(zhí)行。
    發(fā)表于 02-21 06:50

    TLE9879開(kāi)啟看門狗后不喂狗也不會(huì)出現(xiàn)復(fù)位的現(xiàn)象是為什么?

    開(kāi)啟看門狗后不喂狗也不會(huì)出現(xiàn)復(fù)位的現(xiàn)象,用官方例程也是一樣的效果,有人遇到過(guò)這個(gè)情況嗎?
    發(fā)表于 02-19 07:06

    使用TC275 CPU看門狗,在不喂狗的情況下只能復(fù)位一次,然后再次復(fù)位時(shí),就直接死機(jī)了是什么情況?

    使用TC275CPU看門狗,定時(shí)器設(shè)為1.3秒,在不喂狗的情況下只能復(fù)位一次,然后再次復(fù)位時(shí),就直接死機(jī)了,程序不能重啟運(yùn)行。這是什么情況
    發(fā)表于 02-05 07:10

    RT-Thread Nano入門:獨(dú)立看門狗(IWDT)

    本文主要介紹怎么用RT-Thread Nano實(shí)現(xiàn)獨(dú)立看門狗IWDT驅(qū)動(dòng),創(chuàng)建一個(gè)喂狗線程,實(shí)現(xiàn)定時(shí)喂狗功能。
    的頭像 發(fā)表于 11-22 11:04 ?1741次閱讀
    RT-Thread Nano入門:獨(dú)立看門狗(IWDT)

    i.MX6ULL——ElfBoard ELF1板卡 在自啟腳本中打開(kāi)看門狗,通過(guò)QT應(yīng)用來(lái)喂狗方法來(lái)啦

    修改看門狗源碼,設(shè)置了超時(shí)時(shí)間后,關(guān)閉/dev/dev/watchdog節(jié)點(diǎn)., 4.編譯之后,再次進(jìn)行測(cè)試。(如何編譯應(yīng)用方法可以看一下之前發(fā)布的貼子哦) 在不啟動(dòng)QT喂狗應(yīng)用時(shí),系統(tǒng)超時(shí)60S重啟。 在啟動(dòng)QT應(yīng)用后,不再報(bào)錯(cuò),能夠成功
    發(fā)表于 11-14 10:18

    嵌入式學(xué)習(xí)——ElfBoard ELF1板卡 在自啟腳本中打開(kāi)看門狗,通過(guò)QT應(yīng)用來(lái)喂狗方法來(lái)啦

    修改看門狗源碼,設(shè)置了超時(shí)時(shí)間后,關(guān)閉/dev/dev/watchdog節(jié)點(diǎn)。 4.編譯之后,再次進(jìn)行測(cè)試。(如何編譯應(yīng)用方法可以看一下之前發(fā)布的貼子哦) 在不啟動(dòng)QT喂狗應(yīng)用時(shí),系統(tǒng)超時(shí)60S重啟。 在啟動(dòng)QT應(yīng)用后,不再報(bào)錯(cuò),能夠成功
    發(fā)表于 11-14 10:15

    看門狗喂狗代碼要加在哪里?

    看門狗喂狗代碼要加在哪里 定時(shí)器嗎?
    發(fā)表于 11-03 06:39

    請(qǐng)問(wèn)什么時(shí)候喂狗?怎么喂狗?喂狗的注意事項(xiàng)有哪些?

    什么時(shí)候喂狗?怎么喂狗?喂狗的注意事項(xiàng)?
    發(fā)表于 10-27 07:30

    如何避免燒錄無(wú)法喂狗的情況下看門狗仍會(huì)復(fù)位芯片

    "喂狗",也要講究方法
    的頭像 發(fā)表于 10-24 15:56 ?2226次閱讀
    如何避免燒錄無(wú)法<b class='flag-5'>喂狗</b>的情況下看門狗仍會(huì)復(fù)位芯片

    pcb電路板線寬線距有何講究?

    pcb電路板線寬線距有何講究?
    的頭像 發(fā)表于 10-18 17:19 ?2443次閱讀

    STM8L在待機(jī)模式還需要給獨(dú)立看門狗喂狗嗎?

    STM8L在待機(jī)模式還需要給獨(dú)立看門狗喂狗
    發(fā)表于 10-15 12:58

    代碼規(guī)范化如何學(xué)習(xí),單片機(jī)也要求規(guī)范化嗎?

    代碼規(guī)范化如何學(xué)習(xí),單片機(jī)也要求規(guī)范化么?
    發(fā)表于 10-12 07:19

    STM8的獨(dú)立看門狗怎么能保證及時(shí)喂狗?

    STM8的獨(dú)立看門狗怎么能保證及時(shí)喂狗
    發(fā)表于 10-09 06:40