Архитектура микроконтроллеров 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 специально для работы с указателями предоставляют в распоряжение программиста команды с функциями автоматического инкремента и декремента.