Делаем внешнюю USB звуковую карту. Часть 1. Stereo Audio USB CODEC PCM2902.

Этот цикл статей будет посвящен сборке в домашних условия внешней USB звуковой карты для ПК.
Итак, думаю не я один использую персональный компутер как источник аудио сигнала. Но, вот качество воспроизведения встроенных, да и не только, звуковых карт не совсем радует слух. Да и рынок звуковых карт не впечатляет либо качеством, либо ценой за качество. Было решено делать самому. Начались поиски схемного решения. Выбор пал на кодеки серии PCM29**.
В самодельной звуковой карте хотелось так же, чтобы были аналоговые входы — мож чего записать захочется. Выбор свой я все таки остановил на микросхеме PCM2902 — 16-ти битном дельта — сигма АЦП-ЦАП. Вот даташит на этого «зверька» — PCM2902.
Итак, рассмотрим что же можно получить от этой микросхемы! Как оказалось, довольно много!
Приступим!
Основные технические характеристики
Характеристики при VBUS= 4.84 V, VCCCI = 3.5 V:
ЦАП
Частота дискретизации — 32, 44.1, 48 KHz
Потребляемый ток — 90 мA
Номинальное выходное напряжение — (0 dB) 1,1В RMS
Верхний предел диапазона — (-3 dB) 22.7 kHz (fs = 48 kHz)
Частота среза пост-фильтра — 28 kHz
Выходное сопротивление – 100 Ом
Отношение сигнал/шум > 95 dBA
КНИ + шум — (1 kHz) 0.005% (B = 22 kHz)
Разделение каналов > 99 dB (1 kHz), при > 76 dB (20 kHz)
АЦП
Частота дискретизации — 8, 11.025, 16, 22.05, 32, 44.1, 48 kHz
Уровень входного сигнала — 2,1В
Входное сопротивление — 10 кОм
КНИ + шум — (1 kHz, -0,5 dBFS) 0.01% (B = 22 kHz)
Разделение каналов > 73 dB (1 kHz), при > 47 dB (20 kHz)
Да, параметры довольно неплохи. Этот кодек кроме аналогового входа и выхода имеет на борту так же цифровой S/PDIF вход-выход. Полная поддержка USB 1.1 спецификации. Работает в полно — дуплексном режиме.
Вот блок-схема PCM2902:

Вот основная схема включения из даташита.

Вот назначение выводов:

Дальше был поиск в сети информации о применении данной микросхемы. Пересмотрев кучу забугорных сайтов, начитавшись форумов, была немного модернизирована схема включения, а именно:
1. Сразу было решено избавиться от питания по USB. Так как если питать устройство от USB порта, то можно натянуть много «цифрового мусора», который гуляет по шинам питания ПК. Для обеспечения наилучшего качества аналого-цифрового конвертирования рекомендуется питать пин VCCCI от отдельного стабилизатора с выходным напряжением 3,3В.
2. В земляную цепь этого стабилизатора необходимо включить диод, который поднимает напряжение на выходе стабилизатора до 3,5В, что минимизирует искажения АЦП.
3. Необходимо разделить цифровую и аналоговую «землю» — это тоже уменьшает количество помех, попадающих от ПК.
4. Отказался от S/PDIF входа-выхода — они мне просто не нужны.
5. PCM2902 имеет интересный собственный контроль за уровнем громкости HID (Human Interface Device), кнопками, которые подключены к входам HID0, HID1, HID2 можно, соответственно, управлять режимами ТИХО, ГРОМКОСТЬ + и ГРОМКОСТЬ –, что исключает необходимость двигать ползунки в микшере на ПК. Мне это тоже не нужно было, я их выкинул, все равно планирую собирать регулятор громкости, который бы предусматривал возможность регулировки громкости от ИК пульта.
6. Так же было решено использовать раздельное питание аналоговой и цифровой части.
7. Вывод 28 микросхемы является индикатором состояния, в котором находится микросхема — высокий уровень — рабочее состояние, низкий уровень — отключенное состояние. Тут можно использовать этот вывод за контролем над состоянием кодека.
В итоге, родилась вот такая схема:

Крупнее
Немного пояснений к схеме:
1. Светодиод LED1 сигнализирует о подключении устройства к USB порту ПК.
2. Конденсаторы C3, С4, через которые входной сигнал поступает на кодек, желательно брать пленочные качественные.
3. Обязательно разделить аналоговую и цифровую «землю», на схеме это сделано при помощи FB1 — безвитковый дроссель, который представляют собой ферритовое кольцо на токоведущем проводе. Их иногда называют «ферритовыми бусинами». Вот как выглядит такая штука

