В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > AVR > Архитектура
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


Программирование 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 положительный импульс. Этим импульсом загружается младший байт адреса.

C: Загрузка байта данных

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

D: Фиксация младшего байта данных

  1. Установить бит BS1 в состояние 0. Эта установка выбирает младший байт данных.
  2. Подать на вывод PAGEL положительный импульс. Этим импульсом загружается байт данных.

E: Загрузка байта данных

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

F: Фиксация старшего байта данных

  1. Установить бит BS1 в состояние 1. Эта установка выбирает старший байт данных.
  2. Подать на вывод PAGEL положительный импульс. Этим импульсом загружается байт данных.

G: Пункты с B по F повторяются 128 раз до полного заполнения буфера страницы.

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

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

I: Программирование страницы

  1. Подать на вывод WR отрицательный импульс. Этим импульсом запускается программирование страницы данных. Вывод переходит RDY/BSY на низкий уровень.
  2. Ожидать перехода вывода RDY/BSY на высокий уровень.

J: Завершение программирования страницы.

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

K: Пункты с A по J повторяются 256/512 раз, или до тех пор, пока все данные не будут запрограммированы.


<-- Предыдущая страница Оглавление Следующая страница -->