Watchdog (看门狗)是在 CPU 进入未知状态的时候使 CPU 复位的定时器。XMC 内部的Watchdog 是 32 位的向上计数器,它具有下面功能:- 定时器溢出使 CPU 复位
- 输入错误的喂狗代码使 CPU 复位
- 窗口看门狗功能:在设定的窗口中喂狗可以清除定时器,在窗口外喂狗则使 CPU 复位
- 可以使用独立时钟给看门狗作为源时钟
- Pre-warning alarm (预报警模式):在定时器第一次溢出时产生 Pre-warning 中断,第二次溢出时则产生复位
- 喂狗信号可以输出到外部引脚
下图为 Watchdog 的内部结构,fWDT从 SCU.CCU 出来,给 WDT 作为源时钟。它可以选择外设时钟或者内部 32.768kHz 的低速时钟。WDT 的输出 wdt_service 表示喂狗的动作,每次喂狗都能产生 wdt_service 脉冲输出到外部引脚,wdt_alarm 是 pre-warning 的中断信号输出到SCU.GCU(WDT 自己并没有中断 IRQ, 它使用了 SCU 的中断 IRQ),wdt_rst_req 信号则输出到 SCU.RCU 模块,用于产生复位。
|