4. Питание аналоговой части микросхемы PCM2902 производится при помощи стабилизатора IRU1117-33
В минусовой вывод стабилизатора включен кремневый диод 1N4148, благодаря ему на выходе стабилизатора имеем 3,5 вольт.
5. К выводу 28 микросхемы подключен транзисторный ключ, нагруженный светодиодом LED2. Когда микросхема подключена к порту USB и работает в штатном режиме, то этот светодиод не светится, если нарушилась связь с портом или микросхема «зависла» — загорается светодиод.
5. Сигнал, снимаемый с аналоговых выходов микросхемы проходит через пассивный LPF фильтр с частотой среза около 28кГц. Это сделано для того, чтобы в выходном сигнале избавится от «огрехов» цифрового квантования. В дальнейшем планируется добавить активный фильтр на ОУ.
6. Кнопки S1-S3 «на любителя». Мне например не нравится громкость кнопками на панели регулировать. В дальнейшем буду делать регулировку громкости резистором и с помощью ИК пульта.
Теперь по поводу источника питания.
Так как у меня валяется много 9-ти вольтовых импульсных бп от сетевых концентраторов, то решил применить их.

Снимаемое с них напряжение 9 вольт поступает на два независимых стабилизатора 5 вольт.
Стабилизаторы выполнены на микросхемах LM317, включенных по своей стандартной схеме включения. Подстроечными резисторами R2, R4 выставляется напряжение на выходе, равное 5 вольтам. Вот собственно схема:

Так, со схемой разобрались, теперь приступаем к монтажу. Устройство было собрано на двух платах — собственно сама микросхема с обвязкой и плата стабилизаторов напряжения.
Микросхема PCM2902 изготавливается только в корпусе SSOP-2

Так, что паять ее на плату нужно очень аккуратно.
Была разработана печатная плата и все на нее смонтировано. Сперва запаял все SMD компоненты. Немного намудрил со стабилизатором на 3,3 вольта. Неправильно развел вход и выход. Пришлось резать дорожки и соединять проводниками.


Немного фото запаянной микросхемы


Для сравнения

Далее смонтировал все выводные компоненты

На электролите — это немного флюса из шприца попало, он новый, не вспухший)))
Вот фото платы стабилизаторов напряжения

Вот LM317 в корпусе ТО-252, были только такие.


После монтажа микросхемы PCM2902, если применяли флюс, обязательно тщательно его вымыть растворителем, иначе потом будут жестокие «зависания». До запайки микросхемы желательно собрать на плате стабилизатор на 3,3 вольта, и подобрать диод VD1 до получения на выходе 3,5 вольта.
После того как собрал все это дело в «кучу» пришел черед проверки. Подаем питания на плату, проверяем питание на ногах микросхемы. Теперь подключаем USB провод к ПК.
Драйвера для этой микросхемы уже есть в Windows, за что большое спасибо дядькам из Microsoft)))) На моем ПК стоит Windows 7. Значит так, подключил я собранную плату к USB порту. Windows тут же крякнул о подключении нового устройства и нашел и установил на него драйвера. PCM2902 определяется как USB Audio codec.

Чтоб удостоверится, что все определилось заходим в Диспетчер устройств и видим следущее:

Все отлично, все определилось!
Теперь надо немного все настроить!
Заходим в панель управления — оборудование и звук — звук. И видим там следущее:

Наш USB Audio codec должен быть устройством по умолчанию, если нет, то делаем его таковым. Встроенную звуковую карту можно отключить там же. Теперь нажимаем на кнопочку Свойства. Появляется меню Свойства. Заходим на вкладку дополнительно и в поле Формат по умолчанию выставляем 2 канала 16bit, 48000Гц.

Теперь переходим на вкладку Запись.
Выбираем микрофон USB Audio codec по умолчанию и нажимаем кнопку свойства.
Выбираем вкладку Прослушать и ставим все как на картинке.

Теперь заходим в вкладку Дополнительнои в поле Формат по умолчанию выставляем 2 канала 16bit, 48000Гц.

Ну вот, собственно, настройка и закончена. Можно подключить к аналоговому выходу усилитель и послушать музыку. Правда тут в выходном сигнале будет слышаться легкий свист, так как у нас стоит пассивный пост-фильтр нижних частот, чтоб полностью от этого избавится потом будет собран активный фильтр. Но, несмотря на это звук вполне достойный, намного лучше чем встроенная звуковуха выдавала.
Теперь потестим все это хозяйство программой RightMark Audio Analyzer 6.2.3.
Для этого вход каждого канала соединяем с его выходом.
Запускаем программу

Выставляем 16bit, 48kHz. Нажимаем кнопку Режимы. Тут программа выдаст все режимы, в которых может работать наша самодельная звуковая карта.

Потом нажимаем на кнопку Пинг. программа проверит возможность записи и воспроизведения устройства.

Далее в блоке, где написано Начать тесты нажимаем на красную кнопку с символом динамика внутри Воспроизведение\запись. Появятся вот такие окна, с помощью микшера Windows необходимо выставить оптимальный уровень сигнала. В это время программа генерирует тестовый сигнал.

После прохождения теста программа генерирует отчет. Вот что получилось.
USB Audio CODEC
Тест программы RightMark Audio Analyzer
Тестируемая цепь: External loopback (line-out — line-in)
Режим работы: 16-bit, 48 kHz









По тесту программы параметры тоже не плохи, да и субъективная оценка «на слух» прошла очень успешно! Звук нравится, такой плотный, не резкий, словами не передать, надо слушать!
Вот в первой части и все. В следующей части будет опубликована сборка активного пост-фильтра и лампового буфера для аналогового выхода.

67 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.