Datasheet

17
7701F–AVR–10/12
Atmel ATtiny24/44/84 [Preliminary]
6.3 EEPROM Data Memory
The Atmel
®
ATtiny24/44/84 contains 128/256/512 bytes of EEPROM data memory. It is orga-
nized as a separate data space in which single bytes can be read and written. The EEPROM
has an endurance of at least 100,000 write/erase cycles. The access between the EEPROM
and the CPU is described in the following sections specifying the EEPROM address registers,
the EEPROM data register, and the EEPROM control register. For a detailed description of
serial data downloading to the EEPROM, see “Serial Downloading” on page 167.
6.3.1 EEPROM Read/Write Access
The EEPROM Access Registers are accessible in the I/O space.
The write access times for the EEPROM are given in Table 6-1 on page 23. A self-timing func-
tion, however, lets the user software detect when the next byte can be written. If the user code
contains instructions that write to the EEPROM, some precautions must be taken. In heavily
filtered power supplies, VCC is likely to rise or fall slowly on power-up/down. This causes the
device for some period of time to run at a voltage lower than the specified minimum for the
clock frequency used. See “Preventing EEPROM Corruption” on page 20 for details on how to
avoid problems in these situations.
In order to prevent unintentional EEPROM writes, a specific write procedure must be followed.
See “Atomic Byte Programming” on page 17 and “Split Byte Programming” on page 17 for
details on this.
When the EEPROM is read, the CPU is halted for four clock cycles before the next instruction
is executed. When the EEPROM is written, the CPU is halted for two clock cycles before the
next instruction is executed.
6.3.2 Atomic Byte Programming
Atomic Byte Programming is the simplest mode. When writing a byte to the EEPROM, the
user must write the address into the EEARL Register and data into EEDR Register. If the
EEPMn bits are zero, writing EEPE (within four cycles after EEMPE is written) will trigger the
erase/write operation. Both the erase and write cycle are done in one operation and the total
programming time is given in Table 1. The EEPE bit remains set until the erase and write
operations are completed. While the device is busy with programming, it is not possible to do
any other EEPROM operations.
6.3.3 Split Byte Programming
It is possible to split the erase and write cycle into two different operations. This may be useful
if the system requires short access time for some limited period of time (typically if the power
supply voltage falls). In order to take advantage of this method, the locations to be written are
required to have been erased before the write operation. But because the erase and write
operations are split, it is possible to do the erase operations when the system allows time-crit-
ical operations to be done (typically after power-up).