Electronic – Windowed watchdog timer

watchdog

Can someone please explain how windowed watchdog timer is different from the normal watchdog timer? When is windowed watchdog timer prefferred over normal watchdog timer?

Best Answer

So, let's start with what a watchdog is :

  1. A watchdog is basically a timer system, like a "tic-tac" bomb which is re-armed periodically during normal operation of your processor/controller. If your processor happens to be stuck during execution, it will fail to re-arm the watchdog, an the "tic-tac" bomb will be triggered. Then, the watchdog's job is to re-initialize the stuck system, or trigger an alarm, or execute specific instructions etc... So basically, a watchdog protects a system from being stuck.

  2. Now, imagine that your system is not absolutely stuck (=not executing anything), but for example, is stuck inside an infinite loop meaning it executes all the instructions inside the loop, one of which should be "re-arm the watchdog". But it is not able to exit the loop like it should be in normal operation. If you use a simple watchdog, it will be able to be re-armed at every iteration and your system will never be re-initialized and will stay stuck in this infinite loop. That's why the window watchdog exists : it protects the system against being stuck by needing periodical refresh like in 1), but it also detects when it is re-armed "too much" compared to what it knows to be the nominal system's operation. It's like a watchdog 2.0.