Programming the flash – Rainbow Electronics AT90C8534 User Manual
Page 41

AT90C8534
41
Programming the Flash
A: Load Command “Write Flash”
1.
Set XA1, XA0 to “10”. This enables command loading.
2.
Set BS to “0”
3.
Set DATA to “0001 0000”. This is the command for Write Flash.
4.
Give XTAL1 a positive pulse. This loads the command.
B: Load Address High Byte
1.
Set XA1, XA0 to “00”. This enables address loading.
2.
Set BS to “1”. This selects high byte.
3.
Set DATA = Address high byte ($00 - $0F)
4.
Give XTAL1 a positive pulse. This loads the address high byte.
C: Load Address Low Byte
1.
Set XA1, XA0 to “00”. This enables address loading.
2.
Set BS to “0”. This selects low byte.
3.
Set DATA = Address low byte ($00 - $FF)
4.
Give XTAL1 a positive pulse. This loads the address low byte.
D: Load Data Low Byte
1.
Set XA1, XA0 to “01”. This enables data loading.
2.
Set DATA = Data low byte ($00 - $FF)
3.
Give XTAL1 a positive pulse. This loads the data low byte.
E: Write Data Low Byte
1.
Set BS to “0”. This selects low data.
2.
Give WR a negative pulse. This starts programming of the data byte. RDY/BSY goes low.
3.
Wait until RDY/BSY goes high to program the next byte.
(See Figure 36 for signal waveforms.)
F: Load Data High Byte
1.
Set XA1, XA0 to “01”. This enables data loading.
2.
Set DATA = Data high byte ($00 - $FF)
3.
Give XTAL1 a positive pulse. This loads the data high byte.
G: Write Data High Byte
1.
Set BS to “1”. This selects high data.
2.
Give WR a negative pulse. This starts programming of the data byte. RDY/BSY goes low.
3.
Wait until RDY/BSY goes high to program the next byte.
(See Figure 37 for signal waveforms.)
The loaded command and address are retained in the device during programming. For efficient programming, the following
should be considered.
• The command needs only be loaded once when writing or reading multiple memory locations.
• Address high byte needs only be loaded before programming a new 256-word page in the Flash.
• Skip writing the data value $FF, that is, the contents of the entire Flash and EEPROM after a Chip Erase.
These considerations also applies to EEPROM programming, and Flash, EEPROM and signature bytes reading.