• Внешний USB-ЦАП-Аудиопроцессор CDD-010 можно купить

TDM8 в ADAU1467

mikhalych24

Well-known member
Приветствую форумчан! Вопрос на засыпку: а кто-нибудь пробовал настроить вывод многоканального звука через TDM8 в ADAU1467? Что-то убил сегодня целый день с нулевым результатом.
Что делал: в настройке Serial Output Port 0 включил Flexible TDM и 8 channels, 32 bit/channel, вывод на схеме настроил в каналы 0-7. Звука нет, осциллографом на линии DATA видны только какие-то стабильные импульсы либо что-то типа хаотичного мусора. Куда бы порыть?

Снимок экрана от 2022-11-16 00-09-07.png
 

Евгений

Administrator
Команда форума
Готовый проект
 

mikhalych24

Well-known member
Благодарю, но что=то мне подсказывает, что не все так просто.. Завтра буду еще смотреть..
 

Евгений

Administrator
Команда форума
Благодарю, но что=то мне подсказывает, что не все так просто.. Завтра буду еще смотреть..
Вам дали ссылку на готовый рабочий проект, который содержит, что Вам нужно.
Объясните, пожалуйста, зачем Вы задаете вопрос, если при получении ответа, "Вам что-то подсказывает"?
 

mikhalych24

Well-known member
Ну, если не затруднит, загляните сюда - последний пост. Так вот: Глядя на диаграммы TDM8 ADAU1467 и сравнивая их с диаграммами TDM8 от TI я увидел большую разницу, Вам словосочетание I2S TDM mode что-нибудь говорит? Мне пока немного, но разница с просто TDM mode похоже есть.
 

Евгений

Administrator
Команда форума
Ну, если не затруднит, загляните сюда - последний пост.
Какое отношение это имеет к Вашему вопросу и к названию созданной Вами темы?


TDM8 ADAU1467 и сравнивая их с диаграммами TDM8 от TI я увидел большую разницу
И в чем же эта "большая" разница?
 

mikhalych24

Well-known member
Снимок экрана от 2022-11-16 12-43-54.png

Это TDM8 из даташита ADAU1467

Снимок экрана от 2022-11-16 12-40-47.png


А это TDM8 из даташита TAS6424-Q1. Сравните LRCK и FSYNC.
 

Евгений

Administrator
Команда форума
Это TDM8 из даташита ADAU1467

А это TDM8 из даташита TAS6424-Q1. Сравните LRCK и FSYNC.
Вы сами читаете сообщения, ссылки на которые даете?
В предыдущем сообщении речь шла об одной микросхеме TI, теперь о другой. В приведенной Вами ссылке ранее на картинке сигнал LRCK аналогичен приведенной Вами сейчас картинке для ADAU1467. Вас это смутило. Теперь Вы приводите картинку от другой микросхемы с другой формой сигнала LRCK.

Более того Вы сами в первом сообщении привели картинку с настройками порта из SigmaStudio. Вы смотрели эти настройки? Они позволяют и выбирать форму сигнала LRCK, и выбирать размер данных, и задавать смещение данных, и т.д., т.е. адаптировать сигналы для сопряжения с внешними устройствами.

Так в чем вопрос?
 

mikhalych24

Well-known member
Они позволяют и выбирать форму сигнала LRCK, и выбирать размер данных, и задавать смещение данных, и т.д., т.е. адаптировать сигналы для сопряжения с внешними устройствами.
Евгений, спасибо за подсказку! С этими параметрами:
Снимок экрана от 2022-11-16 17-13-39.png

какой-то звук появился, но очень грязный. Либо слишком "грязная" линия связи - проводки до 15 см, фронты клоков возможно завалены и пр. (FS у меня - 96 кГц, соответственно BCLK - 24,576 мГц), либо параметр Right justified 24-bit data (delay by 8) неправильный в данном случае, но в других вариантах вообще ничего.
 
Последнее редактирование:

Евгений

Administrator
Команда форума
У Вас настройки порта соответствуют частоте 48 кГц. Для 96 кГц должно быть Sapmling Rate = 2 *Fs и если весь проект рассчитан на 96 кГц, start impulse в настройках ядра тоже должен стоять 2 *Fs. При этом частота BCLK верная - 24,576 МГц - возможно, неверно выставлен делитель для PLL.

либо параметр Right justified 24-bit data (delay by 8) неправильный в данном случае, но в других вариантах вообще ничего.
Возможно, это связано с полярностью BCLK Polarity или LRCLK Polarity.
 

Евгений

Administrator
Команда форума
да и осциллографом я вижу SCLK 96 кГц
Я Вам про это и говорю. У Вас частота на выходе верная, но неверно по частотам настроена вся система. Вы делители подобрали для 96 кГц для выхода, нарушив всю систему тактирования.

