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

 
Пересюхтюмя


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





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





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


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





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


7. Запоминающие устройства

7.1. Отличительные особенности

  • Flash-память программ
    • Одно линейное адресное пространство
    • Внутрисистемное программирование
    • Поддержка самопрограммирования под управлением программы загрузчика
    • Сектор прикладной программы для хранения кода программы
    • Сектор таблицы приложения для хранения данных или кода прикладной программы
    • Загрузочный сектор для хранения прикладной программы или программы загрузчика
    • Отдельные биты защиты и защита всех секторов
    • Встроенная быстродействующая проверка CRC для выбранного сектора flash-памяти программ
  • Память данных
    • Одно линейное адресное пространство
    • Одноцикловый доступ со стороны ЦПУ
    • SRAM
    • EEPROM
      • Побайтный и постраничный доступ
      • Опциональное распределение памяти для прямого чтения и записи
    • Память ввода-вывода
      • Конфигурационные регистры и регистры статуса для всех УВВ и модулей
      • Регистр общего назначения с 16-битным доступом для хранения глобальных переменных или флагов
    • Арбитраж шины
      • Безопасная и детерминистическая обработка приоритетов ЦПУ и контроллера DMA
    • Отдельные шины для SRAM, EEPROM, памяти ввода-вывода и внешней памяти
      • Одновременный доступ к шинам для ЦПУ и контроллера DMA
  • Область памяти с запрограммированным производителем сигнатурным кодом
    • Идентификационный код для каждого типа микроконтроллера
    • Серийный номер для каждого микроконтроллера
    • Калибровочные байты генератора
    • Калибровочные данные АЦП, ЦАП и датчика температуры
  • Сигнатурный код пользователя
    • Размер равен одной странице flash-памяти
    • Возможность программного считывания или программной записи
    • Остается неизменным после операции стирания всей памяти

7.2. Обзор

Архитектурой AVR предусматривается два пространства памяти: память программ и память данных. Кроме того, в МК XMEGA A3 интегрировано EEPROM для энергонезависимого хранения данных. Все три пространства памяти являются линейными и не требуют страничной адресации. Информация по размерам встроенной памяти приведена в разделе "Информация для заказа". Кроме того, у каждого микроконтроллера имеется Flash-память с запрограммированным производителем сигнатурным кодом, в т.ч. калибровочные данные, идентификационный код МК, серийный номер и др. Имеется возможность блокировки дальнейших операций записи или чтения/записи применительно к энергонезависимым запоминающим устройствам. Это предотвратит несанкционированный доступ к прикладной программе.

7.3. Внутрисистемно-программируемая Flash-память программ

Микроконтроллеры XMEGA A3 содержат встроенную внутрисистемно-программируемую Flash-память для хранения программы (см. рисунок 7.1). Поскольку все инструкции AVR являются 16- или 32-битными, то и каждая ячейка Flash-памяти является 16-битной.

Пространство Flash-памяти разделено на сектор прикладной программы и загрузочный сектор. Оба сектора имеют отдельные биты защиты для установки ограничений на операции записи или чтения/записи. Для записи Flash-памяти с помощью инструкции записи в память программ (SPM) ее необходимо выполнять из загрузочного сектора.

Третий сектор Flash-памяти называется сектором таблицы приложения, который имеет отдельные биты защиты от записи или от чтения/записи. Сектор таблицы приложения может использоваться для энергонезависимого хранения данных или кода прикладной программы.

Flash-память программ (шестнадцатиричные адреса)
Рисунок 7.1. Flash-память программ (шестнадцатиричные адреса)

Сектор таблицы приложения и загрузочный сектор могут также использоваться для хранения кода программы.

7.4. Память данных

Память данных состоит из памяти ввода-вывода, EEPROM и SRAM, которые имеют единое линейное адресное пространство (см. рисунок 7.2). Чтобы проектирование было более простым, карта памяти всех микроконтроллеров в семействе выполнена идентичным образом с пустыми, зарезервированными областями у МК меньших типоразмеров.

Карта памяти данных (шестнадцатиричные адреса)
Рисунок 7.2. Карта памяти данных (шестнадцатиричные адреса)

7.4.1. Память ввода-вывода

Все УВВ и модули адресуются через ячейки памяти ввода-вывода в пространстве памяти данных. Доступ ко всем ячейкам памяти ввода-вывода можно осуществить с помощью инструкций чтения (LD/LDS/LDD) и записи (ST/STS/STD), которые передают данные между 32 регистрами общего назначения ЦПУ и памятью ввода-вывода.

Инструкции IN и OUT предоставляют возможность прямого доступа к ячейкам памяти ввода-вывода по адресам от 0x00 до 0x3F.

