Микроконтроллеры для систем автоматики
Покупка
Основная коллекция
Тематика:
Микроэлектроника. Наноэлектроника
Издательство:
Инфра-Инженерия
Год издания: 2022
Кол-во страниц: 168
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-9729-1071-7
Артикул: 646544.02.99
Учебное пособие предназначено для студентов направлений 13.03.02 «Электроэнергетика и электротехника» и 09.03.01 «Информатика и вычислительная техника», изучающих курс «Микропроцессорные системы». Все основные понятия микропроцессорной техники в пособии рассмотрены на примерах современных AVR-микроконтроллеров фирмы Atmel. Пособие может быть использовано студентами других направлений при изучении современных микропроцессорных систем.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 13.03.02: Электроэнергетика и электротехника
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
А. М. Водовозов МИКРОКОНТРОЛЛЕРЫ ДЛЯ СИСТЕМ АВТОМАТИКИ Учебное пособие 2-е издание, исправленное и дополненное Москва Вологда «Инфра-Инженерия» 2022
УДК 621.375 ББК 32.85 В62 Р е ц е н з е н т ы : кандидат технических наук, доцент, зам. главного энергетика ООО МП «Межрайонные электротеплосети» С. Б. Федотовский; кандидат технических наук, зав. кафедрой прикладной информатики и естественно-математических наук Вологодского института бизнеса Н. А. Хромцова Водовозов, А. М. В62 Микроконтроллеры для систем автоматики : учебное пособие / А. М. Водовозов. 2-е изд., испр. и доп. - Москва ; Вологда : Инфра-Инженерия, 2022. - 168 с. : ил., табл. ISВN 978-5-9729-1071-7 Учебное пособие предназначено для студентов направлений 13.03.02 «Электроэнергетика и электротехника» и 09.03.01 «Информатика и вычислительная техника», изучающих курс «Микропроцессорные системы». Все основные понятия микропроцессорной техники в пособии рассмотрены на примерах современных АVR-микроконтроллеров фирмы Аtmel. Пособие может быть использовано студентами других направлений при изучении современных микропроцессорных систем. УДК 621.375 ББК 32.85 ISBN 978-5-9729-1071-7 Водовозов А. М., 2022 Издательство «Инфра-Инженерия», 2022 Оформление. Издательство «Инфра-Инженерия», 2022
ǼDZǹǮǰǹdzǻǶdz ВВЕДЕНИЕ ......................................................................................................................4 1. АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА .............................................................. 5 2. ПАМЯТЬ ..................................................................................................................... 11 3. ПРОЦЕССОРНОЕ ЯДРО .......................................................................................... 18 4. СИСТЕМНЫЙ ТАКТОВЫЙ ГЕНЕРАТОР ............................................................ 50 5. СИСТЕМА СБРОСА ................................................................................................. 54 6. СИСТЕМА ПРЕРЫВАНИЙ ..................................................................................... 59 7. ПОРТЫ ВВОДА-ВЫВОДА ...................................................................................... 64 8. ТАЙМЕРЫ-СЧЕТЧИКИ ........................................................................................... 66 9. АНАЛОГО-ЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬ ................................................... 91 10. АНАЛОГОВЫЙ КОМПАРАТОР .......................................................................... 98 11. ЭНЕРГОНЕЗАВИСИМАЯ ПАМЯТЬ ДАННЫХ ............................................... 102 12. ПОСЛЕДОВАТЕЛЬНЫЙ ВВОД-ВЫВОД .......................................................... 105 13. УПРАВЛЕНИЕ ПИТАНИЕМ И РЕЖИМЫ ЭНЕРГОСБЕРЕЖЕНИЯ ............ 120 14. ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ .......... 123 15. КУРСОВОЙ ПРОЕКТ ........................................................................................... 141 БИБЛИОГРАФИЧЕСКИЙ СПИСОК ........................................................................ 156 ПРИЛОЖЕНИЯ ........................................................................................................... 158 ГЛОССАРИЙ ТЕРМИНОВ И СОКРАЩЕНИЙ ....................................................... 162 3
ВВЕДЕНИЕ Создание фирмой Intel в 1971 году первой программируемой электронной схемы на одном кристалле явилось началом эпохи микропроцессорной техники. Объединив в себе достижения вычислительной техники и микроэлектроники, микропроцессорные системы стали удобным общепринятым инструментом для построения самых различных систем автоматики и вычислительной техники. За 40 лет своего бурного развития микропроцессорные системы прошли путь от специализированных комплектов интегральных схем к сложным однокристальным микроконтроллерам, имеющим в своем составе целый набор самых различных программируемых элементов. Их разработкой занимаются практически все крупнейшие мировые производители компьютеров, бытовой техники, промышленных систем и электронных компонентов - всем известные: Intel, AMD, Atmel, Microchip, Mitsubishi, Motorola, Analog Device, National Semiconductor, Texas Instruments и др. В условиях существующей в области микроэлектроники жесткой конкуренции каждый производитель выбирает свою модель развития, предлагая множество новых технических и технологических решений. При этом не успевают устояться условные обозначения и терминология, появляется множество архитектур и языков программирования, что существенно усложняет изучение и освоение этой техники. В нашей стране ситуация усугубляется языковым барьером, вся основная терминология в этой области техники имеет английскую аббревиатуру. Вместе с тем, принципы построения микроконтроллеров, несмотря на множество направлений развития, не подвергаются существенной переработке. Заложенные в 70-х годах, при всем многообразии изделий, они без значительных изменений сохраняются и до настоящего времени. По этой причине изучение микроконтроллеров всегда строится на конкретных примерах какой-либо одной архитектуры. В пособии все основные понятия микропроцессорной техники рассмотрены на примерах современных AVR-микроконтроллеров фирмы Atmel. Этот выбор обусловлен целым рядом факторов, таких как распространенность микроконтроллеров в России, доступность технической информации, наличие свободно распространяемых программных и сравнительно недорогих аппаратных средств поддержки проектирования. Использованные при написании пособия оригинальные материалы можно найти на сайте www.atmel.ru. 4
. ǮǾȃǶ ǶȀdzǸȀȁǾǮ ǺǶǸǾǼǸǼǻȀǾǼǹǹ ǹdzǾǮ Контроллером в тех авляющее устройхнике регулирования считается упра регулирующие или контролирующи ие функции в сисизованный на одном кристалле, назы ый микроконтроллер является больш ывается микроконшой цифровой инъединяющей миллионы выполненны ых по микронным ров. Архитектура микроконтроллера а включает в себя ю состав изделия, и его программн но-математическое ство, осуществляющее р теме. Контроллер, реали троллером. Современны тегральной схемой, объ технологиям транзистор структуру, отражающую обеспечение. 1.1. Обобщенная ст труктура микроконтроллера Типовая структура микроконтроллера изображена на р рисунке 1.1. Микиз трех, связанных системными ши инами, элементов: амяти и набора устройств ввода/вы ывода различного роконтроллер состоит и процессорного ядра, па назначения. Ри с. 1.1. Структура микроконтроллера Процессорное ядро является основой операции и, однохемы. По системо (MCU–Microprocessor Core Unit) о выполняет все вычислительные о аботой всех остальных элементов сх ное ядро обменивается данными с п памятью и различкристалл. Разрядода/вывода, интегрированными на дра определяет разрядность микрок контроллера. Наив настоящее время 8-битные (8-разря ядные) микроконмикроконтроллера. Оно временно, управляет ра ным шинам процессорн ными устройствами вво ность процессорного яд более распространены в троллеры. Вместе с тем м, широкое применение в простых з задачах находят и 5
4-битные изделия, а в сложных высокопроизводительных системах 16- и 32-битные. В памяти (Memory) хранится программа работы микроконтроллера, исходные данные и все промежуточные результаты вычислений. Память состоит из множества многоразрядных ячеек, каждая из которых имеет свой адрес. По этому адресу процессорное ядро находит конкретную ячейку памяти в процессе обмена. Память микроконтроллера обычно разделена на две части: память данных (Data Memory) и память программ (Program Memory). В памяти данных хранятся результаты промежуточных вычислений, в памяти программ - программа, по которой работает микроконтроллер. Память программ микроконтроллера энергонезависима, при отключении питания в ней сохраняется записанная программа. Устройства ввода/вывода различных типов обеспечивают взаимодействие микроконтроллера с внешним миром. Эти блоки могут выполнять самые различные функции: ввод и вывод информации, подсчет внешних событий и интервалов времени, передача внешних запросов на процессорное ядро, аналого-цифровые и цифроаналоговые преобразования сигналов, сравнение различных величин, контроль за напряжением питания и др. Для процессорного ядра любое устройство ввода/вывода представляется в виде одного или нескольких регистров. Каждый регистр имеет свой оригинальный адрес, по которому процессорное ядро находит его в процессе работы. Программа работы микроконтроллера хранится в памяти в виде последовательности команд (инструкций). В ходе работы процессорное ядро последовательно извлекает из памяти инструкции, расшифровывает и выполняет их. В зависимости от инструкции в ядре выполняются различные арифметические и логические операции, пересылки данных. При необходимости, в процессе выполнения инструкции, процессорное ядро обращается за данными к ячейкам памяти и функциональным блокам, либо пересылает в них результаты вычислений. Множество инструкций, которые понимает процессорное ядро, образует систему команд микроконтроллера. Практически все ведущие производители разрабатывают целые семейства микроконтроллеров с так называемой модульной структурой. При этом процессорное ядро для всего семейства неизменно, а память и состав функциональных блоков у каждого микроконтроллера различны. Процессорное ядро всегда имеет свою оригинальную схему и, обязательно, оригинальное имя. Например, микроконтроллеры фирмы Motorola построены на базе ядра 6
HC05 и HС08, фирма Intel создала ядро MCS-51 и MCS-96, контроллеры фирмы Microchip строятся на базе ядра PIC12, PIC16, PIC17, PIC18, фирма Atmel усиленно развивает семейство микроконтроллеров с ядром AVR. Процессорное ядро на основе известных схемотехнических решений, технологий проектирования и производства цифровых схем реализует определенную архитектуру микроконтроллера. Понятие «архитектура» включает в себя множество его структурных особенностей, основными из которых считаются: организация памяти и система команд. В настоящее время известны четыре общих архитектурных принципа в той или другой мере, реализуемые в любом процессорном ядре. По организации памяти различаются: - Неймановская архитектура - характеризуется общим пространством памяти для хранения данных и программы. При этом разрядность памяти зафиксирована (как правило, равна одному байту). Такую архитектуру имеют, например, микроконтроллеры HC05 и НС08 фирмы Motorola, в которых общий массив 8-битных ячеек памяти включает в себя как память программ, так и память данных. - Гарвардская архитектура - отличается разделением памяти программ и памяти данных. При этом разрядность памяти программ и памяти данных, а также шины доступа к ним, различны. В частности, все микроконтроллеры PIC12, PIC16 фирмы Microchip имеют 8-битную память данных, а разрядность памяти программ у них различна: PIC12 имеют 12-битную память программ, а PIC16 - 14 битную. По системе команд различаются: - СISC-архитектура (Complicated Instruction Set Computer) - архитектура с развитой системой команд. Система команд процессорного ядра имеет инструкции разного формата: однобайтовые, двухбайтовые, трехбайтовые. Различные инструкции при этом имеют и существенно разное время исполнения. - RISC-архитектура (Reduced Instruction Set Computer) - архитектура с сокращенным набором команд. Одна инструкция, как правило, занимает только одну ячейку памяти, и все инструкции имеют равное время исполнения. Микроконтроллеры с RISC-архитектурой имеют сравнительно более высокую производительность при той же тактовой частоте сигнала синхронизации и в настоящее время более распространены. 7
Разные производители в своих изделиях используют зачастую различные архитектурные принципы. Поэтому приведенное выше деление довольно условно. 1.2. Микроконтроллеры с AVR-архитектурой Стандартные семейства Концепция AVR-микроконтроллеров была разработана группой разработчиков исследовательского центра ATMEL в Норвегии в середине 90-х годов. Первые микроконтроллеры AVR появились в 1997 г. AVR-архитектура объединила гарвардский RISC-процессор с раздельным доступом к памяти программ и данных и развитую систему команд фиксированной 16-битной длины. Большинство команд выполняются за один машинный такт с одновременным исполнением текущей и выборкой следующей команды, что обеспечивает производительность до 1 миллиона инструкций в секунду на каждый МГц тактовой частоты. Базовый набор команд AVR содержит 130 инструкций. Все микроконтроллеры AVR имеют встроенную FLASH-память с возможностью внутрисхемного программирования через последовательный 4проводной интерфейс. Периферия микроконтроллеров AVR включает: таймеры-счётчики, широтно-импульсные модуляторы, систему прерываний, аналоговые компараторы, 8-10-разрядные многоканальные АЦП, параллельные порты, интерфейсы UART и SPI, сторожевой таймер и устройство сброса по включению питания. В рамках единой базовой архитектуры AVR-микроконтроллеры подразделяются на три подсемейства (таблица 1.1), отличающиеся разрядностью, тактовой частотой, производительностью, объемом памяти и областями применения. Таблица 1.1 Характеристики микроконтроллеров с AVR-архитектурой Корпуса (выводы) Максимальная частота (МГц) Производительность (MIPS/MГц) Семейство Разрядность Флэшпамять (кВ) tinyAVR 8 0,5-8 6-32 20 1 megaAVR 8 4-256 28-100 20 1 AVR XMEGA 8 16-384 44-100 32 1 AVR UC3 32 16-512 48-144 66 1,5 8
AVR-микроконтроллеры поддерживают спящий режим и режим микропотребления. В спящем режиме останавливается центральное процессорное ядро, в то время как регистры, таймеры-счётчики, сторожевой таймер и система прерываний продолжают функционировать. В режиме микропотребления сохраняется содержимое всех регистров, останавливается тактовый генератор, запрещаются все функции микроконтроллера, пока не поступит сигнал внешнего прерывания или аппаратного сброса. Семейство tiny AVR Микроконтроллеры tiny AVR оптимизированы для систем, в которых требуется высокая производительность, эффективное использование энергии, простота применения и компактность. В микроконтроллеры встроены АЦП, память EEPROM и детектор понижения напряжения питания, для проектирования систем не требуются дополнительные внешние компоненты. Они сочетают в себе миниатюрность, вычислительную мощность, высокую производительность аналоговой части и интеграцию на системном уровне. Это самые компактные полнофункциональные устройства в семействе AVR; и только они могут работать с напряжением питания всего 0,7 В, что является их главным преимуществом. Семейство mega AVR Микроконтроллеры семейства mega AVR оснащены памятью программ и данных большого объема при быстродействии до 20 млн операций в секунду, а потому идеально подходят для приложений со значительным объемом программы. Все устройства mega AVR поддерживают самопрограммирование, что позволяет выполнять внутрисхемное обновление быстро, безопасно и без лишних затрат. В семейство входит самый широкий перечень устройств с различными объемами памяти, количеством выводов и набором периферии. Это модели общего назначения и модели со специализированными периферийными устройствами и интерфейсами, например интерфейсом USB либо контроллерами ЖК-дисплея, сетей CAN и LIN или усилителей мощности. Семейство AVR XMEGA Микроконтроллеры AVR XMEGA предназначены для работы в реальном времени. В них минимизируется количество необходимых комплектующих для широкого круга приложений. В одном устройстве объединяются высокоскоростные аналоговые модули, гибко настраиваемые таймеры и счетчики, множество коммуникационных модулей и интерфейсов, а также меха9
низм эффективного управления электропотреблением. Контроллер прямого доступа к памяти совместно с системой обработки событий гарантируют прогнозируемость производительности в реальном времени даже при большой нагрузке. Семейство AVR UC3 Микроконтроллеры AVR UC3 предназначены для использования в задачах с высокими требованиями к производительности. Благодаря интеллектуальной периферии и динамическому управлению питанием они целесообразны для применения в портативных системах и приборах с питанием от батареи. Некоторые микроконтроллеры семейства оснащены встроенным блоком вычислений с плавающей точкой, повышающим производительность арифметических операций с десятичными числами, увеличивающим точность вычислений и расширяющим их динамический диапазон. Контрольные вопросы - Какая интегральная схема называется микроконтроллером" - Какая информация хранится в памяти данных микроконтроллера" - Какая информация хранится в памяти программ микроконтроллера" - Какая память микроконтроллера является энергонезависимой" - Чем определяется разрядность микроконтроллера" - Могут ли ячейки памяти иметь разрядность, отличную от разрядности микроконтроллера" - Какая архитектура системы команд предусматривает исполнение команд преимущественно за 1 такт работы процессорного ядра" - В какой архитектуре микроконтроллера память данных и память программ могут иметь разную разрядность" - В какой архитектуре системы команд инструкции могут быть разной длины" - В какой архитектуре системы команд большинство инструкций размещается в одной ячейке памяти" - Какие особенности имеет AVR-архитектура" - Отличительные особенности семейства микроконтроллеров tiny AVR" - Отличительные особенности семейства микроконтроллеров mega AVR" 10