Datasheet
Command Byte Command Executed
0010 0000 Write Lock bits
0001 0000 Write Flash
0001 0001 Write EEPROM
0000 1000 Read Signature Bytes and Calibration byte
0000 0100 Read Fuse and Lock bits
0000 0010 Read Flash
0000 0011 Read EEPROM
28.8. Parallel Programming
28.8.1. Enter Programming Mode
The following algorithm puts the device in Parallel (High-voltage) Programming mode:
1. Set Prog_enable pins listed in Pin Values Used to Enter Programming Mode of Signal Names
section “0x0000”, RESET pin to 0V and V
CC
to 0V.
2. Apply 4.5 - 5.5V between V
CC
and GND.
Ensure that V
CC
reaches at least 1.8V within the next 20μs.
3. Wait 20 - 60μs, and apply 11.5 - 12.5V to RESET.
4. Keep the Prog_enable pins unchanged for at least 10μs after the High-voltage has been applied to
ensure the Prog_enable Signature has been latched.
5. Wait at least 300μs before giving any parallel programming commands.
6. Exit Programming mode by power the device down or by bringing RESET pin to 0V.
If the rise time of the V
CC
is unable to fulfill the requirements listed above, the following alternative
algorithm can be used.
1. Set Prog_enable pins listed in Pin Values Used to Enter Programming Mode of Signal Names
section to “0000”, RESET pin to 0V and V
CC
to 0V.
2. Apply 4.5 - 5.5V between V
CC
and GND.
3. Monitor V
CC
, and as soon as V
CC
reaches 0.9 - 1.1V, apply 11.5 - 12.5V to RESET.
4. Keep the Prog_enable pins unchanged for at least 10μs after the High-voltage has been applied to
ensure the Prog_enable Signature has been latched.
5. Wait until V
CC
actually reaches 4.5 - 5.5V before giving any parallel programming commands.
6. Exit Programming mode by power the device down or by bringing RESET pin to 0V.
28.8.2. Considerations for Efficient Programming
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.
• Skip writing the data value 0xFF, that is the contents of the entire EEPROM (unless the EESAVE
Fuse is programmed) and Flash after a Chip Erase.
• Address high byte needs only be loaded before programming or reading a new 256 word window in
Flash or 256byte EEPROM. This consideration also applies to Signature bytes reading.
Atmel ATmega644A [DATASHEET]
Atmel-42716C-ATmega644A_Datasheet_Complete-10/2016
369