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

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

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

一文讀懂單片機(jī)看門狗電路

GReq_mcu168 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-10-31 17:29 ? 次閱讀

看門狗定時(shí)器是一個(gè)計(jì)數(shù)器,基本功能是在發(fā)生軟件問題和程序跑飛后使系統(tǒng)重新啟動(dòng)。看門狗計(jì)數(shù)器正常工作時(shí)自動(dòng)計(jì)數(shù),程序流程定期將其復(fù)位清零,如果系統(tǒng)在某處卡死或跑飛,該定時(shí)器將溢出,并將進(jìn)入中斷。在定時(shí)器中斷中執(zhí)行一些復(fù)位操作,使系統(tǒng)恢復(fù)正常的工作狀態(tài),即在程序沒有正常運(yùn)行期間,如期復(fù)位看門狗以保證所選擇的定時(shí)溢出歸零,使處理器重新啟動(dòng)。軟件的可靠性一直是一個(gè)關(guān)鍵問題。任何使用軟件的人都可能會(huì)經(jīng)歷計(jì)算機(jī)死機(jī)或程序跑飛的問題,這種情況在嵌入式系統(tǒng)中也同樣存在。由于單片機(jī)的抗干擾能力有限,在工業(yè)現(xiàn)場(chǎng)的儀器儀表中,常會(huì)由于電壓不穩(wěn)、電弧干擾等造成死機(jī)。在水表、電表等無人看守的情況下,也會(huì)因系統(tǒng)遭受干擾而無法重啟。為了保證系統(tǒng)在干擾后能自動(dòng)恢復(fù)正常,看門狗定時(shí)器(Watchdog Timer)的利用是很有價(jià)值的。

現(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ī)是美國(guó)德州儀器公司(TI)近幾年開發(fā)的新一代單片機(jī),該系列是一款16位、具有精簡(jiǎn)指令集、超低功耗的全新概念混合型單片機(jī)。在眾多單片機(jī)系列中,由于它具有極低的功耗、豐富的片內(nèi)外設(shè)和方便靈活的開發(fā)手段,已成為一顆耀眼的新星。其內(nèi)部自帶看門狗及復(fù)位電路,理論上如果程序跑飛,可用看門狗將其復(fù)位。但在實(shí)際使用過程中,發(fā)現(xiàn)看門狗的作用并非萬(wàn)無一失,以下實(shí)驗(yàn)證明了這一點(diǎn)。實(shí)驗(yàn)電路如圖1所示。

試驗(yàn)程序清單:#includevoid main(void){p1dir l=0x0f; //設(shè)置p1.2-.p1.0為輸出for(;;){volatile unsigned int i;wdtctl=wdtpw+wdtcncl;//復(fù)位wdtpiout==0x0t;i=5000;do(i--)while(i!=0);}} 上述實(shí)驗(yàn)啟動(dòng)后,如果程序正常運(yùn)行,LED會(huì)閃爍。缺省時(shí),MSP430的看門狗是允許狀態(tài),所運(yùn)行的程序會(huì)不斷地訪問看門狗。理論上,這個(gè)系統(tǒng)是不會(huì)發(fā)生啟動(dòng)失敗的,因?yàn)榧词箚?dòng)失敗,看門狗也應(yīng)該在數(shù)百毫秒內(nèi)啟動(dòng),復(fù)位整個(gè)系統(tǒng)。基于這種思想,對(duì)單片機(jī)的復(fù)位進(jìn)行測(cè)試。K2斷開,用K1連續(xù)產(chǎn)生。Reset信號(hào),測(cè)試看門狗使系統(tǒng)重啟的成功率。K2閉合,則reset端高電平,理論上K1不能有效產(chǎn)生復(fù)位脈沖,觀察看門狗是否起作用。 實(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,啟動(dòng)程序段作相應(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è)置,啟動(dòng)失敗時(shí),開機(jī)時(shí)鐘可能處于空檔,沒有時(shí)鐘看門狗不能生效。 ③有些看門狗需要用軟件設(shè)置或啟動(dòng),因此啟動(dòng)失敗后,初始化程序沒有激活,CPU可能跳轉(zhuǎn)到隨機(jī)代碼,使看門狗被禁止。這樣的看門狗是需要有可靠的上電復(fù)位作保證的,因此,從理論上講,原設(shè)計(jì)存在著不合理性?;谏鲜龇治?,采用片外看門狗專用芯片TPS3823由獨(dú)立的分頻振蕩電路提供計(jì)數(shù)脈沖。實(shí)驗(yàn)電路如圖2所示。

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

未來的內(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)場(chǎng)數(shù)據(jù)是否應(yīng)該保留。這也是在看門狗應(yīng)用中所應(yīng)考慮的。

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

    關(guān)注

    3

    文章

    23

    瀏覽量

    20799

原文標(biāo)題:?jiǎn)纹瑱C(jī)看門狗電路的作用

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    89C51單片機(jī)+X25045構(gòu)成的看門狗電路

    采用89C51單片機(jī)和X25045組成的看門狗電路,X25045芯片內(nèi)包含有個(gè)看門狗定時(shí)器,可通過軟件預(yù)置系統(tǒng)的監(jiān)控時(shí)間。
    發(fā)表于 02-14 10:49 ?5652次閱讀
    89C51<b class='flag-5'>單片機(jī)</b>+X25045構(gòu)成的<b class='flag-5'>看門狗</b><b class='flag-5'>電路</b>

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

    采用89C51單片機(jī)和X25045組成的看門狗電路,可通過軟件預(yù)置系統(tǒng)的監(jiān)控時(shí)間。
    發(fā)表于 02-14 10:44 ?1.4w次閱讀
    C51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>看門狗</b><b class='flag-5'>電路</b>

    STM32單片機(jī)兩種看門狗的區(qū)別和配置方法

    SATM32單片機(jī)看門狗有獨(dú)立看門狗和窗口看門狗之分,這兩者的工作原理卻完全不同,今天來看下他們的具體區(qū)別和配置方法。
    的頭像 發(fā)表于 10-10 11:27 ?7675次閱讀
    STM32<b class='flag-5'>單片機(jī)</b>兩種<b class='flag-5'>看門狗</b>的區(qū)別和配置方法

    看門狗電路

    基于At89c51單片機(jī)看門狗電路圖。所謂看門狗電路是計(jì)算機(jī)技術(shù)中
    發(fā)表于 10-21 01:29 ?1536次閱讀
    <b class='flag-5'>看門狗</b><b class='flag-5'>電路</b>

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

    51單片機(jī)看門狗電路 采用89C51單片機(jī)和X25045組成的看門狗電路,X25045硬件連接
    發(fā)表于 01-13 08:34 ?3474次閱讀
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>看門狗</b><b class='flag-5'>電路</b>

    單片機(jī)應(yīng)用中看門狗技術(shù)

    分析研究了單片機(jī)應(yīng)用系統(tǒng)中軟件看門狗、單雙時(shí)限和強(qiáng)制復(fù)位 看門狗 等幾種常見的看門狗技術(shù)及具體的實(shí)現(xiàn)方法, 從提高看門狗工作可靠性的角度,
    發(fā)表于 06-03 16:49 ?318次下載
    <b class='flag-5'>單片機(jī)</b>應(yīng)用中<b class='flag-5'>看門狗</b>技術(shù)

    單片機(jī)看門狗定義及其作用分析

    看門狗(WDT)是個(gè)定時(shí)器,開啟看門狗定時(shí)器之后(比如定時(shí)200ms),在單片機(jī)程序中每隔定的時(shí)間(小于200ms)要“喂狗”
    發(fā)表于 11-16 10:27 ?1.4w次閱讀

    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?<b class='flag-5'>單片機(jī)</b>的窗口<b class='flag-5'>看門狗</b>定時(shí)器

    PIC單片機(jī)看門狗_看門狗定時(shí)器工作原理

    直溢出,但是溢出后是否復(fù)位,這要看單片機(jī)的具體類型了,PIC16F688在休眠喚醒后繼續(xù)執(zhí)行程序,不復(fù)位,但是其他的單片機(jī)看手冊(cè)。如果我們程序中休眠的時(shí)候不需要看門狗,那么我們必須把
    發(fā)表于 05-18 01:59 ?7988次閱讀
    PIC<b class='flag-5'>單片機(jī)</b>之<b class='flag-5'>看門狗</b>_<b class='flag-5'>看門狗</b>定時(shí)器工作原理

    單片機(jī)開發(fā):不得不了解的看門狗電路

    單片機(jī)學(xué)習(xí)、開發(fā)中,我們不可避免地要接觸看門狗電路,那看門狗電路是什么呢?你掌握了嗎?看門狗
    發(fā)表于 11-13 13:36 ?12次下載
    <b class='flag-5'>單片機(jī)</b>開發(fā):不得不了解的<b class='flag-5'>看門狗</b><b class='flag-5'>電路</b>

    51單片機(jī)(十三)—— 看門狗功能測(cè)試

    、看門狗介紹 在由單片機(jī)構(gòu)成的系統(tǒng)中,由于單片機(jī)的工作有可能受到外界電磁場(chǎng)的干擾,造成程序的跑飛,從而陷入死循環(huán),程序的正常運(yùn)行被打斷,單片
    發(fā)表于 11-23 16:22 ?15次下載
    51<b class='flag-5'>單片機(jī)</b>(十三)—— <b class='flag-5'>看門狗</b>功能測(cè)試

    STC單片機(jī)看門狗

    STC單片機(jī)看門狗設(shè)時(shí)鐘為11.0592MHz看門狗溢出時(shí)間 = (12 Prescale32768)/11059200 = Prescale*393216/11059200也可以在下載程序里設(shè)置
    發(fā)表于 12-23 19:22 ?10次下載
    STC<b class='flag-5'>單片機(jī)</b><b class='flag-5'>看門狗</b>

    STM32:獨(dú)立看門狗、窗口看門狗的配置

    STM32單片機(jī)看門狗有獨(dú)立看門狗和窗口看門狗之分,這兩者的工作原理卻完全不同。
    發(fā)表于 02-08 16:15 ?18次下載
    STM32:獨(dú)立<b class='flag-5'>看門狗</b>、窗口<b class='flag-5'>看門狗</b>的配置

    單片機(jī)看門狗工作原理

    剛學(xué)習(xí)單片機(jī)的萌新都聽說過單片機(jī)看門狗,但是對(duì)于其工作原理并不是很清楚,今天這篇文章將為大家介紹單片機(jī)看門狗工作原理,
    的頭像 發(fā)表于 10-12 13:46 ?6181次閱讀

    STM32單片機(jī)看門狗的配置方法

    SATM32單片機(jī)看門狗有獨(dú)立看門狗和窗口看門狗之分,這兩者的工作原理卻完全不同,今天來看下他們的具體區(qū)別和配置方法。
    的頭像 發(fā)表于 06-22 09:07 ?2776次閱讀
    STM32<b class='flag-5'>單片機(jī)</b><b class='flag-5'>看門狗</b>的配置方法