Free Elektor Circuit – An NE555 Watchdog Timer
from an Idea by Wolfgang Borst (Germany)
Virtually every modern microcontroller has a built-in watchdog. It prevents the microcontroller ‘hanging’ which may be the result of a programming error or an unforeseen operating condition, where, for example, the program becomes trapped in an infinite loop and no longer reacts to external or internal input. In principle, this built-in watchdog feature is a timer that needs to be regularly reset by a special command within a certain time interval. If this command is not issued it indicates that the program has gone off-piste, the timer times-out and issues a reset. This will then initiate a system reboot.
So that covers every eventuality?
Well, not necessarily, in very rare cases CMOS circuits – and a microcontroller is just that – can suffer a latch-up condition. In this state nothing works and even a reset cannot bring the microcontroller to its senses. If you want to prevent this rare condition, you will need to rely on an external watchdog mechanism. Those of you familiar with the works of Murphy will know that his First Law states that if anything can go wrong, it will. If you ignore the possibility of latch up, it will come back and bite you… eventually.
Free Elektor Circuit – An NE555 Watchdog Timer – [Link]