The smart watchdog is a customizable, external watchdog solution that behaves similar to a supervisory processor except that its primary purpose is detect when a fault has occurred and power cycle the microcontroller. A simple example showing how a smart watchdog can be integrated into a project can be seen in the diagram below:
Smart watchdogs offer a number of customizable features that developers can take advantage of in order to improve the robustness of their embedded system. For example, developers can include
- A heartbeat (HB) that is produced by the microcontroller application and monitored by the smart watchdog. If the heartbeat disappears or the frequency changes outside predetermined parameters then something has gone wrong!
- The smart watchdog can be connected to power cycle the microcontroller when an issue is detected.
- The smart watchdog can be used to monitor external communication channels such as a UART that is connected to a radio. A silent microcontroller could trigger corrective measures to recover the system.
- Since the watchdog may be monitoring communications, it can be provided with special fire codes that can be used to remotely command the smart watchdog to restart the system or perform other diagnostic functions.
- The external watchdog can serve as a supervisory processor and communicate directly with the microcontroller to verify that everything is working as expected
Smart watchdogs can add a new layer of complexity to an embedded system but for systems that need to be robust, detect errors and recover on their own, they fit an important design role in many different industries.