Модуль ЦАП PCM5102 и ESP32
Подключаем к микроконтроллерам (например, ESP32) через интерфейс I2S
Основные пины:
- VIN (3.3-5V)
- GND
- BCK (Bit Clock)
- LCK (Left/Right Clock)
- DATA (Data Input DIN)
Для работы необходима библиотека I2S в Arduino IDE или конфигурация звука в ESP-IDF.
Основные этапы подключения PCM5102:
- Питание:
Подключите VIN к 3.3V (или 5V, зависит от модуля) и GND к GND. - Интерфейс I2S:
BCK (Bit Clock): На ESP32 обычно GPIO 26 или 14.
LCK (WS/LRCLK): На ESP32 обычно GPIO 25 или 15.
DIN (DATA): На ESP32 обычно GPIO 22 или 32. - Настройка модуля:
На плате PCM5102 часто есть перемычки (SMD резисторы) для настройки режимов, например, вывода SCK (System Clock) или работы без внешнего генератора. Большинство модулей с OZON уже сконфигурированы для работы в режиме I2S "slave".

- Выход звука:
Используйте 3.5 мм джек или выходы LOUT/ROUT/GND для подключения усилителя. - Пример использования:
Совместно с ESP32 и библиотекой ESP8266Audio или ESP32-A2DP для Bluetooth-аудио.
Raspberry Pi connect PCM5102 DAC
- SCK Not wired (Internally generated) Не подключенный (сгенерированный внутри)
- BCK PIN 12 (RPi) (GPIO18)
- DIN PIN 40 (RPi) (GPIO21)
- LRCK PIN 35 (RPi) (GPIO19)
- GND PIN 6 (RPi) (GND) Ground
- VIN PIN 2 (4) (RPi) (5V)
Примечание: В некоторых модулях PCM5102 SCK можно не подключать, если он генерируется автоматически.
Сделать активацию интерфейса I2S через sudo raspi-config и настройку драйвера hifiberry-dac в файле /boot/config.txt для корректного вывода аудио, теперь в новом месте:
/boot/firmware/config.txt.

Настройка системы (Raspberry Pi OS)
После того, как мы все правильно соединили или припаяли, нужно сделать некоторые настройки в файлах конфигурации OS Raspbian
- Обновление системы:
sudo apt-get update sudo apt-get upgrade - Настройка I2S:
Откройте терминал и запустите:sudo raspi-config - Перейдите в Interfacing Options > I2S > выберите Yes.
- Конфигурация аудио драйвера:
Отредактируйте файл конфигурации:sudo nano /boot/config.txt sudo nano /boot/firmware/config.txt - Закомментируйте строку звука по умолчанию (если есть):
#dtparam=audio=on - Добавьте строку для использования драйвера HiFiBerry DAC (или аналогичного):
dtoverlay=hifiberry-dac - Нажмите Ctrl+X, затем Y и Enter, чтобы сохранить.
- Перезагрузка:
sudo reboot - Проверка звука: Проверьте наличие устройства:
aplay -l - Устройство PCM5102 должно отображаться как hifiberry-dac.
- Протестируйте звук:
speaker-test -c2 - Использование:
После настройки вы можете использовать PCM5102 в качестве устройства вывода по умолчанию в таких плеерах, как MPD, VLC, или в специализированных системах типа Volumio, указав драйвер HiFiBerry DAC.
KCX TFT2.8 PLAYER02_V2.3 Audio-Панель
Панель Audio KCX TFT2.8 PLAYER02_V2.3 имеет и свой аналоговый выход, но по качеству звука проигрывает по качеству от отдельного DAC.
Чтобы подключить ЦАП PCM5102 будем использовать провода из комплекта.
Также я применил отдельный понижающий модуль на 5В для питания модуля DAC PCM5102, а саму аудио панель KCX TFT2.8 PLAYER02_V2.3 от 12 В
- красный провод LRCK RCK PCM5102
- черный провод GND GND PCM5102
- желтый провод DAT DIN PCM5102
- зелёный провод SCLK BCK PCM5102
- синий провод MCLK SCK PCM5102

Настроек никаких не требуется, после соединения проводников начинает сразу работать.
На модуле DAC PCM5102 имеется разъём jack 3,5мм. Мощности выхода достаточно для оценочной работоспособности системы.
Появилось желание подключить напрямую цифровой микрофон к DAC
Прямое подключение микрофона INMP441 (I2S цифровой выход) к ЦАП PCM5102A (I2S вход) без контроллера (ESP32/MCU) невозможно.
INMP441 требует ведущего устройства (Master) для генерации сигналов синхронизации (SCK, WS), которые PCM5102A не производит. Для работы необходима логика управления шиной I2S.
Почему не работает напрямую:
- INMP441 - это цифровой микрофон, выдающий данные только по запросу синхросигналов I²S.
- PCM5102A — это цифро-аналоговый преобразователь (ЦАП), который принимает данные I²S и превращает их в звук.
Отсутствие Master:
Нет устройства, которое скажет микрофону "дай данные" и передаст их в ЦАП.Необходимое оборудование:
Для соединения используйте микроконтроллер с поддержкой I2S (например, Arduino Zero, Teensy, STM32), который будет считывать данные с INMP441 и отправлять их в PCM5102A.USB DAC Sound Card PCM2706 and PCM5102A

PCM2704 и PCM2706 — это популярные USB-ЦАПы от Texas Instruments (16 бит, 32-48 кГц).
Главное отличие: PCM2704 — законченное решение в SSOP-28 с аналоговым выходом, а PCM2706 (TQFP-32) имеет интерфейс для подключения внешнего ЦАП, что делает его предпочтительным для качественного звука. Оба чипа — USB 1.1 с выходом S/PDIF.
Звуковая карта Микросхема кодирования PCM2706 Частота дискретизации выходного сигнала 44,1K 48K
USB в коаксиальное оптоволокно I2S, использующая микросхему декодирования CM2706 компании, имеет лучшую производительность, чем PCM2704 и CM108.
Связка PCM2706 и PCM5102 — это популярное бюджетное решение для создания USB ЦАП (внешней звуковой карты).
PCM2706 выступает в роли USB-I2S моста, получая звук с ПК, а PCM5102A обеспечивает высококачественное 32-битное цифро-аналоговое преобразование (до 384 кГц). Данный тандем обеспечивает чистое звучание с низким уровнем искажений.
Ключевые особенности связки:
- PCM2706 (USB-интерфейс): Преобразует USB в аудиоинтерфейс I2S/IIS. Часто используется в более новых ревизиях (PCM2706C) для лучшей поддержки ОС.
- PCM5102 (ЦАП): ЦАП с поддержкой 32-бит/384кГц (модель PCM5102A) с питанием 5.0В, отличными характеристиками динамического диапазона и встроенным генератором частоты.
- Сборка питается по кабелю USB, дополнительное питание не требуется
Выход: Обычно на модулях распаян 3.5 мм jack или RCA для стереовыхода
Модули PCM2706 и PCM5102 как-будто созданы друг для друга. Пайка заключается в соединении параллельных перемычек, отверстия расположены четко друг над другом и после того как спаяли, втыкаем USB кабель в свободный слот USB, а наушники в jack. Система автоматически мгновенно определила DAC, громкость системно не регулируется, это можно сделать в приложении из которого будем воспроизводить звук, например Foobar2000. Или заменить PCM5102A на PCM5122, который поддерживает регулировку громкости, как, например в Volumio. На Linux еще не пробовал, но должно поддерживаться все в полном порядке.




