Engineers use external microcontroller (MCU) supervisory circuits as a fail-safe to ensure that their systems operate in a safe manner when unforeseen, unpredictable events occur when their systems are sent out “into the wild,” that is, when their systems are no longer in a controlled environment. (Here, we will consider microprocessors and central processing units to be in the same category of devices as MCUs that can benefit from a supervisory circuit.)
All processors need a minimum voltage supply level to work properly. As much as engineers try to design robust and reliable systems, the minute the system is off the test bench it becomes vulnerable to unforeseen events that can cause the MCU to behave unexpectedly. Timing is important. In the MCU world, milli-seconds are a long time. Power supplies can ramp up slowly, overshoot and take time to settle out into a steady-state; voltage supplies can dip below optimal levels due to external loads or fading batteries, I/O and peripherals can begin trying to communicate with the MCU before it’s fully booted (or vice versa), and software bugs can creep into code that gets installed via updates to hundreds or thousands of devices. It’s even possible for a stack overflow to occur when a random cosmic ray bombards a single memory register.
Although supervisory circuits are often taken for granted, they can minimize the effects of errors. When applied properly, MCU supervisory circuits ensure that the MCU starts properly. The supervisory circuit also detects system errors and enacts a set sequence to power down and/or reset the MCU without human intervention in the event that the MCU is not operating as expected.
Supervisory circuits can be as simple as offering power-on-reset (POR), or as complex as also monitoring multiple voltage levels, offering manual reset, and prompting pre-emptive memory saves before an unexpected power down (by monitoring voltages upstream of the critical voltage, and with just milli- or micro-seconds to save to flash.)
Before modern complex supervisor circuits on integrated chips existed, engineers used a simple RC charging circuit to do a power-up reset. The circuit is still adequate for low-level processors that do not perform critical tasks, and consists of a resistor, capacitor, and diode. This is how it works: The power supply is turned on and supply voltages settle out. Meanwhile, the RC circuit holds the MCU’s (active-low) reset pin in a low state, which keeps the MCU from starting, until the RC circuit reaches a charged state. The delay to letting the MCU start is based on the RC time constant. The RC circuit eventually registers as a high level on the MCU’s pin, which allows the MCU to reset or start the boot up sequence. The problem with the RC circuit is that it’s not reliable on a brown-out (when the supply voltage dips below acceptable values.) RC circuits do not offer precise trigger times for the delay, either. The other problem with using an RC circuit with a Zener diode (as shown) is that the Zener diode can draw more current than an entire supervisory IC.
Today’s microprocessor supervisory circuits can be a simple, 3-pin affair that offers POR or a complex multi-monitor with programmable voltages and time delays combined with POR, watchdog timers, power-up sequencers and memory fail safe for last known operating values. The more features, the more pins, but overall the supervisor is a low-cost, power efficient, and small footprint device with a wide range of available functions.
Power-on-reset is the most basic function that a supervisory circuit should provide. This protects the processor from noisy start-up voltage, brownouts, and the possibility that the voltage could cycle past the trigger point and back, causing the MCU to reset more than once, which could happen in a passive RC-type supervisory circuit.
Other features offered by supervisory circuits are:
- Manual reset or pushbutton POR capability built in to the IC, which is nice to have during testing and for certain embedded applications.
- Custom settings: programmable voltage thresholds and reset timers.
- Watch dog timers (WDTs), which reset the processor if the processor doesn’t “check in” at regular intervals that indicate normal operation. WDTs protect processors from software glitches or anything else that can make the processor lose its way. (Internal WDTs do not always provide complete protection, especially if software can disable the WDT, so an external supervisory circuit with a WDT is a good choice.)
- Monitoring multiple system supply voltages with custom thresholds and delays. Over- and under-voltages are monitored.
- Custom power-on sequencing features that time sub-system power up in any order specified.
- Early warning systems that monitor input voltage upstream when it begins to dip too close to the lowest allowable operating voltage. In battery-operated systems, this is one way to save last-known data and provide an orderly shutdown prior to an imminent power failure.
Where to find supervisory circuits?
If more than a simple RC circuit is needed, there are several semiconductor suppliers that offer supervisory circuits that run the gamut of possibilities. You can find them listed under supervisory circuits or sometimes these protective features are incorporated into power management ICs (PMICs). Maxim, NXP, STMicroelectronics, Texas Instruments, and several others offer supervisory circuits and power management ICs.
For more information on how to choose a reset threshold and tolerance, refer to Maxim’s app note/tutorial.
The post Supervisory IC vs. RC circuit: delaying MCU start-up until supply voltage is good appeared first on Microcontroller Tips.