Подключение Reflex, USB Hi-Res транспорт к проекту на ADAU1467 RDC3-0027v2

Доброго времени суток!
Запускаю проект: Reflex+SPDIF+ADAU1467+ DSPO 12.288 I2S LINK +PCM5242 на платах Чип и Дипа. На плате Reflex все перемычки убрал (мастер в режиме stereo 2.0 32bit) . На RDC3-0027v2, SigmaDSP ADAU1452. Модуль цифровой обработки перемычку поставил одну 2-3 ( EXT_MCLK ). Соединил как на картинках Reflex и RDC3-0027v2 через модуль DSPO 12.288 I2S LINK на входной порт 2, к входу SPDIF оптический трансивер, на выходной порт, на выходы 0 и 1 подключил ЦАП PCM5242. В проекте Sigma Studio указал входной порт Slave, выходной Master. Теперь, когда включаю источник SPDIF (с битрейтами по очереди 44.1,48,96 кгц), на выходе PCM5242 всё играет хорошо. Затем включаю как источник вход Reflex, DSPO переключает MCLOCK и играет Reflex. Но когда начинаю переключать дискретность входного сигнала на 96 кгц , возникает жуткий треск и искажения. На шине LRCLOCK частота измеряется как 96*2 кгц (в других режимах 48кгц), звук пропадает, процессор зависает, пока не перезагрузишь. Подключал напрямую Reflex к PCM5242: всё нормально. В чём может быть причина?
P.S. ещё для звука без треска на всех режимах пришлось выставить значение выходного порта в Hardware configuration/Serial_ports/Serial Outputs/MSB Position в Left justified, о чём нигде в документации не встречал упоминания.
 

Александр Ф.

Well-known member
на сколько я понимаю, частота и дискретизация на ADAU задаётся одна, и она должна совпадать с той, что на Reflex
Я для 96кГц брал DSPO 24.576.
Ставил так, чтобы Reflex запускался от USB, то есть переключение MCLK идёт когда подключается Reflex к источнику.
Попробуйте на Reflex выставить 32бит 48кГц и посмотреть как будет работать.
 
Если Reflex выступает как мастер и входные файлы проглатывает с разной частотой дискретизации, то и его выход меняется в зависимости от этого. Сегодня попробовал тот же проект с перемычкой на плате 1467 в положении 1-2 (т.е. подключил только кварцевый резонатор на плате ADAU) и всё работало как часы. переключал файлы на входе в USB источник 44.1-48-96 и обратно: звук без треска и искажений! Где-то у меня в голове не сходятся концы с концами. И по выходному сигналу Left justified тоже не пойму (играет только с этим значением в настройках выходного порта).
 
В общем, подключил другой USB транспорт (на CM6631A), который валялся в загашнике. Те же самые проекты в Sigma Studio использовал: на 48 и 96кгц. Всё работало как часы: переключения на частоты дискретизации входных файлов 44->48->96->192->96->48->41кгц и в любом порядке сбоев не давало. Похоже Reflex на данный момент ещё недопиленное до конца изделие, и где-то накапливается ошибка при работе с Sigma Studio. Бывает, что переключается нормально, а бывает DSP зависает. Также, если подёргать ползунок перемотки трека в плеере в windows файла с 96кгц - зависает. Ну это всё испытания типа "нароботка на отказ", возможно никто с этим в своей практике не встретится.
Кстати проверил АЧХ ЦАП PCM5242 : немного заваливаются верхние частоты, показано на картинке

fr.png

Есть желание поменять конденсаторы выходного фильтра C10-C13 на 2000 pF, чтобы было как в даташите. Хотя в целом звучание очень качественное.
 

Евгений

Administrator
Команда форума
Похоже Reflex на данный момент ещё недопиленное до конца изделие, и где-то накапливается ошибка при работе с Sigma Studio.
Очень странный вывод. Задача Reflex - выдавать поток в определенном формате с заданными значениями разрядности / частоты. И он это выполняет корректно. Всё, что происходит далее - подключение DSP, настройки его проекта, выбор тактирования, режим мастер/слейв и т.д., а также, что вы делаете, как вы делаете и в какой последовательности - зависит от вас.
 

igrushkin

