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

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

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

看門狗定時(shí)器的相關(guān)問題和實(shí)驗(yàn)說明

Wildesbeast ? 來源:單片機(jī)教程網(wǎng) ? 作者:單片機(jī)教程網(wǎng) ? 2020-10-06 12:59 ? 次閱讀

看門狗的作用: 看門狗定時(shí)器是一個(gè)計(jì)數(shù)器,基本功能是在發(fā)生軟件問題和程序跑飛后使系統(tǒng)重新啟動??撮T狗計(jì)數(shù)器正常工作時(shí)自動計(jì)數(shù),程序流程定期將其復(fù)位清零,如果系統(tǒng)在某處卡死或跑飛,該定時(shí)器將溢出,并將進(jìn)入中斷。在定時(shí)器中斷中執(zhí)行一些復(fù)位操作,使系統(tǒng)恢復(fù)正常的工作狀態(tài),即在程序沒有正常運(yùn)行期間,如期復(fù)位看門狗以保證所選擇

的定時(shí)溢出歸零,使處理器重新啟動。軟件的可靠性一直是一個(gè)關(guān)鍵問題。任何使用軟件的人都可能會經(jīng)歷計(jì)算機(jī)死機(jī)或程序跑飛的問題,這種情況在嵌入式系統(tǒng)中也同樣存在。由于單片機(jī)的抗干擾能力有限,在工業(yè)現(xiàn)場的儀器儀表中,常會由于電壓不穩(wěn)、電弧干擾等造成死機(jī)。在水表、電表等無人看守的情況下,也會因系統(tǒng)遭受干擾而無法重啟。為了保證系統(tǒng)在干擾后能自動恢復(fù)正常,看門狗定時(shí)器(Watchdog Timer)的利用是很有價(jià)值的。

看門狗問題及相關(guān)實(shí)驗(yàn)

現(xiàn)今市面上流行的一些單片機(jī),多嵌有內(nèi)部WDT,如TI的MSP430系列,Philips的P87XXX和P89XXX系列,MicrochipPIC列,Atmel的AT89SXX系列和Holtek公司的Htxxx系列。但是這些內(nèi)部看門狗在工作時(shí),多存在一定的誤差。一些工程師在設(shè)計(jì)的過程中,由于忽略了這一點(diǎn),導(dǎo)致系統(tǒng)出現(xiàn)異常。MSP430系列單片機(jī)是美國德州儀器公司(TI)近幾年開發(fā)的新一代單片機(jī),該系列是一款16位、具有精簡指令集、超低功耗的全新概念混合型單片機(jī)。在眾多單片機(jī)系列中,由于它具有極低的功耗、豐富的片內(nèi)外設(shè)和方便靈活的開發(fā)手段,已成為一顆耀眼的新星。其內(nèi)部自帶看門狗及復(fù)位電路,理論上如果程序跑飛,可用看門狗將其復(fù)位。但在實(shí)際使用過程中,發(fā)現(xiàn)看門狗的作用并非萬無一失,以下實(shí)驗(yàn)證明了這一點(diǎn)。實(shí)驗(yàn)電路如圖1所示。

試驗(yàn)程序清單:

#include《msp430x12.h》

void main(void){

p1dir l=0x0f; //設(shè)置p1.2-.p1.0為輸出

for(;;){

volatile unsigned int i;

wdtctl=wdtpw+wdtcncl;

//復(fù)位wdt

piout==0x0t;

i=5000;

do(i--)

while(i!=0);

}}

上述實(shí)驗(yàn)啟動后,如果程序正常運(yùn)行,LED會閃爍。缺省時(shí),MSP430的看門狗是允許狀態(tài),所運(yùn)行的程序會不斷地訪問看門狗。理論上,這個(gè)系統(tǒng)是不會發(fā)生啟動失敗的,因?yàn)榧词箚邮?,看門狗也應(yīng)該在數(shù)百毫秒內(nèi)啟動,復(fù)位整個(gè)系統(tǒng)?;谶@種思想,對單片機(jī)的復(fù)位進(jìn)行測試。K2斷開,用K1連續(xù)產(chǎn)生。Reset信號,測試看門狗使系統(tǒng)重啟的成功率。K2閉合,則reset端高電平,理論上K1不能有效產(chǎn)生復(fù)位脈沖,觀察看門狗是否起作用。

3 實(shí)驗(yàn)結(jié)果與分析

實(shí)驗(yàn)結(jié)果如下:K2斷開,連續(xù)開關(guān)K1,上電重啟系統(tǒng),平均155次失敗1次(LED不閃),即看門狗失效概率0.6%;K2閉合,連續(xù)開關(guān)K1,平均18次失敗1次(LED不閃),且一旦失敗,將連續(xù)失敗下去,看門狗無效率占到了約5.5%。另外,當(dāng)采用同樣具有內(nèi)置看門狗的其他系列單片機(jī)替代實(shí)驗(yàn)中的MSP430,啟動程序段作相應(yīng)修改時(shí),實(shí)驗(yàn)結(jié)果仍大致相同,這說明具有內(nèi)置看門狗的單片機(jī)面臨的問題是相同的。經(jīng)分析可能有如下原因:

