19
AT90PWM216/316 [DATASHEET]
7710H–AVR–07/2013
5.3
EEPROM Data Memory
The AT90PWM216/316 contains 512 bytes of data EEPROM memory. It is organized 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, specifying the EEPROM
Address Registers, the EEPROM Data Register, and the EEPROM Control Register.
5.3.1
EEPROM Read/Write Access
The EEPROM Access Registers are accessible in the I/O space.
The write access time for the EEPROM is given in
Table 5-2. A self-timing function, however, lets the user software
detect when the next byte can be written. If the user code contains instructions that write the EEPROM, some pre-
cautions 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 fre-
In order to prevent unintentional EEPROM writes, a specific write procedure must be followed. 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.
5.3.2
The EEPROM Address Registers – EEARH and EEARL
Bits 15..9 – Reserved Bits
These bits are reserved bits in the AT90PWM216/316 and will always read as zero.
Bits 8..0 – EEAR8..0: EEPROM Address
The EEPROM Address Registers – EEARH and EEARL specify the EEPROM address in the 512 bytes EEPROM
space. The EEPROM data bytes are addressed linearly between 0 and 511. The initial value of EEAR is undefined.
A proper value must be written before the EEPROM may be accessed.
5.3.3
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 operation, the EEDR contains the data read out from
the EEPROM at the address given by EEAR.
Bit
15141312
11
10
9
8
–
EEAR8
EEARH
EEAR7
EEAR6
EEAR5
EEAR4
EEAR3
EEAR2
EEAR1
EEAR0
EEARL
7
654
3
2
1
0
Read/Write
R
R/W
Initial Value
0
X
XXX
X
Bit
765
4321
0
EEDR7
EEDR6
EEDR5
EEDR4
EEDR3
EEDR2
EEDR1
EEDR0
EEDR
Read/Write
R/W
Initial Value
000
0000
0