Как стать автором
Обновить

Звуковая карта USB на STM32. Часть 1: Используем I2S-кодек

Время на прочтение6 мин
Количество просмотров12K
Всего голосов 56: ↑55 и ↓1+54
Комментарии13

Комментарии 13

Прекрасно! Продолжайте пожалуйста.

Si5351a стабильно работает при такой запитке тактовой частотой? Согласно документации, она предназначена работать только с резонатором.

Удалось ли реализовать обратную связь для USB audio, чтобы не выбрасывать сэмплы?

Si5351a стабильно работает при такой запитке тактовой частотой? Согласно документации, она предназначена работать только с резонатором



Схема подключения внешнего опорного генератора приведена на странице 21 datasheet. Чтобы не городить всякие аттенюаторы, ёмкость конденсатора связи выбрана порядка 390 пФ. Работает без замечаний уже больше года

На схеме другая модификация, с буквой "c".

Коллега! Вы же по английски, не то что читать, даже писать умеете! И весьма неплохо, между прочим :)

Прочитайте раздел 5.6 ещё раз внимательно, он не только про Si5351C. Другие исполнения тоже так можно тактировать

Стр. 1:

The Si5351A generates up to 8 free-running clocks using an
INTERNAL oscillator for replacing crystals and crystal oscillators....

The Si5351C offers the same flexibility but synchronizes to an EXTERNAL reference clock (CLKIN).

Таблица 1:
Si5351Axxx XTAL only

Si5351Cxxx XTAL and/or CLKIN

Раздел 5.6 говорит о Si5351Cxxx

Куда-то не туда смотрю?

5.6 Подача сигнала опорной частоты на вход XA

Si5351 может работать от внешнего сигнала опорной частоты, поданного на вход XA. Это бывает особенно полезно при необходимости синхронизации двух частот. В случае исполнения Si5351C один и тот же сигнал можно подавать и на вход XA, и на вход CKIN.

Это был перевод на русский в виде моего пересказа. Si5351C тут упоминается отдельно только из-за входа CKIN.

Если внимательно посмотреть на MCU, тактирование там сделано так же: сигнал опорной частоты подаётся на вход OSC_IN, т.е. вход генератора

Удалось ли реализовать обратную связь для USB audio, чтобы не выбрасывать сэмплы?

Честно пытался с этим разобраться. Бросил, когда удалось предельно точно выставить «мастерклок»: из приёма сразу пропали все «глитчи» и прочие подобные артефакты

Но ведь возможно, что "предельно точно выставил" относится скорее всего к вашей связке платы и базового компьютера.

Chip-dip предлагает похожую звуковую плату, у них как сделано?

Если я ничего не путаю, у Чипа и Дипа эти проекты сделаны на библиотеке SPL.

Толку разобраться с этими проектами у меня не хватило: я не программист, учиться писать на С мне пришлось после 50-ти, и это - хобби

Но ведь возможно, что "предельно точно выставил" относится скорее всего к вашей связке платы и базового компьютера

...предельно точно с помощью поверенного частотомера электронно-счётного. Хотя, температурный дрейф частоты генератора, конечно, есть. Но он значительно меньше, чем у кварцевого резонатора.

Я пробовал кварцевые резонаторы на 25000 и 27000 кГц, а также и генераторы. Остановился пока на генераторе 27.000 МГц

Речь о том, что у хоста есть своя тактовая частота, у вашей карты - своя. Сейчас в вашей связке вы достигли некой точки, где переполнение/опустошение буфера происходит редко. Какова гарантия, что на другой паре будет также?

Гарантии нет, конечно. Но потеря нескольких отсчётов для речевого тракта в любительской радиосвязи не так критична, как "выбег частоты" во время передачи, например.

У STM есть расширение X-Cube для какой-то из плат с F446 на борту с реализованной синхронной звуковой картой. Пробовал разобраться: очень сложно для меня оказалось :(

Зарегистрируйтесь на Хабре, чтобы оставить комментарий