AT90S4414/8515
79
Data Polling Flash
When a byte is being programmed into the Flash, reading the address location being programmed will give the value $7F.
At the time the device is ready for a new byte, the programmed value will read correctly. This is used to determine when the
next byte can be written. This will not work for the value $7F, so when programming this value, the user will have to wait for
at least t
WD_PROG
before programming the next byte. As a chip-erased device contains $FF in all locations, programming of
addresses that are meant to contain $FF, can be skipped.
Figure 65. Serial Programming Waveforms
Note:
a = address high bits
b = address low bits
H = 0 - Low byte, 1 - High Byte
o = data out
i = data in
x = don’t care
1 = Lock bit 1
2 = Lock bit 2
Note:
1. The signature bytes are not readable in Lock mode 3, i.e. both Lock bits programmed.
Table 33. Serial Programming Instruction Set
Instruction
Instruction Format
Operation
Byte 1
Byte 2
Byte 3
Byte4
Programming Enable
1010 1100
0101 0011
xxxx xxxx
xxxx xxxx
Enable Serial Programming while
RESET is low.
Chip Erase
1010 1100
100x xxxx
xxxx xxxx
xxxx xxxx
Chip Erase Flash and EEPROM
memory arrays.
Read Program Memory
0010 H000
xxxx aaaa
bbbb bbbb
oooo oooo
Read H (high or low) data o from
Program memory at word address
a:b.
Write Program Memory
0100 H000
xxxx aaaa
bbbb bbbb
iiii iiii
Write H (high or low) data i to
Program memory at word address
a:b.
Read EEPROM
Memory
1010 0000
xxxx xxxa
bbbb bbbb
oooo oooo
Read data o from EEPROM memory
at address a:b.
Write EEPROM
Memory
1100 0000
xxxx xxxa
bbbb bbbb
iiii iiii
Write data i to EEPROM memory at
address a:b.
Write Lock Bits
1010 1100
111x x
21x
xxxx xxxx
xxxx xxxx
Write Lock bits. Set bits
1,2=’0’ to
program Lock bits.
Read Signature Bytes
0011 0000
xxxx xxxx
xxxx xxbb
oooo oooo
Read Signature Byte o at address
b.