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