В начало | Зарегистрироваться | Заказать наши киты почтой
 
 
 
 

Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 2. ЦАП на CS4350 и БП

📆12 марта 2017   ✒️Sergiy_83   🔎34.918   💬14  

Всем привет!
В этой части я расскажу вам о цифро-аналоговом преобразователе на основе чипа CS4350 от Сirrus Logic.
ЦАП имеет один цифровой аудиовход I2S и программно не конфигурируется; работая в автоматическом режиме, тянет поток PCM до 192 КГц @ 32 бит; может быть подключен к другим источникам I2S-audio.

Начало читайте здесь: "Аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 1. Блок питания для Raspberry Pi (5V, 2A)".
Когда я приобрел «Малинку», первым делом подключил колонки к встроенной звуковой карте. Признаться, ничего особенного я не услышал. Потом взял осциллограф и решил посмотреть на синусоиды разных частот.

Рис 2. Осциллограммы. Аудио выход Raspberry Pi

Для аудиоплеера это не приемлемо. Слушать такое просто не прилично. Уж теперь-то я слышу, уж конечно! lol


Рис 3. Схема аудиовыхода Raspberry PI

Если посмотреть схему, то всё становится ясно. RC–фильтры, подключенные к ШИМ (PWM) выходам чипа BCM2835, вот и вся «звуковая карта» на борту «Raspberry».

Но у процессора BCM2835 есть аппаратный выход «PCM/I2S Audio». Вот он-то нам и нужен. Жаль, только, что нет выхода «MCLK» (Master Clock). И возможности завести внешний «MCLK» тоже нет. Именно поэтому, у ценителей сверх высококачественного звучания «Малинка» попадает в черный список.

В Китае можно купить готовый I2S DAC для «Raspberry», например, на чипах PCM5102, ES9023 и др., но я решил построить свой, самодельный.


Рис 4. Распиновка разъема P5 Audio I2S Raspberry Pi mod. B

Нам нужно выбрать чип ЦАП, который бы смог работать без «MCLK», смог держать 192 КГц @ 24 бит. Так же дифференциальные выходы приветствуются. А если сможет работать самостоятельно, без программной настройки, то вообще замечательно. И такой чип был найден!
Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 2. ЦАП на CS4350 и БП
Встречайте — СS4350


Схема ЦАП на CS4350

Исключён фрагмент. Полный вариант доступен меценатам и полноправным членам сообщества.

Рис 5. Схема электрическая принципиальная ЦАП CS4350

Чип CS4350 умеет с помощью внутреннего PLL восстанавливать Master Clock из сигнала LRCLK. При необходимости его наличие можно проверить на 8-м выводе, или использовать в каких-то коварных целях.

Это мой первый ЦАП, и программное управление я не стал делать, ограничился автономным режимом «Stand-Alone Mode». Задается режим входами DIF0 – DIF2. В этом режиме при частоте дискретизации до 96 КГц «RMCLK» (Recovered Master Clock) составляет fRMCLK = fLRCLK x 256, а при 176 КГц и 192 КГц получается fRMCLK = fLRCLK x 128.

Основной проблемой, с которой я столкнулся при макетировании – это переходные процессы — щелчки при начале и завершении воспроизведения. Когда I2S-сигнал отсутствует, выходное дифференциальное напряжение имеет максимальную величину (5V = «OUT+» – «OUT-»). Эту постоянную составляющую мы имеем на выходе фильтра.

Для решения данной проблемы есть специальные выходы «MUTE», с помощью которых выход фильтра должен быть закрыт, например, транзистором или быстрым реле. Совершенно случайно я заметил, что когда микросхема находится в состоянии сброса (вход «RESET» = 0) дифференциальное выходное напряжение равно нулю (оба выхода «OUT+» и «OUT-» равны нулю) и на выходе фильтра остается ноль Вольт. Поэтому, я сделал простейший детектор наличия сигнала I2S на элементах DD1, D1, R3, C4. RC-цепочка сглаживает меандр «LRCLK», формируя, тем самым, высокий логический уровень. Когда воспроизведение заканчивается, сигнал «LRCLK» всегда имеет высокий уровень – конденсатор С4 разряжается через резистор R3 и на входе «RESET» формируется низкий логический уровень.

Номиналы резистора R3 и конденсатора С4 подобраны таким образом, что при минимально возможной частоте дискретизации (32 КГц) конденсатор не успевал разрядиться ниже логического уровня единицы (см. Рис. 6).

Если подключать данный ЦАП не к «Raspberry Pi», а к другому источнику, у которого возможно шина i2S при отсутствии воспроизведения имеет низкие
логические уровни, то инвертер DD1.1 следует исключить или заменить повторителем.

Рис 6. Осциллограмма на конденсаторе С4


ЦАП выполнен на односторонней плате (см. Рис. 7.), вторая сторона служит экраном. Сверху вся плата закрывается металлической крышкой (см. Рис. 1.)

