beautypg.com

Preventing eeprom corruption, Attiny26(l) – Rainbow Electronics ATtiny26L User Manual

Page 62

background image

62

ATtiny26(L)

1477B–AVR–04/02

Note:

1. Uses 1 MHz clock, independent of CKSEL-Fuse settings.

Preventing EEPROM
Corruption

During periods of low V

CC,

the EEPROM data can be corrupted because the supply volt-

age is too low for the CPU and the EEPROM to operate properly. These issues are the
same as for board level systems using the EEPROM, and the same design solutions
should be applied.

An EEPROM data corruption can be caused by two situations when the voltage is too
low. First, a regular write sequence to the EEPROM requires a minimum voltage to
operate correctly. Secondly, the CPU itself can execute instructions incorrectly, if the
supply voltage for executing instructions is too low.

EEPROM data corruption can easily be avoided by following these design recommen-
dations (one is sufficient):

1.

Keep the AVR RESET active (low) during periods of insufficient power supply
voltage. This can be done by enabling the internal Brown-out Detector (BOD) if
the operating voltage matches the detection level. If not, an external Brown-out
Reset Protection circuit can be applied.

2.

Keep the AVR core in Power-down Sleep mode during periods of low V

CC

. This

will prevent the CPU from attempting to decode and execute instructions, effec-
tively protecting the EEPROM Registers from unintentional writes.

3.

Store constants in Flash memory if the ability to change memory contents from
software is not required. Flash memory can not be updated by the CPU, and will
not be subject to corruption.

Table 29. EEPROM Programming Time

Symbol

Number of Calibrated RC

Oscillator Cycles

(1)

Typical Programming

Time

EEPROM Write (from CPU)

8448

8.5 ms