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

Reflex USB транспорт

Евгений

Administrator
Команда форума
@Евгений, а можно ли как-то в Чип Студии на какие-то ноги вывести получение уровней исходя из которых Reflex будет менять свой Fs? А то не очень получается заставить работать вместе Reflex + Adau1701 + генераторы ( 22.5792 и на 24.576мГц )
Reflex меняет свои настройки - разрядность и частоту - только по изменению настроек "сверху", т.е. в ОС или в плеере. Иначе, как он будет синхронизироваться? Ведь "поднять" настройки наверх в ОС снизу нельзя. Нужно идти от обратного: при изменении настроек Reflex меняет состояния выводов. По ним можно узнать разрядность и частоту и активировать нужный кварц.
Какая у вас задача? Возможно, дело не (только) в этом.
Генератор 22.5792 МГц соответствует потоку 88,2 кГц, Reflex с текущей прошивкой данную частоту не поддерживает. На днях будет выпущено обновление, с ним будет поддерживать.
 

onefabis

Well-known member
Reflex меняет свои настройки - разрядность и частоту - только по изменению настроек "сверху", т.е. в ОС или в плеере. Иначе, как он будет синхронизироваться? Ведь "поднять" настройки наверх в ОС снизу нельзя. Нужно идти от обратного: при изменении настроек Reflex меняет состояния выводов. По ним можно узнать разрядность и частоту и активировать нужный кварц.
Какая у вас задача? Возможно, дело не (только) в этом.
Генератор 22.5792 МГц соответствует потоку 88,2 кГц, Reflex с текущей прошивкой данную частоту не поддерживает. На днях будет выпущено обновление, с ним будет поддерживать.
Спасибо за ответ, может я неточно выразился, имел ввиду множитель менять, чтобы переключаться между 256fs и 512fs, как сделано было в этой прошивке. Только хотелось бы его менять не сильно углубляясь в дебри кода. http://forum.vegalab.ru/showthread.php?t=85516&p=2756038&viewfull=1#post2756038
 

Евгений

Administrator
Команда форума
Спасибо за ответ, может я неточно выразился, имел ввиду множитель менять, чтобы переключаться между 256fs и 512fs, как сделано было в этой прошивке. Только хотелось бы его менять не сильно углубляясь в дебри кода. http://forum.vegalab.ru/showthread.php?t=85516&p=2756038&viewfull=1#post2756038
Если я правильно понял, все сводится к тому, чтобы не использовать отдельный генератор на каждую частоту, как подразумевается сейчас, а использовать всего два генератора: один для сетки 44,1 кГц, другой для сетки 48 кГц. Например, 24.576мГц использовать и для 48 кГц, и для 96 кГц. Верно? Но при этом соотношение MCLK/Fs не меняется, в описании по ссылке не совсем корректно написано. В случае с 48 кГц будет активирован делитель 2, в случае 96 кГц делителя не будет. Но MCLK/Fs = 256. Честно говоря, я уже запутался в желаниях пользователей. Очень многие просили именно такой вариант, как сейчас, чтобы частота в МК не менялась. Они считают, что это (делители) вносит искажения в исходный сигнал. Сделать так можно, учтем.

По поводу соотношения MCLK/Fs. В режиме мастер соотношение MCLK/Fs = 256, оно зафиксировано аппаратно и поменять его нельзя. В режиме слейв MCLK не используется, тактирующие сигналы генерирует внешний мастер и соотношение MCLK/Fs может быть другим. Возможны три типа синхронизации, подробно в описании https://www.chipdip.ru/product0/9000679327

Отклонюсь от темы. По вашей ссылке заметил вопрос про разницу в периферии МК SAI и I2S. Возможно, вам будет интересно. У них принципиальная разница: в отличие от I2S все подблоки и блоки SAI могут быть синхронизированы между собой, т.е. один подблок может быть мастером, а все остальные - слейвами по отношению к нему и использовать его тактирующие сигналы, которые подключаются между блоками внутри МК. Причем по отношению к внешим устройствам этот внутренний SAI-мастер может быть как мастером, так и слейвом. У нас возможен многоканальный режим, т.е. использование двух блоков SAI одновременно. Их внутренняя синхронизация гарантирует их синхронную работу по отношению друг к другу, что, в свою очередь, гарантирует их общую синхронизацию с ПК. В случае I2S все периферийные блоки сами по себе.
 

