EVEREST PROJECT

Получилось! Ну все таки получилось! Проект с громким названием EVEREST был рожден в творческих муках и с третьей попытки :(((

Основные предпосылки к созданию оного творения таковы:

  • отсутствие цифрового фильтра

  • полная поддержка формата 24/96

  • независимость от качества цифрового кабеля

С первым пунктом все понятно - мода :))), вторые два требуют пояснений.

И начну я их пояснения с последнего, а именно зависимости звучания ЦАП от цифрового кабеля. Известно, что внутри ЦАПа (как вариант CD- проигрывателя), для передачи звуковых данных используется т.н. шина I2S. Грубо говоря она использует три сигнальных проводка для передачи трех сигналов - данных цифровых отсчетов и служебной информации сначала левого, а затем правого каналов(DATA, SDATA), тактовой частоты для загрузки данных в последующее за передатчиком устройство (SCK, BCK), и третий сигнал, определяющий какой именно канал передается в данный момент (FSYNC). Более подробно обо все можно прочитать или в известной книге Пауля Шкритека или в даташите от не менее популярной CS8412.

Важно отметить лишь одно обстоятельство - до последнего времени для передачи данных между цифровыми аудио-устройствами использовался (и используется) однопроводный интерфейс SPDIF (как вариант TOSLINK, имеющий абсолютно такой же формат передачи данных, но отличающийся более высокой полосой пропускания). И SPDIF, и TOSLINK упрощенно говоря передают данные шины I2S в одной куче :(((, что не есть хорошо.

Большинство ЦАПов используют популярные приемники SPDIF от Crystal Semiconductor CS8412 или CS8414. Основное назначение которых преобразовывать формат передачи данных SPDIF в формат трехпроводной шины I2S.

Основное ухудшение звучания ЦАП возникает из-за значительного увеличения джиттера при передачи данных через цифровой кабель, что может быть обусловлено например неоднородностью кабеля, наведенными помехами и ценой цифрового кабеля :)))

Практически же, приемники CS8412 (8414)  имеют встроенный PLL, для восстановления тактовых частот и имеющий очень низкое значение джиттера (порядка 200 ps). Однако не смотря на все ухищрения конструкторов разницу в звучании проводов я все-таки улавливаю :)))

В полной мере избавится от таких вещей можно только используя тактовые сигналы от встроенного кварцованного генератора, четко синхронизируя по ним загрузку данных в ЦАП.

CS8412 (8414) имеют двойное буферирование аудиоданных, т.е. в каждый момент в буфере находится текущий и предидущий цифровые отсчеты. Это позволяет во-первых повторять цифровой отсчет заново, если следующий за ним имеет ошибку. А во -вторых записывать аудиоданные в буфер по внешним синхросигналам, а считывать данные на ЦАПы по внутренней синхронизации от тактового генератора. Единственное но - я НИГДЕ не встречал практической реализацииэтого варианта (замечу, что он требует следующих частот синхронизации Fs и 64*Fs).

Как правило более распространены следующие способы реклокинга:

  • внешний буфер на D-триггерах, с тактированием от генератора с ФАПЧ (реализуемой, как правило, на VCO \Voltage Controled Oscillator\). Этот способ выливается в пять-шесть корпусов логики, и может представлять трудности в налаживании даже у подготовленных DIY-еров :)))

  • применение кварцованного SampleRateConvertor (SRC) типа AD1890 (1891, 1892, 1893), иногда ошибочно называемого джиттер-подавителем

 / Кратко о SRC. SRC - как правило двойной буфер, куда данные поступают с одной частотой, а считываются с другой. Например, отсчет звуковых данных поступает с выборкой 44,1 кГц, а считывается с частотой 88,2 кГц. Собственно звуковые данные при этом не претерпевают НИКАКИХ изменений, т.е. не происходит добавление новых отсчетов, интерполяции, апроксимации и прочих -ции. Просто ЦАПы будут обновляться с удвоенной (утроенной, учетверенной) частотой и спектр цифровых помех будет смещаться в более высокочастотную область. А поскольку тактирование данных на выходе производится от кварцевого генератора около SRC, то и ухудшения звучания из-за огрехов передачи по SPDIF не будет/

/ Кратко о передаче данных по интерфейсу SPDIF. Физически входная часть ресивера типа CS8412 (8414) представляет собой симметричный цифровой интерфейс RS-422, обеспечивающий гарантированную передачу данных со скоростью 10Мбит на неэкранированной витой паре длинной до 10 м (!). При этом уровень синфазной помехи может достигать 85-90 (!) Дб (загляните для интереса в "Искусство схемотехники" Хоровитца и Хилла!). Для передачи двухканального сигнала с частотой выборки 44.1 кГц  и разрядностью 24 -бит необходима полоса пропускания 32*2*44,1=2,8824 МГц. 32 - это 24 бита звукового отсчета плюс служебная информация. Если бы не джиттер, то цифровой кабель дороже 3 долл. выглядел бы чистым идиотизмом! /

Исходя из всего вышеперечисленного  я задался целью сделать простой (в конструктивном плане) ЦАП, не содержащий дефицитных (VCO, SRC от Analog Devices) компонентов. Для реализации задуманного проекта как нельзя лучше подходит сравнительно свежая разработка Crystal Semiconductor - CS8420 

СS8420...

 

Что содержит этот микрочип:

  • приемники сигнала RS-422 и I2S

  • передатчик RS-422 и I2S

  • SRC

  • возможность дизеринга (Dither)

Возможности этого чипа весьма широки. Описывать их все у меня просто нет желания - это тема отдельного труда. Отмечу лишь то обстоятельство, что реализовать высокую функциональность 8420 возможно лишь используя ее программирование через интерфейс I2C с помощью соответствующего микроконтроллера.

Из возможностей CS8420 меня очень заинтересовали SRC и Dither. С первым уже ясно, а вот что такое Dither и с чем его едят весьма интересно. Dither (как следует из документации CS8420) - это процесс масштабирования аудио-отсчетов из одной разрядной сетки в другую. Например поток данных 16-бит может преобразовываться в поток данных 20 и 24 бит. И наоборот, 24-битный поток можно преобразовать в 16-ти битный, но естественно с потерями в спектре сигнала.

С точки зрения известной в аудиофильских кругах болезни, Dither может показаться несоответствующим пуристскому назначению ЦАП :))). Но лично я не считаю его применение крамолой, поскольку он дает совместимость с новым форматом 24\96 и самое важное - позволяет применить в качестве преобразователей цифра-аналог весьма приятные мультбитники PCM1704, абсолютно свободные от недостатков AD1851, 1861, 1865, PCM 56, 61, а именно искажений в области малых сигналов.

Продолжение >>>