Clock generator 1 у меня 96 кГц
Не смущает, что даже в настройках порта он обозначен как "48 kHz (Fs) generator"? Вы его искусственно повысили до 96 кГц, для чего он не предназначен.
 

mikhalych24

Well-known member
Ну хорошо, а почему тогда в режиме I2S все прекрасно работает: вывод идет на все 4 порта как часы? В любом случае спасибо за указание нюансов настройки ADAU. Это бесценно!
 

Евгений

Administrator
Команда форума
Ну хорошо, а почему тогда в режиме I2S все прекрасно работает: вывод идет на все 4 порта как часы?
Разве я говорил, что не работает? Я говорю, что тактирование системы настроено неправильно. Зная, что должно получиться на выходе, Вы "подогнали" настройки, чтобы получить ожидаемый результат. Но "подогнали" не те настройки. В результате генератор 48 kHz (Fs) стал работать на 96 кГц. Предположим, завтра Вам понадобится настроить один из этих 4-х портов на 48 кГц, а три оставить на 96 кГц. И что делать?

Коротко о настройке тактирования ADAU1452/ADAU1467.
Коэффициенты PLL подбираются исходя из входной частоты MCLK, чтобы на выходе получилась частота 294,912 МГц (для Fs = 48 кГц) или 293,5296 МГц (для Fs = 44,1 кГц). Коэффициенты генераторов выбираются для своих базовых частот. Таким образом, Clock Generator 1 настраивается на базовую частоту Fs, т.е. 48 кГц / 44,1 кГц. Эти настройки больше ни от чего не зависят и остаются неизменными для любых частот аудиопотока проекта. Если MCLK = 12,288 МГц / 11,2896 МГц коэффициенты остаются по умолчанию.

Чтобы настроить проект на частоту 96 кГц, нужно start impulse в настройках ядра установить на 2 *Fs. Для 192 кГц - на 4 *Fs. При этом также нужно на панели инструментов выбрать соответствующую частоту проекта.

Частота последовательных портов задается аналогично: для 96 кГц должно быть Sapmling Rate = 2 *Fs, для 192 кГц должно быть Sapmling Rate = 4 *Fs. При этом коэффициенты PLL и генераторов всегда остаются неизменными и не зависят от частоты портов.
 

mikhalych24

Well-known member
Еще раз спасибо! Можно ламерский вопрос: что понимается под Fs в SigmaStudio? DSP Core Sample Rate? Тогда что такое start impulse? И почему обязательно 48 кГц? Ну и что такое частота проекта? В даташите про это ни слова..
 

Евгений

Administrator
Команда форума
что понимается под Fs в SigmaStudio?
Fs - это базовая частота, т.е. 1 * Fs

И почему обязательно 48 кГц?
48 кГц или 44,1 кГц. Остальные - это производные от этих частот: 88,2/96 = 2 * 44,1/48, т.е. 2 * Fs и т.д.

В каком контексте?

Тогда что такое start impulse?
Определяет частоту, которая задает начало фрейма для обработки. Изменяется пропорционально частоте аудиопотока.

Ну и что такое частота проекта?
Вверху в SigmaStudio на панели задач окно для выбора частоты проекта, т.е. частоты обрабатываемого аудиопотока. Некоторые блоки от нее зависят, например, фильтры, у них для каждой частоты свои коэффициенты.
 

mikhalych24

Well-known member
Fs - это базовая частота, т.е. 1 * Fs
Кто определяет базу?
48 кГц или 44,1 кГц. Остальные
т.е. 48 кГц выбрана потому, что это середина в линейке 4-2-1-1/2-1/4 (192-94-48-24-12) (в настройках портов именно эти коэффициенты)?
т.е. фактически просто для удобства. Ну и какая разница, если на порт приходит не 48*2 а просто 96 кГц? Просто делитель в другом месте стоит.. Где еще этот делитель может навредить?
 

Евгений

Administrator
Команда форума
Кто определяет базу?
Analog devices

т.е. 48 кГц выбрана потому, что это середина в линейке 4-2-1-1/2-1/4 (192-94-48-24-12) (
Это начало, выше писал подробно.


т.е. фактически просто для удобства.
Нет, выше описано подробно.


. Ну и какая разница, если на порт приходит не 48*2 а просто 96 кГц? Просто делитель в другом месте стоит.. Где еще этот делитель может навредить?
Выше подробно описано.
 

mikhalych24

Well-known member
Все равно не работает. Настроил как Вы сказали - тот же результат. Пока остановил эксперименты, устал.
 
Верх