①由于看門狗的時(shí)鐘不獨(dú)立,計(jì)數(shù)時(shí)鐘與系統(tǒng)為同一分頻鏈路,因此看門狗不能在系統(tǒng)出現(xiàn)問題時(shí)有效運(yùn)作。

②由于時(shí)鐘可用軟件設(shè)置,啟動失敗時(shí),開機(jī)時(shí)鐘可能處于空檔,沒有時(shí)鐘看門狗不能生效。

③有些看門狗需要用軟件設(shè)置或啟動,因此啟動失敗后,初始化程序沒有激活,CPU可能跳轉(zhuǎn)到隨機(jī)代碼,使看門狗被禁止。這樣的看門狗是需要有可靠的上電復(fù)位作保證的,因此,從理論上講,原設(shè)計(jì)存在著不合理性?;谏鲜龇治?,采用片外看門狗專用芯片TPS3823由獨(dú)立的分頻振蕩電路提供計(jì)數(shù)脈沖。實(shí)驗(yàn)電路如圖2所示。

單片機(jī)看門狗電路

上述電路中,TPS3823輸出定時(shí)溢出信號給Reset端。程序段中,CPU要不斷地通過I/O口輸出喂狗信號,使看門狗計(jì)數(shù)器清零。在此電路中重復(fù)上述試驗(yàn)中K1、K2的相同動作,系統(tǒng)重啟成功率達(dá)到100%。

結(jié) 語

未來的內(nèi)置看門狗必須有獨(dú)立可靠的時(shí)鐘。系統(tǒng)上電后,看門狗即為允許狀態(tài),無需軟件設(shè)置,它只能被外部硬件跳線或內(nèi)部熔絲(fuse)所禁止。目前,如果要求設(shè)計(jì)可靠性較高的嵌入式系統(tǒng),外置看門狗是必須考慮的。內(nèi)置看門狗的另一問題是系統(tǒng)復(fù)位后,程序應(yīng)判斷是由Reset端正常上電復(fù)位,還是程序跑飛看門狗所致,由此確定現(xiàn)場數(shù)據(jù)是否應(yīng)該保留。這也是在看門狗應(yīng)用中所應(yīng)考慮的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 看門狗
    +關(guān)注

    關(guān)注

    10

    文章

    557

    瀏覽量

    70666
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2248

    瀏覽量

    94178
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3226

    瀏覽量

    114141
