Энергозависимая память AVR

Микроконтроллеры / Для начинающих / Архитектура /

Микроконтроллеры для начинающих Что нужно для того, чтобы стать профессиональным разработчиком программ для микроконтроллеров и выйти на такой уровень мастерства, который позволит с лёгкостью найти и устроиться на работу с высокой зарплатой (средняя зарплата программиста микроконтроллеров по России на начало 2017 года составляет 80 000 рублей). Подробнее...

SRAM Data Memory в микроконтроллерах AVR - это энергозависимая статическая память с произвольным доступом (Static Random Access Memory). То есть данные в этой памяти сохраняются только пока есть питание.

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

Одна ячейка памяти данных содержит восемь разрядов (один байт). Размер памяти данных отличается в зависимости от модели микроконтроллера.

На рисунке ниже показана организация памяти данных SRAM AVR для модели ATtiny13A.

Память данных Адрес
32 регистра 0х0000 … 0х001F
64 регистра ввода-вывода 0х0020 … 0х005F
Внутренняя SRAM
(внутренняя статическая память)
64 х 8 бит
0х0060

0х009F

Рис. 1. Схема памяти данных AVR.

Нижние 160 мест (ячеек по одному байту) памяти данных содержат массив регистров, память ввода-вывода (I/O) и внутреннюю память данных SRAM. Первые 32 места содержат регистры, следующие 64 места - это стандартная память ввода-вывода, а последние 64 места - это внутренняя память данных SRAM.

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

  1. Прямая адресация
  2. Косвенная адресация со смещением
  3. Косвенная адресация
  4. Косвенная адресация с предварительным декрементом
  5. Косвенная адресация с последующим инкрементом

В массиве регистров регистры R26...R31 содержат регистры указателей косвенной адресации.

Прямая адресация охватывает всё пространство данных.

Косвенная адресация со смещением охватывает 63 места в памяти от наименьшего базового адреса, полученного из Y- или Z-регистра.

При использовании регистра косвенной адресации с предварительным декрементом и последующим инкрементом, адреса регистров Х, Y и Z уменьшаются или увеличиваются.

Все 32 рабочих регистра общего назначения, 64 регистра ввода-вывода, и 64 байта внутренних данных SRAM в ATtiny13A доступны через все эти способы адресации. Массив регистров описан в разделе Регистры общего назначения.

Таким образом, адрес байта при обращении к SRAM может быть указан в коде команды обращения к памяти (прямая адресация), или предварительно записан в пару регистров Х, Y и Z (косвенная адресация). Обращение к SRAM может выполняться с использованием адреса, хранящегося в регистре-указателе стека.

Байт для записи в SRAM поступает из регистра общего назначения (РОН). При считывании байта из SRAM, этот байт также поступает в РОН.

Как видно из таблицы выше, в адресное пространство SRAM также включены 32 адреса (от 0х0000 до 0х001F) для обращения к РОН, и 64 адреса для обращения к регистрам ввода-вывода (0х0020 … 0х005F). Таким образом, адрес первой ячейки непосредственно памяти данных SRAM - это адрес 0х0060.

Адрес для обращения к РОН по команде обращения к SRAM совпадает с номером регистра (0...31 = 0х0000...0х001F).

Адрес для обращения к регистру ввода-вывода по команде обращения к SRAM равен его номеру, умноженному на 32 (0х0020).

Время доступа к памяти данных

В этом разделе описываются общие понятия синхронизации доступа для доступа к внутренней памяти. Доступ к внутренним данным SRAM выполняется за два такта процессора, как показано на рис. 2.

Циклы доступа к внутренней памяти данных SRAM

Рис. 2. Циклы доступа к внутренней памяти данных SRAM


Подписаться на канал в YouTube

Вступить в группу "Основы программирования"

Подписаться на рассылки по программированию

Микроконтроллеры для ЧАЙНИКОВ Микроконтроллеры для ЧАЙНИКОВ

Бесплатная рассылка о микроконтроллерах. Рассылка содержит как бесплатную информацию для начинающих, так и ссылки на платные продукты (книги, видеокурсы и др.) для тех, кто захочет вникнуть в тему более глубоко. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика