Двухканальный функциональный генератор (ЦАП/ПДП), часть 1 | Урок по STM32 #88

77 подписчиков

12+
12+

3 дня назад

ПожаловатьсяНарушение авторских прав

77 подписчиков

12+
12+

3 дня назад

ПожаловатьсяНарушение авторских прав
12+
12+

3 дня назад

Это первая часть многосерийного видео о создании двухканального генератора функций на микроконтроллере STM32. Поддержите канал и купите Streamline здесь: https://currentmakers.com/products/streamline Смотрите вторую часть здесь: https://www.youtube.com/watch?v=CHVcX6bBvas Канал Raspberry Pi Pico World: https://www.youtube.com/@RPPicoWorld Страница об АЦП и ЦАП на вики STM32World: https://stm32world.com/wiki/STM32_ADC_and_DAC_with_DMA Оригинальный 1-канальный синусоидальный сигнал: https://www.youtube.com/watch?v=0N4ECamZw2k Оригинальный двухканальный сигнал с использованием FreeRTOS: https://www.youtube.com/watch?v=i9j63SeN1H8 Видео Blinky Orgy, объясняющее подключение светодиодов: https://www.youtube.com/watch?v=69pR3Eufhao #STM32 #НачалоРаботы #Учебник #STM32CubeIDE #STM32CubeMX #STM32World #CurrentMakers #Streamline #STM32F407 0:00:00 Вступление и цель 0:01:29 Почему именно это видео 0:03:58 Теоретические основы - математика - синусоидальные волны 0:05:00 Вики STM32World 0:05:48 Единичная окружность 0:08:06 Синусоидальная волна 0:08:45 Частота, угловая скорость или скорость изменения угла 0:12:01 Аппаратное обеспечение - Streamline 0:13:51 Настройка микроконтроллера в STM32CubeMX 0:14:47 Настройка менеджера проектов - не забудьте выбрать STM32CubeIDE 0:16:02 Основные шаги - swd, clock и usart 0:17:05 Конфигурация тактовой частоты 0:18:55 usart, используемый для последовательного порта отладка 0:19:49 Контакты LED и BTN 0:20:36 Включение обоих ЦАП 0:22:15 Включение двух каналов DMA — по одному для каждого ЦАП 0:23:39 Настройка таймера 6 — TIM6 0:24:17 Поиск шины таймера в техническом описании 0:27:20 Настройка значений таймера для получения 100 кГц 0:29:10 Добавление библиотеки ARM CMSIS DSP для быстрых вычислений 0:30:41 Запуск STM32CubeIDE и добавление нового проекта 0:31:46 Просмотр main.c и первая сборка 0:32:37 Добавление перенаправления printf 0:34:10 Выполнение по таймеру в суперцикле — мигание светодиода и вывод тиков 0:38:06 Первый запуск — светодиод не мигает 0:40:38 Исправление светодиода в STM32CubeMX 0:42:32 Прошивка исправленной версии - теперь мигает 0:43:44 Включение math.h и arm_math.h - исправление ошибки 0:46:43 Добавление обработчиков каналов 0:47:48 Определения проекта / настройки 0:49:31 Глобальные переменные - буферы DMA и обработчики 0:54:50 Определение обратных вызовов DMA 0:56:50 Вычисления обновления буфера, разделяемые между обратными вызовами 0:58:50 Запуск таймера и ЦАП 1:00:33 Компиляция и запуск 1:01:04 Прошивка проекта - работает! 2 прекрасные синусоидальные волны 1:03:02 Анализ производительности 1:04:49 Сравнение снижения производительности ЦАП и DMA: 16 миллионов циклов против 14 1:04:59 Использование встроенного статистического профилировщика 1:07:50 Результат профилировщика — менее 10 % затрат на вычисление синусоидальной волны 1:09:50 Увеличение частоты дискретизации до 200 кс/с 1:13:31 Запуск профилировщика с частотой 200 кс/с: около 18 % затрат на вычисления 1:15:10 Заключительные мысли и заключение Исправления: 41:12 Я не думаю, что допустил ошибку — ошибка STM32CubeMX? 48:51 Я имел в виду 12-битный 4096

Название:

Двухканальный функциональный генератор (ЦАП/ПДП), часть 1 | Урок по STM32 #88

Категория:

Разное