看门狗(独立看门狗)与窗口看门狗的区别!

                 看门狗(独立看门狗)与窗口看门狗的区别

在cortex-M系列芯片上有两个看门狗:看门狗(独立看门狗)和窗口看门狗。

1、相同点

    都是为了保证CPU程序跑飞

2、独立看门狗

    根据内部看门狗时钟频率,装载寄存器定一个时间值,比如是1000,那么独立看门狗就会按照时钟频率,从1000开始向下每隔一个时钟周期减1,如果在减到0之前,你用程序代码重新向向下计数器里面写1000(喂狗),那么定时器会重新从1000开始向下递减。如果在减到0的时候,你还没有喂狗(用新的数值覆盖计数器),就会产生复位信号。

3、窗口看门狗

    根据系统时钟频率,装载一个初始值到向下计数器(假设还是1000),并且设置一个窗口值(小于装载到计数器的初始值,假设是500),窗口看门狗一般会定死窗口下线值是64。计数器从1000开始向下减,在减到500之前(1000到500间),是不允许你去喂狗的,一旦喂狗,就会产生复位信号。只有计数器值减到上限值之后(500到64),才允许你去喂狗。当计数器减到下限值(64到0之间),如果喂狗,也会产生复位信号,当减到0之后,自动产生复位信号。所以窗口看门狗实际上就是设置一个窗口(上下限),在这个范围内,你才允许你去喂狗,只要不在这个范围之内,都会复位。

4、区别

    (1)窗口看门狗计时时间比独立看门狗精准; 窗口看门狗使用的是系统时钟源。

    (2)窗口看门狗严格限定喂狗时间段,独立看门狗则是只要没有到时间,都能喂狗。
 

你可能感兴趣的:(嵌入式)