Слайд 21. Назначение микроконтроллеров
Микроконтроллер – это специализированный микропроцессор, предназначенный для построения устройств

управления техническими объектами и технологическими процессами.
Конструктивно микроконтроллер представляет собой большую интегральную схему (БИС), на кристалле которой размещены все составные части типовой вычислительной системы: микропроцессор, память, а также периферийные устройства для реализации дополнительных функций.
Так как все элементы микроконтроллера размещены на одном кристалле, их также называют однокристальными (однокорпусными) микроЭВМ или однокристальными микроконтроллерами.
Цель применения микроконтроллеров – сокращение числа компонентов, уменьшение размеров и снижение стоимости приборов (систем).
Слайд 3Характерные черты микроконтроллеров
Характерные черты микроконтроллеров:
RISC-архитектура (RISC – Reduced Instruction Set Computer –

вычислитель с сокращённым набором команд);
незначительная ёмкость памяти;
физическое и логическое разделение памяти программ и памяти данных;
система команд ориентирована на решение задачи управления.
Микроконтроллеры предназначены для решения задач управления, контроля, регулирования и первичной обработки информации и менее эффективны при реализации сложных алгоритмов обработки данных.
Микроконтроллеры составляют наиболее широкий класс микропроцессоров, используемых в приборах, устройствах и системах различного назначения.
Слайд 4Состав типовой микроконтроллерной системы
В состав типовой микроконтроллерной системы управления входит микроконтроллер и

аппаратура его сопряжения с объектом управления.
ФСУ – формирователи сигналов управления; ИУ – исполнительные устройства; Д – датчики; ФСС – формирователи сигналов состояния
Слайд 5Функционирование типовой микроконтроллерной системы (1)
Микроконтроллер производит периодический опрос сигналов состояния объекта и

в соответствии с заложенным алгоритмом генерирует последовательности сигналов управления.
Сигналы состояния характеризуют текущие параметры объекта управления. Они формируются путём преобразования выходных сигналов датчиков (Д) с помощью аналого-цифровых преобразователей (АЦП) или формирователей сигналов состояния (ФСС); последние чаще всего выполняют функции гальванической развязки и формирования уровней.
Сигналы управления, выработанные микроконтроллером, подвергаются преобразованию с помощью цифро-аналоговых преобразователей (ЦАП) или формирователей сигналов управления (ФСУ), в качестве которых применяются усилители мощности, оптроны, транзисторные и тиристорные ключи и др. Выходные сигналы ЦАП и ФСУ представляют собой соответственно аналоговые и дискретные управляющие воздействия, которые поступают на исполнительные устройства (ИУ).
Слайд 6Функционирование типовой микроконтроллерной системы (2)
В системе могут быть также предусмотрены:
панель управления,
устройство индикации;
интерфейс

