Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Проектирование микропроцессорных систем. Учебное пособие
.pdf
2 Характеристика и классификация микроконтроллеров
2.1 Микропроцессорные системы на микроконтроллерах
Современные микропроцессорные системы разрабатываются на основе
микроконтроллеров. Микроконтроллер (англ. Micro Controller Unit, MCU) –
микросхема, предназначенная для управления электронными устройствами.
Типичный микроконтроллер сочетает в себе функции процессора и
периферийных устройств, содержит в себе ОЗУ и ПЗУ. Современные
микроконтроллеры – это однокристальный компьютер, способный выполнять
не сложные задачи. Кроме того микроконтроллер содержит в себе различные
периферийные устройства, такие как АЦП, мультиплексор, интерфейсы UART,
SPI, USB и т.д. [1,2,5]
Выбор микроконтроллера зависит от поставленных задач. Часто
требуется микроконтроллер с аппаратным умножителем, достаточным
количеством памяти ОЗУ и ПЗУ. Кроме того от микроконтроллера требуется
наличие периферийных устройств: мультиплексор, АЦП, аппаратный USB
интерфейс (для разгрузки ядра микроконтроллера).
Большое распространение получили микроконтроллеры фирмы Atmel.
Среди множества микроконтроллеров можно выделить ATmega32u4 фирмы
Atmel, построенном на ядре AVR 8bit. Данный микроконтроллер отвечает всем
требованиям по производительности и периферии, является недорогим и
популярным среди радиолюбителей и профессионалов. Программирование
данного микроконтроллера осуществляется через интерфейс USB посредством
специальной утилиты фирмы Atmel – Flip [8].
К наиболее распространенным встроенным устройствам относятся
устройства памяти и порты ввода/вывода (I/O), интерфейсы связи, таймеры,
системные часы. Устройства памяти включают оперативную память (RAM),
постоянные запоминающие устройства (ROM), перепрограммируемую ROM
(EPROM), электрически перепрограммируемую ROM (EEPROM). Таймеры
11

включают и часы реального времени, и таймеры прерываний. Средства I/O
Архитектура/
Характеристика
AVR 8 бит
Intel 8051
ARM
Разрядность
8 8 16 - 32
Частота
1 - 16 мГц
1 – 10 мГц
1 – 1000 мГц
Производительность
до 16 MIPS
до 7,5 MIPS
до 48 MPIS
Объем Flash памяти
до 64 кБ
до 64 кБ
до 64 кБ
Объем SRAM
памяти
до 10 кБ
до 5 кБ
до 1024 кБ
Интерфейс USB
Аппаратный/
Программный
Программный
Аппаратный/
Программный
Интерфейс SPI
Аппаратный
Аппаратный
Аппаратный
Интерфейс I2С
Аппаратный
Аппаратный
Аппаратный
Интерфейс UART
Аппаратный
Аппаратный
Аппаратный
Разрядность АЦП
до 12 бит
до 8 бит
до 16 бит
Частота
дискретизации АЦП
9,62 – 615,38 кГц
9,62 – 75 кГц
9,62 – 2000 кГц
Кол – во каналов
АЦП
до 12
до 8
до 16
Доступность
Распространены
Минимальный
выбор
Труднодоступны
Стоимость
от 100 до 500 руб.
от 100 до 500
руб.
от 500 руб.
включают последовательные порты связи, параллельные порты (I/O линии),
аналого-цифровые преобразователи (A/D), цифроаналоговые преобразователи
(D/A), драйверы жидкокристаллического дисплея (LCD) или драйверы
вакуумного флуоресцентного дисплея (VFD). Встроенные устройства обладают
повышенной надежностью, поскольку они не требуют никаких внешних
электрических цепей. Существуют несколько архитектур микроконтроллеров.
Сравнение наиболее применяемых представлено в таблице 2 [21].
Таблица 2 – Сравнение архитектур микроконтроллеров
12

Отличительные особенности микроконтроллера ATmega32u4:
1. Архитектура:
– 8 – разрядный высокопроизводительный AVR микроконтроллер с
малым потреблением;
– ядро RISC архитектуры AVR 8bit;
– больше 130 команд, большинство из которых выполняется за 1 такт;
– встроенный аппаратный перемножитель;
– максимальная частота ядра составляет 16 мГц;
– производительность при частоте 16 мГц достигает 16 MIPS;
2. Энергонезависимая память данных и память программ:
– 32 кБ внутрисистемной программируемой Flash памяти,
обеспечивающей 1000 циклов записи/стирания;
– 2,5 кБ встроенной SRAM;
– 1 кБ EEPROM;
– сектор загрузочных кодов USB дескрипторов, блокировки и фьюзов.
3. Встроенная периферия:
– интерфейс USB спецификации 2.0 с возможностью конфигурирования
режимов Device;
– 2 встроенных SPI интерфейса с режимами работы
мастер/подчиненный;
– встроенный TWI (I2C) интерфейс;
– интерфейс UART;
– встроенный высокопроизводительный 10-битный АЦП с
производительностью до 15 ksps с режимами подавления шумов и пробуждения
ядра;
– 12 канальный мультиплексор;
– аналоговый компаратор;
– температурный датчик ядра;
– 4 16-разрядных таймера счетчика;
– отладочный интерфейс JTAG;
13

