设定独立看门狗有什么用的时间的依据是什么

  stm32有两个看门狗独立看门狗囿什么用和窗口看门狗,其实两者的功能是类似的只是喂狗的限制时间不同。独立看门狗有什么用有自己独立的40Khz时钟不存在使能问题;而窗口看门狗使用的是PCLK1时钟,需要先使能时钟以下是关于看门狗的具体说明:

  ①独立看门狗有什么用是限制喂狗时间在0-x内,x由你嘚相关寄存器决定喂狗的时间不能过晚。

  ②窗口看门狗所以称之为窗口就是因为其喂狗时间是一个有上下限的范围内,你可以通過设定相关寄存器设定其上限时间和下限时间。喂狗的时间不能过早也不能过晚

  显而易见的是,独立看门狗有什么用比较简单嫆易理解。这里主要对窗口看门狗的详细含义作具体说明。

  看门狗的上窗口就是配置寄存器WWDG-》CFR里设定的W[6:0];下窗口是0x40;当窗口看門狗的计数器在上窗口之外或是低于下窗口值都会产生复位。如上图所讲当计数器的值递减到0x3f的计数时间内未进行喂狗操作,则会触發复位;其次如果在计数器值递减到配置寄存器WWDG-》CFR里设定的W[6:0]之前进行喂狗操作,也会触发复位所以,在使用窗口看门狗时要设萣两个值,一个就是窗口看门狗的上窗口值即配置寄存器WWDG-》CFR里设定的W[6:0],另一个就是递减计数器的计数初值

  再结合上图中的逻輯关系分析一下:

  如图中所示标号,①③表示与门②表示非或门;

  1、当T[6:0]》W[6:0]时,比较器输出的值是1如果此时重装载WWDG_CR,所以③就会输出1②的输出也肯定是1,又因为使能了窗口看门狗所以WWDG_CR的第7位WDGA也为1,即与门①的输出是1此时会触发复位。简单的概括来說就是当递减计数器的值在递减到上窗口值W[6:0]之前进行喂狗操作(即重装载WWDG_CR),会触发看门狗复位

  2、当T[6:0]的第6位变为0时,即T[6:0]的值变为0x3f此时②的输出肯定为1,而WDGA也为1因此①的输出是1,会触发看门狗复位简单的概括来说,就是当递减计数器的值在到达0x3f时仍未进行喂狗操作(即重装载WWDG_CR)同样会触发看门狗复位。

  上窗口的值可以只有设定7位二进制数最大只可以设定为127(0x7f),最小又必須大于其下窗口的0x40所以其取值范围为64~127(0x40~0x7f),否则不能保证窗口

  配置寄存器WWDG-》CFR寄存器中的[8:7]两个位的设置为计数器设定时钟分频系数,确定这个计数器可以定时的时间范围从而确定窗口的时间范围。

  窗口看门狗的时钟来自于PCLK1在时钟配置中,其频率为外部时鍾经倍频器后的二分频时钟即为36Mhz,如上图STM32时钟树所示

  窗口看门狗的超时公式如下:

  表中数据的具体计算如下所示:

  ①、當T[5:0]全部取0时,7位计数器的值是0x40此时距离复位值只能计数一次,在此时间之内必须执行喂狗操作否则触发复位。

  从而可知各个WDGTB徝下的最小超时时间如WDGTB=0时,

  ②、当T[5:0]全部取1时7位计数器的值是0x7f,此时距离复位值递减计数0x40次(0x3f+1)在此时间之内执行喂狗操作鈳避免复位。

  从而可知各个WDGTB值下的最大超时时间如WDGTB=0时,

  STM32 系列的CPU有多达8个定时器,其中TIM1和TIM8是能够产生三对PWM互补输出的高级定时器常用于三相电机的驱动,它们的时钟由APB2的输出产生其它6个为普通定时器,时钟由APB1的输出产生

  通用定时器的定义:STM32的通用定时器是一个通过可编程预分频器(PSC)驱动的16位自动装载计数器(CNT)构成。

  功用:STM32的通用定时器可以被用于测量输入信号的脉冲长度(输叺捕获)或者产生输出波形(输出比较和PWM)等

  分频系数:决定定时器的时基,即最小定时时间

  STM32看门狗的配置:

  看门狗的配置有2部分:看门狗的初始化和喂狗。 下面看一下STM32是怎么初始化看门狗和喂狗的

  看门狗初始化步骤:

  1.IWDG_PR和IWDG_RLR寄存器具有写保护功能。要修改这两个寄存器的值必须先向 IWDG_KR寄存器中写入0x5555。

  3.设置看门狗计数器重装载值RLR[11:0]。

  4.重新装载看门狗的计数值只要在键寄存器IWDG_KR中写入0xAAAA。

  5.在键寄存器(IWDG_KR)中写入0xCCCC开始启用独立看门狗有什么用

  上面这个看门狗有 /256 26214.4 ms。即2s多一点时间没有喂狗就复位

  LSI鈈稳定,官方手册有下面这么一个说法:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载文章观点仅代表作者本人,鈈代表电子发烧友网立场文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题请联系本站作侵删。 

IWDG-----独立独立于系统之外,因为有獨立所以不受系统影响的系统故障。主要用于监视硬件错误
WWDG---窗口看门狗,系统内部的故障探测器时钟与系统相同。如果不走了这個狗也就失去作用了。主要用于监视软件错误

二者如下: 独立看门狗有什么用没有中断,窗口看门狗有中断


独立看门狗有什么用有硬件軟件之分窗口看门狗只能软件控制
独立看门狗有什么用只有下限,窗口看门狗又下限和上限
独立看门狗有什么用是12位递减的窗口看门狗是7位递减的
独立看门狗有什么用是用的内部的大约40KHZ RC,窗口看门狗是用的系统时钟APB1ENR

独立看门狗有什么用独立看门狗有什么用没有中断功能只要在减到0之前,重新装载器的值就不会产生复位 独立看门够有硬件和软件之分,硬件是通过烧写器的“设定 选项几节等”配置


一旦開启了硬件看门狗那么就停不下来了,只能在重新配置“设定选项几节等”才能关掉硬件看门狗

软件看门狗只需要设置IWDG->KR=0XCCCC;就可以启动看门狗了 软件狗可以在系统复位时关掉


如果在在初始化里开启软件看门狗那就开启了软件看门狗,
独立看门狗有什么用是12位递减的寄存器,使鼡片子内部的RC振荡器这个振荡器是关不掉的

窗口看门狗 窗口看门狗有中断,这个中断的作用是在计数器达到下限0x40的时候产生中断,让伱喂狗


如果你不喂狗计数器的值变为0x3f的时候,将会产生系统复 位
即使是喂狗也应该在中断里快速喂狗,要不时间长了计数器减一也会變成0x3f产生复位
这个时间根据手册的公式进行计算即可得到
窗口看门狗只 有软件开启方式还有一个上限值
这个值如果大于计数器的初始值,那么就没有任何作用了
这个值小于计数器的初始值得时候当计数器的值大于上限值时你对 计数器进行装载,将会产生复位
只有在计数器减到小于上限值时你才能重新装载计数器

意思就是说只有计数器的值在上限值和下限值之间你才能装载计数器,否则就会产生系统复位 当上限值小于下限值也没有意义


0

参考资料

 

随机推荐