Микроконтроллеры в системах управления. лабораторный практикум. Болдырев И.А., Герасимов М.И
.pdfМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования «Воронежский государственный
технический университет»
И. А. Болдырев, М. И. Герасимов, А. С. Кожин
МИКРОКОНТРОЛЛЕРЫ В СИСТЕМАХ УПРАВЛЕНИЯ
Лабораторный практикум
Воронеж 2019
1
УДК 681.381(075.8)
ББК 32.844.1я7 Б791
Рецензенты:
кафедра информатики и вычислительной техники Международного института компьютерных технологий, г. Воронеж (зав. кафедрой д-р техн. наук, проф. В. А. Каладзе);
канд. техн. наук, доц. Б. Н. Воронков
Болдырев, И. А.
Микроконтроллеры в системах управления: лабораторный практикум [Электронный ресурс]. – Электрон. текстовые и граф. данные (1,3 Мб) / И. А. Болдырев, М. И. Герасимов, А. С. Кожин.
Б791 – Воронеж: ФГБОУ ВО «Воронежский государственный технический университет», 2019. – 1 электрон. опт. диск (CD-ROM): цв. – Систем. требования: ПК 500 и выше; 256 Мб ОЗУ; Windows XP;
SVGA с разрешением 1024x768; Adobe Acrobat; CD-ROM диско-
вод; мышь. – Загл. с экрана.
ISBN 978-5-7731-0805-4
В лабораторном практикуме содержатся теоретические сведения об устройстве и принципах работы микроконтроллера и его узлов, общие положения по организации лабораторных работ, способах исследования и соответствующих программных средствах, предварительное и рабочее задания к лабораторной работе, определяющие порядок исследования, а также контрольные и итоговые вопросы.
Издание предназначено для студентов направления 27.03.04 «Управление в технических системах» (профиль «Управление и информатика в технических системах») очной формы обучения, изучающих дисциплину «Управляющие микроЭВМ», а также может использоваться при написании выпускной квалификационной работы, а также представляет интерес для преподавателей, аспирантов и специалистов, связанных с разработкой и исследованием различных систем управления.
Ил. 5. Табл. 6. Библиогр.: 17 назв.
УДК 681.381(075.8) ББК 32.844.1я7
Научный редактор - д-р техн. наук, проф. В.Л. Бурковский
ISBN 978-5-7731-0805-4 |
Болдырев И. А., Герасимов М. И., |
|
Кожин А. С., 2019 |
||
|
||
|
ФГБОУ ВО «Воронежский |
|
|
государственный технический |
|
|
университет», 2019 |
2
ОГЛАВЛЕНИЕ |
|
Введение……………………………………………………...4 |
|
Организация цикла лабораторных работ ............................ |
5 |
Структура МК семейства ATmega16 ................................... |
9 |
Среда разработки управляющих алгоритмов .................... |
16 |
Среда разработки и отладки управляющих программ ..... |
18 |
Лабораторная работа № 1. Формирование алгоритмов |
|
управления микроконтроллерной системой ............................ |
23 |
Теоретические сведения................................................. |
23 |
Порядок выполнения работы .......................................... |
23 |
Предварительное задание................................................ |
23 |
Рабочее задание ............................................................... |
24 |
Итоговые вопросы ........................................................... |
26 |
Лабораторная работа № 2. Формирование алгоритмов |
|
управления в реальном времени .............................................. |
27 |
Теоретические сведения................................................. |
27 |
Предварительное задание................................................ |
37 |
Рабочее задание ............................................................... |
38 |
Итоговые вопросы ........................................................... |
40 |
Лабораторная работа № 3. Программирование МК-системы |
|
управления шаговым приводом на языке Ассемблер .............. |
41 |
Теоретические сведения................................................. |
41 |
Предварительное задание................................................ |
47 |
Рабочее задание ............................................................... |
48 |
Лабораторная работа № 4. Управление |
|
микроконтроллером на языке СИ ............................................ |
51 |
Теоретические сведения................................................. |
51 |
Предварительное задание................................................ |
62 |
Рабочее задание ............................................................... |
65 |
Библиографический список................................................ |
67 |
3
ВВЕДЕНИЕ
Успешное изучение дисциплины "Управляющие микроЭВМ", проходящими обучение в образовательных учреждениях высшего образования по направлению 27.03.04 «Управление в технических системах», обусловлено освоением нескольких предшествующих курсов – как в сфере аппаратных, так и программных средств.
Управляющие ЭВМ (УЭВМ) входят в состав разнообразных микропроцессорных систем различной сложности [1]. В настоящем цикле работ однокристальные микропроцессоры изучаются на примере популярных микроконтроллеров (МК) AVR фирмы Atmel (ныне интегрированной в Microchip Technology Inc.). В ходе выполнения заданий усваиваются основные принципы архитектуры управляющих микроЭВМ, способы программного управления МК.
Данный практикум рекомендуется в качестве руководства для выполнения лабораторных работ по курсу. Он разработан с учётом действующих государственных образовательных стандартов высшего профессионального образования по данному направлению.
Материалы данного практикума выполнены в виде электронного документа с использованием аппарата гиперссылок и других средств повышения наглядности и удобства использования. При необходимости совмещения на дисплее текста МУ и среды проектирования рекомендуется использовать режим «В окне» + «Веб-документ», при этом размер шрифта выбирать масштабом.
Отзывы, замечания и предложения по совершенствованию практикума просьба направлять автору по адресу электронной почты migeras@bk.ru.
4
ОРГАНИЗАЦИЯ ЦИКЛА ЛАБОРАТОРНЫХ РАБОТ
Состав и задачи цикла работ
Программа дисциплины "Управляющие микроЭВМ" предусматривает проведение трех лабораторных работ (12 часов). На этот период преподаватель может выбрать лабораторные работы по темам, перечисленным в табл. 1.
Таблица 1
|
Наименование лабораторной работы |
Кол-во |
|
часов |
|
|
|
|
|
|
|
1. |
Формирование алгоритмов управления мик- |
4 |
|
роконтроллерной системой |
|
|
|
|
2. |
Формирование алгоритмов управления |
|
|
в реальном времени |
4 |
3. |
Программирование МК-системы управления |
4 |
|
шаговым приводом на языке Ассемблер |
|
4. |
Управление микроконтроллером на языке Си |
4 |
|
|
|
Содержание цикла лабораторных работ – изучение свойств основных функциональных узлов микроконтроллера (МК), регистровых моделей этих узлов и МК в целом, освоение программных средств (интегрированных сред проектирования), предназначенных для составления алгоритмов управления МК и его программирования, а также отладки разработанных программ и их записи в МК. В настоящем цикле работ однокристальные микропроцессоры изучаются на примере популярных микроконтроллеров (МК) AVR фирмы Atmel.
Для исследования организации микроконтроллеров AVR проводится алгоритмизация связанных с их портами и таймерами процессов средствами графической среды Algorithm Builder и симуляция выполнения разработанных алгоритмов. В последующих работах выполняется программирование тех же процессов с использованием иной среды разработки – AVR
5
Studio. причем программа необходимых действий составляется в одной из работ на машиноориентированном языке ассемблера AVR, в последующей – на языке высокого уровня Си. Следует усвоить, что этапу программирования обязательно должен предшествовать этап разработки алгоритма и анализа результата симуляции.
Проведение каждой лабораторной работы включает этапы подготовки, выполнения работы, оформления и защиты отчета. Перед выполнением работы преподаватель может произвести опрос по контрольным вопросам, отмеченным полужирным шрифтом, для проверки готовности студентов к исследованию (допуск – см. ниже). Каждая лабораторная работа требует ориентировочно 2 часа на подготовку к выполнению и 2 часа на оформление отчета и подготовку к его защите. Это время предусмотрено в учебном плане как самостоятельная работа.
Подготовка к выполнению лабораторной работы
При подготовке к работе следует:
- изучить теоретические сведения, приведенные в методических указаниях и рекомендованной литературе;
-составить заготовку отчета с названием работы, планом эксперимента (в развернутой форме), заголовками подлежащих заполнению таблиц, диаграмм и т.п.;
-подготовить ответы на те контрольные вопросы к данной работе, которые отмечены полужирным шрифтом
(Bold).
Основной стадией подготовки к работе является составление плана эксперимента (ПЭ) – в данном цикле для изучения лабораторного стенда либо исследования различных функциональных узлов и микросхем. Бригада, не подготовившая ПЭ, к выполнению работы не допускается. План должен включать:
-цель работы (приведена в методических указаниях к каждой работе);
6
-функциональный анализ исследуемого устройства (узла, микросхемы);
-перечень дополнительных элементов, необходимых для исследования (рекомендованы в МУ);
-принципиальную схему (схемы) эксперимента;
-перечень подлежащих выполнению процедур, названия
и местонахождение анализируемых сигналов, методику измерений или исследований.
Функциональный анализ начинают с уяснения назначения устройства. Затем следует составить список его функций, изучив соответствующую литературу, ссылки на которую приведены в МУ к каждой работе. Если устройство имеет несколько
функций, |
следует определить |
их |
взаимное влияние, |
в частности |
приоритеты. Удобно |
при |
этом пользоваться |
структурными и функциональными схемами МК и его узлов Уяснив назначение входов, следует определить, какое состоя-
ние должны иметь те из них, которые не исследуются
на данной стадии эксперимента, в частности, незадействованные выводы портов 1, в частности все неиспользуемые входы каждого МК следует программно нагружать на внутренние резисторы.
Следующим этапом планирования является составление (на основе результатов функционального анализа устройства) перечня подлежащих выполнению процедур.
Проведение лабораторной работы
К началу лабораторного занятия каждый студент должен представить отчет по предыдущей лабораторной работе (требования к отчету см. ниже) и заготовку отчета для очередной
1 Согласно /14/, «парящие в воздухе» высокоомные КМОП-входы находятся в неустойчивом состоянии (то ли «нуль», то ли «единица») и любая внешняя наводка приводит к «дребезгу». Это заставляет хаотично работать логические элементы внутри МК, что приводит к увеличению динамических потерь и повышению энергопотребления.
7
работы (со схемами и планом экспериментов). В начале каждого занятия студент защищает отчет по предыдущей работе и сдает коллоквиум по очередной. Если на коллоквиуме выясняется, что студент не готов к работе или не выполнил предварительного задания, то к работе он не допускается, так же как и студент, не защитивший двух предыдущих работ к моменту выполнения очередной работы. Последовательность работ данного цикла носит логический характер, выполнение каждой последующей работы без усвоения материала, осваиваемого в предыдущей работе, невозможно, поэтому пропущенную лабораторную работу студент, как правило, должен успеть выполнить с другой подгруппой или в иное согласованное с преподавателем время ДО выполнения следующей.
Входе лабораторной работы студентам следует обдумывать теоретическое обоснование каждого опыта перед его выполнением и после оформления результатов. Основные навыки пользования лабораторным оборудованием студенты получают
входе предшествующих курсов.
Впроцессе выполнения лабораторной работы все данные заносят в отчет или в протокол (один на бригаду), который после выполнения работы подписывается преподавателем и служит исходным материалом при составлении отчета.
Заключительной стадией проведения эксперимента должен быть анализ полученных результатов и формулирование выводов, которые заносятся в отчет.
Требования к оформлению отчета по работе
Отчет должен выполняться на стандартных листах либо в тетради (для всего цикла работ) аккуратно и в соответствии с [5]. Он должен содержать заголовок с выходными данными (институт, кафедра, группа, авторы, дата оформления, наименование лабораторной работы), материалы подготовительной стадии работы (см. выше), результаты эксперимента, их анализ и выводы.
8
СТРУКТУРА МК СЕМЕЙСТВА ATMEGA
Вкачестве объекта изучения в данном цикле работ выбран микроконтроллер (МК) ATmega16. Это средней степени сложности 8-разрядный (по данным) микроконтроллер, основанный на доработанной RISC архитектуре AVR. ATmega16 обеспечивает производительность 1 млн. оп. в секунду (MIPS) на 1 МГц синхронизации за счет выполнения большинства команд за один машинный цикл.
Вядре AVR источником данных для АЛУ (арифметикологическое устройство) служит файл из 32 восьмиразрядных рабочих регистров общего назначения. Все 32 регистра (имеющих пятиразрядный код адреса) непосредственно подключены к АЛУ. Это позволяет указывать как один, так и два регистра в одной команде (16 разрядов) и выполнять ее за один цикл. Данная архитектура обладает бóльшей эффективностью кода и примерно в 10 раз бóльшей производительностью по сравнению с микроконтроллерами, имеющими архитектуру
CISC.
Модель ATmega16 обладает следующими возможностями: 16 кбайт внутрисхемно программируемой флэш-памяти с возможностью чтения во время записи, 512 байт электрически репрограммируемой ПЗУ (EEPROM), 1 кбайт статического ОЗУ (SRAM), 35 линий ввода-вывода, 32 рабочих регистров общего назначения (general purpose registers), встроенная система отладки и программирования, JTAG интерфейс (см., например, [18]) для отслеживания прохождения процесса работы, четыре универсальных таймера-счетчика (timer/counter) с режимами сравнения (output compare) и захвата (input catch), программи-
руемый сторожевой (watch dog) таймер с внутренним генератором, внутренние и внешние запросы на прерывание, два последовательных программируемых УСАПП, последовательные порты SPI, TWI и др.
Устройство выпускается по разработанной Atmel технологии энергонезависимой памяти высокой емкости. Встроенная ISP (In System Programming – внутрисистемно программируемая) флэш-память может перепрограммироваться через после-
9
довательный интерфейс SPI, обычным программатором энергонезависимой памяти или запущенной программой в секторе начальной загрузки AVR ядра.
ATmega16 поддерживается полным набором инструментальных и программных средств для разработки приложений. В их числе Cи-компиляторы, макроассемблеры, программные отладчики / симуляторы, внутрисхемные эмуляторы, оценочные наборы. Кроме того, в Сети существуют многочисленные группы поддержки, публикующие массу информационнообучающих материалов.
Структурная схема микроконтроллеров семейства Mega приведена на рис. 1. Следует заметить, что на данном рисунке изображена схема ATmega128x – наиболее сложного на сегодняшний день представителя семейства. В этой модели содержится 6 портов ввода/вывода (A – G), 2 интерфейса USART, АЦП, несколько генераторов тактовых импульсов и др. При рассмотрении других моделей необходимо принимать во внимание наличие или отсутствие различных периферийных устройств и использование этими устройствами портов ввода/вывода. В частности, используемая в данной работе модель ATmega 16 содержит два восьми- и два шестнадцатиразрядных таймера/счетчика. Подробное описание одного из них – Т/С1, его регистров и флагов приведено ниже.
Организация памяти
Память микроконтроллеров AVR организована так, что разделены как адресные пространства памяти программ и памяти данных, так и шины доступа к этим типам памяти (Гарвардская архитектура). На рис. 1 ОЗУ – это память данных, FLASH – память программ, EEPROM – память констант.
Регистры общего назначения
Все регистры общего назначения (32 РОН) непосредственно доступны АЛУ в отличие от микроконтроллеров других типов, в которых имеется только один такой регистр – рабочий
10