STM32窗口看門(mén)狗實(shí)驗(yàn)_第1頁(yè)
STM32窗口看門(mén)狗實(shí)驗(yàn)_第2頁(yè)
STM32窗口看門(mén)狗實(shí)驗(yàn)_第3頁(yè)
STM32窗口看門(mén)狗實(shí)驗(yàn)_第4頁(yè)
STM32窗口看門(mén)狗實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、ALIENTEK例說(shuō)STM32 例說(shuō)STM32ALIENTEK開(kāi)發(fā)板購(gòu)買(mǎi)店鋪 店鋪:2022/9/151ALIENTEK第8講 窗口看門(mén)狗 8.1 窗口看門(mén)狗原理 8.2 窗口看門(mén)狗寄存器 8.3 窗口看門(mén)狗配置步驟 8.4 實(shí)驗(yàn)講解例說(shuō)STM322022/9/152ALIENTEK8.1 窗口看門(mén)狗原理例說(shuō)STM32窗口看門(mén)狗(WWDG)通常被用來(lái)監(jiān)測(cè)由外部干擾或不可預(yù)見(jiàn)的邏輯條件造成的應(yīng)用程序背離正常的運(yùn)行序列而產(chǎn)生的軟件故障。除非遞減計(jì)數(shù)器的值在T6位(WWDG-CR的第六位)變成0前被刷新,看門(mén)狗電路在達(dá)到預(yù)置的時(shí)間周期時(shí),會(huì)產(chǎn)生一個(gè)MCU復(fù)位。在遞減計(jì)數(shù)器達(dá)到窗口配置寄存器(WWDG

2、-CFR)數(shù)值之前,如果7位的遞減計(jì)數(shù)器數(shù)值(在控制寄存器中)被刷新, 那么也將產(chǎn)生一個(gè)MCU復(fù)位。這表明遞減計(jì)數(shù)器需要在一個(gè)有限的時(shí)間窗口中被刷新。他們的關(guān)系可以用下圖來(lái)說(shuō)明:2022/9/153ALIENTEK例說(shuō)STM32上圖中,T6:0就是WWDG_CR的低七位,W6:0即是WWDG-CFR的低七位T6:0就是窗口看門(mén)狗的計(jì)數(shù)器,而W6:0則是窗口看門(mén)狗的上窗口,下窗口值是固定的(0X40)。當(dāng)窗口看門(mén)狗的計(jì)數(shù)器在上窗口值之外被刷新,或者低于下窗口值都會(huì)產(chǎn)生復(fù)位。 上窗口值(W6:0)是由用戶(hù)自己設(shè)定的,根據(jù)實(shí)際要求來(lái)設(shè)計(jì)窗口值,但是一定要確保窗口值大于0X40,否則窗口就不存在了。窗

3、口看門(mén)狗的超時(shí)公式如下:Twwdg=(40962WDGTB(T5:0+1) /Fpclk1;其中:Twwdg:WWDG超時(shí)時(shí)間(單位為ms)Fpclk1:APB1的時(shí)鐘頻率(單位為Khz)WDGTB:WWDG的預(yù)分頻系數(shù)T5:0:窗口看門(mén)狗的計(jì)數(shù)器低6位2022/9/154ALIENTEK例說(shuō)STM32根據(jù)上面的公式,假設(shè)Fpclk1=36Mhz,那么可以得到最小-最大超時(shí)時(shí)間表如下表所示:總結(jié): STM32F的窗口看門(mén)狗中有一個(gè)7位的遞減計(jì)數(shù)器,它會(huì)在出現(xiàn)下述2種情況之一時(shí)產(chǎn)生看門(mén)狗復(fù)位:1)當(dāng)計(jì)數(shù)器的數(shù)值從0 x40減到0 x3F時(shí)2)當(dāng)喂狗的時(shí)候如果計(jì)數(shù)器的值大于某一設(shè)定數(shù)值時(shí),此設(shè)定數(shù)

4、值在WWDG_CFR寄存器定義對(duì)于一般的看門(mén)狗,程序可以在它產(chǎn)生復(fù)位前的任意時(shí)刻刷新看門(mén)狗,但這有一個(gè)隱患,有可能程序跑亂了又跑回到正常的地方,或跑亂的程序正好執(zhí)行了刷新看門(mén)狗操作,這樣的情況下一般的看門(mén)狗就檢測(cè)不出來(lái)了。2022/9/155ALIENTEK8.2 窗口看門(mén)狗相關(guān)寄存器例說(shuō)STM32控制寄存器(WWDG_CR)2022/9/156ALIENTEK例說(shuō)STM32可以看出,這里我們的WWDG_CR只有低八位有效,T6:0用來(lái)存儲(chǔ)看門(mén)狗的計(jì)數(shù)器值,隨時(shí)更新的,每個(gè)看窗口看門(mén)狗計(jì)數(shù)周期(40962 WDGTB)減1。當(dāng)該計(jì)數(shù)器的值從0X40變?yōu)?X3F的時(shí)候,將產(chǎn)生看門(mén)狗復(fù)位。WDGA

