欢迎来到天天文库
浏览记录
ID:5404676
大小:1.06 MB
页数:15页
时间:2017-11-10
《stm32窗口看门狗实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ALIENTEK《例说STM32》例说STM322021/6/12广州市星翼电子科技有限公司1ALIENTEK开发板购买店铺店铺:http://eboard.taobao.comALIENTEK第8讲窗口看门狗8.1窗口看门狗原理8.2窗口看门狗寄存器8.3窗口看门狗配置步骤8.4实验讲解《例说STM32》22021/6/12广州市星翼电子科技有限公司ALIENTEK8.1窗口看门狗原理《例说STM32》32021/6/12广州市星翼电子科技有限公司窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在
2、T6位(WWDG->CR的第六位)变成0前被刷新,看门狗电路在达到预置的时间周期时,会产生一个MCU复位。在递减计数器达到窗口配置寄存器(WWDG->CFR)数值之前,如果7位的递减计数器数值(在控制寄存器中)被刷新,那么也将产生一个MCU复位。这表明递减计数器需要在一个有限的时间窗口中被刷新。他们的关系可以用下图来说明:ALIENTEK《例说STM32》42021/6/12广州市星翼电子科技有限公司上图中,T[6:0]就是WWDG_CR的低七位,W[6:0]即是WWDG->CFR的低七位T[6:0]就是窗口看门狗的计数器,而W[6:0]则是窗口看门狗的上窗口,下窗口值是固定的(0X
3、40)。当窗口看门狗的计数器在上窗口值之外被刷新,或者低于下窗口值都会产生复位。上窗口值(W[6:0])是由用户自己设定的,根据实际要求来设计窗口值,但是一定要确保窗口值大于0X40,否则窗口就不存在了。窗口看门狗的超时公式如下:Twwdg=(4096×2^WDGTB×(T[5:0]+1))/Fpclk1;其中:Twwdg:WWDG超时时间(单位为ms)Fpclk1:APB1的时钟频率(单位为Khz)WDGTB:WWDG的预分频系数T[5:0]:窗口看门狗的计数器低6位ALIENTEK《例说STM32》52021/6/12广州市星翼电子科技有限公司根据上面的公式,假设Fpclk1=3
4、6Mhz,那么可以得到最小-最大超时时间表如下表所示:总结:STM32F的窗口看门狗中有一个7位的递减计数器,它会在出现下述2种情况之一时产生看门狗复位:1)当计数器的数值从0x40减到0x3F时2)当喂狗的时候如果计数器的值大于某一设定数值时,此设定数值在WWDG_CFR寄存器定义 对于一般的看门狗,程序可以在它产生复位前的任意时刻刷新看门狗,但这有一个隐患,有可能程序跑乱了又跑回到正常的地方,或跑乱的程序正好执行了刷新看门狗操作,这样的情况下一般的看门狗就检测不出来了。ALIENTEK8.2窗口看门狗相关寄存器《例说STM32》62021/6/12广州市星翼电子科技有限
5、公司控制寄存器(WWDG_CR)ALIENTEK《例说STM32》72021/6/12广州市星翼电子科技有限公司可以看出,这里我们的WWDG_CR只有低八位有效,T[6:0]用来存储看门狗的计数器值,随时更新的,每个看窗口看门狗计数周期(4096×2^WDGTB)减1。当该计数器的值从0X40变为0X3F的时候,将产生看门狗复位。WDGA位则是看门狗的激活位,该位由软件置1,以启动看门狗,并且一定要注意的是该位一旦设置,就只能在硬件复位后才能清零了。ALIENTEK《例说STM32》82021/6/12广州市星翼电子科技有限公司配置寄存器(WWDG_CFR)ALIENTEK《例说ST
6、M32》92021/6/12广州市星翼电子科技有限公司该位中的EWI是提前唤醒中断,也就是在快要产生复位的前一段时间(T[6:0]=0X40)来提醒我们,需要进行喂狗了,否则将复位!因此,我们一般用该位来设置中断,当窗口看门狗的计数器值减到0X40的时候,如果该位设置,并开启了中断,则会产生中断,我们可以在中断里面向WWDG_CR重新写入计数器的值,来达到喂狗的目的。注意这里在进入中断后,必须在不大于113us的时间(PCLK1频率为36M且WDGTB为0的条件下)内重新写WWDG_CR,否则,看门狗将产生复位!ALIENTEK《例说STM32》102021/6/12广州市星翼电子科
7、技有限公司状态寄存器(WWDG_SR)该寄存器用来记录当前是否有提前唤醒的标志。该寄存器仅有位0有效,其他都是保留位。当计数器值达到40h时,此位由硬件置1。它必须通过软件写0来清除。对此位写1无效。即使中断未被使能,在计数器的值达到0X40的时候,此位也会被置1。ALIENTEK8.3窗口看门狗配置步骤《例说STM32》112021/6/12广州市星翼电子科技有限公司1)使能WWDG时钟。WWDG不同于IWDG,IWDG有自己独立的40Khz时钟,不存在
此文档下载收益归作者所有