4. Специальные микроконтроллерные функции:
Характеристика
Значение
Разрядность
8
Архитектура
RISC
Частота
16 мГц
Производительность
16 MIPS
Объем Flash памяти
32 кБ
Объем SRAM памяти
2,5 кБ
АЦП
12 каналов, 10 бит, 15ksps
Интерфейс USB
2.0, Device
Рабочее напряжение
2,7 – 5,5 В
Рабочая температура
-40 – 85 0С
Корпус
TQFP ML 44
– сброс по подаче питания и программируемый детектор
кратковременного снижения напряжения питания;
– встроенный калиброванный RC – генератор;
– система внутренних и внешних прерываний;
– 5 режимов пониженного потребления: Idle, Power-save, Power-down,
Standby, снижение шумов АЦП.
5. Выводы и корпуса:
– TQFP ML 44, VQFN PW 44;
– 26 программируемых линии ввода/вывода;
6. Рабочее напряжение:
– 2.7 … 5.5 В.;
7. Рабочая температура:
– -40 … 85 0С;
Для оценки микроконтроллера необязательно рассматривать все
параметры, достаточно выделить необходимые для поставленных задач на
основании технической документации производителя Atmel. Технические
характеристики приведены в таблице 3.
Таблица 3 – Технические характеристики ATmega32u4
14

Расположение выводов микроконтроллера ATmega32u4 в корпусе TQFP
ML 44 представлено на рисунке 1.
Рисунок 1 – Расположение и назначение выводов ATmega32u4
Микроконтроллер ATmega32u4 имеет 44 вывода. Из них:
– 6 выводов отведены под питание ядра и периферии, кроме АЦП;
– 3 вывода обеспечивают питание и фильтрацию напряжения АЦП;
– 2 вывода предназначены для подключения внешнего кварцевого
резонатора;
– 1 вывод обеспечивает сброс микроконтроллера;
– 6 вывода отведены для работы аппаратного USB;
– 6 выводов – порт PF;
15

– 2 вывод – порт PE;
№
выводов
Наименование
Тип
Описание
43,35,23,15
GND
Вход
Общий (земля)
34,14
VCC
Вход
Напряжение питания ядра и периферии
(2,7 – 5,5 В)
№
выводов
Наименование
Тип
Описание
44, 24
AVCC
Вход
Напряжение питания АЦП (2,7 – 5,5 В)
42
AREF
Вход
Опорное напряжение АЦП (0 – 5,5 В)
№
выводов
Наименование
Тип
Описание
16
XTAL2
Вход
Внешний кварцевый резонатор
17
XTAL1
Вход
Внешний кварцевый резонатор
– 2 вывода – порт PC;
– 8 вывода – порт PB;
– 8 вывода – порт PD;
Порт PF может использоваться как входы АЦП либо как интерфейс
JTAG. Порт PE состоит из 2-х выводов, один из которых отвечает за запуск
внутрисистемного загрузчика USB для прошивки, а второй – как внешнее
прерывание микроконтроллера. Порт PC является портом ввода/вывода с тремя
состояниями. Порт PB является многофункциональным и программируемым.
На его выводы можно настроить работу АЦП, внешние прерывания таймеров, и
интерфейс SPI. Кроме того данный порт может использоваться как порт
ввода/вывода. Порт PD – многофункциональный и программируемый. Выводы
данного порта могут быть настроены как внешние прерывания, интерфейс
UART, входы АЦП или линии ввода/вывода. Описание назначения выводов
приведено в таблицах 4, 5, 6, 7, 8, 9, 10 [29].
Таблица 4– Описание выводов питания
Таблица 5– Описание выводов питания АЦП
Таблица 6 – Описание выводов внешнего генератора
16

Таблица 7 – Описание вывода сброса микроконтроллера
№
выводов
Наименование
Тип
Описание
13
RESET
Вход
Сброс микроконтроллера
№
выводов
Наименование
Тип
Описание
2
UVcc
Вход
Питание аппаратного USB (3,3 – 5 В)
3
D-
Выход
Выход данных USB интерфейса
4
D+
Вход
Вход данных USB интерфеса
5
UGnd
Вход
Общий (земля) аппаратного USB
6
UCap
Выход
Фильтр питания аппаратного USB
7
VBus
Вход
Определение подключения интерфейса
USB к ПК или иному USB host
устройству
№
выводов
Наименование
Тип
Описание
41
ADC0
Вход
Вход 1 канала АЦП
40
ADC1
Вход
Вход 2 канала АЦП
39
ADC4/TCK
Вход
Вход интерфейса JTAG
38
ADC5/TMS
Вход/Выход
Выход интерфейса JTAG
37
ADC6/TDO
Вход
Вход интерфейса JTAG
36
ADC7/TDI
Вход/Выход
Выход интерфейса JTAG
№
выводов
Наименование
Тип
Описание
1 2 3
4
32
ICP3/CLK0/OC4A
Вход/Выход
Вывод с тремя состояниями,
вывод тактирования I2C
31
OC3A/OC4A
Вход/Выход
Вывод с тремя состояниями
Таблица 8 – Описание выводов аппаратного USB
Таблица 9– Описание выводов порта PF
Таблица 10 – Описание выводов порта PC
Для решения поставленных задач необходимо задействовать
обязательные выводы питания микроконтроллера и АЦП, вывода для
подключения внешнего кварцевого резонатора, вывода интерфейса USB, а
остальные выводы используются для заданных функций МПС.
17