Рис. 7 Фото платы ЦАП


Блок питания для ЦАП

Схема блока питания для ЦАП проста и думаю, в комментариях не нуждается (см. Рис. 8 и 9).

Рис. 8 Схема блока питания для ЦАП


Рис. 9 Фото платы блока питания для ЦАП


Настройка ОС Raspbian

Для того, чтобы включить i2S-выход на «Малинке», в операционной системе должны присутствовать и быть загружены специальные модули ядра. В официальном дистрибутиве Raspbian (Debian для «Малинки») путь к модулям следующий:
/lib/modules/3.12.26-rt40+/kernel/sound

Версия ядра может отличаться. Подключаются модули с помощью фала /etc/modules. В моем случае файл modules имеет следующее содержимое:
# /etc/modules: kernel modules to load at boot time.
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

snd_soc_bcm2708_i2s
bcm2708_dmaengine
snd_soc_pcm5102a
snd_soc_hifiberry_dac


Я использую програмный модуль для pcm5102 , так как он не проверяет наличие чипа по SPI или I2C, как например другой модуль snd_soc_pcm1794a.

Далее проверяем командой aplay –l наличие звуковых устройств.
root@raspberrypi:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0


Скачал последнюю версию Raspbian — посмотреть, что появилось нового. Список поддерживаемых микросхем увеличился, это радует.

Рис. 10 Список модулей в текущей версии Raspbian


Измерения параметров нашего ЦАП

Измерения — это всегда интересно! В качестве измерительного устройства будет кодек ALC887 встроенной звуковой карты ПК. Как говорится, на безрыбье… Потренироваться. Сойдет на первый раз.

При измерениях ЦАП нагружен на резистор 10K и подключен к линейному входу звуковой карты. Тестовые файлы создал в Adobe Audition.

Рис. 11 Шумы при закороченных линейных входах

На рисунке 11 шумы при закрытых входах, шнурок в компьютер вставлен, на конце закорочен. SpectrPLUS уже откалиброван.


Рис. 12 Линейные входы подключены к ЦАП

Далее подключаем к плееру (к ЦАП) рис. 12, воспроизведение отсутствует. Вылезли 50 Гц и две гармоники 100 Гц и 150 Гц. А 25 KГц это, наверное, мой импульсник.


Рис. 13 Воспроизведение: 1 Кгц, 0dB

По сигналу 1 Кгц откалибровал 0dB в SpectraPLUS-е.


Рис. 14 Воспроизведение: 1 Кгц, -6dB


Рис. 15 Воспроизведение: 1 Кгц, -80dB

Нужно проверить, что амплитуды отображаются верно. -6dB на рис. 14 и -80dB на рис. 15.


Рис. 16 Воспроизведение: 10 Кгц, 0dB


Рис. 17 Воспроизведение: 20 Кгц, 0dB

На рисунке 17 — пики по сторонам и «горб» — это результат модуляции в следствии джиттера. Представляете?! В моём ЦАП-е… есть… настоящий… джиттер!!! lol


Рис. 18 Воспроизведение: 20 Кгц, 0dB (дискретизация 192 КГц).

На рисунке 18 тоже 20 КГц, но при частоте дискретизации тестового файла 192 КГц, все предыдущие тестовые файлы, использованные при измерениях, на 44.1 КГц.


Рис. 19 Воспроизведение: 11 Кгц + 12 Кгц, -10dB.

Рисунок 19 — это тестовый трек с тестового диска журнала «Аудиохобби“ [1]. Но там треки короткие и сними неудобно работать.


Рис. 20 АЧХ практическое.

АЧХ снял осциллографом, режим – детектор пиков. Развертка 4 сек. Тестовый sweep-сигнал 40 секунд, чтобы попасть в клетку (5 КГц). Испугал меня сразу завал слева, но как оказалось, ЦАП просто плавно подымает громкость при начале воспроизведения.

Для меня интересно было сравнить АЧХ теоретическое и практическое. Следует отметить, что при таком способе снятия АЧХ, амплитуда не в децибелах, а просто в Вольтах. Если перевести в децибелы то на 50 КГц сигнал упал где-то на 3,2 dB. Вроде, похоже на результат в Multisim-е.

Рис. 21 АЧХ теоритическое (Multisim).


И ещё несколько сигналов.

Рис. 22 Осциллограммы: Меандр, синус, треугольник, пила.


Полезности по теме

• [1] «77 синтезированных и натуральных сигналов для объективной экспертизы и субъективной оценки разнообразной аудиотехники», Приложение к журналу «Аудиохобби», 2004, H.Сухов, В.Широков.
Даташит на чип CS4350.pdf
• Заказать готовый I2S DAC для «Raspberry» из Китая!
• Заказать одноплатный миникомпьютер Raspberry Pi оттуда же.
• Заказать чип CS4350 на Ебее, оказалась редкая вещь, нашёл только здесь.

Файлы


🎁Печатная плата и схема принципиальная  85.05 Kb ⇣ 113

🎁Проект фильтра в Мультисиме  189.46 Kb ⇣ 78

Заключение

Качеством звука более чем доволен. Осознавая, какой путь проделывают байтики, пока превратятся в звук, вслушиваешься в каждую ноту! И хочется переслушать все любимые композиции на своей поделке. Хе-хе, надо будет ещё какой-нибудь ЦАП сделать. :cool:

На этом пока всё.
Спасибо за внимание!

Камрад, рассмотри датагорские рекомендации

🌼 Полезные и проверенные железяки, можно брать

Опробовано в лаборатории редакции или читателями.




 

Читательское голосование

Нравится

Статью одобрили 98 читателей.

Для участия в голосовании зарегистрируйтесь и войдите на сайт с вашими логином и паролем.
 

Поделись с друзьями!

 

 

Связанные материалы

 

Схема на Датагоре. Новая статья Даташит CS4350 pdf datasheet 192-kHz Stereo DAC with Integrated PLL... Давненько наш справочник не пополнялся полезняшками. Предлагаю возобновить традицию: нашли...
Схема на Датагоре. Новая статья Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 1. Блок питания для Raspberry Pi (5V, 2A)... Всем привет! Давным-давно в голову мне пришла идея сделать стационарный аудиоплеер, как в старые...
Схема на Датагоре. Новая статья Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 4. Усилитель мощности на LM3886... Всем привет камрадам! История продолжается. Сегодня у нас: усилитель мощности, мягкий старт, блок...
Схема на Датагоре. Новая статья Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 5, заключительная... Всем привет. Эта не последняя статья о моем аудиоплеере. Время разработки составило четыре года, и...
Схема на Датагоре. Новая статья Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 3. Регулятор громкости на PGA2310... Всем читателям datagor.ru привет! Продолжаем строить аудиоплеер. Сегодня подключим к «Raspberry...
Схема на Датагоре. Новая статья Аудио ЦАП DAC. Поделки начинающего цапостроителя. Часть 8. Обзор цифровых ресиверов DIR9001, WM8805, AK4113, PCM2707 (Обновлено)... Чем больше времени тратишь на разработку, тем меньше на сборку и отладку. Жизненное наблюдение. На...
Схема на Датагоре. Новая статья Внешний USB-ЦАП на PCM2702. Зрелое решение: Hi-Fi Audio DAC «GOLDSMITH»... © 2009 Datagor Audio Lab., Vladimir Kuznetsov All Right Reserved Первый набор-радиоконструктор на...
Схема на Датагоре. Новая статья Практические схемы высококачественного звуковоспроизведения. Атаев Д. И., Болотников В. А.... Атаев Д. И., Болотников В. А. Практические схемы высококачественного звуковоспроизведения. — М.:...
Схема на Датагоре. Новая статья Гитарный эффект "Drive Master"... Давненько я хотел сделать эту статью, но эти педальки у меня быстро расходились, и я даже не...
Схема на Датагоре. Новая статья В ремонте англичанин «AMR CD-777» — аудиофильский CD проигрыватель с ламповым выходом... Попал мне в ремонт такой DAC с жалобами на периодически шумы в одном канале. Это аудиофильский CD...
Схема на Датагоре. Новая статья Программа - осциллограф... Простой и очень удобный осциллограф для просмотра сигнала. Программа-эмулятор осциллографа,...
Схема на Датагоре. Новая статья Аудио ЦАП DAC. Поделки начинающего цапостроителя. Часть 2. PCM2704, AD822, AD812, OPA2604, PCM2906, OPA658, N75176... Продолжаем серию экспериментов. Сегодня на столе Часть 2. PCM2704, AD822, AD812, OPA2604, PCM2906,...
 

Комментарии, вопросы, ответы, дополнения, отзывы

 

<
Читатель Датагора

Datagor

<
Читатель Датагора

Sergiy_83

<
Читатель Датагора

Inappropriate

<
Читатель Датагора

Datagor

<
Читатель Датагора

Sergiy_83

<
Читатель Датагора

Inappropriate

<
Читатель Датагора

TeaMoon

<
Читатель Датагора

ilyap

<
Читатель Датагора

Sergiy_83

<
Читатель Датагора

dimondss

<
Читатель Датагора

levsha46

<
Читатель Датагора

Visooleg

<
Читатель Датагора

Sergiy_83

<
Читатель Датагора

yurico

Добавить комментарий, вопрос, отзыв 💬

Камрады, будьте дружелюбны, соблюдайте правила!

  • Смайлы и люди
    Животные и природа
    Еда и напитки
    Активность
    Путешествия и места
    Предметы
    Символы
    Флаги
 
 
В начало | Зарегистрироваться | Заказать наши киты почтой