h1

Brownout protection in low power designs

September 11, 2007

A frequent question that comes up about low power designs using our microcontrollers has to do with brownout detection. I’d like to use this week’s posting to address the MCU features that help protect these devices from brownouts.

What happens in a brownout?

There are two main problems a brownout can cause. First, if the VDD reaches a point where the logic is still operating properly but the program memory (usually flash) does not read correctly, a runaway code condition can occur, and it continues until the VDD rises back to a safe operating range and a reset occurs. In this case, the danger is only when the CPU is actively executing code. If the MCU is in a low-power mode where the memory is not being accessed, the runaway code condition can’t occur.

Second, when the VDD falls below the digital logic’s safe operating level, brownouts can corrupt the RAM and registers content, which, if undetected, can result in unexpected operation of the application. In this case, even if the device is in a low-power mode, the corrupted data can still cause problems when the MCU wakes from the low-power state, even after the VDD has returned to a safe operating level.

Features for protecting against brownouts

Freescale MCUs have two primary features to protect against brownouts: a low voltage detector (LVD) and a power-on reset (POR). The MCUs also have system protection features (watchdog, illegal address and illegal opcode resets) that help recover from improper operation should a brownout occur.

Low voltage detection
The LVD can protect against both brownout cases listed above. LVD module features vary somewhat between devices, but in all cases the LVD can be configured to generate a reset when the VDD falls below the LVD trip point. The trip point is chosen to cover the MCU’s appropriate safe operating point.

Now one of the drawbacks of the LVD is that it consumes extra current when operating. On the 8-bit S08 and 32-bit ColdFire® V1 MCUs it requires the internal voltage regulator to be running, which consumes roughly 70 uA of current. Therefore, you typically want to disable the LVD when in the low power stop modes. These LVDs have the option to automatically disable detection when entering stop mode and re-enable detection upon exit from stop mode.

So this provides protection when the MCU is in run mode, but how do we protect against brownout in stop modes?

Power-on reset

Many of the 8-bit HC08 and S08 MCUs and all of the ColdFire V1 MCUs have an active POR versus a passive POR used on older devices. This active POR sets the POR trip point at the level where the digital logic is operational. Therefore, if the VDD falls below the point where RAM and registers can be corrupted, a POR occurs and holds the device in reset until the VDD recovers and the device can be re-initialized.

Because the POR doesn’t release until the chip logic is functional, the LVD circuit will be operational once the POR releases reset. Since most MCUs will enable the LVD when a POR occurs, the MCU is further protected until VDD reaches a safe operating point for the program memory.

Unlike the LVD, the active POR consumes very little power, only about 100-200 nA. Also, unlike the LVD, the active POR is not optional. It is always on, even in the low power stop modes, so there is no lapse in coverage.

So with the always-on protection of the POR and use of the optional LVD reset, you can have excellent protection against brownout conditions, even in low power modes, without significant impact to your battery life.

-Scott

Leave a Comment