Архитектура микроконтроллеров семейства Tiny


Микроконтроллеры AVR семейства Tiny являются 8-разрядными микроконтроллерами с RISC-архитектурой. Они имеют электрически стираемую FLASH-память программ (ряд моделей имеет также энергонезависимую EEPROM-память данных), а также разнообразные периферийные устройства. Состав этих устройств меняется от модели к модели, более того, одно и то же устройство в разных моделях использует различные ресурсы микроконтроллера (в частности, различные выводы). В то же время некоторые периферийные устройства присутствуют во всех микроконтроллерах семейства: сторожевой таймер, аналоговый компаратор, 8-разрядный таймер/счетчик реального времени и, естественно, порты ввода/вывода.

EEPROM (англ. Electrically Erasable Programmable Read-Only Memory) — электрически стираемое перепрограммируемое ПЗУ (ЭСППЗУ), один из видов энергонезависимой памяти. Память такого типа может стираться и заполняться данными до миллиона раз.

На Рис. 5.2приведена структурная схема микроконтроллера ATtiny11/11L. Его отличительные особенности:

• 6-разрядный порт ввода/вывода;

• 3-уровневый аппаратный стек;

• встроенный тактовый RC-генератор;

• возможность подключения внешнего резонатора;

• использование тактового генератора сторожевого таймера в качестве системного (только ATtiny11x).

Рис. 5.2. Структурная схема микроконтроллеров ATtiny11/11L

Рис. 5.3. Структурная схема микроконтроллера ATtiny15L


 

Структурная схема микроконтроллера ATtiny15L приведена на Рис. 5.3. Его отличительные особенности:

• EEPROM-память данных объемом 64 байт;

• 6-разрядный порт ввода/вывода;

• возможность работы только от встроенного тактового RC-генератора;

• два 8-разрядных таймера/счетчика;

• 4-канальный АЦП.

Организация памяти

Организация памяти микроконтроллеров AVR семейства Tiny выполнена по схеме Гарвардского типа, в которой разделены не только адресные пространства памяти программ и памяти данных, но также и шины доступа к ним. Память данных состоит из двух областей: регистровая память и память на основе EEPROM. Каждая область расположена в своем адресном пространстве.

Обобщенная карта памяти микроконтроллеров AVR семейства Tiny приведена на Рис. 5.4.

Рис. 5.4. Карта памяти микроконтроллеров семейства Tiny

Обратите внимание на следующие моменты. Поскольку микроконтроллеры AVR имеют 16-разрядную систему команд, объем памяти программ на рисунке указан не в байтах, а в 16-битных словах. Символ «$» перед числом означает, что это число записано в шестнадцатеричной системе счисления.

Память программ

Как следует из названия, память программ предназначена для хранения команд, управляющих функционированием микроконтроллера. В памяти программ хранятся также различные константы, не меняющиеся во время работы программы. Как уже было сказано, память программ представляет собой электрически стираемое ППЗУ (FLASH_ПЗУ). Поскольку все команды занимают в памяти по 16 бит, память программ имеет 16-разрядную организацию. Соответственно объем памяти микроконтроллеров семейства составляет 512…1024 16-битных слова.

Для адресации памяти программ используется счетчик команд (PC—Program Counter). Размер счетчика команд составляет 9 или 10 разрядов в зависимости от объема адресуемой памяти.

По адресу $000 памяти программ находится вектор сброса. После инициализации (сброса) микроконтроллера выполнение программы начинается с этого адреса (по этому адресу рекомендуется размещать команду относительного перехода к инициализационной части программы). Начиная с адреса $001 располагается таблица векторов прерываний. Размер этой области зависит от модели микроконтроллера и составляет от 4 (адреса $001…$004) до 8 (адреса $001…$008) векторов.

При возникновении прерывания после сохранения в стеке текущего значения счетчика команд происходит выполнение команды, расположенной по адресу соответствующего вектора. Поэтому по этим адресам располагаются команды относительного перехода к подпрограммам обработки прерываний. Ниже приведен типичный листинг начала программы для модели ATtiny28:

Если в программе прерывания не используются (запрещены), то основная программа может начинаться непосредственно с адреса $001.

Следует отметить, что память программ может использоваться не только для хранения кода программы, но также и для хранения различных констант. Для пересылки байта из памяти программ в память данных имеется специальная команда — LPM Rd, Z. Адрес, по которому производится чтение, перед использованием этой команды должен быть загружен в индексный регистр Z (см. далее). При этом старшие 15 разрядов содержимого регистра будут определять адрес слова, а младший разряд будет определять, какой из байтов будет прочитан: «0» — младший байт, «1» — старший байт (Рис. 5.5).

 

Рис. 5.5. Косвенная адресация памяти программ

В заключение следует отметить, что FLASH-ПЗУ, используемое в микроконтроллерах AVR, рассчитано как минимум на 1000 циклов стирания/записи.

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

Память данных микроконтроллеров семейства Tiny разделена на две части: регистровая память и энергонезависимое ЭСППЗУ (EEPROM). Внутреннее статическое ОЗУ в микроконтроллерах семейства Tiny отсутствует.

Регистровая память включает 32 регистра общего назначения (РОН), объединенных в т. н. «файл» и служебные регистры ввода/вывода (РВВ). Размер регистровой памяти фиксирован и для всех моделей составляет 96 байт, соответственно под РОН отводится 32 байт, а под РВВ — 64 байт.

В области регистров ввода/вывода расположены различные служебные регистры (регистр управления микроконтроллером, регистр состояния и т. п.), а также регистры управления периферийными устройствами, входящими в состав микроконтроллера. Общее количество РВВ зависит от конкретной модели микроконтроллера.

Для долговременного хранения различной информации, которая может изменяться в процессе функционирования готовой системы (калибровочные константы, серийные номера, ключи и т. п.) в моделях ATtiny12x и ATtiny15L может быть использована EEPROM-память. Ее объем составляет 64 байт. Эта память расположена в отдельном адресном пространстве, а доступ к ней осуществляется с помощью определенных регистров ввода/вывода.



Дата добавления: 2016-12-27; просмотров: 3555;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.