- •Введение
- •Теоретическая часть
- •Общая характеристика 32-разрядных arm-микроконтроллеров
- •Архитектура, принцип работы и возможности 32-разрядных arm-микроконтроллеров серии stm 32 f100 c4
- •Порты общего назначения gpio
- •Организация памяти в микроконтроллерах stm32
- •Универсальный последовательный порт usart
- •Микропроцессорная система на базе 32-разрядного avr-микроконтроллера серии stm32
- •Рекомендации по включению микроконтроллера pic16f84a
- •Расчетная часть
- •Расчет принципиальной схемы устройства на базе микроконтроллера pic16f84a
- •Разработка блок схемы алгоритма работы микроконтроллера
- •Разработка программы и hex-файла программы
- •Разработка печатной платы устройства
- •Заключение
- •Список используемых источников
Микропроцессорная система на базе 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.
