Эта статья поможет тебе собрать свой первый — а может, уже не первый? — цифроаналоговый преобразователь. В твоем распоряжении будет несколько концептов, как классических, так и весьма радикальных. Выбирай сам, что тебе по душе. Будет пара вариантов даже для тех, кто не дружит с паяльником!
Однозначно правильного способа сборки цифроаналоговых преобразователей не существует, потому что нет общей парадигмы. Есть только наборы: подходов, методов, школ и философий — и все это, по сути, наборы стереотипов.
Я расскажу о своем личном опыте, но опишу лишь основные моменты. Я не буду касаться реализации питания, усилителей, акустики и так далее — это уже дело вкуса.
Если захочешь повторить эксперименты, обрати внимание на предупреждение.
Автор и редакция не дают никаких гарантий и не несут ответственности за любой вред, причиненный во время попыток повторить описанное в статье. Все, что ты делаешь, ты делаешь на свой страх и риск! Хотя все схемы проверялись на практике, они намеренно упрощены и представляют собой пример для объяснения принципа работы, а не законченное изделие.
Обычно звуковой тракт можно разделить на три части:
В качестве источника может выступать компьютер, планшет, телефон или микрокомпьютер вроде Raspberry Pi. В отдельных случаях источник и конвертер могут быть выполнены в одном устройстве — это проигрыватели с выходом I2S или микрокомпьютеры.
Преобразователи I2S могут подключаться к источнику с помощью разных интерфейсов: USB, S/PDIF, LAN.
Есть еще вариации с Bluetooth, но нас они не интересуют, потому что высокого качества в такой системе не добиться. Скорость передачи данных Bluetooth очень мала, о Hi-Res (192 × 24, DSD) можно забыть сразу. Но даже при прослушивании MP3 (44,1 × 16), цифровой поток проходит через несколько цифровых фильтров, к тому же с обрезкой частоты звукового сигнала.
Кстати говоря, то же относится и к блютусным наушникам. Дело ухудшается тем, что в наушниках из-за малого размера сложно разместить полноценный ЦАП и питание к нему, поэтому, как правило, используют «урезанные» версии.
Подробно о передаче звука по Bluetooth ты можешь прочитать в статье «Аудио через Bluetooth: максимально подробно о профилях, кодеках и устройствах».
Самый распространенный вариант преобразователей I2S — конвертеры USB — I2S.
Все просто: подключаем к порту USB источника, устанавливаем драйвер и при проигрывании на выходе I2S получаем поток данных PCM или DSD. В операционной системе конвертер определяется как звуковое устройство или звуковая карта. Предложений конвертеров USB — I2S огромное количество, те же AliExpress или eBay выдадут вам десятки вариантов по запросу usb to i2s.
Множество коммерческих — проприетарных — ЦАП подключаются через разъем S/PDIF.
Не так давно S/PDIF был популярным интерфейсом и встречался почти в каждой звуковой карте, даже в самых дешевых, встроенных в материнские платы ПК. Но не все знают, что почти всегда S/PDIF — это промежуточное звено и используется чаще в роли транспорта. Либо у источника, либо у ЦАП в большинстве случаев S/PDIF подключен через I2S. Другими словами, сигнал передается не напрямую, а вначале конвертируется из I2S в S/PDIF, а потом обратно.
Не берусь называть конкретные цифры, но считается, что потери при конвертации и передаче имеются. Кроме того, у S/PDIF есть и другие недостатки — скорость передачи и стоимость. Самые дешевые DIY-устройства USB to S/PDIF стоят около 4000 рублей, а передавать по ним возможно максимум PCM 192 × 24 или DSD64 через DOP.
Таким образом, использовать S/PDIF нецелесообразно, если есть другие варианты.
Теперь рассмотрим подключение I2S-конвертера по LAN (локальной сети). Для этого используются специальные программные плееры: Squeezelite, HQPlayer, Roon и другие. Они устанавливаются на основной компьютер, который выступает в роли передатчика (источника). При воспроизведении выполняется распаковка, декодирование и, если требуется, обработка цифрового потока. Далее цифровой аудиопоток через определенный сетевой протокол передается на приемник — чаще всего микрокомпьютер. Далее микрокомпьютер либо сам конвертирует полученный поток в I2S, либо передает поток на конвертер, подключенный к нему по USB. Существуют и самодельные решения, основанные, например, на микрокомпьютерах BeagleBone black или Raspberry Pi, и серийные решения различных производителей.
Часто встречаются устройства, которые объединяют в себе одновременно источник и конвертер, конвертер и ЦАП или сразу все в одном устройстве.
Цифроаналоговых преобразователей с входом I2S огромное количество. Мы не будем рассматривать полностью собранные серийные ЦАП; нас больше интересуют самоделки. Самый простой и дешевый способ послушать тот или иной ЦАП — купить готовую самодельную плату с ЦАП. Можно поискать ЦАП без питания и предусиления, если захочешь допилить самостоятельно. Для первого раза можно взять что-нибудь простенькое и дешевое, как плата на чипе PCM5102A на фото.
В качестве конвертера в моем случае будет Amanero компании Amanero Technologies.
Все необходимое для PCM5102A можно подать прямо с конвертера: питание — VIN соединить с контактом 3,3 В, землю GNG c землей конвертера GND, LCK c контактом FSCLK конвертера, DIN c DATA, BCK c BCLK. А вот SCK и MCLK в PCM5102A соединять не обязательно, он сможет работать и без дополнительной синхронизации. Но для повышения точности, если есть такая возможность, MCLK лучше все же подключать. Аналогичным образом этот ЦАП можно подсоединить и к Raspberry Pi.
Как видишь, все просто и специальных знаний не требуется! Подобным образом к I2S можно подключить и другие цифроаналоговые преобразователи. Для воспроизведения через USB подойдут практически любые плееры. На Raspberry Pi новичкам можно посоветовать Volumio, а более продвинутым слушателям сборку с Album Player.
Для начинающих этой информации хватит, особенно для первого раза. Для тех же, кто не боится трудностей, продолжу повествование, уровень сложности будет возрастать.
Изучим на практике способы передачи и воспроизведения DSD.
Обычно поток данных DSD в самодельных устройствах передается от источника к цифроаналоговому преобразователю через I2S-конвертер. Далеко не все конвертеры поддерживают DSD, поэтому перед покупкой обязательно нужно удостовериться, что в спецификациях указана поддержка DSD. Самые дешевые конвертеры USB to I2S с поддержкой DSD — это преобразователи Amanero или их копии, а также конвертеры с применением процессоров XMOS.
Нужно учесть, что не все плееры поддерживают воспроизведение DSD и не все драйверы в состоянии передать чистый DSD (DSD native), даже если плеер на это способен. Ограничение драйвера можно преодолеть, используя DOP (DSD over PCM), соответственно, плеер тоже должен иметь возможность преобразования DSD в DOP.
В случае Amanero и XMOS поток DSD передается к ЦАП по тем же выходам I2S: DATA передает данные правого канала, LRCK — данные левого, а BCLK — битовую синхронизацию этих данных.
Воспроизвести поток DSD можно разными способами, стоит выделить три:
Большинство коммерческих ЦАП, которые поддерживают воспроизведение DSD, принимают и PCM, и DSD через один и тот же разъем I2S. В этом случае достаточно подключить контакты конвертера и ЦАП способом, описанным выше, и переключение между PCM и DSD будет работать автоматически. Бывают отдельные входы для DSD, но это реализовано для раздельного подключения устройств, использовать их в большинстве случаев не обязательно.
Этот способ подкупает своей простотой и, кстати, неплохим звучанием. Суть его, как понятно из названия, заключается в воспроизведении DSD напрямую через фильтр нижних частот, без использования какого-либо цифроаналогового преобразователя. Когда я узнал об этом способе впервые, отнесся скептически, но оказалось, что звучит такой вариант лучше, чем все ЦАП, которые я слушал до этого. Не хочу никого убеждать, но сам я теперь вряд ли вернусь к проприетарным цифроаналоговым преобразователям.
Единственная проблема: контента, доступного в DSD, значительно меньше, чем в Audio CD. Но тут нас спасет конвертация PCM в DSD — она может выполняться как заранее, перед прослушиванием, так и в реальном времени. Делать это можно на ПК или мобильных девайсах с iOS и Android, а в качестве передатчика будет выступать I2S-конвертер.
В формате DSD используется плотностно-импульсная модуляция, на выходе I2S рядом стоящие положительные импульсы (логические единицы) складываются в один продолжительный по времени импульс, и напряжение растет. Отсутствие положительных импульсов приводит к падению напряжения.
Поток логических единиц и нулей последовательный, так что, если подключить выход одного из каналов DSD к фильтру нижних частот и убрать постоянную составляющую, можно получить модулированный сигнал, который, в свою очередь, можно подать на вход усилителя. Подобным образом преобразовывали цифровой поток в аналоговый сигнал однобитные сигма-дельта-цифроаналоговые преобразователи.
В качестве фильтра нижних частот может выступать простая RС- или RL-цепь, а для удаления постоянной составляющей сигнала достаточно обычного конденсатора.
Рассчитать такие фильтры просто. RC (сопротивление, емкость) рассчитывается по формуле fc = 1/2πRC, RL (сопротивление, индуктивность) — по формуле fc = R/2πL, где fc — частота среза фильтра, ее лучше выбирать в диапазоне от 25 до 50 кГц.
Для удобства можно использовать онлайновый калькулятор.
Емкость конденсатора (на схеме справа) для удаления постоянной составляющей рассчитывается как RC ФВЧ — фильтр верхних частот.
По формуле fc = 1/2πRC, где в качестве сопротивления выступает переменный резистор на входе усилителя (предусилителя). Соответственно, R будет равно номинальному сопротивлению этого резистора. Емкость конденсатора нужно выбрать такую, чтобы частота среза не превышала 30 Гц. Можно также воспользоваться специальным калькулятором.
Важный момент: для нормального воспроизведения необходим фильтр с хорошей крутизной среза, иначе высокочастотные составляющие сигнала могут привести к интермодуляционным искажениям и перегрузке усилителя (предусилителя). Для увеличения крутизны среза используют фильтры нескольких порядков.
Выбор порядка фильтра и частоты среза будет во многом зависеть от усилителя (предусилителя). Например, для многих транзисторных усилителей ФНЧ первого порядка будет недостаточно, и это приведет к шумам и искажениям. А для ламповых усилителей ФНЧ первого порядка может быть вполне достаточно.
В выборе фильтра важно, как усилитель реагирует на высокие частоты. Определить это можно, меняя порядок фильтра и частоту среза. Необходимо будет искать компромисс между «звучанием» и уровнем искажений. При срезе ФНЧ ниже 20 кГц сильно ухудшается качество звучания, при слишком высоком срезе может появиться шум или эффекты перегрузки. На каких-то усилителях достаточно будет фильтра первого порядка и частоты среза в 40–50 кГц, а на других придется использовать ФНЧ второго-третьего порядка и понижать частоту среза до 25 кГц. Чем ниже частота среза ФНЧ, тем больше влияния на сигнал он оказывает, потому что уровень сигнала падает постепенно, затрагивая и другие частоты еще до выбранной частоты среза. Подробнее можно прочитать в работе по ФНЧ.
Наконец мы добрались до собственноручной сборки ЦАП с минимальными затратами. Концепции будут расположены от самого простого варианта к более сложному.
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее
1 год7690 р. |
1 месяц720 р. |
Я уже участник «Xakep.ru»
Читайте также
Последние новости