Чтение Flash памяти
Алгоритм чтения Flash памяти данных приведен ниже (подробности загрузки команд, адресов и данных см. в разделе Программирование Flash памяти).
- Загрузить команду 0000 0010.
- Загрузить младший адрес ($00 - $FF).
- Загрузить старший адрес (для ATmega603: $7F, для ATmega103: $FF).
- Установить OE в состояние 0 и BS1 в состояние 0. По выводам PB(7 - 0) можно считать младший байт данных
- Установить BS в состояние 1. По выводам PB(7 - 0) можно считать старший байт данных.
- Установить OE в состояние 1
Команда загружается только перед чтением первого байта.
Чтение памяти EEPROM
Алгоритм чтения EEPROM памяти данных приведен ниже (подробности загрузки команд, адресов и данных см. в разделе Программирование Flash памяти).
- Загрузить команду 0000 0011.
- Загрузить младший адрес EEPROM ($00 - $FF).
- Загрузить старший адрес EEPROM (для ATmega603: $07, для ATmega103: $0F).
- Установить OE в состояние 0 и BS1 в состояние 0. По выводам PB(7 - 0) можно считать байт данных EEPROM.
- Установить OE в состояние 1.
Команда загружается только перед чтением первого байта.
Программирование битов-предохранителей
Алгоритм программирования битов-предохранителей приведен ниже (подробности загрузки команд, адресов и данных см. в разделе Программирование Flash памяти).
- Загрузить команду 0100 0000.
- Загрузить данные
Бит 5 = 0 программирует SPIEN бит-предохранитель. Бит 5 = 1 стирает SPIEN бит-предохранитель.
Бит 3 = 0 программирует EESAVE бит-предохранитель. Бит 3 = 1 стирает EESAVE бит-предохранитель.
Бит 2 = всегда в состоянии 1.
Бит 1 = 0 программирует SUT1 бит-предохранитель. Бит 1 = 1 стирает SUT1 бит-предохранитель.
Бит 0 = 0 программирует SUT0 бит-предохранитель. Бит 0 = 1 стирает SUT0 бит- предохранитель. - Подать на вывод WR отрицательный импульс и ожидать перехода вывода RDY/BSY на высокий уровень.
Программирование битов блокирования
Алгоритм программирования битов блокирования приведен ниже (подробности загрузки команд, адресов и данных см. в разделе Программирование Flash памяти).
- Загрузить команду 0010 0000.
- Загрузить данные.
Бит 2 = 0 программирует бит блокирования 2.
Бит 1 = 0 программирует бит блокирования 1. - Подать на вывод WR отрицательный импульс и ожидать перехода вывода RDY/BSY на высокий уровень.
Биты блокирования могут быть очищены только при выполнении операции очистки кристалла.