1、独立看门狗(IWDT )
看门狗可用来检测和解决由软件错误引起的故障,当计数器达到给定的超时值时产生一
个系统复位。
IWDT 最适合那些要求看门狗在主程序外,能够完全独立工作的场合。
特点:
⚫ 自由递增的计数器;
⚫ 时钟为内部低频时钟 INTLF;
⚫ 可编程预分频;
⚫ 避免复位:溢出前清零看门狗计数器(喂狗)。
器。
2、 独立看门狗原理
2.1 独立看门狗的计数时钟
独立看门狗计数器的时钟源为内部低频振荡器,配备 4 位预分频位 IWDTPS<3:0>,可
以为看门狗提供较宽的时钟频率选择。在使用独立看门狗时,必须通过 PM_CTL0 寄存器的
LSIEN 位使能内部低频振荡器;其他对内部低频振荡器的使能方式,可能导致独立看门狗无
法正常运行从而引起芯片异常。
2.2 独立看门狗的喂狗方式
在独立看门狗定时器溢出之前,往 IWDTFD 寄存器中写入 0X55AA_55AA,清零独立
看门狗计数器,以完成喂狗操作。喂狗完成之后,IWDTFD 寄存器自动清零;该寄存器为只
写寄存器,读出永远为 0。
如未能及时喂狗,独立看门狗计数器发生溢出事件,将对整个芯片(除备份域外)进行
复位操作,默认情况下也会对独立看门狗本身进行复位,可以通过配置 PM_CTL0 寄存器的
IWDTRMSEL 位,选择是否对独立看门狗本身进行复位操作。
2.3 独立看门狗的复位周期
独立看门狗的复位周期可根据如下公式进行计算:
|