独立看门狗
公式
超时时间的公式为
:超时时间
:IWDG_PR寄存器中位2:0的十进制值
:重装载寄存器IWDG_RLR所对应的重装载数值
公式解读
首先,我们要明白:
独立看门狗内部是一个递减计数器。如果寄存器中的装载数值递减到零时,程序都没有喂狗的话,程序会超时,我们计算的是这段时间。
因此,最初的公式需要这样表示:
总的溢出时间
(超时时间)=(IWDG_RLR寄存器对应的装载数值) * (看门狗时钟周期)
下一步,我们需要计算看门狗的时钟周期,也就是寄存器数值减一所需要的时间。
在单片机中,我们一般配置的是单片机的运行频率,因此,看门狗的时钟周期为
从图中我们可以看到:独立看门狗由专用的低速时钟(LSI)驱动。从手册中我们可以查到:LSI频率是40K,经过预分频后,我们得到看门狗的工作频率为
式中: 为预分频因子
公式中的prer是IWDG_PR寄存器中位2:0的十进制值。根据手册中该寄存器的配置关系是:000对应4分频,001对应8分频,010对应16分频.....由此得出预分频因子与prer的值关系是:
预分频因子
综上,超时公式为