新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MSP430單片機看門狗面面觀

MSP430單片機看門狗面面觀

作者: 時間:2013-04-07 來源:網(wǎng)絡 收藏

實驗程序清單:

#include

void main(void){

P1DIR l=0x07; //設置P1.0~P1.2為輸出

for(;;){

volatile unsigned int i;

WDTCTL = WDTPW + WDTCNTCL; //復位WDT計數(shù)器

P1OUT ^= 0x07; //P1.0~P1.2相互異或

i=5000; //延時

do(i--);

while(i != 0);

}

}

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

2. 實驗結(jié)果與分析

實驗結(jié)果如下:K2斷開,連續(xù)開關(guān)K1,上電重啟系統(tǒng),平均155次失敗1次(LED不閃),即看門狗失效概率0.6%;K2閉合,連續(xù)開關(guān)K1,平均18次失敗1次(LED不閃),且一旦失敗,將連續(xù)失敗下去,看門狗無效率占到了約5.5%。

另外,當采用同樣具有內(nèi)置看門狗的其他系列替代實驗中的,啟動程序段作相應修改時,實驗結(jié)果仍大致相同,這說明具有內(nèi)置看門狗的面臨的問題是相同的。經(jīng)分析可能有如下原因:

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

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

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

3.jpg

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

結(jié) 語

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


上一頁 1 2 3 下一頁

關(guān)鍵詞: MSP430 單片機 看門狗

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