STM32之窗口看门狗原理
stm32有兩個(gè)看門狗,獨(dú)立看門狗和窗口看門狗,其實(shí)兩者的功能是類似的,只是喂狗的限制時(shí)間不同。
?
獨(dú)立看門狗是限制喂狗時(shí)間在0-x內(nèi),x由你的相關(guān)寄存器決定。喂狗的時(shí)間不能過晚。
窗口看門狗,所以稱之為窗口就是因?yàn)槠湮构窌r(shí)間是一個(gè)有上下限的范圍內(nèi),你可以通過設(shè)定相關(guān)寄存器,設(shè)定其上限時(shí)間和下限時(shí)間。喂狗的時(shí)間不能過早也不能過晚。
圖1
?
窗口看門狗的
上窗口就是配置寄存器WWDG->CFR里設(shè)定的W[6:0];
下窗口是固定的0x40;
當(dāng)窗口看門狗的計(jì)數(shù)器在上窗口值之外,或是低于下窗口值都會(huì)產(chǎn)生復(fù)位。
圖2
?
?
&& 上窗口的值可以只有設(shè)定,7位二進(jìn)制數(shù)最大只可以設(shè)定為127(0x7F),最小又必須大于下窗口的0x40,所以其取值范圍為64~127(即:0x40~0x7F);
?
&& 配置寄存器WWDG->CFR中為計(jì)數(shù)器設(shè)定時(shí)鐘分頻系數(shù),確定這個(gè)計(jì)數(shù)器可以定時(shí)的時(shí)間范圍,從而確定窗口的時(shí)間范圍。
?
&& 窗口看門狗的時(shí)鐘來自于PCLK1,在時(shí)鐘配置中,其頻率為外部時(shí)鐘經(jīng)倍頻器后的二分頻時(shí)鐘,即為36MHz,根據(jù)手冊(cè)可以知道其定時(shí)時(shí)間計(jì)算方法:
??????
上窗口時(shí)間:T_min = 4096 * (2^WDGTB)*(WWDG_CR[6:0] - WWDG_CFR[6:0])/36 (us)
?
?下窗口時(shí)間: T_max = 4096 * (2^WDGTB)*(WWDG_CR[6:0] - 0x40)/36 (us)
?
?
36Mhz下相關(guān)窗口看門狗的喂狗時(shí)間范圍:
WDGTB(計(jì)數(shù)器分頻值)最早喂狗時(shí)間/us最晚喂狗時(shí)間/ms
0 ????????????????????????113 ?????????????7.28
1 ????????????????????????227 ?????????????14.56
2??????????????????????? ?455 ?????????????29.12
3 ????????????????????????910???????????? ?58.25
總結(jié)
以上是生活随笔為你收集整理的STM32之窗口看门狗原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: S5PV210裸机之Nandflash
- 下一篇: LwIP之ARP协议