stm32看門(mén)狗部分內(nèi)容當(dāng)中較難理解的是窗口看門(mén)狗,其中窗口值設(shè)置以及如何引發(fā)復(fù)位更是很難搞懂,因此從根本上分析一下窗口看門(mén)狗的工作原理,而與其有關(guān)的中斷則略過(guò)。
stm32有兩個(gè)看門(mén)狗,獨(dú)立看門(mén)狗和窗口看門(mén)狗,其實(shí)兩者的功能是類(lèi)似的,只是喂狗的限制時(shí)間不同。獨(dú)立看門(mén)狗有自己獨(dú)立的40Khz時(shí)鐘,不存在使能問(wèn)題;而窗口看門(mén)狗使用的是PCLK1時(shí)鐘,需要先使能時(shí)鐘。以下是關(guān)于看門(mén)狗的具體說(shuō)明:
①、獨(dú)立看門(mén)狗是限制喂狗時(shí)間在0-x內(nèi),x由你的相關(guān)寄存器決定。喂狗的時(shí)間不能過(guò)晚。
②、窗口看門(mén)狗,所以稱(chēng)之為窗口就是因?yàn)槠湮构窌r(shí)間是一個(gè)有上下限的范圍內(nèi),你可以通過(guò)設(shè)定相關(guān)寄存器,設(shè)定其上限時(shí)間和下限時(shí)間。喂狗的時(shí)間不能過(guò)早也不能過(guò)晚。
IWDG(Independent watchdog)獨(dú)立看門(mén)狗,可以用來(lái)檢測(cè)并解決由于軟件錯(cuò)誤導(dǎo)致的故障,當(dāng)計(jì)數(shù)器到達(dá)給定的超時(shí)值時(shí),會(huì)觸發(fā)一個(gè)中斷或產(chǎn)生系統(tǒng)復(fù)位。獨(dú)立看門(mén)狗的時(shí)鐘是它專(zhuān)用的低速時(shí)鐘(LSI),所以它能保持工作及時(shí)主時(shí)鐘出現(xiàn)問(wèn)題。窗口看門(mén)狗的時(shí)鐘是有APB1時(shí)鐘分頻得到得到,通過(guò)可配置的時(shí)間窗口來(lái)檢測(cè)應(yīng)用程序非正常的過(guò)遲或過(guò)早的操作。
IWDG 最適合應(yīng)用于那些需要看門(mén)狗作為一個(gè)在主程序之外,能夠完全獨(dú)立工作,并且對(duì)時(shí)間精度要求較低的場(chǎng)合。 WWDG 最適合那些要求看門(mén)狗在精確計(jì)時(shí)窗口起作用的應(yīng)用程序。
獨(dú)立看門(mén)狗的特點(diǎn):①自由運(yùn)行遞減計(jì)數(shù)器;②時(shí)鐘來(lái)自通過(guò)獨(dú)立的RC振蕩器;③當(dāng)向下計(jì)數(shù)器值達(dá)到0時(shí),會(huì)產(chǎn)生復(fù)位。
本文整合自 程序員大本營(yíng)、eefocus
責(zé)任編輯:fqj
-
STM32
+關(guān)注
關(guān)注
2270文章
10900瀏覽量
356092
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論