Слайд 1Цифровые вычислительные устройства и микропроцессоры приборных комплексов
Микроконтроллеры
Соловьёв Сергей Юрьевич, канд.
техн. наук, доцент кафедры 303
Ушаков Андрей Николаевич, ассистент кафедры 303
Слайд 2Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
1.
Назначение микроконтроллеров
Микроконтроллер – это специализированный микропроцессор, предназначенный для построения
устройств управления техническими объектами и технологическими процессами.
Конструктивно микроконтроллер представляет собой большую интегральную схему (БИС), на кристалле которой размещены все составные части типовой вычислительной системы: микропроцессор, память, а также периферийные устройства для реализации дополнительных функций.
Так как все элементы микроконтроллера размещены на одном кристалле, их также называют однокристальными (однокорпусными) микроЭВМ или однокристальными микроконтроллерами.
Цель применения микроконтроллеров – сокращение числа компонентов, уменьшение размеров и снижение стоимости приборов (систем).
Слайд 3Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Характерные
черты микроконтроллеров
Характерные черты микроконтроллеров:
RISC-архитектура (RISC – Reduced Instruction Set Computer
– вычислитель с сокращённым набором команд);
незначительная ёмкость памяти;
физическое и логическое разделение памяти программ и памяти данных;
система команд ориентирована на решение задачи управления.
Микроконтроллеры предназначены для решения задач управления, контроля, регулирования и первичной обработки информации и менее эффективны при реализации сложных алгоритмов обработки данных.
Микроконтроллеры составляют наиболее широкий класс микропроцессоров, используемых в приборах, устройствах и системах различного назначения.
Слайд 4Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Состав
типовой микроконтроллерной системы
В состав типовой микроконтроллерной системы управления входит микроконтроллер
и аппаратура его сопряжения с объектом управления.
ФСУ – формирователи сигналов управления; ИУ – исполнительные устройства; Д – датчики; ФСС – формирователи сигналов состояния
Слайд 5Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Функционирование
типовой микроконтроллерной системы (1)
Микроконтроллер производит периодический опрос сигналов состояния объекта
и в соответствии с заложенным алгоритмом генерирует последовательности сигналов управления.
Сигналы состояния характеризуют текущие параметры объекта управления. Они формируются путём преобразования выходных сигналов датчиков (Д) с помощью аналого-цифровых преобразователей (АЦП) или формирователей сигналов состояния (ФСС); последние чаще всего выполняют функции гальванической развязки и формирования уровней.
Сигналы управления, выработанные микроконтроллером, подвергаются преобразованию с помощью цифро-аналоговых преобразователей (ЦАП) или формирователей сигналов управления (ФСУ), в качестве которых применяются усилители мощности, оптроны, транзисторные и тиристорные ключи и др. Выходные сигналы ЦАП и ФСУ представляют собой соответственно аналоговые и дискретные управляющие воздействия, которые поступают на исполнительные устройства (ИУ).
Слайд 6Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Функционирование
типовой микроконтроллерной системы (2)
В системе могут быть также предусмотрены:
панель управления,
устройство
индикации;
интерфейс для обмена информацией с внешними устройствами и другие устройства.
В зависимости от назначения и характеристик конкретной системы некоторые из указанных элементов могут отсутствовать.
Разрядность выпускаемых микроконтроллеров варьируется от 4 до 64 бит.
Наибольшее распространение получили 8-разрядные микроконтроллеры как пригодные для использования в различных приложениях и имеющие низкую стоимость.
Характерными представителями таких устройств являются микроконтроллеры семейства AVR фирмы Atmel (http://www.atmel.com).
Слайд 7Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 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Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Архитектура
AVR-микроконтроллеров (3)
Слайд 11Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Архитектура
AVR-микроконтроллеров (4)
AVR-микроконтроллеры содержат на кристалле следующие аппаратные средства:
8-разрядное процессорное ядро;
память
программ;
оперативную память данных;
энергонезависимую память данных;
регистры ввода-вывода;
схему прерываний;
схему программирования;
периферийные устройства.
Процессорное ядро (Central Processing Unit – CPU) AVR-микроконтроллеров содержит арифметико-логическое устройство (АЛУ), регистры общего назначения (РОН), программный счётчик, указатель стека, регистр состояния, регистр команд, дешифратор команд, схему управления выполнением команд.
Слайд 12Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Архитектура
AVR-микроконтроллеров (5)
Слайд 13Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Архитектура
AVR-микроконтроллеров (6)
Слайд 14Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Архитектура
AVR-микроконтроллеров (7)
Регистры общего назначения представляют собой 8-разрядные ячейки памяти с
быстрым доступом, непосредственно доступные АЛУ. В AVR-микроконтроллерах имеется 32 РОН.
Программный счётчик (Program Counter – PC) содержит адрес следующей выполняемой команды.
Указатель стека (Stack Pointer – SP) служит для хранения адреса вершины стека.
Регистр состояния (Status Register – SREG) содержит слово состояния процессора.
Регистр команд, дешифратор команд и схема управления выполнением команд обеспечивают выборку из памяти программ команды, адрес которой содержится в программном счётчике, её декодирование, определение способа доступа к указанным в команде аргументам и собственно выполнение команды.
Слайд 15Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Архитектура
AVR-микроконтроллеров (8)
Для ускорения выполнения команд используется механизм конвейеризации, который заключается
в том, что во время исполнения текущей команды программный код следующей выбирается из памяти и декодируется.
Память AVR-микроконтроллеров организована по схеме гарвардского типа – адресные пространства памяти программ и памяти данных разделены.
Память программ представляет собой перепрограммируемое ПЗУ типа FLASH и выполнена в виде последовательности 16-разрядных ячеек, так как большинство команд AVR-микроконтроллера являются 16-разрядными словами. Гарантируется не менее 100 000 циклов перезаписи. Память программ имеет размер от 2 до 256 Kбайт (от 1 до 128 Kслов).
Слайд 16Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Архитектура
AVR-микроконтроллеров (9)
Оперативная память данных представляет собой статическое ОЗУ (SRAM –
Static Random-Access Memory) и организована как последовательность 8-разрядных ячеек. Оперативная память данных может быть внутренней (до 16 Kбайт) и внешней (до 64 Кбайт).
Энергонезависимая (nonvolatile) память данных организована как последовательность 8-разрядных ячеек и представляет собой перепрограммируемое ПЗУ с электрическим стиранием (РПЗУ-ЭС или EEPROM – Electrically Erasable Programmable Read-only Memory). Энергонезависимая память данных имеет размер до 64 Кбайт.
Регистры ввода-вывода предназначены для управления процессорным ядром и периферийными устройствами AVR-микроконтроллера.
Схема прерываний обеспечивает возможность асинхронного прерывания процесса выполнения программы при определённых условиях.
Слайд 17Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Архитектура
AVR-микроконтроллеров (10)
К периферийным устройствам AVR-микроконтроллера относятся:
порты ввода-вывода;
таймеры;
счётчики;
сторожевой таймер;
аналоговый компаратор;
аналого-цифровой преобразователь;
универсальный
асинхронный (синхронно-асинхронный) приёмопередатчик – УАПП (УСАПП);
последовательный периферийный интерфейс SPI;
отладочный интерфейс JTAG и др.
Набором периферийных устройств определяются функциональные возможности микроконтроллера.
Обмен информацией между устройствами AVR-микроконтроллера осуществляется посредством внутренней 8-разрядной шины данных.
Слайд 18Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
3.
Программная модель AVR-микроконтроллеров
Программная модель микропроцессора представляет собой совокупность программно
доступных ресурсов.
В программную модель микроконтроллеров семейства AVR входят следующие элементы:
РОН;
регистры ввода-вывода;
память программ;
оперативная память данных;
энергонезависимая память данных.
Слайд 19Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Программная
модель AVR-микроконтроллеров (2)
Слайд 20Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Программная
модель AVR-микроконтроллеров (3)
РОН (R0…R31) могут использоваться в программе для хранения
данных, адресов, констант и другой информации. Шесть старших регистров объединены попарно и составляют три 16-разрядных регистра Х [R27:R26], Y [R29:R28] и Z [R31:R30].
РОН, регистры ввода-вывода и оперативная память данных образуют единое адресное пространство.
Адресное пространство – это множество доступных ячеек памяти, различимых по адресам; адресом называется число, однозначно идентифицирующее ячейку памяти (регистр).
Слайд 21Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Программная
модель AVR-микроконтроллеров (4)
Адреса ячеек памяти традиционно записываются в шестнадцатеричной системе
счисления, на что указывает знак $ в обозначении адреса.
Существует две конфигурации единого адресного пространства памяти AVR-микроконтроллеров.
В конфигурации А младшие 32 адреса ($0000…$001F) соответствуют РОН, следующие 64 адреса ($0020…$005F) занимают регистры ввода-вывода, внутренняя оперативная память данных начинается с адреса $0060.
В конфигурации В начиная с адреса $0060 размещаются 160 дополнительных регистров ввода-вывода; внутренняя оперативная память данных начинается с адреса $0100.
Конфигурация А используется в младших моделях микроконтроллеров и в некоторых старших моделях в режиме совместимости с моделями, снятыми с производства; конфигурация В – в старших моделях.
Слайд 22Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Программная
модель AVR-микроконтроллеров (5)
В память программ, кроме собственно программы, могут быть
записаны постоянные данные, которые не изменяются в процессе работы микропроцессорной системы (константы, таблицы линеаризации датчиков и т. п.).
Выполнение программы при включении питания или после сброса микроконтроллера начинается с команды, находящейся по адресу $0000 (т. е. в первой ячейке) памяти программ.
Энергонезависимая память данных предназначена для хранения информации, которая может изменяться непосредственно в процессе работы микропроцессорной системы (калибровочные коэффициенты, конфигурационные параметры и т. п.).
Энергонезависимая память данных имеет отдельное адресное пространство и может быть считана и записана программным путём.
Слайд 23Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
4.
Система команд AVR-микроконтроллеров
Система команд (instruction set) микропроцессора представляет собой
совокупность выполняемых микропроцессором операций и правил их кодирования в программе.
Система команд AVR-микроконтроллеров включает следующие группы:
команды (инструкции) арифметических и логических операций;
команды ветвления, управляющие последовательностью выполнения программы;
команды передачи данных;
команды операций с битами.
Всего в систему команд входит более 130 инструкций. Младшие модели микроконтроллеров не поддерживают некоторых из них.
Слайд 24Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Система
команд AVR-микроконтроллеров (2)
В зависимости от количества используемых операндов возможны три
типа команд AVR-микроконтроллера:
безадресные;
одноадресные;
двухадресные.
В первом типе команд присутствует только код операции (КОП), определяющий выполняемую командой функцию.
В командах второго и третьего типов помимо кода операции содержится адресная часть, устанавливающая способ доступа соответственно к одному или двум участвующим в команде операндам (аргументам команды).
Способ формирования адреса операнда, указание на который содержится в команде, называется адресацией (addressing).
С помощью того или иного способа адресации вычисляется физический адрес, подающийся на шину адреса процессора для выбора ячейки памяти или регистра, используемых в команде.
Слайд 25Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Система
команд AVR-микроконтроллеров (3)
Классификация способов адресации в соответствии с типом адресуемой
памяти способы адресации:
способы адресации РОН и регистров ввода-вывода;
способы адресации оперативной памяти данных (ОЗУ);
способы адресации памяти программ.
Возможность использования различных способов адресации позволяет сократить размер и время выполнения программ.
Для адресации РОН и регистров ввода-вывода предусмотрен всего один режим – прямая регистровая адресация.
Для адресации оперативной памяти данных используются пять способов адресации:
непосредственная;
косвенная;
косвенная со смещением;
косвенная с предекрементом;
косвенная с постинкрементом.
Слайд 26Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Система
команд AVR-микроконтроллеров (4)
Для адресации памяти программ используются следующие способы:
непосредственная адресация;
косвенная
адресация;
относительная адресация;
адресация константы;
адресация константы с постинкрементом.
При выполнении арифметических и логических команд, а также команд работы с битами в регистре состояния SREG формируются коды условий (C, Z, N, V, S, H), представляющие собой признаки результата операции.
Регистр состояния SREG находится в адресном пространстве регистров ввода-вывода.
Слайд 27Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
Коды
условий
Разряд С (carry – перенос) устанавливается, если при выполнении команды
был перенос из старшего разряда результата.
Разряд Z (zero – нуль) устанавливается, если результат выполнения команды равен нулю.
Разряд N (negative – отрицательный результат) устанавливается, если старший значащий разряд результата равен 1 (правильно показывает знак результата, если не было переполнения разрядной сетки числа со знаком).
Разряд V (overflow – переполнение) устанавливается, если при выполнении команды произошло переполнение разрядной сетки числа со знаком.
Разряд S = N V (sign – знак) правильно показывает знак результата при переполнении разрядной сетки числа со знаком.
Разряд H (half carry – полуперенос) устанавливается, если при выполнении команды был перенос из третьего разряда результата.