l_fin_l 0 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба Добрый день, пытаюсь реализовать usb звуковую аудио карту на stm32l476 с использованием встроенного DAC. Само usb устройство определяется в системе без ошибок(для его реализации использовал CubeMX). Судя по документу UM1734 нужно использовать i2s dac с использованием dma, но я хочу использовать встроенный ЦАП, да и вообще в ней скудновато описана работа аудио класса. Возможно кто-то такое уже реализовывал, либо может подсказать куда копать. Я знаю, что звук через встроенный ЦАП будет не очень, мне качество звука не главное. Использую плату Nucleo-64(stm32l476), среда разработки STM32CubeIDE. Заранее спасибо за помощь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба 47 минут назад, l_fin_l сказал: может подсказать куда копать. Копайте user manual. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба 50 minutes ago, l_fin_l said: Судя по документу UM1734 нужно использовать i2s dac с использованием dma, но я хочу использовать встроенный ЦАП, Найдите в коде где идет вывод в I2S и подмените его выводом в DAC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
l_fin_l 0 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба 8 минут назад, dimka76 сказал: Найдите в коде где идет вывод в I2S и подмените его выводом в DAC. Пробовал, подключал осциллограф к ножке ЦАПа - тишина Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба 1 minute ago, l_fin_l said: Пробовал, подключал осциллограф к ножке ЦАПа - тишина Значит ЦАП не так настроили или не так в него данные отсылате. Читайте руководство на МК и ищите ошибку в коде. Или у вас HOST в эту звуковую карту вообще ничего не отправляет, а отправляет в другую звуковую карту. Запустите проект в исходном варианте с I2S и посмотрите осциллографом есть ли сигналы на выходе I2S/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
l_fin_l 0 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба 3 минуты назад, dimka76 сказал: Запустите проект в исходном варианте с I2S и посмотрите осциллографом есть ли сигналы на выходе I2S/ Точно, что-то сразу до меня дошло так попробовать, спасибо за совет. Буду пробовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба 5 minutes ago, l_fin_l said: Пробовал, подключал осциллограф к ножке ЦАПа - тишина У Чип и Дип есть свой проект для USB Audio с открытыми исходниками. Попробуйте его. https://www.chipdip.ru/product0/9000569733 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
l_fin_l 0 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба 1 минуту назад, dimka76 сказал: У Чип и Дип есть свой проект для USB Audio с открытыми исходниками. Попробуйте его. https://www.chipdip.ru/product0/9000569733 Спасибо, посмотрю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
l_fin_l 0 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба У меня на МК отсутствует i2s шина. Эта шина используется для передачи данных между аудиоустройствами. А мне интересен именно ЦАП подключенный через ДМА. Возможно у кого-то есть более-менее понятное описание usb audio classs. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба Разделите задачу... Для начала на целевом устройстве получите работающий ЦАП обслуженный по DMA (Например пилу выдайте). Следующим этапом перейдете к USB AUDIO. Тут вас ждет одна особенность... DMA STM32F446-го из демоплаты имеет dual buffer режим, весьма удобный для безшумной склейки отдельных буферов аудиоданных. У L4 серии такого нет, придется тратить производительность на пересылку половинок буфера работающего в циклическом режиме DMA. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
l_fin_l 0 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба Спасибо за рекомендации. 5 минут назад, GenaSPB сказал: Для начала на целевом устройстве получите работающий ЦАП обслуженный по DMA (Например пилу выдайте). ЦАП по таймеру я реализовал - работает. USB audio class заработал почти сразу из коробки(CubeMX), за исключением пары правок. Как я понял из документации данные передаются в AUDIO_AudioCmd_FS, далее в зависимости от состояния(AUDIO_CMD_START, AUDIO_CMD_PLAY) передаются данные в нужную функцию. Т.к. у меня встроенный ЦАП настроен заранее, то состояние AUDIO_CMD_START меня не интересует(опять же это мои догадки), меня интересует только AUDIO_CMD_PLAY в которой я и буду передавать данные в ЦАП. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 19 января, 2022 Опубликовано 19 января, 2022 (изменено) · Жалоба Если не будете реализовывать канал обратной связи для подстройки скорости - то Вам надо обеспечить resample приходящего от компьютера потока к скорости работающего от вашего локального тактового генератора ЦАП. Про AUDIO API того что сделано в кубе не подскажу, я от куба только инициализацию и обработчики стандартных состояний енумерации оставил. Изменено 19 января, 2022 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeymen 0 31 января, 2022 Опубликовано 31 января, 2022 · Жалоба Приветствую. Удалось победить? То же пробую usb audio intDAC stm32h743 Выводит но с искажениями, которые не могу победить. Вот проект, может подскажите где косяк? H7USBaudio.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться