Простой аудио ЦАП с подключением по USB (звуковая карта)


Как оказалось, сделать внешнюю USB звуковую карту несложно и недорого. В этой статье расскажу как ее делал я.

Предыстория:
Пару лет назад в интернете на одном из форумов мне на глаза попалась тема про аудио ЦАПы. Я очень сильно загорелся идеей спаять аудиокарту(!) и с большим интересом начал читать описания различных конструкций. От их повторения меня отталкивали сложные (я не представлял, откуда буду вытаскивать «квадратную шину» I2C на компьютере или где взять S/PDIF) схемы и дорогие (это было самым веским аргументом) компоненты. Материала на русском, чтобы почитать что-то по этой теме, и сейчас очень мало…
Через пару месяцев я нашел простую конструкцию на чипе PCM2702 и, самое главное, с подключением к компьютеру по USB. Я не испугался SSOP корпуса микросхемы, но испугался цены — более 500 рублей за штуку. Также я боялся испортить такую дорогую микросхему своей неопытностью (перегрев, статика… мало ли?). Стал искать другие решения. И наткнулся на конструкцию на PCM2705. Это тоже USB-кодек, но с более низкими характеристиками, по сравнению с PCM2702-й.
Микросхему нашел в толкучке на одном из форумов. Заказал себе и другу по одной. Не помню точно по какой цене, но не более 150р за штуку.

Схема:
Схему повторил почти один-в-один с первоисточником. А у него там почти чистый даташит.

Плата:
Сделал свой вариант печатной платы. ЛУТ я тогда уже освоил.


Первый запуск:
Запаял (думал не смогу запаять пятимиллиметровым жалом, но спасибо DI-HALT'у за идею с микроволной).



Дрожащими руками подключил к компьютеру… ОС обнаружила новое устройство. Установила драйвера. Подключил наушники — поёт! Да и притом ничуть не хуже, чем встроенная в ноут звуковуха. А даже лучше! По крайней мере, я услышал разницу на НЧ. На ВЧ не заметил. Но и наушники у меня не лучшего качества.
Другу тоже спаял, подключил и… не работает. Менял конденсаторы в обвязке кварца — не помогло, поменял сам кварц — заработало!




Пользуешься?
Пользуюсь. Иногда включаю его, когда хочется более качественного звука. Включал бы почаще, но неудобно пользоваться им — корпус так и не сделал, ноут туда-сюда таскаю…

Модернизация:
На одном из форумов писали, что если применить в данной схеме внешнее питание, станет лучше. Также можно поэкспериментировать с резисторами R7, R8 — поставить меньше и увеличить конденсаторы C12, C13 — улучшится передача низких частот.
Еще можно было вывести S/PDIF, но мне некуда было приткнуть дорожку на печатной плате, да и не нужен он был мне тогда :) А так, на 5-ом пине он находится.

Не могу найти PCM2705...
Аналогами PCM2705 являются микросхемы PCM2704-2707. Кратко о них:
PCM2704: 28-Pin SSOP, Headphone and S/PDIF Output, External ROM Interface
PCM2705: 28-Pin SSOP, Headphone and S/PDIF Output, Serial Programming Interface
PCM2706: 32-Pin TQFP, Headphone and S/PDIF Output, I2S Interface, External ROM Interface
PCM2707: 32-Pin TQFP, Headphone and S/PDIF Output, I2S Interface, Serial Programming Interface

Можно использовать любую из них, по качеству они одинаковы.
Даташит прилагаю.
  • +8
  • 08 февраля 2012, 16:34
  • Aitras
  • 1
Файлы в топике: DAC_PCM2705.zip

Комментарии (87)

RSS свернуть / развернуть
Aitras, большое спасибо за статью! Не думал, что вы так быстро исполните мою просьбу:)
0
  • avatar
  • arch
  • 08 февраля 2012, 16:56
Да думаю, начну… а тут раз и дописал все)
0
Пожалуйста!
0
Не… так она не очень…
Через малошумящие low-drop запитать отдельно, аналог, цифру и ОУ по выходу от BB… инвертирующее включение К = 2… Вместо кварца повесить генератор на КП307…
0
А зачем буфер на выходе если она и так рассчитана на наушники?
0
И, мне кажется, это не та схема, которую стоит так улучшать.
Лучше уж собрать что-то посложнее и покачественнее.
0
А тогда и смысла, ИМХО, всё это затевать никакого…
Все эти схемы из PDF — для проверки работоспособности… не более…
Я же не настаиваю… )))))
Вам нравится… и ладно…
Но она действительно может звучать лучше… намного лучше…
-1
Для этого я и делаю сейчас ЦАП на PCM1796. Хочется лучшего :)
+1
Еще можно было вывести S/PDIF, но мне некуда было приткнуть дорожку на печатной плате
А вот это можно к 5-му пину подключить?
0
Думаю, да.
0
Но лучше бы сделать гальваническую развязку.
0
Но лучше бы сделать гальваническую развязку.


