【摘要】:独立看门狗由专用的低速时钟驱动,即使主时钟发生故障,它也仍然有效。由图4.32可知,独立看门狗主要由以下部件组成。图4.32独立看门狗结构框图①预分频寄存器及控制的8位预分频器:主要用于将专用的40 KHz的LSI时钟进行分频。特定的键值有特定的用途,例如OxCcCC表示启动看门狗,0xAAAA表示“喂狗”指令,0x5555表示解除写保护指令。表4.14看门狗的溢出时间表注意:这些时间是按照40KHz时钟给出。
独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障,它也仍然有效。最适合应用于那些需要看门狗作为一个在主程序之外、能够完全独立工作并且对时间精度要求较低的场合。
独立看门狗有独立的时钟,属于VDD供电区,其结构框图如图4.32所示。
由图4.32可知,独立看门狗主要由以下部件组成。
图4.32 独立看门狗结构框图
①预分频寄存器(IWDG_PR)及控制的8位预分频器:主要用于将专用的40 KHz的LSI时钟进行分频。
②状态寄存器(IWDG_SR):用于指示分频值和重装载值的更新状态。
③重装载寄存器(IWDG_RLR):用于配置看门狗计数器的重装载值。
④键寄存器(WDG_KR):用于设置键值。特定的键值有特定的用途,例如OxCcCC表示启动看门狗,0xAAAA表示“喂狗”指令,0x5555表示解除写保护指令。
⑤12位递减计数器:用于递减计数,一旦计数至末尾0x000,就产生一个复位信号。(www.daowen.com)
看门狗的溢出时间由预分频寄存器和重装载寄存器共同决定的,计算公式为
式中,IWDG_PR(预分频寄存器)的取值范围4、8、16、32、64、128、256;
IWDG_RLR(重装载寄存器)的取值范围0~0xFFF。
看门狗的溢出时间如表4.14所示。
表4.14 看门狗的溢出时间表
注意:这些时间是按照40KHz时钟给出。实际上,MCU内部的RC频率会在30~60KHz之间变化。此外,即使RC振荡器的频率是精确的,确切的时序仍然依赖于APB接口时钟与RC振荡器时钟之间的相位差,因此总会有一个完整的RC周期是不确定的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关基于物联网的STM32单片机应用与实践的文章