Electronic – why is this microcontroller brown-out level detection at 2.6V and 3.4V

battery-operatedbrownoutmicrocontroller

The default brown-out detection level for the ATmega32u4 is 2.6V (typical) in the range of 2.4V to 2.8V. The table of possible values:

2.0V
2.2V
2.4V
2.6V default
3.4V
3.5V
4.3V

Unfortunately there is a large gap between 2.6V and 3.4V. Another possibility is "brown-out detection disabled" which is not in my table but it certainly exists.

My application uses an Adafruit board at 3.3V and 8MHz. The application is non-life threatening but accuracy is always of interest so I ought to benefit from brown-out detection, if feasible. This board aside, 3.3V seems to be a popular voltage for a microcontroller Vcc level so the default 2.6V brown-out level seems to be a good choice except for the fact that the datasheet also has this graph.

Safe Operating Area graph for the ATmega32u4

One interpretation is that at 2.65V (which is above the default brown-out level) a frequency of 8MHz is in some way unsafe and the safe frequency is somewhat lower by extrapolation. I don't want to run slower than 8MHz. Another interpretation is that the graph gives you information about the maximum frequency between 2.7V and 5.5V and no other conclusions should be drawn. There should be no extrapolation.

My question is: What were the design considerations that caused there to be a large gap between 2.6V and 3.4V on the brown-out level table? It seems wasteful to have to choose a 3.4V brown-out level in a battery powered application.

Best Answer

You need to look at the tolerance of the brownout voltage threshold as well as the nominal value.

enter image description here

The 2.6V setting (and really, any of the settings) is useless for a 3.3V nominal supply at any clock frequency. It might work, but is that good enough for you? It isn't for me.

If you need a reliable BOD reset you'll have to supply it externally or use different chip.

Perhaps they committed to the settings before they characterized the chip and figured out that it will not operate reliably at (say) 1.8V.