Тёмный

Подключение аудио-ЦАП к микроконтроллеру STM32: stm32f401ccu6 + pcm5102 + i2s + dma, регистры и LL 

VadRov
Подписаться 7 тыс.
Просмотров 8 тыс.
50% 1

Подключение аудио-ЦАП к микроконтроллеру STM32: stm32f401ccu6 + pcm5102 + i2s + dma, регистры и LL. Подключаю аудио-ЦАП (audio-DAC) к микроконтроллеру stm32f4 по интерфейсу i2s, реализованному в stm32f4 на базе периферии spi. HAL использовать не буду: только регистры и LL. Использую DMA. В видео проект подключения с нуля. В качестве тестового сигнала сформируем в правом и левом звуковых каналах соответственно сигналы синуса и косинуса. Частота сформированных сигналов 122.5 Гц (44100/360). Графики сигналов выведу на осциллограф, в том числе, в двухканальном режиме в формате X-Y.
Скачать проект можно по ссылкам: drive.google.c...
github.com/vad...
Поддержать канал:
yoomoney.ru/to...
Комплектующие в видео:
плата разработки stm32f401ccu6
аудио-ЦАП pcm5102a
stm32, stm32 i2s, stm32 i2s dma, pcm5102, stm32 dac dma, stm32 dac i2s, stm32 dac, i2s dma, stm32 pcm5102, stm32 audio, stm32 audio dac, stm32f401ccu6
#stm32
#dac
#цап
#программирование

Опубликовано:

 

