1

My system is powered by a redundant supply (UPS). When the input power supply is removed, the system detects this event and it performs a safe shutdown (actually it is a microcontroller that enters a power-down mode after performing few operations).

I would like a recommendation for an IC that resets the MCU when the input power is restored to restart the system.

I found some MCU supervisor circuits (like CAT825, TLV803) that reset the MCU at power-on, but they also keep the MCU under reset when the input voltage falls below a threshold, which is not desirable on my situation.

I know it can be done with a "one-shot" circuit built with a 555 IC, but I am looking for a small dedicated IC.

Thank you.

enter image description here

  • I also wonder how the majority of the "graceful shutdown" UPS products designed for Raspberry Pi works, after the power supply is restored the Pi needs to be manually restarted ? – Roland Korg Jan 27 '20 at 20:19

1 Answers1

1

I've used these in various similar situations, and perhaps one of the would suit your application:

  • Edge-triggered interrupt pin on the MCU
  • ATTiny25/45/85 as a reset controller feeding an interrupt or reset pin on the MCU (use Tiny's internal oscillator to keep part count down; use its power-on reset and brown-out detector to send whatever signal desired.)

Although an ATTiny seems like overkill, it's sometimes convenient: they are pretty small (6-pin, 8-pin) and $0.25/unit!

It's worth noting that many MCUs (including ATTiny) have brown-out detectors, which are specifically for this kind of application.

At least ATmega328 and ATTiny25 (and I'm sure many others) work like this:

ATmega328P has an on-chip brown-out detection (BOD) circuit for monitoring the VCC level during operation by comparing it to a fixed trigger level. The trigger level for the BOD can be selected by the BODLEVEL fuses. The trigger level has a hysteresis to ensure spike free brown-out detection. The hysteresis on the detection level should be interpreted as VBOT+ = VBOT + VHYST/2 and VBOT– = VBOT – VHYST/2. ... The BOD circuit will only detect a drop in VCC if the voltage stays below the trigger level for longer than tBOD

  • VHYST is 50 mV (Tiny) 80 mV (Mega)
  • VBOT is 2.7 ± 0.2 V or 4.3 ± 0.3 V, chosen in configuration fuses (also 1.8 V on ATTiny).
  • tBOD is a few microseconds, 2μs on ATTiny.

enter image description here
(image and quote from Atmel datasheets)

Many other MPUs' brown-out detectors will have very similar properties, though of course the details will vary.

jonathanjo
  • 12,049
  • 3
  • 27
  • 60
  • Thanks for your insight. After some time the battery voltage might drop to a level that can't guarantee the functionality of the MCU, so the interrupt might not work properly. I would also like to avoid an extra small MCU like ATTiny or PIC10F because it will introduce unwanted overhead in the production phase. – Roland Korg Jan 27 '20 at 20:13
  • Hi @RolandKorg I'm not sure an ATTiny is any more overhead than the CAT825 you suggested, but certainly it's a part, with firmware, and that adds to complexity and that has a cost. FWIW, I used an external 8-pin ATTiny25 to reset MPUs so that the "reliability code" (60 bytes hand assembler in the ATtiny) was nowhere near the working code (in the main MPU), and thus *nothing* the software designer did could affect the reset control. – jonathanjo Jan 27 '20 at 21:47
  • Hi @jonathanjo. The Power MUX on my system (TPS2121) cuts the output voltage at 2.5V so the MCU will not operate outside the voltage limit (regarding my other question about the brown-out voltage). In this case your suggestion to use an interrupt pin is valid. Thank you. – Roland Korg Jan 28 '20 at 17:59
  • I also found CAT871 and CAT872, Dual Input Reset Generator that can provide the "one-shot" reset pulse after power-on if MR1 and MR2 inputs are tied to GND. They do not supervise the actual voltage of the power supply like CAT825, which was not desired. – Roland Korg Jan 28 '20 at 18:02