看似乖巧的
看門狗,也有比較調皮的一面,在燒錄無法喂狗的特殊情況下仍會毫不留情的復位
芯片,造成燒錄失敗,該如何避免這種情況的發生嗎?
??初識看門狗
嵌入式產品設備在電源瞬變、電磁干擾、靜電放電、極端溫濕度等復雜環境的干擾下可能會造成程序異常,從而使系統陷入癱瘓狀態,這時候我們就希望設備能夠自動復位,而不需要人工干預,看門狗定時器可以幫助捕獲和重置已經“失控”的設備,實現無人值守,提高系統可靠性。看門狗又叫 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信號。
關聯產品
技術交流群長按識別如下二維碼可加入“工控板/核心板技術交流群”,與志同道合的朋友交流,并有專業技術人員為您答疑解惑,如有問題可以咨詢小致微信:zlgmcu-888。
?
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
原文標題:【技術分享】"喂狗",也要講究方法
文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。
相關推薦
今天要講的是4G模組PWM的技術精要,以常用的合宙Air724UG為例做出示例分享給大家。
發表于 12-14 09:40
?585次閱讀
今天咋們要講的是SPI與4G模組的技術要領,以低功耗模組Air724UG為例,展示給大家學習。
發表于 11-20 23:25
?217次閱讀
;: WDT.WDT_DEVICE_0})machine.WDT類為WDT對象提供了feed()方法,用于對WDT對象進行喂狗操作,feed()方法如下所示:WDT.feed()feed()方
發表于 10-15 14:32
運放輸入端不是以信號幅值為主嗎?為什么有些應用輸入也要匹配到50Ω?
另外,對于AB類的MOSFET來說,如果負載需求的功率超過了它能提供的范圍,MOS管會怎樣?
發表于 09-24 07:08
工程師您好,請問雙極性運放的同向輸入端也要提供偏置電流的工作點嗎,什么情況下可以直接加信號的輸入,而不用提供偏流電阻!謝謝
發表于 09-24 06:00
我用如下電路。
我想把兩路DA產生的兩個信號經這個差分放大器放大。IC:THS4131
這THS4131空載也要消耗32mA 左右的電流,發熱嚴重。
當然,當有信號輸入的時候,它是可以放大信號的。
請問是這是什么原因?怎解決?
謝謝??!
發表于 08-30 07:07
SPC582B的芯片,用SPC5Studio打開SWT后,哪一個是喂狗函數???還是要自己寫?
發表于 05-31 08:25
該專利主要講述如何通過特定方法優化內存管理效率,包括確定N個具有相同虛擬地址但權限各異的進程(N必須為大于或等于2的整數),并據此建立特定映射關系表以及權限表,每一進程均對應一個權限表。
發表于 04-16 09:51
?421次閱讀
STM32_USB_Device_Library和STM32_USB_Host_Library。請問下,H750既要實現主機,也要實現從機功能,要怎么實現呢?有什么資料可以參考下嗎?
發表于 03-19 06:46
這次的例子,主要講述如何基于PYTHON的 MQTT 客戶端的使用方法
發表于 03-14 11:45
?800次閱讀
為什么PWM模式輸出不能執行喂狗操作,喂狗已初始化,Keil示波器顯示一秒中斷?
發表于 03-08 06:03
:
如果我在我的app1里面加入了看門狗, 我的app0沒有喂狗操作。 當我的程序有app1跳轉到app0后,是否會因為不喂狗而導致復位。 另外我的app1如果引起了看門狗復位,那么是復位到app0的入口開始執行還是復位到app1的入口開始執行。
發表于 02-21 06:50
開啟看門狗后不喂狗也不會出現復位的現象,用官方例程也是一樣的效果,有人遇到過這個情況嗎?
發表于 02-19 07:06
使用TC275CPU看門狗,定時器設為1.3秒,在不喂狗的情況下只能復位一次,然后再次復位時,就直接死機了,程序不能重啟運行。這是什么情況
發表于 02-05 07:10
開啟 INAPPMIC TLF 35584 看門狗(WWD),配置進入 normal模式,在 normal中沒有喂狗,會讓 rot 產生 resetsentiSettiNoun 號嗎?現在不給狗喂東西的情況下,量化測試沒有重置信號產生,怎么能讓 rot 產生重置信號?
發表于 01-19 08:26
評論