AVR® Brown-Out Detection

Many AVR® devices have an on-chip Brown-out Detection (BOD) circuit for monitoring the Operating Voltage (VCC) level during operation. By comparing the VCC to a fixed trigger level it can determine if the device needs to be put into reset mode to prevent erratic operation.

BOD Operation

avrbod.png

The trigger level has a hysteresis to ensure spike-free BOD. When the BOD is enabled, and VCC decreases to a value below the trigger level (VBOT-), the Brown-out Reset is immediately activated. When VCC increases above the trigger level (VBOT+), the delay counter starts the MCU after the Time-out period tTOUT has expired. The BOD circuit will only detect a drop in VCC if the voltage stays below the trigger level for longer than the minimum pulse width Brown-out Detection (tBOD) value specified in the device's data sheet.

BOD Fuse Settings

The trigger level for the BOD can be selected by the BODLEVEL Fuses when the device is programmed. This setting cannot be changed while running the application software.

avrbodfuse.png

BOD Disable

When the Brown-out Detector (BOD) is enabled by BODLEVEL fuses, the BOD actively monitors the power supply voltage even during a sleep period. To save power, it is possible to disable the BOD by software for some of the sleep modes. The sleep mode power consumption will then be at the same level as when BOD is globally disabled by fuses.

If BOD is disabled in the software, the BOD function is turned off immediately after entering the sleep mode. Upon wake-up from sleep, BOD is automatically enabled again. This ensures safe operation in case the VCC level has dropped during the sleep period.

When the BOD has been disabled, the wake-up time from sleep mode will be approximately 60 μs to ensure that the BOD is working correctly before the MCU continues executing code.

BOD disable is controlled by the BOD Sleep bit in the MCU Control Register MCUCR.BODS. Setting this bit to '1' turns off the BOD in relevant sleep modes, while a '0' in this bit keeps BOD active. The default setting, MCUCR.BODS = 0, keeps BOD active.

Additional Information

© 2018 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.