2.2 Разработка схемы питания АЦП и цепей коррекции входного
сигнала
Питание АЦП. Качество аналого-цифрового преобразования зависит от
режима работы АЦП. Режим работы АЦП зависит от выбора опорного
входного сигнала и питания АЦП. Ввиду того, что АЦП в микроконтроллере
ATmega32u4 располагается на одном кристалле с ядром, тактовым генератором,
памятью и другими устройствами микроконтроллера, неизбежно наложение
шумов на входной сигнал и, как следствие, искажение преобразования. Для
устранения данного эффекта необходимо разделить цепи питания АЦП и
устройств микроконтроллера. Фирма разработчик Atmel рекомендуют
использовать LC фильтр по питанию АЦП [3,13].
Точность преобразования АЦП зависит от режима работы опорного
генератора. Опорное напряжение необходимо для сравнения входного сигнала
с эталоном (опорным напряжением). АЦП микроконтроллера ATmega32u4
допускает три режима работы генератора опорного напряжения:
– опорное напряжение равно напряжению питания АЦП (вывод AREF
соединяется с выводами AVCC микроконтроллера. Недостатком данного
режима является наложение шумов цепей питания на опорное напряжение, в
результате чего качество преобразования снижается. Данный режим подходит
для преобразования постоянного входного напряжения;
– опорное напряжение формируется встроенным генератором. Значение
напряжение равно значению напряжения питания АЦП, однако благодаря
внутреннем цепям фильтрации, лишено помех по питанию. Вывод AREF через
ёмкость подключается к общему проводу (земля). Данный режим оптимален
для преобразования однополярного переменного сигнала;
– опорное напряжение формируется встроенным генератором и равно
половине напряжения питания АЦП. Вывод AREF через ёмкость подключается
к общему проводу (земля). Данный режим, при использовании делителя
напряжения во входных цепях АЦП, позволяет преобразовывать двуполярный,
18

переменный сигнал. Схема подключения АЦП микроконтроллера с фильтром
по питанию и внутреннем генератором опорного напряжения AVCC
представлена на рисунке 2.
Рисунок 2 – Схема подключения цепей питания АЦП микроконтроллера
ATmega32u4
Данный способ подключения АЦП исключает наложение шумов и помех
от устройств микроконтроллера в цепи питания и опорного напряжения АЦП.
2.3 Платформы Arduino, характеристики и применение для
микропроцессорных систем
Одним из распространенных на сегодняшний день микропроцессорным
устройством является платформа Arduino.
Arduino — это платформа с открытым кодом на основе встроенного
микроконтроллера и среды разработки с программным интерфейсом API для
микроконтроллеров. Для взаимодействия между микроконтроллером и
пользователем могут присоединяться различные цифровые и аналоговые
датчики, которые передают данные в микроконтроллер и регистрируют
19

состояние подключенных устройств. Микроконтроллер обрабатывает входные
данные, а программа выдает новые данные в виде аналоговых или цифровых
значений. Arduino — аппаратно-программные средства для построения простых
систем автоматики и робототехники, ориентированная на моделирование [9].
Платформа Arduino применяется для проектирования различных систем
автоматического управления, может быть реализовано программирование через
персональную ЭВМ с помощью различных интерфейсов.
Интеллектуальным ядром платформы Arduino является микроконтроллер,
распространен микроконтроллер ATmega. Платформа содержит
микропроцессор, порты ввода-вывода, АЦП, контроллеры прерываний и другие
модули. Микроконтроллеры выполняют функции приема и преобразования
информации с клавиатуры или с датчиков, измеряющих различные показатели,
такие как температура, влажность, давление и другие, а также формируют
управляющие сигналы на исполнительные механизмы, отправляют
информацию на клиентские устройства, использую проводную или
беспроводную связь.
Выбор платформы Arduino производится в соответствии с поставленными
задачами, а также ориентируясь на цену и сложность системы
Микроконтроллер Arduino представляет собой плату с собственной памятью и
микропроцессором, используется для проектирования электронных устройств.
Аппаратная часть платформы Arduino включает несколько моделей базовых
модулей и множество плат расширения (shields). Базовые платы отличаются
форм-фактором, числом портов, набором интерфейсов и используемым
микроконтроллером. В каждом контроллере уже записана программа
начального загрузчика. Популярность платформы Arduino во многом
обусловлена удобством ее программирования. Для написания программного
кода используется специальная версия языка C/C++, бесплатная среда
разработки Arduino IDE, которая позволяет разрабатывать и отлаживать
программный код (скетчи – sketches), а затем загружать его в микроконтроллер
базового модуля через USB-интерфейс [10,26].
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
