Data Polling Flash
When a page is being programmed into the Flash, reading an address location within
the page being programmed will give the value $FF. At the time the device is ready for a
new page, the programmed value will read correctly. This is used to determine when the
next page can be written. Note that the entire page is written simultaneously and any
address within the page can be used for polling. Data polling of the Flash will not work
for the value $FF, so when programming this value, the user will have to wait for at least
t
WD_FLASH before programming the next page. As a chip erased device contains $FF in
all locations, programming of addresses that are meant to contain $FF, can be skipped.
See Table 114 for tWD_FLASH value
Data Polling EEPROM
When a new byte has been written and is being programmed into EEPROM, reading the
address location being programmed will give the value $FF. At the time the device is
ready for a new byte, the programmed value will read correctly. This is used to deter-
mine when the next byte can be written. This will not work for the value $FF, but the user
should have the following in mind: As a chip erased device contains $FF in all locations,
programming of addresses that are meant to contain $FF, can be skipped. This does
not apply if the EEPROM is re-programmed without chip erasing the device. In this
case, data polling cannot be used for the value $FF, and the user will have to wait at
least tWD_EEPROM before programming the next byte. See Table 114 for tWD_EEPROM
value.
Table 114. Minimum Wait Delay before Writing the Next Flash or EEPROM Location
Symbol
Minimum Wait Delay
4.5 ms
tWD_FLASH
tWD_EEPROM
tWD_ERASE
tWD_FUSE
9.0 ms
9.0 ms
4.5 ms
Figure 137. SPI Serial Programming Waveforms
SERIAL DATA INPUT
(MOSI)
MSB
LSB
LSB
SERIAL DATA OUTPUT
(MISO)
MSB
SERIAL CLOCK INPUT
(SCK)
SAMPLE
272
ATmega32(L)
2503J–AVR–10/06