Установка режима программирования

Для установки микроконтроллера в режим параллельного программирования используется следующий алгоритм:

  1. Подать напряжение 4,5 - 5,5 В между выводами VCC и GND.
  2. Установить на выводах RESET и BS низкий уровень и ожидать не менее 100 нс.
  3. Подать напряжение 11,5 - 12,5 В на вывод RESET. Состояние вывода BS1 в течение 100 нс после подачи напряжения +12 В меняться не должно, иначе режим программирования установлен не будет.

 

Очистка кристалла

Операция очистки кристалла очищает Flash и EEPROM память и биты блокирования. Биты блокирования не сбрасываются до тех пор, пока память программ не будет полностью очищена. Состояние битов-предохранителей при очистке кристалла остаются неизменным. Очистка кристалла должна выполняться перед программированием Flash памяти.

Загрузка команды очистки кристалла (Chip Erase)

  1. Установить биты XA1 и XA0 в состояние 1 и 0. Эта установка разрешает загрузку команды.
  2. Установить бит BS1 в состояние 0.
  3. Установить биты PB(7 - 0) в состояние 1000 0000. Это команда очистки кристалла.
  4. Подать на вывод XTAL1 положительный импульс. Этим импульсом загружается команда и запускается процедура очистки матриц Flash и EEPROM памяти. После подачи импульса на XTAL1 на WR подается отрицательный импульс, чтобы обеспечить в конце цикла стирания памяти стирание бита блокировки, и ожидать по крайней мере 10 мс. Процедура очистки кристалла не приводит к какой либо активности вывода RDY/BSY.

Программирование Flash памяти

Flash память микроконтроллеров ATmega603/103 организован из 256/512 страниц по 256 байт каждая. При программировании Flash памяти данные программы фиксируются в буфере страницы, что позволяет единовременно программировать целую страницу. Ниже приведена процедура, описывающая программирование всего объема Flash памяти.

A: Загрузка команды программирования Flash памяти (Program Flash)

  1. Установить биты XA1 и XA0 в состояние 1 и 0, соответственно. Эта установка разрешает загрузку команды.
  2. Установить бит BS1 в состояние 0.
  3. Установить биты PB(7 - 0) в состояние 0001 0000. Это команда программирования Flash памяти.
  4. Подать на вывод XTAL1 положительный импульс. Этим импульсом загружается команда.

B: Загрузка младшего байта адреса

  1. Установить биты XA1 и XA0 в состояние 0 и 0. Эта установка разрешает загрузку адреса
  2. Установить бит BS1 в состояние 0.
  3. Установить в битах PB(7 - 0) младший байт адреса ($00 - $FF).
  4. Подать на вывод XTAL1 положительный импульс. Этим импульсом загружается младший байт адреса.