5、位則是看門(mén)狗的激活位,該位由軟件置1,以啟動(dòng)看門(mén)狗,并且一定要注意的是該位一旦設(shè)置,就只能在硬件復(fù)位后才能清零了。2022/9/157ALIENTEK例說(shuō)STM32配置寄存器(WWDG_CFR)2022/9/158ALIENTEK例說(shuō)STM32該位中的EWI是提前喚醒中斷,也就是在快要產(chǎn)生復(fù)位的前一段時(shí)間(T6:0=0X40)來(lái)提醒我們,需要進(jìn)行喂狗了,否則將復(fù)位!因此,我們一般用該位來(lái)設(shè)置中斷,當(dāng)窗口看門(mén)狗的計(jì)數(shù)器值減到0X40的時(shí)候,如果該位設(shè)置,并開(kāi)啟了中斷,則會(huì)產(chǎn)生中斷,我們可以在中斷里面向WWDG_CR重新寫(xiě)入計(jì)數(shù)器的值,來(lái)達(dá)到喂狗的目的。注意這里在進(jìn)入中斷后,必須在不大于113us

6、的時(shí)間(PCLK1頻率為36M且WDGTB為0的條件下)內(nèi)重新寫(xiě)WWDG_CR,否則,看門(mén)狗將產(chǎn)生復(fù)位!2022/9/159ALIENTEK例說(shuō)STM32狀態(tài)寄存器(WWDG_SR)該寄存器用來(lái)記錄當(dāng)前是否有提前喚醒的標(biāo)志。該寄存器僅有位0有效,其他都是保留位。當(dāng)計(jì)數(shù)器值達(dá)到40h時(shí),此位由硬件置1。它必須通過(guò)軟件寫(xiě)0來(lái)清除。對(duì)此位寫(xiě)1無(wú)效。即使中斷未被使能,在計(jì)數(shù)器的值達(dá)到0X40的時(shí)候,此位也會(huì)被置1。 2022/9/1510ALIENTEK8.3 窗口看門(mén)狗配置步驟例說(shuō)STM321)使能WWDG時(shí)鐘。WWDG不同于IWDG,IWDG有自己獨(dú)立的40Khz時(shí)鐘,不存在使能問(wèn)題。而WWDG使

7、用的是PCLK1的時(shí)鐘,需要先使能時(shí)鐘。2)設(shè)置WWDG_CFR和WWDG_CR兩個(gè)寄存器在時(shí)鐘使能完后,我們?cè)O(shè)置WWDG的CFR和CR兩個(gè)寄存器,對(duì)WWDG進(jìn)行配置。包括使能窗口看門(mén)狗、開(kāi)啟中斷、設(shè)置計(jì)數(shù)器的初始值、設(shè)置窗口值并設(shè)置分頻數(shù)WDGTB等。2022/9/1511ALIENTEK例說(shuō)STM323)開(kāi)啟WWDG中斷并分組在設(shè)置完了WWDG后,需要配置該中斷的分組及使能。這點(diǎn)通過(guò)我們之前所編寫(xiě)的MY_NVIC_Init函數(shù)實(shí)現(xiàn)就可以了。4)編寫(xiě)中斷服務(wù)函數(shù)在最后,還是要編寫(xiě)窗口看門(mén)狗的中斷服務(wù)函數(shù),通過(guò)該函數(shù)來(lái)喂狗,喂狗要快,否則當(dāng)窗口看門(mén)狗計(jì)數(shù)器值減到0X3F的時(shí)候,就會(huì)引起軟復(fù)位了。在中斷服務(wù)函數(shù)里面也要將狀態(tài)寄存器的EWIF位清空。 2022/9/1512ALIENTEK8.4 實(shí)驗(yàn)講解例說(shuō)STM32硬件設(shè)計(jì):窗口看門(mén)狗與獨(dú)立看門(mén)狗一樣,與外部電路基本沒(méi)什么關(guān)系,全部在內(nèi)部實(shí)現(xiàn),但是考慮到指示STM32的狀態(tài),使用了2個(gè)外部的LED,DS0和DS1。其他的沒(méi)有什么電路。實(shí)驗(yàn)現(xiàn)象:將代碼下載到MiniSTM32后,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論