onefabis

Well-known member
Если я правильно понял, все сводится к тому, чтобы не использовать отдельный генератор на каждую частоту, как подразумевается сейчас, а использовать всего два генератора: один для сетки 44,1 кГц, другой для сетки 48 кГц.
Да, вы верно поняли мою цель.
Честно говоря, я уже запутался в желаниях пользователей. Очень многие просили именно такой вариант, как сейчас, чтобы частота в МК не менялась. Они считают, что это (делители) вносит искажения в исходный сигнал. Сделать так можно, учтем.
Хм, надо переосмыслить, возможно и мне тогда не нужен делитель, если он вносит искажения. Во главе угла - качество звука.
По поводу соотношения MCLK/Fs. В режиме мастер соотношение MCLK/Fs = 256, оно зафиксировано аппаратно и поменять его нельзя.
Вот это печально, ясно.
 

onefabis

Well-known member
Это только в режиме мастер. В режиме слейв может быть другим. Одно из самых распространенных соотношений.
Да, пробовал, удобная вещь, но почему-то при активированном MP6 (SDATA_OUT0) на Adau1701 работает только правый канал. Слушаю через ЦАП от ЧиД PCM5102. Стоит только переключить джампер с 11 пина на Reflex на 10 пин, то есть со Slave на Master с внешним MCLK, сразу работают оба канала при прочих равных. Не могу понять в чем именно проблема. Возможно, в настройках Serial Output в Sigma Studio для Adau1701, но я уже все варианты перепробовал, работает только один канал из двух
 

Евгений

Administrator
Команда форума
Да, пробовал, удобная вещь, но почему-то при активированном MP6 (SDATA_OUT0) на Adau1701 работает только правый канал. Слушаю через ЦАП от ЧиД PCM5102. Стоит только переключить джампер с 11 пина на Reflex на 10 пин, то есть со Slave на Master с внешним MCLK, сразу работают оба канала при прочих равных. Не могу понять в чем именно проблема. Возможно, в настройках Serial Output в Sigma Studio для Adau1701, но я уже все варианты перепробовал, работает только один канал из двух
Возможно, дело в следующем. У ADAU1701 (и у других ADAU) подразумевается, что BCLK = 64 *Fs, т.е. на один канал приходится 32 такта BCLK. И это не зависит от разрядности. Когда ADAU1701 слейв, он может работать с BCLK = 32 *Fs (только он, другие не будут). В то же время распространено BCLK = 32 *Fs для 16 битного потока и BCLK = 64 *Fs для 24 и 32 битного потока - так сейчас в Reflex, BCLK зависит от разрядности. Возможные варианты решения: 1) когда ADAU1701 мастер, использовать 24-битный поток; 2) подождать обновление для Reflex, можно будет выбирать соотношение BCLK/Fs.
 

onefabis

Well-known member
Возможно, дело в следующем. У ADAU1701 (и у других ADAU) подразумевается, что BCLK = 64 *Fs, т.е. на один канал приходится 32 такта BCLK. И это не зависит от разрядности. Когда ADAU1701 слейв, он может работать с BCLK = 32 *Fs (только он, другие не будут). В то же время распространено BCLK = 32 *Fs для 16 битного потока и BCLK = 64 *Fs для 24 и 32 битного потока - так сейчас в Reflex, BCLK зависит от разрядности. Возможные варианты решения: 1) когда ADAU1701 мастер, использовать 24-битный поток; 2) подождать обновление для Reflex, можно будет выбирать соотношение BCLK/Fs.
Да, как раз работаю с 24 битным потоком. Что в 16 бит, что в 24 работает один канал.
1608330657087.png

1608330757602.png
 

Евгений

