機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
MSP430單片機(jī)之看門狗的作用
MSP430單片機(jī)之看門狗的作用
 更新時(shí)間:2008-7-26 20:34:40  點(diǎn)擊數(shù):4
【字體: 字體顏色
看門狗定時(shí)器是一個計(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í)溢出歸零,使處理器重新啟動。

2 看門狗問題及相關(guān)實(shí)驗(yàn)
    現(xiàn)今市面上流行的一些單片機(jī),多嵌有內(nèi)部WDT,如TI的MSP430系列,Philips的P87XXX和P89XXX系列,Microchip的PIC列,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所示。

 


實(shí)驗(yàn)程序清單:
#include <msp430x12x.h>
void main(void){
P1DIR l=OxOf; //設(shè)置P1.2~P1.O為輸出
for(;;){
volatile unsigned int i;
WDTCTL=WDTPW+ WDTCNTCL;
//復(fù)位WDT計(jì)數(shù)器
PIOUT==OxOt; //P1.0~P1.2相互異或
i=5000; //延時(shí)
d0(i--);
while(i!=O);
}
}
    上述實(shí)驗(yàn)啟動后,如果程序正常運(yùn)行,LED會閃爍。缺省時(shí),MSP430的看門狗是允許狀態(tài),所運(yùn)行的程序會不斷地訪問看門狗。理論上,這個系統(tǒng)是不會發(fā)生啟動失敗的,因?yàn)榧词箚邮,看門狗也應(yīng)該在數(shù)百毫秒內(nèi)啟動,復(fù)位整個系統(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所示。

 

 


    上述電路中,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)考慮的

  • 上一篇: 用MSP430F149單片機(jī)實(shí)現(xiàn)步進(jìn)電機(jī)通用控制器
  • 下一篇: MSP430的低功耗特性在藍(lán)牙產(chǎn)品中的應(yīng)用
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1