Which Brown-out voltage to prevent EEPROM corruption?

Go To Last Post
3 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I was advised to enable brown-out after encountering EEPROM corruption problems.

I am using atmega328. The brown-out voltages that can be chosen are 4V3, 2V7, 1V8. How do I determine what is the right value to choose to prevent EEPROM corruption? The datasheet says for EEPROM to be written correctly, the supply voltage needs to be of a minimum value but does not say how much this minimum is.

http://support.atmel.com/bin/cus...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think the big difference is between not using the BOD and using the BOD.

The actual level you select is less important.

The M328 can operate over a wide range of supply voltages.

If your supply has a regulator, then one might use the highest BOD voltage that is below the regulator's output voltage. If one was using a 5 V regulator, then use the 4.3 V BOD setting.

With a regulator you never expect the voltage to go below the regulator's output voltage, unless the device is being shut down, or there is major noise (glitch) on the power supply, or there is strong EMI interference, etc. In any event, if the voltage is less than the regulator's output, there is a problem, so protect the chip at the earliest time possible.

If, on the other hand, the device is running on batteries, and the expectation is that the power supply voltage will decrease over time, then one has to look carefully at the Vsupply range for "normal" circuit operation. One might want the BOD to disable operation before the supply sinks to the point where the micro or attached circuitry fails to function properly.

Note, also, that the printed BOD values are rough, middle of the spread values. On the M328 the actual trip point can be BOD level +/- 0.2 V. That's quite a range.

The trip point will be consistent for a given chip (a specific PCB), but if you are making lots of them, then expect to see variability in the actual trip point.

Also note that the trip point is a function of temperature. Not an issue if your device is indoors, at room temperature all of the time. Might be a concern if the device is in a vehicle, experiencing wide temperature ranges.

JC

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

To summarise: there's a strong chance you are running the AVR at either 5.0V or 3.3V. If you use 5.0V set BOD to 4.3V and if you use 3.3V then set it to 2.7V. Or generally set it to a level that is about 0.6..0.7V below your designed Vcc.