для обмена информацией с внешними устройствами и другие устройства.
В зависимости от назначения и характеристик конкретной системы некоторые из указанных элементов могут отсутствовать.
Разрядность выпускаемых микроконтроллеров варьируется от 4 до 64 бит.
Наибольшее распространение получили 8-разрядные микроконтроллеры как пригодные для использования в различных приложениях и имеющие низкую стоимость.
Характерными представителями таких устройств являются микроконтроллеры семейства AVR фирмы Atmel (http://www.atmel.com).
Слайд 7Семейства 8-разрядных микроконтроллеров
Семейства MCS51 (8051)-совместимых микроконтроллеров фирм Philips, Dallas Semiconductor, Atmel, Cypress,

Cygnal, Winbond и многих других
Семейство PIC-контроллеров фирмы Microchip
Семейство AVR-микроконтроллеров фирмы Atmel
Семейство 68НС05/68НС08/68НС11 фирмы Motorola
Семейство Z8/Z80 фирмы Zilog
Семейство ST7 фирмы STMicroelectronics
…и огромное количество микроконтроллеров других фирм!
Слайд 8Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
2. Архитектура AVR-микроконтроллеров
AVR-микроконтроллеры

– это 8-разрядные RISC-микроконтроллеры, отличительными особенностями которых являются наличие FLASH-памяти программ, широкий спектр периферийных устройств, высокая вычислительная производительность, а также доступность средств разработки программного обеспечения.
В состав семейства AVR в настоящее время входит более 50 различных устройств, которые подразделяются на несколько групп.
Универсальные AVR-микроконтроллеры входят в группы Tiny AVR и Mega AVR.
Tiny AVR (ATtinyXХX) – дешёвые устройства с небольшим количеством выводов.
Mega AVR (ATmegaXХX) – мощные AVR-микроконтроллеры, имеющие наибольшие объёмы памяти и количество выводов, а также максимально полный набор периферийных устройств.
Слайд 9Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Архитектура AVR-микроконтроллеров (2)
Специализированные

AVR-микроконтроллеры представлены следующими группами:
LCD AVR (ATmega169Х, ATmega329Х) – микроконтроллеры для работы с жидкокристаллическими индикаторами;
USB AVR (AT43USBXХX, AT76C711) – микроконтроллеры с интерфейсом USB;
Z-Link AVR (ATmegaXХRZX, ATXХRZX) – микроконтроллеры с интерфейсом ZigBee;
CAN AVR (AT90CANXX, AT90CANXXX)– микроконтроллеры с интерфейсом CAN;
DVD AVR (AT78CXХX) – контроллеры CD/DVD-приводов;
RF AVR (AT86RFХХХ) – микроконтроллеры для построения систем беспроводной связи;
Secure AVR (AT90SCXХХX, AT97SCXХХX) – микроконтроллеры для смарт-карт;
Smart Battery AVR (ATmega406) – микроконтроллер для управления зарядом батарей;
Lighting AVR (AT90PWMXX) – микроконтроллеры для управления электронным балластом люминесцентных ламп;
FPGA AVR (AT94KXХAL) – AVR-микроконтроллеры, выполненные на одном кристалле с ПЛИС.
Кроме того, ранее выпускалась группа Classic AVR (AT90SXXХX) – устройства, занимающие промежуточное положение между микроконтроллерами групп Mega и Tiny (заменены совместимыми усовершенствованными аналогами группы Mega).
Слайд 10Архитектура AVR-микроконтроллеров (3)

Слайд 11Архитектура AVR-микроконтроллеров (4)
AVR-микроконтроллеры содержат на кристалле следующие аппаратные средства:
8-разрядное процессорное ядро;
память программ;
оперативную

память данных;
энергонезависимую память данных;
регистры ввода-вывода;
схему прерываний;
схему программирования;
периферийные устройства.
Процессорное ядро (Central Processing Unit – CPU) AVR-микроконтроллеров содержит арифметико-логическое устройство (АЛУ), регистры общего назначения (РОН), программный счётчик, указатель стека, регистр состояния, регистр команд, дешифратор команд, схему управления выполнением команд.
Слайд 12Архитектура AVR-микроконтроллеров (5)

Слайд 13Архитектура AVR-микроконтроллеров (6)

Слайд 14Архитектура AVR-микроконтроллеров (7)
Регистры общего назначения представляют собой 8-разрядные ячейки памяти с быстрым

доступом, непосредственно доступные АЛУ. В AVR-микроконтроллерах имеется 32 РОН.
Программный счётчик (Program Counter – PC) содержит адрес следующей выполняемой команды.
Указатель стека (Stack Pointer – SP) служит для хранения адреса вершины стека.
Регистр состояния (Status Register – SREG) содержит слово состояния процессора.
Регистр команд, дешифратор команд и схема управления выполнением команд обеспечивают выборку из памяти программ команды, адрес которой содержится в программном счётчике, её декодирование, определение способа доступа к указанным в команде аргументам и собственно выполнение команды.
Слайд 15Архитектура AVR-микроконтроллеров (8)
Для ускорения выполнения команд используется механизм конвейеризации, который заключается в

том, что во время исполнения текущей команды программный код следующей выбирается из памяти и декодируется.
Память AVR-микроконтроллеров организована по схеме гарвардского типа – адресные пространства памяти программ и памяти данных разделены.
Память программ представляет собой перепрограммируемое ПЗУ типа FLASH и выполнена в виде последовательности 16-разрядных ячеек, так как большинство команд AVR-микроконтроллера являются 16-разрядными словами. Гарантируется не менее 100 000 циклов перезаписи. Память программ имеет размер от 2 до 256 Kбайт (от 1 до 128 Kслов).
Слайд 16Архитектура AVR-микроконтроллеров (9)
Оперативная память данных представляет собой статическое ОЗУ (SRAM – Static

Random-Access Memory) и организована как последовательность 8-разрядных ячеек. Оперативная память данных может быть внутренней (до 16 Kбайт) и внешней (до 64 Кбайт).
Энергонезависимая (nonvolatile) память данных организована как последовательность 8-разрядных ячеек и представляет собой перепрограммируемое ПЗУ с электрическим стиранием (РПЗУ-ЭС или EEPROM – Electrically Erasable Programmable Read-only Memory). Энергонезависимая память данных имеет размер до 64 Кбайт.
Регистры ввода-вывода предназначены для управления процессорным ядром и периферийными устройствами AVR-микроконтроллера.
Схема прерываний обеспечивает возможность асинхронного прерывания процесса выполнения программы при определённых условиях.
Слайд 17Архитектура AVR-микроконтроллеров (10)
К периферийным устройствам AVR-микроконтроллера относятся:
порты ввода-вывода;
таймеры;
счётчики;
сторожевой таймер;
аналоговый компаратор;
аналого-цифровой преобразователь;
универсальный асинхронный

(синхронно-асинхронный) приёмопередатчик – УАПП (УСАПП);
последовательный периферийный интерфейс SPI;
отладочный интерфейс JTAG и др.
Набором периферийных устройств определяются функциональные возможности микроконтроллера.
Обмен информацией между устройствами AVR-микроконтроллера осуществляется посредством внутренней 8-разрядной шины данных.
Слайд 183. Программная модель AVR-микроконтроллеров
Программная модель микропроцессора представляет собой совокупность программно доступных

ресурсов.
В программную модель микроконтроллеров семейства AVR входят следующие элементы:
РОН;
регистры ввода-вывода;
память программ;
оперативная память данных;
энергонезависимая память данных.
Слайд 19Программная модель AVR-микроконтроллеров (2)

Слайд 20Программная модель AVR-микроконтроллеров (3)
РОН (R0…R31) могут использоваться в программе для хранения данных,

адресов, констант и другой информации. Шесть старших регистров объединены попарно и составляют три 16-разрядных регистра Х [R27:R26], Y [R29:R28] и Z [R31:R30].
РОН, регистры ввода-вывода и оперативная память данных образуют единое адресное пространство.
Адресное пространство – это множество доступных ячеек памяти, различимых по адресам; адресом называется число, однозначно идентифицирующее ячейку памяти (регистр).
Слайд 21Программная модель AVR-микроконтроллеров (4)
Адреса ячеек памяти традиционно записываются в шестнадцатеричной системе счисления,

на что указывает знак $ в обозначении адреса.
Существует две конфигурации единого адресного пространства памяти AVR-микроконтроллеров.
В конфигурации А младшие 32 адреса ($0000…$001F) соответствуют РОН, следующие 64 адреса ($0020…$005F) занимают регистры ввода-вывода, внутренняя оперативная память данных начинается с адреса $0060.
В конфигурации В начиная с адреса $0060 размещаются 160 дополнительных регистров ввода-вывода; внутренняя оперативная память данных начинается с адреса $0100.
Конфигурация А используется в младших моделях микроконтроллеров и в некоторых старших моделях в режиме совместимости с моделями, снятыми с производства; конфигурация В – в старших моделях.
Слайд 22Программная модель AVR-микроконтроллеров (5)
В память программ, кроме собственно программы, могут быть записаны

постоянные данные, которые не изменяются в процессе работы микропроцессорной системы (константы, таблицы линеаризации датчиков и т. п.).
Выполнение программы при включении питания или после сброса микроконтроллера начинается с команды, находящейся по адресу $0000 (т. е. в первой ячейке) памяти программ.
Энергонезависимая память данных предназначена для хранения информации, которая может изменяться непосредственно в процессе работы микропроцессорной системы (калибровочные коэффициенты, конфигурационные параметры и т. п.).
Энергонезависимая память данных имеет отдельное адресное пространство и может быть считана и записана программным путём.
Слайд 234. Система команд AVR-микроконтроллеров
Система команд (instruction set) микропроцессора представляет собой совокупность

выполняемых микропроцессором операций и правил их кодирования в программе.
Система команд AVR-микроконтроллеров включает следующие группы:
команды (инструкции) арифметических и логических операций;
команды ветвления, управляющие последовательностью выполнения программы;
команды передачи данных;
команды операций с битами.
Всего в систему команд входит более 130 инструкций. Младшие модели микроконтроллеров не поддерживают некоторых из них.
Слайд 24Система команд AVR-микроконтроллеров (2)
В зависимости от количества используемых операндов возможны три типа

команд AVR-микроконтроллера:
безадресные;
одноадресные;
двухадресные.
В первом типе команд присутствует только код операции (КОП), определяющий выполняемую командой функцию.
В командах второго и третьего типов помимо кода операции содержится адресная часть, устанавливающая способ доступа соответственно к одному или двум участвующим в команде операндам (аргументам команды).
Способ формирования адреса операнда, указание на который содержится в команде, называется адресацией (addressing).
С помощью того или иного способа адресации вычисляется физический адрес, подающийся на шину адреса процессора для выбора ячейки памяти или регистра, используемых в команде.
Слайд 25Система команд AVR-микроконтроллеров (3)
Классификация способов адресации в соответствии с типом адресуемой памяти

способы адресации:
способы адресации РОН и регистров ввода-вывода;
способы адресации оперативной памяти данных (ОЗУ);
способы адресации памяти программ.
Возможность использования различных способов адресации позволяет сократить размер и время выполнения программ.
Для адресации РОН и регистров ввода-вывода предусмотрен всего один режим – прямая регистровая адресация.
Для адресации оперативной памяти данных используются пять способов адресации:
непосредственная;
косвенная;
косвенная со смещением;
косвенная с предекрементом;
косвенная с постинкрементом.
Слайд 26Система команд AVR-микроконтроллеров (4)
Для адресации памяти программ используются следующие способы:
непосредственная адресация;
косвенная адресация;
относительная

адресация;
адресация константы;
адресация константы с постинкрементом.
При выполнении арифметических и логических команд, а также команд работы с битами в регистре состояния SREG формируются коды условий (C, Z, N, V, S, H), представляющие собой признаки результата операции.
Регистр состояния SREG находится в адресном пространстве регистров ввода-вывода.