一. 简述STM32中的看门狗系统
STM32F10xxx内置两个看门狗,一个是IWDG(独立看门狗),一个是WWDG(窗口看门狗),两个看 门狗设备(可用来检测和解决由软件错误引起的故障。
当计数器达到给定的超时值时,IWDG会产生系统复位。而WWDG会触发中断。这篇文章主要讲解一下IWDG。
二. 关于 独立看门狗IWDG
1. 独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。
2. IWDG主要性能
-
- 自由运行的递减计数器
- 时钟由独立的RC振荡器提供(可在停止和待机模式下工作)
- 看门狗被激活后,则在计数器计数至0x000时产生复位
3. IWDG功能描述
在建值寄存器(IWDG_KR)中写入 0XCCCC,可以启用IWDG。此时计数器开始从其复位值0xFFF递减计数。当计数器计
数到末尾0x000时,会产生一个复位信号(IWDG_RESET)。无论何时,只要在键寄存器IWDG_KR中写入0xAAAA, IWDG_RLR中的
值就会被重新加载到计数器,从而避免产生看门狗复位 。也就是我们所说的喂狗。
4. 关于寄存器的访问保护
IWDG_PR和IWDG_RLR寄存器具有写保护功能。要修改这两个寄存器的值,必须先向IWDG_KR寄存器中写入0x5555。
以不同的值写入这个寄存器将会打乱操作顺序,寄存器将重新被保护。重装载操作(即写入0xAAAA)也会启动写保护功能。