27 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 38   
@VadRov
@VadRov 2 года назад
Скачать проект из этого видео можно по ссылкам: drive.google.com/file/d/1N1malMCehkTyb7OGS39Izec_-wQh-I13 github.com/vadrov/stm32-i2s-audio-dac-pcm5102a Подключение дисплея st7789 по spi c dma на CMSIS и LL рассмотрено в видео ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-8tIJ16riJqo.html Подключение SD-карты по spi с dma на CMSIS и LL рассмотрено в видео ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-z99bLhlnukM.html Подключение кнопок на таймере с прерыванием на CMSIS и LL с устранением дребезга, автоповтором и буферов ввода (прямо как на PC 😉) рассмотрено в видео ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-e-w5HS75neg.html Файловый менеджер (структура и код) рассмотрен в видео ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-4c_PwnasQvs.html Подключение аудио-цап (audio dac) по интерфейсу i2s на CMSIS и LL рассмотрено в видео ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-p0IhX-XiiiQ.html К каждому из перечисленных видео есть ссылка в описании на проект для скачивания. Поддержать канал: yoomoney.ru/to/4100117522443917 Комплектующие в видео: плата разработки stm32f401ccu6 аудио-ЦАП pcm5102a
@МихаилКотов-и4х
Плеер- по моему мнению есть цепочка: источник SD/флешка, транспорт- микро контроллер, DAC+ усилочек(АС или уши(коих в музыке не люблю по известным причинам)).
@МихаилКотов-и4х
Пока займусь часами «с боем на Ардуино» - полазил по разным сайтам в поисках «хорошего боя» - у всех !!!! один и тот же кетайский звон, и ещё Куранты (куранты Карл!), придётся записывать свои трофейные ходики пока они ещё дышат.
@DenSvet
@DenSvet Год назад
VadRov спасибо за ваш труд! ЦАП pcm5102 нужно конфигурировать? Или Вы для i2s на микроконтроллере подобрали его дефолтные настройки?
@VadRov
@VadRov Год назад
Приветствую. Конфигурировать не надо. Но, строго говоря, это не совсем так, так как есть все-таки у этого ЦАПа входы для внешнего цифрового управления DEMP, FLT, FMT, XSMT, которые на показанной в видео плате выведены во "внешний мир" и через которые доступны, соответственно, такие настройки, как: частотная коррекция для сэмплов с частотой 44.1 кГц (вкл/выкл), выбор фильтра с нормальной/низкой задержкой, выбор формата аудио i2s/по левому краю, управление мягким отключением/мягким включением звука. То есть через gpio м/к мы можем управлять этими настройками.
@DenSvet
@DenSvet Год назад
@@VadRov т.е. с битностью ЦАП 16, 24, 32 бита, и частотой дискретизации заморачиваться не нужно, это дело микроконтроллера? Например, я выставляю 24 бита и 48кГц частота дискретизации (хорошо подходит для нулевой ошибки на i2s), и оставляю все по вашей схеме на видео.
@VadRov
@VadRov Год назад
@@DenSvet, если надо воспроизводить звуковые данные, то возьмите вариант драйвера pcm5102 из одноименной папки моего проекта видеоплеера github.com/vadrov/stm32f4_fast_optimized_avi_player_osd С параметрами, думаю, разберетесь. А в файле stm32f4xx_it.c можно будет скорректировать соответствующий обработчик прерывания, генерируемого потоком DMA при передаче половины и всего буфера (для своевременного обновления pcm буфера в целях формирования непрерывного звука). Upd. По сути вопроса. Мы настраиваем модуль i2s микроконтроллера: разрядность, частоту дискретизации и т.д.... ЦАП же по управляющим линиям BCK, LRCK i2s определяет как ему работать с данными, получаемыми по линии DIN i2s. При этом, для этого ЦАПа нет необходимости в тактировании MCK, так как он (ЦАП) имеет внутренний автоматически подстраиваемый модуль PLL.
@DenSvet
@DenSvet Год назад
@@VadRov Спасибо за развернутый ответ, прочел pdf на ЦАП от корки до корки. Действительно мин. внешних настроек. Осталось собрать на черной пилюле STM32F411 и с SD карты погонять стерео wav файлы. Если позволит время, запишу результат воспроизведения на свой scarlett focusrite 2i2, выложу на ютуб видео ролик тоже.
@ВалерийНауменко-и7й
@ВалерийНауменко-и7й 11 месяцев назад
Здравствуйте. Очень понравился Ваш проект. Могли бы Вы поделиться HEX файлом прошивки микроконтроллера. Спасибо.
@VadRov
@VadRov 11 месяцев назад
drive.google.com/file/d/10A1MNGkuXPNyQY2CdNSjLeq6qUo4osLv/view?usp=sharing
@ВалерийНауменко-и7й
@ВалерийНауменко-и7й 11 месяцев назад
Здравствуйте. Прошил контроллер и соединил по схеме с pcm5102. Windows 10 не видит звукового устройства по USB. Сначала проверил работу программатора прошивкой BLINK ( все ок). Куда копать ? Спасибо.
@VadRov
@VadRov 11 месяцев назад
@@ВалерийНауменко-и7й , здравствуйте. Этот проект совсем "не про это". То есть он не создает аудио устройство. Здесь просто про подключение ЦАП к stm32 по i2s.
@ВалерийНауменко-и7й
@ВалерийНауменко-и7й 11 месяцев назад
Жаль.
@МихаилКотов-и4х
Недавно разобрал Карадио и ищу «приемлемый проект» плеера на ESP32 или STM32F407.
@СергейБесман-ы8т
Здравствуйте. А какие форматы аудио воспроизводит этот цап?
@VadRov
@VadRov Год назад
16, 24, 32 бита. Заявлена частота дискретизации от 8000 до 384 000 Гц. Звук, действительно, неплохой, тем более, для такой цены. Но не для аудиофилллов. :) Для моих ушей звук приятный.
@СергейБесман-ы8т
@@VadRov mp3 и aac будет воспроизводить?
@VadRov
@VadRov Год назад
@@СергейБесман-ы8т , это просто ЦАП, который преобразует цифровой сигнал в аналоговый. Для декодирования аудиоформатов нужен декодер. Т.е. чтобы воспроизводить звук из аудиофайлов нужен, аудиодекодер, транспорт, ЦАП, усилитель и колонки. Я здесь (в видео) говорю о ЦАП. Декодер может быть программным, например, на базе микроконтроллера stm32.
@VadRov
@VadRov Год назад
@@СергейБесман-ы8т , для написания программного декодера mp3 и аас достаточно платки на базе stm32f401ccu6.
@СергейБесман-ы8т
@@VadRov я его планирую для карадио 32 использовать.
@МихаилКотов-и4х
Пойду их заведу.
@flamesky4637
@flamesky4637 Год назад
ЗА LL лайк!
@VadRov
@VadRov Год назад
Лайк за лайк 🙂
@МихаилКотов-и4х
25:22 имхо, все Ваши комментаторы- малолетние троли? Что тут что на Дзене, жаль нет коментов у вас в Телеграмм. Им бы что прикрутить или вставить!
@TheBrogas
@TheBrogas Год назад
3.5mm
@VadRov
@VadRov Год назад
Да, конечно, разъем 3,5 мм. Я ещё на стадии нарезки видео эту оговорку заметил, но не стал делать надпись на экране (ориентируясь на внимательность зрителей).🙂
@АнтонПупкин-з8к
@АнтонПупкин-з8к 2 года назад
Подключите к ESP32, можно сделать олайн радио!
@VadRov
@VadRov 2 года назад
Делал на 8266. Можно мультимедиа плеер сделать. Да, много чего, где требуется аудио.
@dioptriy68
@dioptriy68 Год назад
А интернет-радио туда можно прошить?
@VadRov
@VadRov Год назад
Можно, но потребуется дополнительный модуль Wi-Fi. Дешевле вместо stm в таком случае использовать esp8266 или esp32.
@Maxim_Slim
@Maxim_Slim 2 года назад
Спасибо, скачал. Много папок, файлов, надеюсь не трудно будет их куда надо впихнуть. Опыта 0.
@VadRov
@VadRov 2 года назад
Опыт придет. Главное, терпение и труд 🙂
@Maxim_Slim
@Maxim_Slim 2 года назад
@@VadRov я не хочу трудится, мне нужно развиваться в своих музыкальных и акустических вещах, там работы овер... Нужен юсб транспорт для цапа, готовое недорогое решение. Кстатии ваш проект звучит чисто? Если будет желание сделайте вторую серию для чайников, и если можно с 192кгц на 24 бита как у нормальных карт
@VadRov
@VadRov 2 года назад
Максим, pcm5102 - это цап начального уровня. Для профессиональных вещей можно рассмотреть что-то более серьезное. Да, и к минусам платы ЦАП, упомянутой в видео, можно отнести отсутствие хорошей организации питания, отсутствие ОУ на выходе (не всегда, конечно, обязательных) и т.п., т.е. микросхема ЦАП подключена с минимумом элементов обвязки (именно так, как указано в спецификации). Так что, о чистоте звука сложно говорить. Если сравнивать с китайскими дешевыми магнитолами, то звук ничем не хуже. Если же сравнивать с профессиональным оборудованием, то, разумеется, эта плата проиграет. В качестве дешевого USB транспорта для ЦАП я бы, например, рассматривал не stm32f401ccu6, а ее "старшего брата" stm32f411ceu6. МК этот пошустрее, памяти больше в два раза, т.е. функционала можно больше "напихать".
@Maxim_Slim
@Maxim_Slim 2 года назад
@@VadRov вообще лично для меня сд качество норм, это я так про 192 сказал, к теме =). Вообще профессиональные карты за 200$ напичканы дешманскими чипами. Хочу или es9018q2m или 9023. а вам бы акустику достойную. Если задумаетесь, я здесь специалист, подскажу.
@Maxim_Slim
@Maxim_Slim 2 года назад
@@VadRov для сравнения, я на встроенной до сих пор сижу =( только никому не говорите)
Далее
Главное рыба есть, а воды нет..
00:54
Транспорты. Xmos, Amanero, CM6631
21:46
Просмотров 26 тыс.
STM32 Таймеры. Введение
24:48
Просмотров 2,9 тыс.
PCM5102 Audio DAC - A quick look at Aliexpress' best!
22:59
Главное рыба есть, а воды нет..
00:54