單片機中的看門狗_第1頁
單片機中的看門狗_第2頁
單片機中的看門狗_第3頁
單片機中的看門狗_第4頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

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

2、守的情況下,也會因系統(tǒng)遭受干擾而無法重啟。為了 保證系統(tǒng)在干擾后能自動恢復正常,看門狗定時器(Watchdog Timer)的利用是很有價值的??撮T狗問題及相關(guān)實驗現(xiàn)今市面上流行的一些單片機,多嵌有內(nèi)部WDT,如TI的MSP430系列,Philips的P87XXX和P89XXX系列,Micro chip的PIC歹。,Atmel的AT89SXX系列和Holtek公司的Htxxx系列。但是這些內(nèi)部看門狗在工作時,多存在一定的誤 差。一些工程師在設計的過程中,由于忽略了這一點,導致系統(tǒng)出現(xiàn)異常MSP430系列單片機是美國德州儀器公司(TI) 近幾年開發(fā)的新一代單片機,該系列是一款16位、具有精簡指令

3、集、超低功耗的全新概念混合型單片機。在眾多單片機 系列中,由于它具有極低的功耗、豐富的片內(nèi)外設和方便靈活的開發(fā)手段,已成為一顆耀眼的新星。其內(nèi)部自帶看門狗 及復位電路,理論上如果程序跑飛,可用看門狗將其復位。但在實際使用過程中,發(fā)現(xiàn)看門狗的作用并非萬無一失,以 下實驗證明了這一點。實驗電路如圖1所示。試驗程序清單:#includevoid main(void)(pldir l=0 x0f; 設置 p1.2-.p1.0 為輸出for(;)(volatile unsigned int i;wdtctl=wdtpw+wdtcncl;/復位wdtpiout=0 x0t;i=5000;do(i-)whi

4、le(i!=0);上述實驗啟動后,如果程序正常運行,LED會閃爍。缺省時,MSP430的看門狗是允許狀態(tài),所運行的程序會不斷地訪 問看門狗。理論上,這個系統(tǒng)是不會發(fā)生啟動失敗的,因為即使啟動失敗,看門狗也應該在數(shù)百毫秒內(nèi)啟動,復位整個 系統(tǒng)。基于這種思想,對單片機的復位進行測試。K2斷開,用K1連續(xù)產(chǎn)生。Reset信號,測試看門狗使系統(tǒng)重啟的成 功率。K2閉合,則reset端高電平,理論上K1不能有效產(chǎn)生復位脈沖,觀察看門狗是否起作用。3實驗結(jié)果與分析實驗結(jié)果如下:K2斷開,連續(xù)開關(guān)K1,上電重啟系統(tǒng),平均155次失敗1次(LED不閃),即看門狗失效概率0. 6%;K2閉合,連續(xù)開關(guān)K1,平均

5、18次失敗1次(LED不閃),且一旦失敗,將連續(xù)失敗下去,看門狗無效率占到了約5. 5%。 另外,當采用同樣具有內(nèi)置看門狗的其他系列單片機替代實驗中的MSP430,啟動程序段作相應修改時,實驗結(jié)果仍大 致相同,這說明具有內(nèi)置看門狗的單片機面臨的問題是相同的。經(jīng)分析可能有如下原因:由于看門狗的時鐘不獨立,計數(shù)時鐘與系統(tǒng)為同一分頻鏈路,因此看門狗不能在系統(tǒng)出現(xiàn)問題時有效運作。由于時鐘可用軟件設置,啟動失敗時,開機時鐘可能處于空檔,沒有時鐘看門狗不能生效。有些看門狗需要用軟件設置或啟動,因此啟動失敗后,初始化程序沒有激活,CPU可能跳轉(zhuǎn)到隨機代碼,使看門狗被禁 止。這樣的看門狗是需要有可靠的上電復位

6、作保證的,因此,從理論上講,原設計存在著不合理性。基于上述分析,采 用片外看門狗專用芯片TPS3823由獨立的分頻振蕩電路提供計數(shù)脈沖。實驗電路如圖2所示。PGND單片機看門狗電路ResetMSP43O-12J2上述電路中,TPS3823輸出定時溢出信號給Reset端。程序段中,CPU要不斷地通過I/O 口輸出喂狗信號,使看門狗計數(shù)器清零。在此電路中重復上述試驗中K1、K2的相同動作,系統(tǒng)重啟成功率達到100%。未來的內(nèi)置看門狗必須有獨立可靠的時鐘。系統(tǒng)上電后,看門狗即為允許狀態(tài),無需軟件設置,它只能被外部硬件跳線或內(nèi)部熔絲(fuse)所禁止。目前,如果要求設計可靠性較高的嵌入式系統(tǒng),外置看門

7、狗是必須考慮的。內(nèi)置看門狗的另一 問題是系統(tǒng)復位后,程序應判斷是由Reset端正常上電復位,還是程序跑飛看門狗所致,由此確定現(xiàn)場數(shù)據(jù)是否應該保 留。這也是在看門狗應用中所應考慮的。在由單片機構(gòu)成的微型計算機系統(tǒng)中,由于單片機的工作常常會受到來自外界電磁場的干擾,造成程序的跑 飛,而陷入死循環(huán),程序的正常運行被打斷,由單片機控制的系統(tǒng)無法繼續(xù)工作,會造成整個系統(tǒng)的陷入停滯狀 態(tài),發(fā)生不可預料的后果,所以出于對單片機運行狀態(tài)進行實時監(jiān)測的考慮,便產(chǎn)生了一種專門用于監(jiān)測單片 機程序運行狀態(tài)的芯片,俗稱看門狗 看門狗電路電路的應用,使單片機可以在無人狀態(tài)下實現(xiàn)連續(xù)工作,其工作原理是:看門狗芯片和單片機的一 個I/O引腳相連,該I/O引腳通過程序控制它定時地往看門狗的這個引腳上送入高電平(或低電平),這一程序 語句是分散地放在單片機其他控制語句中間的,一旦單片機由于干擾造成程序跑飛后而陷入某一程序段不 進入死循環(huán)狀態(tài)時,寫看門狗引腳的程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論