看似乖巧的看門狗,也有比較調(diào)皮的一面,在燒錄無法喂狗的特殊情況下仍會毫不留情的復(fù)位芯片,造成燒錄失敗,該如何避免這種情況的發(fā)生嗎?
?初識看門狗
嵌入式產(chǎn)品設(shè)備在電源瞬變、電磁干擾、靜電放電、極端溫濕度等復(fù)雜環(huán)境的干擾下可能會造成程序異常,從而使系統(tǒng)陷入癱瘓狀態(tài),這時候我們就希望設(shè)備能夠自動復(fù)位,而不需要人工干預(yù),看門狗定時器可以幫助捕獲和重置已經(jīng)“失控”的設(shè)備,實(shí)現(xiàn)無人值守,提高系統(tǒng)可靠性??撮T狗又叫 watchdog timer,是一個定時器電路,一般有一個輸入端用來喂狗,一個輸出端RST接到芯片的復(fù)位引腳,芯片正常工作的時候,每隔一段時間輸出一個信號到喂狗端,給看門狗清零,如果超過規(guī)定的時間不喂狗,看門狗溢出,就會給出一個復(fù)位信號,拉低RST引腳使得芯片復(fù)位。ZL6300是廣州致遠(yuǎn)微電子有限公司自行設(shè)計(jì)的一款集欠壓監(jiān)測復(fù)位、手動復(fù)位和超時復(fù)位功能的看門狗芯片,具有以下特性:
- 上電復(fù)位脈沖200mS;
- 支持手動復(fù)位;
- 看門狗定時器溢出周期1.7S;
- 低功耗僅9uA;
- 欠壓復(fù)位。
圖1 ZL6300內(nèi)部結(jié)構(gòu)
?應(yīng)用電路
通過之前對看門狗的初步認(rèn)識,好的看門狗設(shè)計(jì)可以大大提升產(chǎn)品的穩(wěn)定可靠性,我司基于該理念,核心板上均板載獨(dú)立看門狗,為適應(yīng)各種復(fù)雜環(huán)境保駕護(hù)航。下面以我司性能卓越的M3568核心板為例,看下它如何靈活設(shè)計(jì)看門狗電路,對應(yīng)的原理圖如下圖2所示,看門狗芯片選型ZL6300,支持手動按鍵復(fù)位和看門狗溢出復(fù)位,當(dāng)系統(tǒng)正常運(yùn)行時從芯片上電啟動到加載看門狗喂狗驅(qū)動所需時長約為1S左右,ZL6300溢出周期為1.7S,可以在看門狗溢出周期內(nèi)及時喂狗清除定時器。
圖2看門狗電路
當(dāng)芯片處于燒錄狀態(tài)時因內(nèi)核停止工作,喂狗程序不能正常運(yùn)行,不能及時喂狗,看門狗溢出拉低芯片復(fù)位引腳,導(dǎo)致程序下載失敗。為應(yīng)對這種特殊情況,預(yù)留了跳線冒選項(xiàng),插上短路帽即可禁用看門狗,當(dāng)J2插上短路帽時,WDO_EN被拉至低電平,Q1三級管處于關(guān)斷狀態(tài),WDI引腳處于高組態(tài),當(dāng)WDI引腳檢測到它處于高阻抗?fàn)顟B(tài)時將產(chǎn)生自己的WDI脈沖,對應(yīng)的喂狗波形如下圖3所示。
圖3 看門狗禁能時喂狗波形
當(dāng)燒錄完成后拔掉跳線帽,Q3處于導(dǎo)通狀態(tài),芯片產(chǎn)生的喂狗脈沖WDI_GPIO可通過Q3傳遞到WDI引腳,實(shí)現(xiàn)正常喂狗,對應(yīng)的喂狗波形如下圖4所示。
圖4看門狗使能時喂狗波形
?總結(jié)
下面簡單匯總看門狗電路設(shè)計(jì)注意事項(xiàng)
看門狗復(fù)位脈沖時長要大于CPU的最少復(fù)位時間;
看門狗溢出周期要大于系統(tǒng)啟動到加載看門狗驅(qū)動時長,并留有一定的余量;
充分利用WDI引腳在高阻態(tài)時看門狗定時器功能禁用;
避免通過使能看門狗的電源來控制看門狗工作與否,否則會造成系統(tǒng)一直重啟,看門狗芯片上電后會輸出一個時長200mS的POR信號。
-
嵌入式
+關(guān)注
關(guān)注
5059文章
18975瀏覽量
302083 -
看門狗
+關(guān)注
關(guān)注
10文章
558瀏覽量
70709
發(fā)布評論請先 登錄
相關(guān)推薦
評論