一、功能特点
- 工作原理
- IWDG 由一个独立的低速时钟驱动,即使主时钟发生故障,它也能继续工作,保证系统的可靠性。一旦启动,IWDG 会不断递减计数器,当计数器归零时,会产生系统复位信号。
- WWDG 是基于系统时钟工作的,它的计数器也是不断递减的。但是,WWDG 有一个窗口时间的概念,只有在计数器的值在一个特定的窗口范围内时,才不会产生复位信号。
- 超时时间
- IWDG 的超时时间可以通过编程来设置,由独立的时钟源决定,相对较为固定。
- WWDG 的超时时间取决于系统时钟和窗口的设置,更加灵活,可以根据不同的应用需求进行调整。
二、应用场景
- 可靠性要求高的场景
- IWDG 适合在对系统可靠性要求极高的场合,例如在一些关键的安全系统中,即使主时钟出现故障,IWDG 仍能独立工作,确保系统能够及时复位,避免出现不可预测的错误。
- 精确控制的场景
- WWDG 适用于需要更精确控制复位时间的场景。由于其窗口时间的特性,可以在特定的时间段内对系统进行监控,确保系统在正常运行的同时,能够及时处理异常情况。
三、配置和使用
- 配置难度
- IWDG 的配置相对简单,只需要设置独立时钟源的分频系数和计数器的初始值即可。
- WWDG 的配置较为复杂,需要考虑系统时钟、窗口的上下限等多个因素,以确保正确地设置窗口时间。
- 喂狗方式
- 对于 IWDG,在计数器归零时会产生复位信号,因此需要在适当的时候通过软件向 IWDG 寄存器写入特定的值来 “喂狗”,以防止计数器归零。
- WWDG 的喂狗操作需要在窗口时间内进行,否则也会产生复位信号。这就要求开发者更加精确地控制喂狗的时机。