Exploring watchdog timer applications


 In my last post, “What is a watchdog timer, and why is it important?” I discussed how watchdog timers (WDTs) work and how you can implement them in your system. In this post, I’ll talk about why you should use a watchdog timer in your application, how a window watchdog timer works and some additional watchdog timer features that make them a great addition to many different applications.

Why should you use a watchdog timer in your application?

Watchdog timers have a home in a wide variety of applications, from drones and grid metering to motor control and beyond. For all of these different applications, the watchdog timer provides the same basic functionality: monitoring the processor for errant operation and issuing a corresponding signal.

However, the utility of this monitoring can vary based on the type of application. For example, it’s impractical to expect someone to manually reset a drone whose processor hangs up when it’s hundreds of feet in the air. In smart meters, this same issue could cause the device to be unable to read or record information. Meters and sensors in remote locations can also experience software failure causing the system to be unable to read and record information and no one to manually reset it. Code failure in systems that control motors and other mechanical components is especially alarming as faulty operation of these systems could cause physical harm to operators and nearby persons. Fortunately, using a watchdog timer can add redundancy to catch these errors and help prevent these problems from occurring.

How does a window watchdog timer work?

A window watchdog timer, like that in Figure 1, is a special type of watchdog timer that monitors not only if the signal from the processor fails to send before the watchdog timeout ends (i.e. upper watchdog boundary) but also if the processor sends the watchdog input (WDI) signal before the watchdog timeout window begins (i.e. lower watchdog boundary). This functionality is illustrated in Figure 2.

 

Figure 1: A window watchdog timer (TPS3850) monitoring a microcontroller

Figure 2: Window watchdog functionality

This is unlike a standard watchdog timer which only checks to see if the pulse comes before the timeout ends. Being able to monitor for an early WDI signal is useful as it can detect and halt undesirable overclocking.

What are some additional watchdog timer features?

The window watchdog timer is just one type of additional functionality in watchdog timers. Several additional features can ensure the robustness and functionality of a system:

  • Adjustable watchdog timeout – Different systems and applications require different timeout periods for their WDI signal. An external capacitor and SET pins can be used to adjust the watchdog timeout anywhere from a few milliseconds to over a minute.
  • Watchdog timer disable function – Some watchdog timers can be disabled using a pin on the device. This feature is useful during system initialization and debugging, when you don’t want to reset the processor.

TI’s TPS3850, TPS3851 and TPS3852 family of devices is available in both regular and window watchdog options and contains all of the features described below in Figure 3.

Table 1: TI’s TPS3850 family

Now that you’ve learned more about the importance of a watchdog timer, how a watchdog timer works, and some additional features, consider the TPS3850 family when designing your next application.

Additional resources

  • A watchdog timer that 1) only generates a fixed number of reset attempts when a early and/or late fault occurs, kinda like a 3 strikes you are out. 2)A discrete output that indicates the reset attempts have occurred. 3) An input to reset the attempts counter.

    Often while watchdogs are great the constant retry once per second may have degrading effects on a system. So once a fixed number of watchdog attempts have occurred maybe the watchdog should give up and signal that a degraded state is stuck.