Программирование микроконтроллеров семейства STM32

Программа «Программирование микроконтроллеров семейства STM32» разработана с целью формирования базовых знаний и навыков разработки программного обеспечения для микроконтроллерных систем семейства STM32 фирмы STMicroelectronics. В курсе рассматриваются параметры и преимущества микроконтроллеров семейства STM32, описываются принципы работы с периферией микроконтроллера, приводится сравнение процессорных систем на архитектуре ARM, описываются и демонстрируются возможности среды разработки Keil uVision и STM32CubeMX, рассказываются особенности разработки программного обеспечения на языке Си для микроконтроллерных систем.

Продолжительность обучения 5 дней
Место проведения Санкт-Петербург, Новоизмайловский проспект, 34к3
Форма обучения с 10:00 до 17:00
Стоимость обучения ~75000 руб *
Контакты +7(962)722-36-80 / cpe.ifmo@yandex.ru

* - зависит от величины группы и уникальности курса

Отладочная плата
Лабораторные работы выполняются на отладочной плате STM32L-DISCOVERY с контроллером STM32L152RB
Keil
В рамках курса изучается создание и отладка программ в среде разработки Keil uVision

Кому будет интересен курс?

      Курс рассчитан на лиц с техническим высшим образованием и будет полезен руководителям подразделений (управляющим) и инженерам, использующим или планирующим использовать микроконтроллеры фирмы STMicroelectronics.

Аннотация курса

Тема 1
Введение. Краткий обзор микроконтроллеров
Тема 2
Язык программирования Си
Тема 3
Процесс разработки. Keil uVision
Тема 4
Основные модули и периферия
Тема 5
Разработка программного обеспечения для контроллеров
Тема 6
Первая программа. Запись/чтение портов ввода/вывода
Тема 7
Управление тактированием. ШИМ
Тема 8
Интерфейс UART
Тема 9
Таймеры. Прерывания. АЦП/ЦАП
Тема 10
Контроллер интерфейсов

Необходимые знания:

Программа курса

Тема 1
Введение. Краткий обзор микроконтроллеров
Даются базовые понятия и отличия микроконтроллеров от других вычислительных устройств. Представлены основные технические характеристики и особенности построения микроархитектуры микроконтроллеров. Дается обзор и сравнение современных семейств микроконтроллеров. Приводится краткий обзор подсемейств микроконтроллеров семейства STM32. 
Тема 2
Язык программирования Си 
Описываются базовые концепции языка программирования Си. Дается основное представление о языке, его принципах, особенностях, элементах и операторах. Демонстрируются особенности разработки ПО на языке Си для встраиваемых систем.
Тема 3
Процесс разработки. Keil uVision
Демонстрируются основные возможности и особенности среды разработки Keil uVision. Подробно рассматривается процесс создания проекта, процессы описания проекта, его компиляции и отладки.
Тема 4
Основные модули и периферия
Описывается функциональная структура микроконтроллера семейства STM32. Описывается архитектура процессора на базе Cortex-M. Вводятся понятия регистра, системного таймера, организации памяти, вектора прерываний. Демонстрация принципиальной схемы подключения микроконтроллера и ее особенности.
Тема 5
Разработка программного обеспечения для контроллеров
Описывается процесс генерации проекта с использованием программного обеспечения STM32CubeMX. Демонстрируются процесс настройки программатора и процесс загрузки ПО через программатор в микроконтроллер STM32. Демонстрируется отладчик и процесс отладки проекта инструментами среды Keil uVision.
Тема 6
Первая программа. Запись/чтение портов ввода/вывода
Демонстрируется создание проекта в среде Keil uVision с использованием инструментов STM32CubeMX. Описывается конфигурация портов ввода/выводов общего назначения, управление, инициализация и деинициализация портов. Демонстрируется настройка и работа вектора прерывания на примере порта общего назначения.
Тема 7 
Управление тактированием. ШИМ
Рассматриваются основные способы и особенности настройки тактовой частоты микроконтроллера (цифрового ядра, периферии и других блоков микроконтроллера). Демонстрируется конфигурация системного и базового таймеров, приводятся примеры разных режимов таймеров. Демонстрируется взаимодействие работы базового таймера и вектора прерывания.
Тема 8 
Интерфейс UART
Рассматриваются особенности конфигурации последовательного интерфейса передачи данных UART. Демонстрируется работа интерфейса UART для приема и передачи данных в режиме опроса и в режиме прерываний.
Тема 9
Таймеры. Прерывания. АЦП/ЦАП
Описывается работа таймера общего назначения и его режимы работы (Генератор временного отсчета с внешними источниками тактового сигнала, режимы синхронизации ведущего/ведомого таймеров, режимы отсчета, режим захвата входного сигнала и режим сравнения выходного сигнала). Описываются контроллер прерываний NVIC, процесс разрешения прерываний, жизненный цикл прерываний, уровни приоритета прерываний, реентерабельность прерываний. Рассматриваются АЦП последовательного приближения, режимы работы АЦП и ЦАП в модуле микроконтроллера STM32. Демонстрируется АЦП в режиме опроса и прерывания. Генерация сигнала в ЦАП. 
Тема 10
Контроллер интерфейсов
Приводятся базовые понятия спецификации SPI. Демонстрируется обмен сообщениями с использованием периферийного устройства SPI в микроконтроллере семейства STM32. Приводятся базовые понятия спецификации I²C. Демонстрируется обмен сообщениями с использованием периферийного устройства I²C в режиме ведущего и ведомого устройства в микроконтроллере семейства STM32. Демонстрируется реализация циклического контроля избыточности (CRC) на микроконтроллере семейства STM32

параметры курса могут корректироваться

Преподаватели

Кандидат технических наук
Научный сотрудник лаборатории "Моделирования и программирования" НИЦ Световодной фотоники

Специалист в области программирования ПЛИС.

Специалист в области программирования микроконтроллеров.

Кандидат технических наук
Ведущий инженер лаборатории "Моделирования и программирования" НИЦ Световодной фотоники

Специалист в области программирования микроконтроллеров и цифровой обработки изображений. Преподаватель дисциплин "Программирование микроконтроллеров", "Digital signal processing in optoelectronics", "Цифровая обработка изображений".