All of these contribute to system robustness, although there are also a few disadvantages to using an external WDT. These include an increase in hardware costs due to the addition of an IC as well as an increase in system complexity. However, as we will see, these are minor disadvantages when all things are considered. Let’s examine how we might develop a simple, robust external watchdog circuit (Figure 2).
The circuit consists of a microcontroller that would be running its own internal watchdog timer, in addition to an external watchdog circuit. In this example, the watchdog circuit is a Texas Instruments TPL5010 Nano-power System Timer with Watchdog Function. The external watchdog has an output reset pin that connects directly to the microcontroller reset pin. When the WAKE pin is toggled, the TPL5010 expects the microcontroller to respond by issuing a heart-beat on the DONE pin. If the microcontroller does not respond, the reset line is pulled low to reset the microcontroller. The watchdog period is set by adjusting R2.
Adding a simple and low cost circuit like this to a design is an excellent path to improving system robustness. Developers don’t even need to wait for a board to be spun to start testing. The TPL5010 development kit can easily be set up with other development kits to test watchdog functionality, long before hardware is available.
When selecting an external watchdog, there are several factors that a developer needs to consider such as:
- Minimum and maximum timeout periods
- Window watchdog support
- Current consumption
- Minimizing pin count
- Potential failure modes (if any exist)