Там же и так кабель оптоволоконный? Или я чет пропустил?
0
Оптика то да, развязана. А коаксиальный выход желательно развязать.
0
Самое, тащемта, богоугодное применение таких звуковух — это для использования в качестве халтурного портативного варианта для звукачей, ибо даже в кепке и в прыжке цена не будет более 500-700 р., можно поставить нормальные тюльпаны или джеки, а не париться в ломающимся миниджеком, и иногда решить проблему фонов из-за питания ноута… Для сравнения подобные Беринжеры будут стоит уже в районе 1500.
0
На этой микросхеме реально звук можно получить лучше чем со встроенной звуковухи??
Я с dealextreme какую то usb звуковушку за 3$ брал, там внутри капля, звучит плохо.
0
  • avatar
  • Bonio
  • 08 февраля 2012, 22:08
Реально. HHIMERA говорит, что надо хорошее внешнее питание, буфер на выходе и хороший генератор.
0
Она и при питании с USB неплохо справляется…
0
0
А, понял, что Вы имели ввиду… )
0
На этой микросхеме реально звук можно получить лучше чем со встроенной звуковухи??
Достаточно реально… что даже на сранных компьютерных брюзжалках это слышно…
0
>>Аналогами PCM2705 является линейка микросхем PCM2704-2707.
Ошибочка.
+1
Грамматическая? Спасибо, осправил.
0
исправил)
0
а в чем рисовали и трассировали? На Дип трэйс похоже вроде…
0
Схема нарисована в Altium Designer. А плата из Спринта.
0
Делал такую на PCM2704. При питании от USB звучит вполне. Микруха зело капризна к кварцу, это да. Для надежности надо ставить внешний генератор.
Кстати, какие еще аналоги для PCM2706/7 есть в смысле USB->I2S? А то мож кто-нибудь запилил бы такой фунционал на STM32F105? :) Было бы дешевле и гораздо более доставабельно.
0
Мне больше никакие микрухи с таким функционалом не известны.
0
офигенская статья. сюда бы еще приделать небольшой индикатор громкости.
0
  • avatar
  • 21h
  • 09 февраля 2012, 07:57
Спасибо.
Индикатор или регулятор? Если индикатор, то зачем он?
0
для красоты конечно же :) люблю когда девайсина светится и моргает
0
Ну любой индикатор уровня прикрутите на выход и все :) В сети их много.
0
Устанавливаю себе автомобильную акустику. Вот у меня тоже проблема с регулятором громкости. Читал разные ветки, люди даже шаговиком через плату-контроллер на аврке переменные резисторы крутят. Может есть какие идеи по поводу регулятора. А такая звуковая карта, наверно, будет более достойным вариантом в Car-PC чем встроенный звук?
0
  • avatar
  • Yarko
  • 09 февраля 2012, 11:52
в этой звуковухе усилителя нету. автомобильную акустику нужно через него подключать. а уж крутилка у него будет точно.
0
Я вижу что нет. Усилитель у меня есть, но мне кажется звук правильнее регулировать по громкости перед усилителем, получится менее мощный регулятор, а то как то киловат крутить туда-сюда, наврено искажения полезут.
0
  • avatar
  • Yarko
  • 09 февраля 2012, 12:28
Естественно ПЕРЕД. После усиления это уже не регулятор громкости, а регулятор мощности.
0
Вот и я про тоже. так может есть комрады, которые направят меня на путь истинный, как одним переменником, регулировать несколько каналов по громкости?
0
  • avatar
  • Yarko
  • 09 февраля 2012, 15:36
Сколько у вас каналов?
0
2 канала идут на ход усилителя.
0
  • avatar
  • Yarko
  • 09 февраля 2012, 15:49
*вход
0
  • avatar
  • Yarko
  • 09 февраля 2012, 15:50
Ну и в чем же проблема? Вам нужен сдвоенный переменный резистор. Т.е. одной ручкой крутятся 2 независимых переменника.
Например, такой:
0
Этого будет достаточно? без всяких тококомпенсаций, и прочих премудростей.
0
Да. И желательно резистор с обратно-логарифмической характеристико: буква В (кириллица, отечественный стандарт) или буква А (латиница, западный стандарт).
0
Ну, переменник — это ж прошлый век.А шаговик с МК — размероемко :) DSP какой-нибудь с управлением от МК по шине I2C, например TDA8425. Не сказать, что он совсем недоставаем, у нас он около 150 рублей стоит. Это много? :)
0
Гм, а зачем? Есть же дофига цифровых регуляторов громкости. Я себе PT2258 купил — мне шестиканальный нужен.
0
Вот это вообще то что надо.
0
И да, спасибо, направили меня куда нужно, а то я всерьез собрался было купить себе DSP (при задаче рулить громкостью) :)
0
Прошлый не прошлый, но самый простой в реализации.
0
Это да. Но не все новое полностью негодно :)
0
Спасибо.
0
  • avatar
  • Yarko
  • 09 февраля 2012, 16:26
