STM32
直播中

吴湛

9年用户 863经验值
擅长:417804
私信 关注
[问答]

有关独立看门狗(IWDG)的基本知识汇总

独立看门狗(IWDG)得主要性能是什么?
独立看门狗(IWDG)的功能有哪些?
独立看门狗(IWDG)有哪些相关的寄存器?
怎样去计算独立看门狗(IWDG)的超时时间?

回帖(1)

汤敏树

2021-8-2 09:16:56
简介,看门狗通俗的讲,用来监视程序是否异常,如果程序异常则重启程序。STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时触发一个中断(窗口看门狗)或者产生复位。
1、独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它依然有效。IWDG适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间的精确度要求较低的场合。
2、IWDG主要性能
1.自由运行的递减计数器。
2.时钟由独立的RC振荡器提供(可在停止和待机模式下工作)
3.看门狗被激活后,则在计数器计数至0x000时产生复位。
3、功能描述

描述:在键值寄存器IWDG_KR中写入0xCCCC,开始启用独立看门狗;此时计数器开始从其复位值0xFFF递减计数。当计数器计数到末尾0x000时,会产生一个复位信号IWDG_RESET。无论何时,只要在键值寄存器中写入0xAAAA,IWDG_RLR中的值就会被重新加载到计数器,从而避免产生看门狗复位。硬件看门狗,如果用户在选择字节中启用了“硬件看门狗”功能,在系统复位上电后,看门狗会自动开始运行;如果在计数器计数结束前,若软件没有向键值寄存器中写入相应的值,则系统复位。
寄存器访问保护:IWDG_PR和IWDG_RLR寄存器具有写保护功能。要修改两个寄存器的值,必须先向IWDG_KR寄存器写入0x5555.以不同的值写入这个寄存器将会打乱操作顺序,寄存器将重新被保护。重装载操作(即写入0xAAAA)也会启动写保护功能。状态寄存器指示预分频值和递减计数器是否正在被更新。
4、寄存器描述
1.键寄存器IWDG_KR

2.预分频寄存器IWDG_PR

3.重装载寄存器IWDG_RLR

4.状态寄存器IWDG_SR

5.独立看门狗超时时间计算
Tout = (4 * 2^prer) * rlr / 40 = (4 * 2^prer) / 40 * rlr
prer即为IWDG_PR的值由寄存器描述可知分频系数为4乘上2的prer次方。那么频率为40 /(4 * 2^prer),它的倒数(4 * 2^prer) / 40是独立看门狗时钟周期。
rlr为重装载值,用时钟周期(4 * 2^prer) / 40乘以rlr即为超时时间。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分