Регистры ввода-вывода с адресами от 0x00 до 0x1F имеют возможность побитного доступа с использованием инструкций SBI и CBI. Для проверки состояния отдельных бит этих регистров предусмотрены инструкции SBIS и SBIC.

Адреса всех УВВ и модулей микроконтроллеров XMEGA A3 в пространстве памяти ввода-вывода представлены в разделе 30 "Распределение адресов модулей и УВВ".

7.4.2. Статическое ОЗУ памяти данных

Для хранения данных у микроконтроллеров XMEGA A3 предусмотрено встроенное статическое ОЗУ (SRAM).

7.4.3. EEPROM памяти данных

Для энергонезависимого хранения данных в микроконтроллеры XMEGA A3 встроено EEPROM, которое адресуется либо в отдельном пространстве памяти, либо в общем пространстве памяти данных. EEPROM поддерживает, как побайтный, так и постраничный доступ.

7.5. Сигнатурный код производителя

Сигнатурный код производителя - отдельный сектор памяти, в котором хранятся запрограммированные производителем данные. К их числу относятся калибровочные данные генераторов и аналоговых модулей. В сигнатурном коде также имеется идентификационный код микроконтроллера и уникальный неповторяющийся серийный номер. Идентификационные коды микроконтроллеров XMEGA A3 показаны в таблице 7.1. Серийный номер получается в результате объединения следующих данных: номер партии, номер пластины и координата кристалла МК на пластине.

Сигнатурный код производителя не поддерживает возможности записи или стирания, но зато он доступен для чтения, как со стороны прикладной программы, так и со стороны внешнего программатора.

Таблица 7.1. Идентификационные байты для микроконтроллеров XMEGA A3

Микроконтроллер Идентификационные байты
Байт 2 Байт 1 Байт 0
ATxmega64A3 42 96 1E
ATxmega128A3 42 97 1E
ATxmega192A3 44 97 1E
ATxmega256A3 42 98 1E

7.6. Сигнатурный код пользователя

Сигнатурный код пользователя - отдельная область памяти, полностью доступная для чтения и записи со стороны прикладной программы и внешнего программатора. Сигнатурный код пользователя равен по размеру странице flash-памяти и предназначен для хранения такой статической информации пользователя, как калибровочные данные, специальные серийные номера или идентификационные коды, стартовые числа для генерации случайных чисел и др. Данный сектор не стирается при выполнении команды стирания Flash-памяти Chip Erase и требует выполнения отдельной команды стирания. Этим гарантируется сохранность параметров при частом выполнении операций программирования/стирания и во время работы встроенной отладочной системы.

7.7. Размер страницы Flash-памяти и EEPROM

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

В таблице 7.2 показана организация Flash-памяти программ. Операции записи и стирания Flash-памяти выполняются постранично, а чтения - побайтно. Адресоваться к ячейкам Flash-памяти позволяет Z-указатель (Z[m:n]). Старшие значащие биты адреса (FPAGE) - номер страницы, а младшие значащие биты адреса (FWORD) - адрес слова в странице.

Таблица 7.2. Количество слов и страниц во Flash-памяти

Микроконтроллер Flash-память FWORD FPAGE Сектор прикладной программы Загрузочный сектор
Размер Размер страницы Размер Количество страниц Размер Количество страниц
ATxmega64A3 64 + 4 кбайт 128 слов Z[7:1] Z[16:8] 64 кбайт 256 4 кбайт 16
ATxmega128A3 128 + 8 кбайт 256 слов Z[8:1] Z[17:9] 128 кбайт 256 8 кбайт 16
ATxmega192A3 192 + 8 кбайт 256 слов Z[8:1] Z[18:9] 192 кбайт 384 8 кбайт 16
ATxmega256A3 256 + 8 кбайт 256 слов Z[8:1] Z[18:9] 256 кбайт 512 8 кбайт 16

В таблице 7.3 представлена организация памяти EEPROM микроконтроллеров XMEGA A3.

Операции записи и стирания EEPROM можно выполнять побайтно или постранично, а чтения - побайтно. Адресация EEPROM выполняется с помощью регистра адреса NVM Address Register (ADDR[m:n]). Старшие биты адреса (E2PAGE) - номер страницы, а младшие биты адреса (E2BYTE) - адрес байта в странице.

Таблица 7.3. Количество байт и страниц в EEPROM

Микроконтроллер Размер EEPROM Размер страницы E2BYTE E2PAGE Количество страниц
ATxmega64A3 2 кбайт 32 байт ADDR[4:0] ADDR[10:5] 64
ATxmega128A3 2 кбайт 32 байт ADDR[4:0] ADDR[10:5] 64
ATxmega192A3 2 кбайт 32 байт ADDR[4:0] ADDR[10:5] 64
ATxmega256A3 4 кбайт 32 байт ADDR[4:0] ADDR[11:5] 128


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