Как сделать самый "интересный" узел 1х DAC

 

Очень часто читатели моего сайта задают один и тот же вопрос: "Как в DAC 1x соединить ресивер и ЦАПы, разделяя общий цифровой поток на правую и левую части?". При этом чаще всего добавляя, что в цифровой технике не сильны :))).

Чаще всего я отвечаю, что это просто, нужно лишь просто напросто _ВНИМАТЕЛЬНО_ прочитать даташиты от приемника цифрового сигнала и м\с ЦАП и совсем немножко подумать, а главное - разобраться как это все работает.

Существуют два способа это проделать.

Способ первый: "прерывание тактовой".

Приемник CS8412(14)  и пара цап PCM56. У 8412(14) имеем три "ноги" SCK, FSYNC, SDATA. У PCM56 три "ноги": BCK, LE, DATA.

Начинаем с м\с ЦАП - данные отсчета  (DATA) загружаются во внутренний регистр ЦАП по тактам BCK, после того как данные будут загружены в этот регистр, перепад уровня на "ноге" управления обновлением ЦАП (LE) заставит ЦАП выдать ток на аналоговом выходе, соотвествующий цифровому отсчету и удерживать его до следующего обновления.

Таким образом делаются два важных вывода:

Исходя из вышеописанного следует, что формат выходных данных ресивера должен быть таким, чтобы данные отсчетов правого и левого канала были смещены к правой части сигнала FSYNC. Т.е. Right-Justyfied Format.

Теперь смотрим как идут сигналы в этом формате от ресивера: при высоком уровне сигнала FSYNC идут "левые" отсчеты, при низком правые. Значит всего-то и нужно поставить два логических элемента, пропускающих тактовую SCK от 8412(14) на соответствующие ноги BCK ЦАП правого и левого каналов в зависимости от уровня FSYNC. Сам сигнал FSYNC будет служить сигналом обновления м\с ЦАП -  LE, только его нужно проинвертировать, т.к. обновление ЦАП PCM56 наступает при перепаде от высокого уровня к низкому. И помня о последних 16 -битах загружающихся в регистр, можно сэкономить элемент, отключающий тактовую для ЦАП правого канала - данные и так будут последними.

Для ничего не понявших привожу "конкретную" схему на 74HC02:

 

В следующий раз я расскажу о регистрах сдвига и втором способе :)))