STM32看门狗超时时间计算

独立看门狗

公式

超时时间的公式为

T_{out}=((4*2^{PR})*RLR)/40

T_{out}:超时时间

PR:IWDG_PR寄存器中位2:0的十进制值

RLR:重装载寄存器IWDG_RLR所对应的重装载数值

公式解读

首先,我们要明白:

独立看门狗内部是一个递减计数器。如果寄存器中的装载数值递减到零时,程序都没有喂狗的话,程序会超时,我们计算的是这段时间。

因此,最初的公式需要这样表示:

总的溢出时间T_{out}(超时时间)=(IWDG_RLR寄存器对应的装载数值) * (看门狗时钟周期) 

下一步,我们需要计算看门狗的时钟周期,也就是寄存器数值减一所需要的时间。

在单片机中,我们一般配置的是单片机的运行频率,因此,看门狗的时钟周期为

T_{IWDG}=1/freq

 从图中我们可以看到:独立看门狗由专用的低速时钟(LSI)驱动。从手册中我们可以查到:LSI频率是40K,经过预分频后,我们得到看门狗的工作频率为

freq=40/X

式中: X为预分频因子

T_{out}公式中的prer是IWDG_PR寄存器中位2:0的十进制值。根据手册中该寄存器的配置关系是:000对应4分频,001对应8分频,010对应16分频.....由此得出预分频因子与prer的值关系是:

预分频因子=4*2^{prer}

 综上,超时公式为

T_{out}=((4*2^{PR})*RLR)/40

 

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值