Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мироненко курсовая.docx
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
783 Кб
Скачать
☆
    1. Микропроцессорная система на базе 32-разрядного avr-микроконтроллера серии stm32

AVR — семейство восьмибитных микроконтроллеров фирмы Atmel, разработанных в 1996 году. Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединённых в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны:

  • Некоторые команды работают только с регистрами r16…r31. К ним относятся команды работающие с непосредственным операндом: ANDI/CBR, ORI/SBR, CPI, LDI, LDS(16-бит), STS(16-бит), SUBI, SBCI, а также SER и MULS;

  • Команды увеличивающие и уменьшающие 16-битное значение (в тех моделях, где они доступны) с непосредственным операндом (ADIW, SBIW) работают только с одной из пар r25:r24, r27:r26 (X), r29:r28 (Y), или r31:r30 (Z);

  • Команда копирования пары регистров (в тех моделях, где доступна) работает только с соседними регистрами начинающимися с нечётного (r1:r0, r3:r2, …, r31:r30);

  • Результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r1:r0. Также, только эта пара используется в качестве операндов для команды самопрограммирования (где доступна);

  • Некоторые варианты команд умножения принимают в качестве аргументов только регистры из диапазона r16…r23 (FMUL, FMULS, FMULSU, MULSU).

Система команд микроконтроллеров AVR весьма развита и насчитывает в различных моделях от 90 до 133 различных инструкций.

Большинство команд занимает только 1 ячейку памяти (16 бит). Большинство команд выполняется за 1 такт.

Всё множество команд микроконтроллеров AVR можно разбить на несколько групп:

  • команды логических операций;

  • команды арифметических операций и команды сдвига;

  • команды операции с битами;

  • команды пересылки данных;

  • команды передачи управления;

  • команды управления системой.

Управление периферийными устройствами осуществляется через адресное пространство данных. Для удобства существуют «сокращённые команды» IN/OUT.

AVR32 — 32 битные микроконтроллеры архитектуры RISC, анонсированные фирмой Atmel в 2006 году. Призваны конкурировать с архитектурами фирмы ARM. Может использоваться в КПК и других мобильных высокопроизводительных устройствах. Обладает примечательным соотношением производительность/тактовая частота. Имеет 2 семейства: AVR32 AP и AVR32 UC3.

Большинство инструкций выполняется за один такт. Арифметическое устройство может выполнять операции типа 32-бит * 16-бит + 48-бит за два цикла (результат задержки).

Архитектура AVR состоит из нескольких микроархитектур, более известные из них это AVR32A и AVR32B, которые фиксируют особенности как конфигурации регистров, использование команд и данных кэша.

Архитектура AVR32 используется исключительно в собственных продуктах Atmel. Впервые Atmel представила платформу на ядре AP7 на базе архитектуры AVR32B с 7-уровневым конвейером и кэшем.

На рисунке 1.7.1 показана структура микроконтроллера AVR.

Рисунок 1.7.1 – структура микроконтроллера AVR.