Архитектура микроконтроллеров AVR

Содержание

Задание........................................................................................................................ 3

Архитектура микроконтроллеров AVR.................................................................... 4

Основные характеристики семейства микроконтроллеров AVR............................. 5

Блок-схема микроконтроллера AT90S8515............................................................. 8

Конструктивное исполнение корпусов и расположение выводов............................ 9

Система управления и АЛУ..................................................................................... 11

Статическая память RAM(SRAM)........................................................................... 11

Память команд.......................................................................................................... 13

Память для энергонезависимых данных................................................................. 13

Схема алгоритма...................................................................................................... 14

Текст программы...................................................................................................... 15

Результат выполнения программы:......................................................................... 16

Схема принципиальная............................................................................................ 17

Список литературы.................................................................................................. 18

 


 

Задание

Требуется разработать устройство, которое реализует следующие функции:

 

1) вводит m однобайтных чисел;

2) Определяет количество чисел имеющих в 4-ом и 5-ом разрядах комбинацию «11».

 

Задание предполагает разработку программного и аппаратного обеспечения устройства преобразования форматов данных, реализованного на основе микроконтроллера (МК) AVR - RISC AT90S8515.

При выполнении КР необходимо:

1. Изучить структуру МК и его функционирование.

2. Изучить организацию памяти МК.

3. Разработать алгоритм преобразования данных, реализующий поставленную задачу.

4. Составить алгоритм программы на уровне машинных команд контроллера.

5. Составить программу работы устройства на языке ассемблера МК AVR и в машинных кодах.

6. Отладить программу в среде AVR - STUDIO.


Архитектура микроконтроллеров AVR

Все микроконтроллеры AVR спроектированы для работы в составе очень производительной маломощной архитектуры RISC.

 

Перечислим характерные особенности архитектуры RISC:

1) ограниченное количество эффективных команд;

2) отсутствие классического накапливающего сумматора в пользу большего числа равноправных рабочих регистров;

3) организация диапазонов памяти по Гарвардской модели;

4) единый интерфейс с запоминающими устройствами за счет исключительного применения команд вида "Загрузка/Сохранение";

5) обработка почти всех команд в течение единственного машинного такта;

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

 

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

 

1. Представители семейства AVR обладают ограниченным набором из 118 высокоэффективных команд (в модели AT90S1200 этот набор ограничен 89 командами).

2. Благодаря особой архитектуре микропроцессоров AVR, исключен ярко выраженный недостаток обычных процессоров, у которых все арифмети­ческие и логические операции выполняются исключительно в так назы­ваемом накапливающем сумматоре. Вследствие этого, как правило, после завершения собственно вычислительных операций требуются операции обращения к вспомогательным регистрам или промежуточным запоми­нающим устройствам. У семейства микроконтроллеров AVR этот недоста­ток отсутствует, поскольку в вычислениях, кроме накапливающего сумма­тора, задействованы 32 равноправных рабочих регистра, напрямую связан­ных с арифметико-логическим устройством (АЛУ).

3. Микроконтроллеры AVR работают по Гарвардской архитектуре, что под­разумевает разделение памяти для программ и данных. Они используют одноступенчатую конвейерную обработку. Это означает, что во время вы­полнения команды выполняется загрузка следующей команды из памяти программ (рис. 1). Благодаря этому, достигается возможность выполне­ния команды в течение одного тактового цикла.

4. Первая команда программы выполняется на один тактовый цикл дольше, чем та же команда в другом месте программы, поскольку в этом случае выборка не может быть осуществлена параллельно с выполнением преды­дущей команды.

5. В микроконтроллерах AVR используются несколько команд загрузки/ со­хранения, с помощью которых к переменным и константам можно обра­титься в различных режимах адресации.

6. У большинства обычных процессоров и контроллеров такт, сгенерирован­ный кварцевым осциллятором, делится на заранее заданный коэффициент для получения собственно системного такта. Так, например, в контроллере 8051, работающем с частотой кварца 12 МГц, при внутреннем коэффици­енте деления минимальное время выполнения команд составляет всего лишь одну секунду, причем "минимальное время" в данном случае подразумевает, что для выполнения некоторого количества команд потребуется больше времени. Однако в случае с микроконтроллерами семейства AVR такого не происходит. В них действительно почти все команды выполня­ются в течение одного периода частоты кварцевого генератора, что при максимально допустимой частоте 12 МГц в случае микроконтроллера AT90S1200 означает всего лишь 83,33 не. Другими словами, достигается быстродействие до 12 MIPS (Million Instructions Per Second), то есть, — 12 миллионов выполненных команд в течение одной секунды! И, за немноги­ми исключениями, микроконтроллеры семейства AVR действительно об­рабатывают все команды в течение единственного системного такта.

7. После того как в однокристальных микроконтроллерах для выполнения программ все больше начали использоваться языки высокого уровня (пре­жде всего, язык программирования С), архитектура AVR была оптимизи­рована для эффективного взаимодействия аппаратного и программного обеспечения, написанного на языках высокого уровня. К примеру, микро­контроллеры AVR специально для работы с указателями предоставляют в распоряжение программиста команды с функциями автоматического ин­кремента и декремента.