EVEREST PROJECT Получилось! Ну все таки получилось! Проект с громким названием EVEREST был рожден в творческих муках и с третьей попытки :((( Основные предпосылки к созданию оного творения таковы:
С первым пунктом все понятно - мода :))), вторые два требуют пояснений. И начну я их пояснения с последнего, а именно зависимости звучания ЦАП от цифрового кабеля. Известно, что внутри ЦАПа (как вариант 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). Как правило более распространены следующие способы реклокинга:
/ Кратко о 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...
Что содержит этот микрочип:
Возможности этого чипа весьма широки. Описывать их все у меня просто нет желания - это тема отдельного труда. Отмечу лишь то обстоятельство, что реализовать высокую функциональность 8420 возможно лишь используя ее программирование через интерфейс I2C с помощью соответствующего микроконтроллера. Из возможностей CS8420 меня очень заинтересовали SRC и Dither. С первым уже ясно, а вот что такое Dither и с чем его едят весьма интересно. Dither (как следует из документации CS8420) - это процесс масштабирования аудио-отсчетов из одной разрядной сетки в другую. Например поток данных 16-бит может преобразовываться в поток данных 20 и 24 бит. И наоборот, 24-битный поток можно преобразовать в 16-ти битный, но естественно с потерями в спектре сигнала. С точки зрения известной в аудиофильских кругах болезни, Dither может показаться несоответствующим пуристскому назначению ЦАП :))). Но лично я не считаю его применение крамолой, поскольку он дает совместимость с новым форматом 24\96 и самое важное - позволяет применить в качестве преобразователей цифра-аналог весьма приятные мультбитники PCM1704, абсолютно свободные от недостатков AD1851, 1861, 1865, PCM 56, 61, а именно искажений в области малых сигналов. |