專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
在電子產(chǎn)品中,有時(shí)候需要看門狗定時(shí)器(WDT),看門狗芯片有外部和內(nèi)置兩種。在設(shè)計(jì)之初,要不要使用看門狗芯片?這是個(gè)值得考慮的問題。在本文中,我們對(duì)內(nèi)部和外部看門狗定時(shí)器做下講解,看看需不需要看門狗功能。
什么是看門狗定時(shí)器(WDT),為什么在設(shè)計(jì)中需要它?
看門狗定時(shí)器(WDT)是一種用于檢測(cè)在嵌入式系統(tǒng)中的異常并復(fù)位單片機(jī)。它通常包含一個(gè)預(yù)裝計(jì)時(shí)器,該計(jì)時(shí)器遞減為零。當(dāng)預(yù)裝的看門狗定時(shí)器到預(yù)定的時(shí)間,單片機(jī)就會(huì)復(fù)位。在正常操作下,單片機(jī)會(huì)持續(xù)刷新計(jì)時(shí)器的值,以防止其進(jìn)入復(fù)位狀態(tài),也就是“踢看門狗”。
單片機(jī)開發(fā)工程師在嘗試完善硬件和程序的過程中,可能會(huì)發(fā)生錯(cuò)誤。比如:電源不穩(wěn)定,內(nèi)存堆棧溢出或程序陷入永久循環(huán)是單片機(jī)停滯的原因。這些錯(cuò)誤可能會(huì)導(dǎo)致系統(tǒng)崩潰,這對(duì)于停機(jī)時(shí)間幾乎沒有容忍的應(yīng)用程序可能會(huì)造成問題。發(fā)生這種情況時(shí),裝有看門狗定時(shí)器繼電器的系統(tǒng)將自動(dòng)復(fù)位。這是因?yàn)閃DT觸發(fā)了系統(tǒng)重置,因此無需人工干預(yù)即可恢復(fù)正常運(yùn)行。
內(nèi)部WDT與外部WDT,應(yīng)該怎么選擇?
在選擇WDT之前,重要的是要了解它們。內(nèi)部WDT是單片機(jī)自身內(nèi)置的看門狗定時(shí)器,通過將值寫入WDT的相應(yīng)寄存器來完成WDT的配置和刷新。
外部WDT是物理集成電路(IC),需要無源組件才能起作用。復(fù)位倒數(shù)的持續(xù)時(shí)間通常由電容器的值決定。外部WDT通常通過發(fā)送電壓脈沖來刷新,不管是內(nèi)部WDT還是外部WDT,它們都以相同的方式復(fù)位單片機(jī)。
選擇內(nèi)部WDT的優(yōu)點(diǎn)是,可以通過最大程度地減少額外組件的成本來節(jié)省資金,并且可以使用更小的PCB。由于大多數(shù)現(xiàn)代MCU都配有內(nèi)部WDT,這當(dāng)然是個(gè)不錯(cuò)的選擇,可以節(jié)約成本。
但是,如果內(nèi)部WDT與單片機(jī)屬于同一IC。當(dāng)單片機(jī)可能發(fā)生故障時(shí),那么WDT是否也可能發(fā)生故障?這點(diǎn)需要著重考慮。
以當(dāng)今的單片機(jī)制造能力,遇到不可靠的內(nèi)部WDT的可能性很小。但是,它們確實(shí)有可能因失控的代碼錯(cuò)誤地使計(jì)時(shí)器無效而出故障。此外,如果系統(tǒng)時(shí)鐘發(fā)生故障,與單片機(jī)共享相同系統(tǒng)時(shí)鐘的內(nèi)部WDT更有可能發(fā)生故障。
在關(guān)鍵任務(wù)應(yīng)用中,使用內(nèi)部看門狗定時(shí)器總是比較安全的,你會(huì)發(fā)現(xiàn)使用少量組件的成本仍然比停滯的系統(tǒng)所造成的損害要小。
以上就是英銳恩單片機(jī)開發(fā)工程師分享的內(nèi)部看門狗定時(shí)器(WDT)與外掛看門狗芯片的知識(shí)。英銳恩專注單片機(jī)應(yīng)用方案設(shè)計(jì)與開發(fā),提供8位單片機(jī)、16位單片機(jī)、32位單片機(jī)、運(yùn)放芯片和模擬開關(guān)。