Power on reset circuit for microcontrollers

capacitordesignmicrocontrollerresetschematics

In this schematic, there is a reset circuit with two pushbuttons:

enter image description here

The button marked "warm reset" sends an active low signal to one microcontroller, while the button marked "cold reset" sends a signal to all the microcontrollers on the board. The signal to all of them is normally pulled up by the resistors. Can you help me design a power-up reset circuit for this board? I looked online but most schematics are for active-high signals. I was thinking the correct way to do this is to connect a 10uf capacitor instead of the ground symbol at the bottom of the reset circuit, with the negative side connected to ground. Is this right and if not, what is correct?

Best Answer

If you want a reliable power-up reset, a simple RC is not the way to do it.

The capacitor you suggest (plus a diode across R1 to discharge the capacitor when power is removed) will sort-of work most of the time, and some crappy products actually use something like that.

Instead it would be better to use a supervisory circuit such as an ADM803 (open drain output), which combines a voltage reference and comparator that work down to a low supply voltage with a RC timer that produces a reasonable length reset pulse when the supply voltage reaches or recovers to an acceptable level. I also don't think much of using the diode rather than a gate- it does not guarantee a proper TTL low level even with a switch, and that issue may cause problems (perhaps immediately, perhaps at low temperatures) when a reset circuit is used since the reset circuit won't pull the output quite as low as a mechanical switch will. Using a push-pull supervisory circuit (ADM809, IIRC) and a quad NAND gate (connected as two AND gates) with the two mechanical switches would make it all kosher (or halal).