收藏 人收藏

    評論

    相關(guān)推薦

    一文詳解看門狗定時(shí)器

    看門狗定時(shí)器由獨(dú)立的1 Mhz 片內(nèi)振蕩驅(qū)動。這是VCC = 5V 時(shí)的典型值。請參見特性數(shù)據(jù)以了解其他VCC 電平下的典型值。通過設(shè)置看門狗定時(shí)
    發(fā)表于 09-02 16:40 ?3861次閱讀
    一文詳解<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>

    STM32看門狗定時(shí)器的工作原理和作用 看門狗定時(shí)器的特性

    看門狗定時(shí)器(WDT,Watch Dog Timer)是單片機(jī)的一個(gè)組成部分,它實(shí)際上是一個(gè)計(jì)數(shù),一般來說都是向下計(jì)數(shù)的,給看門狗一個(gè)數(shù)字,程序開始運(yùn)行后
    的頭像 發(fā)表于 07-27 16:30 ?5676次閱讀
    STM32<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>的工作原理和作用 <b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>的特性

    看門狗電路的作用

    看門狗電路的作用      看門狗電路其實(shí)是一個(gè)獨(dú)立的定時(shí)器,有一個(gè)定時(shí)器控制寄存,可以設(shè)
    發(fā)表于 01-12 12:00 ?8501次閱讀
    <b class='flag-5'>看門狗</b>電路的作用

    內(nèi)部與外部看門狗定時(shí)器的比較

    摘要:本文對內(nèi)部(集成在處理內(nèi)部)看門狗定時(shí)器(WTD)與外部(基于硬件) WDT的優(yōu)勢和劣勢進(jìn)行了對比。內(nèi)部看門狗便于設(shè)計(jì),但容易失效。MAXQ2000微控制
    發(fā)表于 05-02 10:34 ?4545次閱讀

    看門狗定時(shí)器的設(shè)計(jì)、工作原理及看門狗定時(shí)器的操作

    看門狗定時(shí)器(WDT,Watch Dog Timer)是單片機(jī)的一個(gè)組成部分,它實(shí)際上是一個(gè)計(jì)數(shù),一般給看門狗一個(gè)數(shù)字,程序開始運(yùn)行后看門狗
    發(fā)表于 05-23 09:14 ?7574次閱讀
    <b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>的設(shè)計(jì)、工作原理及<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>的操作

    看門狗定時(shí)器的作用

    看門狗定時(shí)器(WDT,Watch Dog Timer)是單片機(jī)的一個(gè)組成部分,它實(shí)際上是一個(gè)計(jì)數(shù),一般給看門狗一個(gè)數(shù)字,程序開始運(yùn)行后看門狗
    發(fā)表于 10-20 14:41 ?6623次閱讀

    dsp看門狗定時(shí)器的作用解析

    看門狗在外圍監(jiān)控DSP中軟件的運(yùn)行以及硬件的操作,當(dāng)CPU出現(xiàn)故障時(shí),看門狗將執(zhí)行系統(tǒng)復(fù)位。如果軟件進(jìn)入了一個(gè)不正確的循環(huán)或者CPU出現(xiàn)暫時(shí)的混亂,看門狗定時(shí)器將出現(xiàn)溢出來使系統(tǒng)復(fù)位。
    發(fā)表于 11-21 16:52 ?1.4w次閱讀
    dsp<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>的作用解析

    基于VxWorks的看門狗定高效定時(shí)機(jī)制設(shè)計(jì)實(shí)現(xiàn)

    VxWorks提供了一個(gè)看門狗定時(shí)器(watchDog timer),它由以下四個(gè)函數(shù)維護(hù): wdCreate( ) 創(chuàng)建并初始化一個(gè)看門狗定時(shí)器;wdDelete( ) 終止并
    發(fā)表于 03-06 09:22 ?4693次閱讀
    基于VxWorks的<b class='flag-5'>看門狗</b>定高效<b class='flag-5'>定時(shí)</b>機(jī)制設(shè)計(jì)實(shí)現(xiàn)

    TB3123 - PIC?單片機(jī)的窗口看門狗定時(shí)器

    窗口看門狗定時(shí)器(Windowed Watchdog Timer,WWDT)是PIC單片機(jī)的增強(qiáng)型看門狗定時(shí)器。該定時(shí)器是PIC單片機(jī)現(xiàn)有
    發(fā)表于 03-26 14:35 ?0次下載
    TB3123 - PIC?單片機(jī)的窗口<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>

    什么是看門狗定時(shí)器?為何看門狗定時(shí)器如此重要?

    的MCU故障可能無意中使看門狗定時(shí)器喪失功用,因此整合看門狗可能不會總是按預(yù)期的方式運(yùn)作。同樣地,雖然軟件以內(nèi)部看門狗能夠偵測所有凍結(jié)或停機(jī)的方式編寫,但是,采取額外的步驟以冗余方式監(jiān)
    的頭像 發(fā)表于 08-29 08:13 ?2.3w次閱讀
    什么是<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>?為何<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>如此重要?

    LPC2294看門狗定時(shí)器

    看門狗定時(shí)器(WDT)特點(diǎn)1.如果不定期重新裝載,會內(nèi)部重置芯片2.調(diào)試模式3.由軟件啟動,但是需要硬件復(fù)位或者看門狗復(fù)位/中斷才能禁用。4.如果看門狗啟用了之后,采用不正確或者不完全
    發(fā)表于 12-04 10:36 ?8次下載
    LPC2294<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>

    一文詳解微控制中的看門狗定時(shí)器

    本文介紹看門狗定時(shí)器,通??s寫為 WDT,也稱為計(jì)算機(jī)正常運(yùn)行定時(shí)器或 COP。有外部看門狗設(shè)備和內(nèi)部看門狗功能。本文僅介紹內(nèi)部
    的頭像 發(fā)表于 04-25 17:26 ?4881次閱讀
    一文詳解微控制<b class='flag-5'>器</b>中的<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>

    使用高速微型看門狗定時(shí)器

    在惡劣環(huán)境中使用的高速微控制應(yīng)用的設(shè)計(jì)人員將使用看門狗定時(shí)器來防止軟件失控。DS80C320高速微控制集成了看門狗
    的頭像 發(fā)表于 02-09 11:54 ?811次閱讀

    內(nèi)部和外部看門狗定時(shí)器的比較

    本文比較了內(nèi)部(與微處理集成)和外部(基于硬件)看門狗定時(shí)器(WDT)的優(yōu)缺點(diǎn)。它解釋了內(nèi)部看門狗定時(shí)器易于實(shí)現(xiàn),但容易發(fā)生故障。MAXQ
    的頭像 發(fā)表于 04-03 11:15 ?2862次閱讀

    AXI時(shí)基看門狗定時(shí)器(WDT)概述

    XilinxLogiCORE IP AXI4-Lite時(shí)基看門狗定時(shí)器(WDT)是一個(gè)32位外設(shè),提供32位自由運(yùn)行時(shí)基和看門狗定時(shí)器
    的頭像 發(fā)表于 10-16 11:10 ?1046次閱讀
    AXI時(shí)基<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>(WDT)概述