Микропроцессорные системы на основе микроконтроллеров STM32
Покупка
Тематика:
Микроэлектроника. Наноэлектроника
Издательство:
Поволжский государственный технологический университет
Год издания: 2023
Кол-во страниц: 112
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-8158-2334-1
Артикул: 821787.01.99
Кратко рассмотрены основы разработки встраиваемых микропроцессорных систем на базе микроконтроллеров STM32. Изложен порядок выполнения каждой лабораторной работы, представлены варианты заданий, требования к оформлению отчета, контрольные вопросы по каждой теме. Для студентов направлений подготовки «Информатика и вычислительная техника», «Мехатроника и робототехника», «Информационные системы и технологии».
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ» Д. В. МОРОХИН В. И. МЯСНИКОВ А. В. ИВАНОВ Микропроцессорные системы на основе микроконтроллеров STM32 Лабораторный практикум Йошкар-Ола ПГТУ 2023
УДК 004.031.6(075.8) ББК 32.971я73 М 80 Рецензенты: руководитель проектов автоматизации технологических процессов компании «Автограф», канд. техн. наук А. В. Смирнов; заведующий кафедрой радиотехнических и медико-биологических систем ПГТУ, канд. техн. наук А. А. Баев Печатается по решению редакционно-издательского совета ПГТУ Морохин, Д. В. М 80 Микропроцессорные системы на основе микроконтроллеров STM32: лабораторный практикум / Д. В. Морохин, В. И. Мясников, А. В. Иванов. – Йошкар-Ола: Поволжский государственный технологический университет, 2023. – 112 с. ISBN 978-5-8158-2334-1 Кратко рассмотрены основы разработки встраиваемых микропроцес сорных систем на базе микроконтроллеров STM32. Изложен порядок выполнения каждой лабораторной работы, представлены варианты заданий, требования к оформлению отчета, контрольные вопросы по каждой теме. Для студентов направлений подготовки «Информатика и вычисли тельная техника», «Мехатроника и робототехника», «Информационные системы и технологии». УДК 004.031.6(075.8) ББК 32.971я73 ISBN 978-5-8158-2334-1 © Д. В. Морохин, В. И. Мясников, А. В. Иванов, 2023 © Поволжский государственный технологический университет, 2023
ОГЛАВЛЕНИЕ ПРЕДИСЛОВИЕ........................................................................................... 4 ВВЕДЕНИЕ ................................................................................................... 5 Лабораторная работа № 1. ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ КОНТРОЛЛЕРОВ STM32............................................................................ 6 Лабораторная работа № 2. ПРОГРАММИРОВАНИЕ УСТРОЙСТВ ВВОДА/ВЫВОДА НА STM32 ...................................................................22 Лабораторная работа № 3. ИСПОЛЬЗОВАНИЕ ПРЕРЫВАНИЙ В МИКРОКОНТРОЛЛЕРАХ STM32.........................................................36 Лабораторная работа № 4. ПРОГРАММИРОВАНИЕ АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ НА STM32...............48 Лабораторная работа № 5. ФОРМИРОВАНИЕ ШИРОТНО-ИМПУЛЬСНОГО СИГНАЛА НА STM32 ...........................60 Лабораторная работа № 6. РАБОТА С ПРОТОКОЛАМИ SPI И I2C..77 Лабораторная работа № 7. ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ ДЛЯ STM32......................................................96 ЗАКЛЮЧЕНИЕ..........................................................................................110 СПИСОК ЛИТЕРАТУРЫ .........................................................................111
ПРЕДИСЛОВИЕ Данный лабораторный практикум включает в себя семь лабора торных работ, каждая из которых посвящена актуальным вопросам программирования микроконтроллеров на базе отладочных плат компании ST в составе встраиваемых систем. Первая работа позволяет освоить основные методы конфигуриро вания и программирования контроллера. Вторая посвящена работе с простейшими устройствами ввода-вы вода и закладывает основы для работы с более сложной периферией. В третьей работе изучаются способы программирования контрол леров с использованием прерываний. В четвёртой работе рассматриваются методы и оборудование для обработки аналоговых сигналов в микроконтроллерных системах. В пятой изучается работа контроллера по формированию сигналов с широтно-импульсной модуляцией. Шестая работа помогает обучающимся освоить популярные про токолы для подключения периферийных устройств и связи между контроллерами. В седьмой работе изучаются способы использования средств опе рационных систем реального времени для создания современных встраиваемых систем. Каждая лабораторная работа содержит краткие теоретические све дения, алгоритм ее выполнения, варианты заданий, требования к оформлению отчета и контрольные вопросы по соответствующей теме. Лабораторный практикум предназначен для самостоятельной и аудиторной работы студентов и способствует более глубокому овладению знаниями при подготовке бакалавров по направлениям «Информатика и вычислительная техника», «Мехатроника и робототехника», «Информационные системы и технологии».
ВВЕДЕНИЕ В настоящее время на жизнь каждого человека в значительной сте пени оказывает влияние автоматизация окружающей среды с помощью микроконтроллеров. Микроконтроллеры отличаются не только архитектурой и характеристиками, но и особенностями функционирования и реализации. Разработка систем на базе микроконтроллеров – это одновременно аппаратная и программная задача. Лабораторные занятия по дисциплине «Микропроцессорные си стемы» необходимы для решения задачи подготовки студентов направления «Информатика и вычислительная техника» и обучающихся смежных направлений. Существенное место в пособии занимают вопросы практической реализации алгоритмов. Лабораторные занятия способствуют: • формированию и углублению теоретических знаний студентов; • выработке навыков применения теоретических знаний на практике; • формированию навыков самостоятельной работы над технической и научной литературой; • осознанному подходу при выборе аппаратного и программного обеспечения для решения поставленных задач; • получению навыков по проектированию и разработке современных встраиваемых систем.
Лабораторная работа № 1 ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ КОНТРОЛЛЕРОВ STM32 Цель работы: • ознакомление с основными подходами к программированию контроллеров STM32 на примере среды STM32CubeIDE; • получение навыков настройки среды программирования, кон фигурирования микроконтроллера, написания и выполнения простого кода. Задание. Для выполнения лабораторной работы требуется уста новить среду программирования контроллеров, настроить её в соответствии с заданным типом контроллера, выполнить конфигурацию выводов контроллера, написать и запустить простую программу. Программа должна с использованием программатора изменять состояние заданного вывода подключённого контроллера. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ В настоящее время широко используемыми в областях встраивае мых систем, робототехники и интернета вещей являются контроллеры STM32. При стоимости, сопоставимой с другими популярными контрол лерами (например, на базе ATmega328), они имеют гораздо более высокую производительность и дополнительные возможности. Ниже сравниваются одна из базовых моделей контроллера STM32 (STM32F103C8T6) с контроллером ATmega328 этой же ценовой категории (таблица 1). Анализируя данные таблицы, можно сделать вывод о значитель ных преимуществах решения от ST. В STM32 более совершенные, скоростные, энергоэффективные система прерываний, порты вводавывода, коммуникационные интерфейсы и т.п.
Кроме того, существуют и гораздо более мощные серии микро контроллеров STM32, одна из которых изучается в данном практикуме. Более подробно семейства, компоненты и узлы современных мик роконтроллерных систем изучаются в курсе лекций. Таблица 1. Сравнение параметров микроконтроллеров Параметры STM32F103C8T6 ATmega328 Разрядность 32 бит 8 бит Частота 72 мГц 16 мГц Объем FLASH 64 кБайт 32 кБайт Объем ОЗУ 20 кБайт 2 кБайт Аппаратное умножение и деление Есть, 32 разряда Только умножение, 8 разрядов АЦП 2 АЦП, 12 разрядов, 10 входов, 1 мкс время преобразования 10 разрядов, 8 входов, 100 мкс время преобразования Контроллер ПДП 7 каналов нет Таймеры 7 3 UART 3 1 I2C 2 1 SPI 2 1 USB 1 нет CAN 1 нет Часы реального времени есть нет Модуль аппаратного расчета CRC кода есть нет Для качественного выполнения лабораторных работ необходимо ознакомиться с источниками из официальной документации: • Общее описание изучаемого отладочной платы для микроконтроллера – STM32F767ZI или другой по заданию преподавателя. Периферия, электрические характеристики; • Справочное руководство микроконтроллера. Описание регистров, работы периферии; • Описание ядра микроконтроллера, система команд; • Описание библиотеки HAL для STM32F7.
ПОШАГОВЫЙ ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 1. Установка STM32CubeIDE 1.1. Необходимо скачать с официального сайта st.com дистрибутив программы. Если дистрибутив уже имеется, переходим к пункту 2. Далее следует выбирать версию для скачивания, согласиться с условиями лицензионного соглашения, зарегистрироваться. После этого возможно скачивание дистрибутива с сервера. Рисунок 1. Выбор дистрибутива среды разработки 1.2. Далее нужно распаковать скачанный архив с дистрибутивом. 1.3. Запустить установочный файл. Начинается процедура уста новки. Рисунок 2. Начало установки ПО
1.4. Нужно принять условия лицензионного соглашения. 1.5. Указать путь установки программы или оставить значение по умолчанию. 1.6. Указать нужные драйвера. (Нажимаем «Install»). 1.7. После завершения установки нажать «далее» («Next>»). Рисунок 3. Завершение процедуры установки ПО 1.8. Завершить установку. Разрешить создать ярлык на рабочем столе при необходимости. 2. Запуск и создание первого проекта В качестве первой задачи нужно выполнить задачу управления встроенным в отладочную плату Nucleo-144 светодиодом. 2.1. На рабочем столе находим ярлык программы «STM32Cube…». Рисунок 4. Выбор рабочего каталога
При каждом запуске программа будет предлагать выбор места хранения под рабочее пространство. При желании можно задать по умолчанию расположение рабочего пространства. 2.2. Создаем новый проект (Start new STM32 project). Рисунок 5. Создание проекта (первый вариант) В качестве альтернативы можно создать проект из меню File/New/STM32Project. Рисунок 6. Создание проекта (второй вариант)