Здавствуйте, уважаемые форумчане. Помогите, пожалуйста, осозность матчасть. Много где чего читал, вроде общую картину понимаю, но непонимание деталей не дает сложиться пазлу в голове. Буду очень признателен за объяснения и даже просто за ссылки на материалы, которые помогут мне! Ниже изложу свое понимание. Прошу прощения, если где-то будет написан бред.
Итак! Представим схему: ПК - взуковая карта со SPDIF выходом - SPDIF ресивер (например DIR9001) - ЦАП (например PCM5102). Что такое PCM, частота дискретихации и разрядность я понимаю.
Так вот имеет у нас на ПК несколько разных аудиофайлов с разной частотой дискретизации и разрядностью. В настройках аудиокарты мы так же можем поставить частоту дискретизации и разрядность. И тут возникоет вопрос: что при этом происходит на выходе SPDIF? Предполагаю, что где-то на уровне драйвера происходит программный пересчет (ресемплинг) частоты и разрядности и на выходе получаем всегда одинаковую частоту и разрядность, установленную в настройках аудиокарты вне зависимости от того, какой файл мы будем слушать. Далее наша звуковая карта преобразует наш цифровой аудио сигнал в какую-то последовательность импульсов SPDIF стандарта передачи.
Далее у нас стоит SPDIF приемник и ЦАП, который принимает сигнал по I2S. Для работы I2S нужно 3 сигнала: data - поток данных обоих каналов, bclk - тактовые импульсы, по которым происходит распознавание значений на data линии, lrck - сигнал, по которуму ЦАП распознает для какого канала передаются данные. Пока все понятно. Но тут появляется mclk... Основная тактовая частота. Т.е. частота на которой должен работать сам ЦАП, должна быть выше частоты сэмплирования и кратна ей. И тут уже не совсем понятно. Допустим есть сигнал 48 КГц 16 бит, значит кто-то (предположительно SPDIF приемник) должен умножить эту частоту (где-то читал минимум на 2) и отправить на mclk нашего ЦАПА? Допустим этот так, наш SPDIF сформировал mclk 96 КГц, сформировал bclk - который должен быть кратный и синхронный с mclk, так же он сформировал data и lrck. Все поет и радует ухо. Но как тогда у меня PCM5102 работает без mclk? Я просто беру три сигнала с USB to I2S и все работает. В чем тогда смысл этого mclk?
Так же не могу понять по поводу "восстановленного" и "сгенерированного" mclk. У нас в цепочке должно все работать на одной либо кратной частоте. Т.е. прилетел нам сигнал по SPDIF на ресивер и он ведь должен работать на одной частоте со звуковой картой? Логично, что SPDIF ресивер должен как-то определить частоту по сигналу и синхронизироваться по этому же сигналу, а потом посчитать и отправить mclk на ЦАП. Если бы так все было то понятно - частота задается передающей звуковухой и все остальные синхронизируются с ней. Но ведь ставят еще и генераторы какие-то (хотя в большинстве схем их нет)... Вот как? Та же DIR9001 может работать от внешнего генератора. Т.е. мы подключаем наш SPDIF ресивер и ЦАП к одному генератору, работают они на кратной частоте, а как же сигнал на входе SPDIF? Он же должен быть как-то синхронизирован с остальными участниками.
Прошу не ругаться сильно ) ЦАПостроение только начал изучать.
Социальные закладки