Well-known member
Проблема в связке 1467 и 5242. Я очернь долго бился с этим жутким треском. При этом связка super prime + 5242 работала нормально.
короче, лечится выставлением на 5242 джамера А1 (крайний левый) в позицию G.
 
Очень странный вывод. Задача Reflex - выдавать поток в определенном формате с заданными значениями разрядности / частоты. И он это выполняет корректно. Всё, что происходит далее - подключение DSP, настройки его проекта, выбор тактирования, режим мастер/слейв и т.д., а также, что вы делаете, как вы делаете и в какой последовательности - зависит от вас.
Может тогда подскажете, как правильно подключать модули? Сейчас подключено:
Reflex Master MCLK-EXT (перемычка на нём 10 пин-GND и подан MCLK от DSPO12.288_Link на пин EXT_CLK)
На RDC4-0027v2 на пины SerialPort_in1 подключен модуль DSPO12.288_Link (питание 3,3в и EXT_MCLK) плюс перемычка стоит на пинах 2 и 3 выбора MCLK.
Выход SerialOut_0 от Reflex подключен к Serial_In2 платы DSP, кроме пина MCLK.


подключение EXT_MCLK1.jpg


Конфигурация в проекте
CLOCK_CONTROL.png


SERIAL_INPUTS.png


SERIAL_OUTPUTS.png


Нормально работает только на 48 кгц (входной звуковой сигнал всегда 1000гц)
При переключении на 44,1 кгц периодический срыв синхронизации и рост искажений
При переключении на 96 кгц срыв синхронизации, рост искажений и частота звукового сигнала на выходе уменьшается до 500Гц !
 
Проблема в связке 1467 и 5242. Я очернь долго бился с этим жутким треском. При этом связка super prime + 5242 работала нормально.
короче, лечится выставлением на 5242 джамера А1 (крайний левый) в позицию G.
Спасибо! Это помогло с синхронизацией ADAU-PCM5242 в режиме настройке выходного порта с параметром MSB Position = I2S - BCLK delay by 1. До этого получалось нормально только со значением Left justified. Теперь всё как у людей.:)
 

Евгений

Administrator
Команда форума
Сейчас подключено:
Reflex Master MCLK-EXT (перемычка на нём 10 пин-GND и подан MCLK от DSPO12.288_Link на пин EXT_CLK)

Нормально работает только на 48 кгц (входной звуковой сигнал всегда 1000гц)
При переключении на 44,1 кгц периодический срыв синхронизации и рост искажений
При переключении на 96 кгц срыв синхронизации, рост искажений и частота звукового сигнала на выходе уменьшается до 500Гц !
1) Неверная организация системы. Если Reflex в режиме Master с внешней синхронизацией, подаваемая внешняя частота зависит от частоты аудиопотока и должна быть равной 256 * Fs: для 44,1 кГц - 11289600 Гц, для 48 кГц - 12288000 Гц, для 96 кГц - 24576000 Гц и т.д. Возможно, для решения ваших задач нужно использовать Reflex в режиме слейв. Тогда ADAU нужно сделать мастером, и подавать на Reflex сигналы LR и BCLK, сигнал MCLK в этом случае не нужен.
2) Как верно отметил @Александр Ф., для каждого соотношения разрядность / частота модуль DSP требует отдельного проекта. Поэтому, изменив входной поток, для DSP нужно менять проект.
 

igrushkin

Well-known member
Спасибо! Это помогло с синхронизацией ADAU-PCM5242 в режиме настройке выходного порта с параметром MSB Position = I2S - BCLK delay by 1. До этого получалось нормально только со значением Left justified. Теперь всё как у людей.:)
Но глюк ооооочень странный
 

igrushkin

Well-known member
Разобрался, спасибо. Просто Addr1 и addr2 обозначены как А1 и А2, а как А0 обозначен Атт0. Это вносит дикую путаницу, с учетом того, что атт1 и атт2 на плате вообще никак не обозначены.
 

Евгений

Administrator
Команда форума
@drModd, @igrushkin

Вывод не подтянут, дребезжит, какой уровень при подачи питания микросхема обнаружит, такой режим активирует.

Кстати, у кого-нибудь на практике был случай, когда был необходим формат Left Justified или Right Justified, а I2S не поддерживался?
 
Верх