Administrator
Команда форума
Да, как раз работаю с 24 битным потоком
Ничего странного не вижу, вроде бы все верно. У BCLK Frequency делитель 16? Соответствующие линии входа и выхода LR и BCLK соединены между собой? В проекте как звук снимаете/выводите?
 

onefabis

Well-known member
У BCLK Frequency делитель 16?
Нет 8, иначе жуткий шум как при перегрузке по уровню. У меня поскольку генераторы 22.5792 и 24.576мГц на плате PLL0 перекинут на 1, то есть PLL1 и PLL0 имеют значение 1 для 512fs
Соответствующие линии входа и выхода LR и BCLK соединены между собой?
Да, соединены
В проекте как звук снимаете/выводите?
1608332074919.png
 

onefabis

Well-known member
SDATA_OUT0 - это DIG0, DIG1. У вас DIG2.
Прошу извинить, скриншот неверный, это я экспериментировал в посиках проблемы. Само собой изначально стояло DIG0 и DIG1. Вот сейчас выставил правильно, все-равно работает один канал
1608332602225.png
 

Евгений

Administrator
Команда форума
Нет 8, иначе жуткий шум как при перегрузке по уровню. У меня поскольку генераторы 22.5792 и 24.576мГц на плате PLL0 перекинут на 1, то есть PLL1 и PLL0 имеют значение 1 для 512fs
Можете измерить частоту BCLK на выходе ADAU1701?
 

Евгений

Administrator
Команда форума
Дополнение к предыдущему сообщению.
Частота BCLK на выходе ADAU1701 для потока 24 бит @ 48 кГц должна быть: BCLK = 48000 (Гц) * 2 (канала) * 32 (бита) = 3072000 (Гц).
 

onefabis

Well-known member
Дополнение к предыдущему сообщению.
Частота BCLK на выходе ADAU1701 для потока 24 бит @ 48 кГц должна быть: BCLK = 48000 (Гц) * 2 (канала) * 32 (бита) = 3072000 (Гц).
У меня при BCLK 8 частота 6144000Гц, при BCLK 16 частота 3072000Гц, но звук идет с жутким перегрузом, при этом ни на громкость системы, ни на громкость проекта реакции никакой.
 

чакнорис

Well-known member
Работаю в Аудиоредакторе ableton live (daw) не суть важно... касается Любой программы С компа выходит звук на usb/i2s потом естественно на цап, при тяжелом проекте начинает заикаться и тормозить звук и в конце концов раздается пшшшшш и отрубается звук. Увеличил буфер в daw на максимум уже .... Вопрос! Как аппаратно!!! увеличить производительность usb/i2s транспорта ( или что отвечает за передачу аудиопотока ??) Чтоб разгрузить проц компа. Знаю что дорогие аудиокарты берут на себя процессы обработки звука!
 

Евгений

Administrator
Команда форума
У меня при BCLK 8 частота 6144000Гц, при BCLK 16 частота 3072000Гц, но звук идет с жутким перегрузом, при этом ни на громкость системы, ни на громкость проекта реакции никакой.
Должно быть 3072000 Гц, верный делитель 16. Попробуйте поменять BCLK polarity.
 

Евгений

Administrator
Команда форума
Вопрос! Как аппаратно!!! увеличить производительность usb/i2s транспорта ( или что отвечает за передачу аудиопотока ??) Чтоб разгрузить проц компа.
Что вы под этим подразумеваете?

Знаю что дорогие аудиокарты берут на себя процессы обработки звука!
Приведите, пожалуйста, ссылку.
 

Евгений

Administrator
Команда форума
Выпущено обновление REFLEX v1.4

Изменения:
- добавлены форматы
16 бит @ 88,2 кГц
24 бита @ 88,2 кГц
32 бита @ 88,2 кГц
16 бит @ 176,4 кГц

- добавлена возможность сделать соотношение BCLK/Fs независимым от разрядности: BCLK = 64*Fs для I2S, для TDM ширина слота равна 32 тактам BCLK

- изменена обработка событий по изменению частоты аудиопотока: добавлен вывод для 88,2 кГц и 176,4 кГц

Подробно в описании Reflex .
 
Верх