I recently learned about watchdog timers, and am trying to implement one for my circuit for the purpose of resetting my (AVR) microcontroller if it hangs (i.e., doesn't respond to the watchdog).
Based on some research, it appears to me that there are around four options:
- Connect my microcontroller with an external dedicated watchdog-timer-specific IC.
- Connect my microcontroller with an additional microcontroller (some very basic, inexpensive one), the latter coded for the sole dedicated purpose of watchdog-timing.
- Lay out my own 555-timer-based watchdog circuit and connect it to my microcontroller.
- Use the internal watchdog timer capability on my microcontroller.
.
Which of the above approaches would you rank higher and why?
I would like to set a watchdog time of around 6 seconds, based on certain criteria for the way I'm making the rest of my design and code (the device will be a battery-powered, periodic temperature logger).
A little note: My preference would be Option 1, for simplicity, however, based on the couple I have found, these parts either appear to be expensive (I'd like a solution under 1.25 USD at most), or only allow only less than 2 seconds for the watchdog timing period.