STM32 I2S АЦП DMA и Двойная буферизация - Цифровая обработка звука с помощью STM32 #4 - Лаборатория Фила #55

YOUTUBE · 24.11.2025 05:28

Ключевые темы и таймкоды

Обзор аппаратной платформы

0:00
  • Используется плата на базе STM 32 с выделенным модулем с плавающей запятой, большим объемом флэш-памяти и оперативной памяти, а также периферийными устройствами.
  • Плата изготовлена компанией JLC PCB в Китае.
  • Платформа включает в себя основной контроллер STM 32 F 405, различные интерфейсы, источники питания, кодек и аналоговые настройки для ввода и вывода данных.

Настройка прошивки

3:15
  • Используется среда разработки STM 32 Cube IDE для программирования микроконтроллера.
  • Вводятся номер используемой микросхемы и название проекта.
  • Выбираются необходимые периферийные устройства, такие как SPI, UART и USB.
  • Настройка часов и параметров для работы с кодеком.
  • Настройка параметров для передачи данных с высокой пропускной способностью.
  • Настройка параметров для 16-битных данных в 16-битном кадре и частоты дискретизации 48 кГц.
  • Настройка тактовой частоты и погрешности между выбранной и реальной частотой звука.
  • Использование DMA для разгрузки центрального процессора.

Введение в обработку аудиоданных

8:52
  • Видео объясняет, как использовать контроллер доступа к дискретной памяти для передачи и приема аудиоданных через DMA.
  • Необходимо настроить два потока передачи и приема данных.

Двойная буферизация

11:49
  • Объясняется концепция двойной буферизации для обработки аудиоданных.
  • Буферы АЦП и ЦАП разделены пополам, чтобы обеспечить больше времени для обработки данных.

Обработка аудиоданных

15:58
  • Создаются два буфера для обработки аудиоданных.
  • Функция обработки данных вызывается, когда флаг готовности данных равен единице.
  • Обработка включает преобразование данных из int 16 в float, обработку с использованием коэффициентов и преобразование обратно в int 16.
  • Флаг готовности данных устанавливается в ноль после обработки.

Настройка и инициализация кодека

17:55
  • В этом разделе автор объясняет, как настроить и инициализировать кодек для работы с потоками передачи и приема данных.
  • Он также упоминает, что для этого процесса необходимо использовать функцию, которая запускает эти потоки.

Настройка и инициализация АЦП

24:02
  • В этом разделе автор показывает, как настроить и инициализировать АЦП для работы с фиксированной частотой дискретизации.
  • Он объясняет, как выбрать режим преобразования, количество конверсий и время выборки.
  • Также автор упоминает, что для этого процесса используется таймер для запуска события.

Настройка таймера и АЦП

26:29
  • В видео рассказывается о настройке таймера и АЦП для работы с педалью гитарных эффектов.
  • Таймер настраивается на определенную частоту дискретизации, а АЦП активируется с помощью таймера.
  • В техническом описании Ssim 32 F 405 можно найти информацию о таймере и его подключении к шине APB One.

Настройка DMA и загрузка данных

28:00
  • В видео объясняется, как настроить DMA для загрузки данных, полученных от АЦП, в память.
  • DMA запускается с помощью события обновления по таймеру.
  • В коде добавляется буфер для управляющих данных АЦП.

Запуск потока DMA и таймера

29:43
  • После инициализации кодека и запуска передачи данных, запускается поток DMA для АЦП.
  • Таймер преобразования запускается с помощью функции запуска на основе HAL.
  • В функции обработки данных происходит обработка полученных данных.