Загрузка...

Dual Function Generator (DAC/DMA) part 1 | STM32 Tutorial #88

This is part 1 of a multi-part video creating a dual channel function generator on a STM32 MCU.

Buy Streamline here: https://currentmakers.com/products/streamline

Watch part 2 here: https://www.youtube.com/watch?v=CHVcX6bBvas

Raspberry Pi Pico World channel: https://www.youtube.com/@RPPicoWorld

ADC and DAC page on the STM32World wiki: https://stm32world.com/wiki/STM32_ADC_and_DAC_with_DMA

Original 1 channel Sine Wave: https://www.youtube.com/watch?v=0N4ECamZw2k
Original dual channel using FreeRTOS: https://www.youtube.com/watch?v=i9j63SeN1H8
Blinky Orgy video explaining LED connectivity: https://www.youtube.com/watch?v=69pR3Eufhao

#STM32 #GettingStarted #Tutorial #STM32CubeIDE #STM32CubeMX #STM32World #CurrentMakers #Streamline #STM32F407

0:00:00 Intro and goal
0:01:29 WHY this particular video
0:03:58 Theoretical background - the math - sine waves
0:05:00 The STM32World Wiki
0:05:48 The Unit Circle
0:08:06 The Sine Wave
0:08:45 Frequency, angular velocity or rate of angle change
0:12:01 The hardware set - Streamline
0:13:51 Configuring the MCU in STM32CubeMX
0:14:47 The Project Manager setup - remember to select STM32CubeIDE
0:16:02 The basic steps - swd, clock and usart
0:17:05 The clock configuration
0:18:55 The usart used for serial debugging
0:19:49 The LED and BTN pins
0:20:36 Enabling BOTH DACs
0:22:15 Enabling two DMA channels - one for each DAC
0:23:39 Configuring Timer 6 - TIM6
0:24:17 Looking up the timer bus in the datasheet
0:27:20 Configuring the timer values to get 100 kHz
0:29:10 Adding the ARM CMSIS DSP library for fast math
0:30:41 Firing up STM32CubeIDE and adding the new project
0:31:46 Looking at main.c and first build
0:32:37 Adding printf redirect
0:34:10 Superloop timed execution - led flash and tick print
0:38:06 First run - LED not flashing
0:40:38 Fixing LED in STM32CubeMX
0:42:32 Flashing fixed version - now blinking
0:43:44 Include the math.h and arm_math.h - fixing mistake
0:46:43 Adding channel handlers
0:47:48 Project defines / settings
0:49:31 Global variables - dma buffers and handlers
0:54:50 Defining the dma callbacks
0:56:50 The buffer update calculations shared between the callbacks
0:58:50 Starting the timer and DACs
1:00:33 Compiling and running
1:01:04 Flashing the project - working! 2 Beautiful Sine Waves
1:03:02 Performance analysis
1:04:49 Comparing performance penalty for DAC and DMA 16 million loops vs. 14
1:04:59 Using the built-in statistical profiler
1:07:50 Profiler result - less than 10 % spend on Sine Wave calculation
1:09:50 Increasing the sample rate to 200 ksps
1:13:31 Running profiler with 200 ksps about 18 % spend in calculation
1:15:10 Final thoughts and outtro

Corrections:
41:12 I don't think I made a mistake - STM32CubeMX bug?
48:51 I meant 12 bit 4096

Видео Dual Function Generator (DAC/DMA) part 1 | STM32 Tutorial #88 канала STM32World
Яндекс.Метрика
Все заметки Новая заметка Страницу в заметки
Страницу в закладки Мои закладки
На информационно-развлекательном портале SALDA.WS применяются cookie-файлы. Нажимая кнопку Принять, вы подтверждаете свое согласие на их использование.
О CookiesНапомнить позжеПринять