рефераты рефераты
Главная страница > Курсовая работа: Микроконтроллеры семейства AVR фирмы Atmel  
Курсовая работа: Микроконтроллеры семейства AVR фирмы Atmel
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Курсовая работа: Микроконтроллеры семейства AVR фирмы Atmel

Шесть из этих 32 регистраторов могут использоваться как три 16-разрядных регистра-указателя косвенной адресации. Эти сдвоенные регистры могут использоваться для адресации данных в адресном пространстве ОЗУ. Такая организация даёт возможность программного вычисления адреса.

Один из этих регистров-указателей может также использоваться в качестве указателя адреса данных, размещённых в памяти программ (Flash-памяти). Эти дополнительные составные 16-разрядные регистры именуются X, Yи Z.

АЛУ поддерживает арифметические и логические операции между двумя регистраторами или между константой и регистратором. В АЛУ также могут выполняться операции с отдельными регистраторами. После каждой арифметической операции обновляется регистр статуса для того, чтобы отразить информацию о её результате.

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

Большинство инструкций AVRпредставляет собой одно 16-разрядное слово. Каждый адрес памяти программы содержит 16-битовую инструкцию или половину 32-разрядной инструкции.

При выполнении процедуры обработки прерывания или подпрограммы текущее значение счётчика команд (PC)сохраняется в стеке.

Стек фактически размещён в одном адресном пространстве с памятью данных SRAM (ОЗУ) и, следовательно, размер стека ограничен только размером SRAM и тем, какую часть SRAM использует остальная программа.

Программа пользователя обязательно должна инициализировать указатель стека (SP)сразу после сброса (прежде, чем будет выполнена подпрограмма или будет вызвано прерывание). Указатель стека (SP) имеет свой конкретный адрес в пространстве регистров ввода-вывода. К данным в ОЗУ (SRAM) можно получить доступ, используя память различных способов адресации, поддержанных архитектурой AVR.

Адресное пространство всех видов памяти в архитектуре AVR являются регулярным линейным. Гибкий модуль прерываний имеет ряд регистраторов управления в адресном пространстве регистров ввода-вывода и дополнительный флаг глобального разрешения прерываний в регистре статуса.

Каждый вид прерывания имеет свой отдельный вектор в таблице векторов прерываний. Прерывания имеют приоритет в соответствии с их положением в таблице векторов прерываний. Чем ниже адрес вектора прерывания, тем выше приоритет.

Пространство регистров ввода-вывода содержит 64 адреса для регистров управления периферийными устройствами, регистров управления режимами работы процессора и другими функциями ввода/вывода. К любому регистру ввода-вывода можно получить доступ непосредственно по его номеру или как к ячейке памяти данных. В адресном пространстве памяти данных регистры ввода-вывода располагаются сразу после файла регистров общего назначения (0x20 – 0x5F).

2.2 АЛУ – арифметико-логическое устройство

Высокоэффективное АЛУ работает в прямой связи со всеми 32 регистрами общего назначения. За один цикл тактового генератора выполняется арифметическая операция между двумя РОН либо между РОН и непосредственно указанной константой. Все операции АЛУ разделены на три главных категории:

♦ арифметические;

♦ логические;

♦ операции с разрядами.

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

Регистр статуса

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

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

Файл регистров общего назначения

Файл регистров оптимизирован для набора AVRRISC-инструкций. Для того, чтобы достичь требуемой производительности и гибкости, файл регистров поддерживает следующие схемы ввода-вывода:

♦ вывод одного 8-разрядного операнда и ввод одного 8-разрядного результата вычислений;

♦ вывод двух 8-разрядных операндов и ввод одного 8-разрядного результата вычислений;

♦ вывод двух 8-разрядных операндов и ввод одного 16-разрядного результата вычислении;

♦вывод одного 16-разрядного операнда и ввод одного 16-разрядного результата вычислений.

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

Рис. 4 - Файл регистров общего назначения микроконтроллеров AVR


Большинство инструкций, оперирующих файлов регистров, имеет прямой доступ ко всем его регистрам, и большинство из них выполняется за один такт.

Как показано на рис. 5, каждому регистру также соответствует адрес в пространстве памяти данных, где они занимают первые 32 ячейки. Хотя физически регистры не входят в SRAM, такая организация памяти обеспечивает большую гибкость при доступе к регистрам. Указатель косвенного доступа к памяти (один из регистров X, Y или Z) может быть установлен на любой регистр из файла.

2.3 X-регистр, Y-регистр и Z-регистр

Регистры R26-R31, кроме своего основного назначения, имеют дополнительную функцию. Эти регистры могут служить 16-битными указателями адреса для операций, использующих косвенную адресацию. Три косвенных регистра адреса X, Y, и Zопределены так, как это показано на рис. 5.

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

Рис. 5 - Сдвоенные регистры X, Y, Z


Указатель стека

Стек, главным образом, используется:

♦ для временного хранения данных;

♦ для хранения локальных переменных;

♦ для хранения адреса выхода из подпрограммы или процедуры обработки прерывания.

Регистр указателя стека всегда указывает на его вершину.

Указатель стека указывает на стековую область в памяти данных (SRAM). В стеке, кроме прочего, сохраняются;

♦ адрес выхода из подпрограммы;

♦ адрес выхода из процедуры обработки прерывания.

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

Указатель стека уменьшается на единицу, когда данные записываются в стек при помощи команды PUSH, и уменьшается на два, когда в стек записывается в адрес возврата из подпрограммы или процедуры обработки прерывания.

Указатель стека увеличивается на единицу, когда данные читаются из стека при помощи команды POP, и увеличивается на два, когда данные извлекаются из стека при выходе из подпрограммы (команда RET) или завершении процедуры обработки прерывания (команда RETI).

Указатель стека во всех микросхемах AVRвыполнен в виде двух 8-разрядных регистров ввода-вывода. Число фактически используемых разрядов для каждой модели микроконтроллеров разное. В некоторых моделях, в том числе и вATtiny2313, объём памяти данных настолько мал, что для указателя стека используется только младший из регистров указателя стека (SPL). Регистр SPHу них отсутствует. Ниже показана структура регистров указателя стека для микроконтроллера ATtiny2313.


Память ATtiny2313

Теперь рассмотрим различные виды памяти микроконтроллера ATtiny2313. Архитектура AVRсодержит два основных вида памяти:

♦ память данных;

♦ память программ.

Кроме того, микросхема ATtiny2313 имеет EEPROM-память для долговременного хранения данных. Все три вида памяти представляют собой непрерывные области с линейно возрастающими адресами.

2.4 Системная перепрограммируемая Flash-память программ

Микросхема ATtiny2313 содержит 2 Кбайт встроенной перепрограммируемой памяти для хранения программ. Так как все команды, используемые в AVR, имеют размер 16 или 32 бита, память программ организованна как 1Rx 16. В графическом виде адресное пространство памяти программ показано на рис. 6.

Рис. 6 - Карта памяти программ


Память программ допускает не менее 10000 циклов записи/стирания. Счётчик команд (PC) микросхемы ATtiny2313 имеет 10 двоичных разрядов и поэтому может работать с адресным пространством в 1К. Микросхема поддерживает режим низкого программирования памяти программ, которое может осуществляться по последовательному SPIинтерфейсу.

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

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

На рис. 6 показана организация памяти данных – ОЗУ (SRAM) микроконтроллера ATtiny 2313. Всего адресное пространство ОЗУ содержит 224 ячейки, которые заняты:

♦ файлом регистров общего назначения;

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13

рефераты
Новости