А есть какая нибудь микросхема с обратным эффектом? Мне выдать сигнал с обыкновенного стереовыхода на усб наушники.
0
Микросхемы то вроде есть, но вот на наушники прикрутить не получится.
0
А почему?
0
хм. имхо «наушники с usb входом» — суть комбайн из usb-звуковухи и собственно наушников…
0
Да. Поэтому нужен комп, чтобы гнать туда нужные данные.
0
Ну а почему нельзя поставить нормальный ацп и микроконтроллер и гнать информацию на наушники? У меня просто Беспроводные наушники через усб, хочется сделать их универсальными.
0
ну подумай сам. USB хост сам по себе гораздо сложнее устройства. дальше продолжать? ;)
0
Не проще вывести аналоговый вход по другим проводам? В USB 4 провода, из них один земляной. Нужно заменить кабель на 6-проводной (вроде в удлинителях мыши/клавиатуры на PS/2 такие) и по двум свободным пустить аудиосигнал для левого и правого каналов. Аналог->USB->Аналог больше похоже на надевание трусов через голову.
0
учите матчасть. больше сказать нечего.
у USB четыре линии — пара питания и дифпара данных. ВСЁ! где там аналог еще гонять?
0
Читайте внимательней. Больше сказать нечего.
0
Блин, я озалупился:) Извиняюсь.
Беспроводные наушники через усб
0
Ладно, уточню. Аудиосигнал подавать с помощью дополнительных проводов, оканчивающихся мини-джеком, напрямую на динамики. Уж динамики-то в наушниках не с USB-интерфейсом, надеюсь.
0
Можно-то можно, но потребуются хороший звуковой АЦП, МК с хостом и много читать. Причем лишние преобразования аналог/цифра и обратно качеству на пользу не пойдут.
Проще и дешевле купить еще одни бесхвостые ушки, с аналоговым входом.

Алсо можно поизучать их на предмет внутреннего устройства. Если там аналоговый передатчик — то вход этого передатчика можно вывести наружу как линейный вход. Если цифра — увы, проще новые купить.
0
Заказал себе такой внешний USB ЦАП, собрал, всё работает отлично.
0
  • avatar
  • xpeh
  • 11 февраля 2012, 20:27
Поздравляю)
Да, он получше, чем на 2705.
0
0
А в каком масштабе нужно печатать приложенную к статье схему(DAC_PCM2705.lay)? Извините за неопытность, я только начинающий
0
Масштаб 1 к 1.
Открываете в программе Sprint Layout этот файл. Потом нажимаете Печать. Там слева оставляете только галочку М2 и цвет ее ставите черным. Далее печать.
Если не очень понятно, то вот скрин:
0
Я так поначалу и сделал, распечатал 1:1, но меня смутил небольшой размер платы. Неужели микросхема такая небольшая?
0
Ага. Шаг ножек — 0,65 мм.
0
а не плохо было бы самому спаять 2 качественные звуковухи для DJя
только есть ли микрухи соответствующие?
0
  • avatar
  • k7xx
  • 28 февраля 2012, 12:45
Не знаю какие у ди-джеев звуковухи…
PCM2906 Вам в помощь.
0
тоесть у нее есть 2 стереовыхода? (2 звуковухи со стереовыходом)
0
Нет, один. И один стерео вход.
Ди-джеям что требуется от звуковой карты?
0
у стандартного пульта 2 стереовхода
т.е. одновременное воспроизведение с 2х источников
а это 2 физические звуковухи с 2 стереовыходами.
0
Не видел таких м\с у TI. А других компаний, имеющих в своем каталоге USB-кодеков тоже не знаю. Многоканальные чипы есть, но у них подключение не по USB.
0
Для DJ самостоятельно вряд ли сваять получится. Нужна звуковуха с низкой латентностью, иначе сведения нормального не добиться. А у простеньких аудиоинтерфейсов задержки большие.
0
Прошу прощения немогу понять что за 2 CMD компонента не моглибы подсказать
0
Это просто перемычки.
0
Спасибо
0
А если используя внешнее питание, подключить микросхему к usb, но внешнее питнание при этом не подавать, определиться ли микросхема компьютером?
0
  • avatar
  • Bonio
  • 09 декабря 2013, 21:08
А почему бы и нет?
Только, если хотите два вида питания использовать — либо внешнее, либо внутреннее, надо диодами развязывать их.
0
Ну цифровую часть, я так думаю, можно запитать прямо сразу от usb, а аналоговую — от отдельного источника. Просто делаю девайс с внешним питанием, но хочется чтобы при отключении его, из винды не отваливалось аудио устройство.
0
У микросхемы ЦАП лучше не разделять питание для цифры и аналога.
0
Почему не разделять? Зачем же там раздельные пины для цифрового и аналогового питания?
И на форумах везде пишут, что с раздельным питанием лучше.
0
Я не совсем корректно выразился. Питание можно, земли, для одной микросхемы, — нельзя. А то между аналоговой и цифровой землей может возникнуть опасная для микросхемы разность потенциалов. Тут подробнее:
www.elart.narod.ru/articles/article29/article29.htm
0
В общем, делаете раздельные полигоны для аналога и цифры и соединяете их между собой в одной точке под м/с ЦАП.
0
Ага, понятно, спасибо за ссылку, изучу.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.