Добавить
Уведомления

Как микроконтроллер на самом деле работает с периферией - тайминги, прерывания, DMA

В этом вебинаре разбираем, как микроконтроллер STM32 на самом деле взаимодействует с периферией, что происходит на уровне шин, тактирования и памяти, и почему без понимания архитектуры даже «правильный» код может работать нестабильно. Это не поверхностный разбор HAL-функций, а инженерный взгляд на то, как устроены AHB/APB-шины, DMA, прерывания, арбитраж доступа к памяти и как это влияет на реальную производительность системы. Ведущий — Максим Белецкий, инженер-программист, преподаватель курса по программированию микроконтроллеров в Академии программирования электронных устройств. Материал подготовлен на основе записи вебинара 🔎 В вебинаре подробно рассмотрены: • Архитектура шин STM32 (E-Code, D-Code, System Bus) • Как работает многомастерная шинная матрица • Разница между AHB и APB и почему она критична • Как тактирование влияет на периферию и таймеры • Memory-mapped периферия: управление через адресное пространство • Polling vs Interrupt vs DMA — когда что применять • Почему обработка в прерываниях «убивает» производительность • Ошибки при работе с SysTick, ADC и DMA • Перегрузка шины и загадочные HardFault • «Золотая схема» Timer → ADC → DMA без лишних прерываний • Когда стоит применять RTOS • Практические приемы оптимизации HAL и переход на CMSIS • Где DMA действительно нужен, а где — лишний • Использование кольцевых буферов в реальных проектах 🎓 Продолжить обучение программированию МК: ▶ Курс «Программирование микроконтроллеров STM32»: https://pcbteach.ru/mcu_schedule?utm_source=rutube ▶ Все курсы Академии: https://pcbteach.ru/#specialnost?utm_source=rutube ▶ Другие вебинары по программированию микроконтроллеров и языку Си: https://rutube.ru/plst/1444506?r=wd 00:02:58 Начало вебинара, вступление 00:04:09 Представление и тема: работа STM32 с периферией rutube d1ff9415b5bfa715a557e999… 00:05:38 Архитектура ARM Cortex и шинная модель 00:07:32 Шинная матрица и параллельная работа CPU и DMA 00:10:12 Шина AHB — высокоскоростная магистраль 00:10:59 Шина APB — периферийная шина и её особенности 00:12:19 Тактирование и влияние делителей частоты 00:13:57 Memory-mapped подход: периферия как область памяти 00:15:35 Три метода работы с периферией: Polling / Interrupt / DMA 00:17:25 Недостатки polling и энергопотребление 00:18:41 Прерывания, NVIC и приоритеты 00:23:01 DMA — как разгружает процессор 00:25:54 Когда в проекте нужна RTOS 00:28:07 Типовые ошибки при работе с STM32 (введение) 00:28:40 Ошибка №1 — перегруженные таймеры и SysTick 00:30:16 Ошибка №2 — обработка АЦП в прерываниях 00:31:06 Ошибка №3 — перегрузка шины и конфликты DMA 00:34:01 Правильная архитектура: Timer → ADC → DMA 00:37:29 Как резко снизить нагрузку на CPU 00:38:05 Итоги: почему важно понимать архитектуру МК, а не только писать код 📌 Напишите в комментариях: Используете ли вы DMA и прерывания осознанно — или «по привычке из примеров»? Какие проблемы ловили на реальных проектах? Подписывайтесь на канал, если занимаетесь Embedded-разработкой и хотите понимать, как работает микроконтроллер под кодом, а не только пользоваться библиотеками.

12+
328 просмотров
21 день назад
12+
328 просмотров
21 день назад

В этом вебинаре разбираем, как микроконтроллер STM32 на самом деле взаимодействует с периферией, что происходит на уровне шин, тактирования и памяти, и почему без понимания архитектуры даже «правильный» код может работать нестабильно. Это не поверхностный разбор HAL-функций, а инженерный взгляд на то, как устроены AHB/APB-шины, DMA, прерывания, арбитраж доступа к памяти и как это влияет на реальную производительность системы. Ведущий — Максим Белецкий, инженер-программист, преподаватель курса по программированию микроконтроллеров в Академии программирования электронных устройств. Материал подготовлен на основе записи вебинара 🔎 В вебинаре подробно рассмотрены: • Архитектура шин STM32 (E-Code, D-Code, System Bus) • Как работает многомастерная шинная матрица • Разница между AHB и APB и почему она критична • Как тактирование влияет на периферию и таймеры • Memory-mapped периферия: управление через адресное пространство • Polling vs Interrupt vs DMA — когда что применять • Почему обработка в прерываниях «убивает» производительность • Ошибки при работе с SysTick, ADC и DMA • Перегрузка шины и загадочные HardFault • «Золотая схема» Timer → ADC → DMA без лишних прерываний • Когда стоит применять RTOS • Практические приемы оптимизации HAL и переход на CMSIS • Где DMA действительно нужен, а где — лишний • Использование кольцевых буферов в реальных проектах 🎓 Продолжить обучение программированию МК: ▶ Курс «Программирование микроконтроллеров STM32»: https://pcbteach.ru/mcu_schedule?utm_source=rutube ▶ Все курсы Академии: https://pcbteach.ru/#specialnost?utm_source=rutube ▶ Другие вебинары по программированию микроконтроллеров и языку Си: https://rutube.ru/plst/1444506?r=wd 00:02:58 Начало вебинара, вступление 00:04:09 Представление и тема: работа STM32 с периферией rutube d1ff9415b5bfa715a557e999… 00:05:38 Архитектура ARM Cortex и шинная модель 00:07:32 Шинная матрица и параллельная работа CPU и DMA 00:10:12 Шина AHB — высокоскоростная магистраль 00:10:59 Шина APB — периферийная шина и её особенности 00:12:19 Тактирование и влияние делителей частоты 00:13:57 Memory-mapped подход: периферия как область памяти 00:15:35 Три метода работы с периферией: Polling / Interrupt / DMA 00:17:25 Недостатки polling и энергопотребление 00:18:41 Прерывания, NVIC и приоритеты 00:23:01 DMA — как разгружает процессор 00:25:54 Когда в проекте нужна RTOS 00:28:07 Типовые ошибки при работе с STM32 (введение) 00:28:40 Ошибка №1 — перегруженные таймеры и SysTick 00:30:16 Ошибка №2 — обработка АЦП в прерываниях 00:31:06 Ошибка №3 — перегрузка шины и конфликты DMA 00:34:01 Правильная архитектура: Timer → ADC → DMA 00:37:29 Как резко снизить нагрузку на CPU 00:38:05 Итоги: почему важно понимать архитектуру МК, а не только писать код 📌 Напишите в комментариях: Используете ли вы DMA и прерывания осознанно — или «по привычке из примеров»? Какие проблемы ловили на реальных проектах? Подписывайтесь на канал, если занимаетесь Embedded-разработкой и хотите понимать, как работает микроконтроллер под кодом, а не только пользоваться библиотеками.

, чтобы оставлять комментарии