Datasheet
65
ATmega323(L)
1457E–11/01
EEPROM Read/Write
Access
The EEPROM access registers are accessible in the I/O space.
The write access time is in the range of 1.9 - 3.8 ms, depending on the frequency of the
calibrated RC oscillator. See Table 25 for details. A self-timing function, however, lets
the user software detect when the next byte can be written. If the user code contains
code that writes the EEPROM, some precautions must be taken. In heavily filtered
power supplies, V
CC
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 specified as minimum for
the clock frequency used. CPU operation under these conditions is likely to cause the
program counter to perform unintentional jumps and possibly execute the EEPROM
write code. To secure EEPROM integrity, the user is advised to use an external under-
voltage reset circuit or the internal Brown-out Detector in this case.
In order to prevent unintentional EEPROM writes, a specific write procedure must be fol-
lowed. Refer to the description of the EEPROM Control Register 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.
The EEPROM Address
Register – EEARH and EEARL
• Bits 15..10 - Res: Reserved Bits
These bits are reserved bits in the ATmega323 and will always read as zero.
• Bits 9..0 - EEAR9..0: EEPROM Address
The EEPROM Address Registers
– EEARH and EEARL specify the EEPROM address
in the 1K bytes EEPROM space. The EEPROM data bytes are addressed linearly
between 0 and 1023. The initial value of EEAR is undefined. A proper value must be
written before the EEPROM may be accessed.
The EEPROM Data Register –
EEDR
• Bits 7..0 - EEDR7.0: EEPROM Data
For the EEPROM write operation, the EEDR register contains the data to be written to
the EEPROM in the address given by the EEAR register. For the EEPROM read opera-
tion, the EEDR contains the data read out from the EEPROM at the address given by
EEAR.
Bit 151413121110 9 8
$1F ($3F) ------EEAR9EEAR8EEARH
$1E ($3E) EEAR7 EEAR6 EEAR5 EEAR4 EEAR3 EEAR2 EEAR1 EEAR0 EEARL
76543210
Read/WriteRRRRRRR/WR/W
R/W R/W R/W R/W R/W R/W R/W R/W
Initial Value000000XX
XXXXXXXX
Bit 76543210
$1D ($3D)
MSB LSB EEDR
Read/Write R/W R/W R/W R/W R/W R/W R/W R/W
Initial Value00000000