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

 
 
 
9

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

Разместил Sergiy_83 12 марта 2017. Просмотров: 3 387


Всем привет!
В этой части я расскажу вам о цифро-аналоговом преобразователе на основе чипа 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 загружен 21 раз.

Проект фильтра в Мультисиме | Файл 189,46 Kb загружен 13 раз.

Заключение

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

На этом пока всё.
Спасибо за внимание!
Сергей (Sergiy_83)
Беларусь. Жодино
Профиль Sergiy_83
Электроникой увлекся в старших классах школы.
Потом закончил Минский профтехнический колледж электроники.
Потом «БГУИР» — Белорусский государственный университет информатики и радиоэлектроники. Инженер-электроник вот уже 11 лет.

Часто тянет что-нибудь изобрести.
Люблю программирование (Си, С++).
 

Понравилось? Палец вверх!

  • всего лайков: 73

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

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


Схема на Датагоре. Новая статья Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 1. Блок питания для Raspberry Pi (5V, 2A)... Всем привет! Давным-давно в голову мне пришла идея сделать стационарный аудиоплеер, как в старые...
Схема на Датагоре. Новая статья Моделирование звучания гитарных примочек в Proteus. Как сделать и прослушать педаль эффектов без паяльника... Привет, друзья! Вероятно, каждый хоть разок да провел ночь с паяльником в руках среди клубов...
Схема на Датагоре. Новая статья Многоканальный 5.1 ламповый усилитель. Часть 3... Настало время поговорить о «бомбящем ящике» — сабвуфере, как составном элементе «системы 5.1»....
Схема на Датагоре. Новая статья Сделай сам простой активный фильтр для двухполосного усилителя... В статье речь пойдет об активном фильтре для двухполосного усилителя. Фильтр не нуждается в...
Схема на Датагоре. Новая статья Поделки начинающего цапостроителя. Часть 8. Обзор цифровых ресиверов DIR9001, WM8805, AK4113, РСМ2707 (Обновлено)... Чем больше времени тратишь на разработку, тем меньше на сборку и отладку. Жизненное наблюдение. ...
Схема на Датагоре. Новая статья Другая схема электронного трансформатора Taschibra (Ташибра, Tashibra)... Вскрыл, ещё до прочтения статьи "Применение электронных трансформаторов Taschibra в...
Схема на Датагоре. Новая статья Простой USB ЦАП на PCM2705... Идея собрать ЦАП впервые пришла после того, как прочитал много положительных отзывов о датагорском...
Схема на Датагоре. Новая статья Внешний USB-ЦАП на PCM2702. Зрелое решение: Hi-Fi Audio DAC «GOLDSMITH»... © 2009 Datagor Audio Lab., Vladimir Kuznetsov All Right Reserved Первый набор-радиоконструктор на...
Схема на Датагоре. Новая статья Гитарный эффект "Drive Master"... Давненько я хотел сделать эту статью, но эти педальки у меня быстро расходились, и я даже не...
Схема на Датагоре. Новая статья Крутой ревер (ревербератор) для электрогитары на PT2399, HT8970... Всем привет!!! В этой статье поговорим о том, как сделать гитарный ревербератор. Наш ревер будет...
Схема на Датагоре. Новая статья LME49810 - одноканальный драйвер выходного каскада до 500 Вт... Так что же такое эта LME49810. В апреле-мае 2007 года NSC представила для специалистов свою...
Схема на Датагоре. Новая статья Программа - осциллограф... Простой и очень удобный осциллограф для просмотра сигнала. Программа-эмулятор осциллографа,...
<
  • Главный редактор
12 марта 2017 17:09

Игорь Петрович Котов / Datagor

Цитата
  • С нами с 25.02.2011
  • Ушёл в реал Пользователь offline
  • 1 640 комментариев
  • 261 публикация
 
  • 0
Сергей, т.е. скоро у нас получится стационарный плеер, играющий разнообразные форматы с жёсткого диска через сиррусовский ЦАП. music

Терпежу не хватает увидеть, как вы придумали всем этим рулить (в смысле выбора/сортировки треков и пр. удобств использования).

Спасибо!
Пилите продолжение. yahoo

<
  • Гражданин
12 марта 2017 17:21

Сергей / Sergiy_83

Цитата
  • С нами с 16.10.2012
  • Ушёл в реал Пользователь offline
  • 31 комментарий
  • 4 публикации
 
  • 0
Цитата: Datagor
Сергей, т.е. скоро у нас получится стационарный плеер, играющий разнообразные форматы с жёсткого диска через сиррусовский ЦАП.

Получится по любому.
Терпежу не хватает увидеть, как вы придумали всем этим рулить (в смысле выбора/сотрировки треков и пр. удобств использования).

это на десерт.

<
  • Подписчик
12 марта 2017 22:12

Евгений / Inappropriate

Цитата
  • С нами с 15.02.2017
  • Ушёл в реал Пользователь offline
  • 2 комментария
  • 0 публикаций
 
  • +1
Использую похожее решение.
Только вместо Raspberry у меня Odroid C2 и ЦАП PCM5122 так же по I2S.
В качестве ОС Libreelec с Kodi.

Никаких шаманств с настройкой ОС, все работает "из коробки". Музыку в Lossless с жесткого воспроизводит только влет. Звучит очень хорошо для моих неискушенных ушей)

Помимо этого, качает торренты и показыаает фильмы)
Если нужна только музыка, есть дистриб Volumio.
Удобная штука.

<
  • Главный редактор
13 марта 2017 08:29

Игорь Петрович Котов / Datagor

Цитата
  • С нами с 25.02.2011
  • Ушёл в реал Пользователь offline
  • 1 640 комментариев
  • 261 публикация
 
  • +1
Евгений, было бы очень полезно и целесообразно, если бы вы очень подробно (т.к. уже переварили весь материал) написали статью по теме "Odroid C2".
Где взять, как выбирать, что именно нужно, какие модули и для чего, корпус, eMMC и пр., как и что можно подключить, какие ОС и проги поставить, настроить, и как использовать.
С фотками и видосами (при надобности).

Что скажете? С правками, оформлением, размещением мы поможем.

Я, например, до сего дня об Odroid ничего не слышал, а похоже вещь стоящая. dash

<
  • Гражданин
13 марта 2017 09:19

Сергей / Sergiy_83

Цитата
  • С нами с 16.10.2012
  • Ушёл в реал Пользователь offline
  • 31 комментарий
  • 4 публикации
 
  • +1
Цитата: Datagor
было бы очень полезно

Поддерживаю. Просим! Всем будет очень интересно. Пишите, даже если без корпуса на соплях, не стесняйтесь. Важна идея и решение.

<
  • Подписчик
14 марта 2017 00:02

Евгений / Inappropriate

Цитата
  • С нами с 15.02.2017
  • Ушёл в реал Пользователь offline
  • 2 комментария
  • 0 публикаций
 
  • +1
Цитата: Datagor
Евгений, было бы очень полезно и целесообразно, если бы вы очень подробно (т.к. уже переварили весь материал) написали статью по теме "Odroid C2".
Где взять, как выбирать, что именно нужно, какие модули и для чего, корпус, eMMC и пр., как и что можно подключить, какие ОС и проги поставить, настроить, и как использовать.
С фотками и видосами (при надобности).

Что скажете? С правками, оформлением, размещением мы поможем.

Я, например, до сего дня об Odroid ничего не слышал, а похоже вещь стоящая. dash

Совсем нет опыта в написании статей, к сожалению. Но если сообществу действительно интересно, попробую собраться с мыслями, изложить свой небольшой опыт в виде небольшой статьи.

<
  • Кандидат
14 марта 2017 16:01

Артем / TeaMoon

Цитата
  • С нами с 13.10.2011
  • Ушёл в реал Пользователь offline
  • 21 комментарий
  • 0 публикаций
 
  • +2
Евгений! Поддерживаю предыдущих просителей!
Очень хочется поподробнее узнать о возможностях одройда, подводных камнях и возможности применения в качестве CARPC (если есть, какие-то наработки в данном направлении), шилдах и ПО.

<
  • Кандидат
17 марта 2017 09:24

Илья / ilyap

Цитата
  • С нами с 22.01.2010
  • Ушёл в реал Пользователь offline
  • 5 комментариев
  • 0 публикаций
 
  • 0
Добрый день!
Прошу прощения за "ламерский" вопрос. Использование DAC I2S сильно лучше, чем USB звуковая карта, или, например, какой-нибудь способ извлечения цифрового звука из HDMI ?

<
  • Гражданин
17 марта 2017 11:22

Сергей / Sergiy_83

Цитата
  • С нами с 16.10.2012
  • Ушёл в реал Пользователь offline
  • 31 комментарий
  • 4 публикации
 
  • 0
Цитата: ilyap
USB звуковая карта

Сам лично не проверял, но насколько мне известно, при больших битрейтах может заикаться.
Цитата: ilyap
извлечения цифрового звука из HDMI ?

Ничего об этом не знаю.

Добавление комментария


Налетай! Паяльники, станции, жала с доставкой
  • smilelolbyewinkyahoocoollaughing
    crazybadcryingsadirefulsickstraight
    ballooncakegooddrinksmailbombsun
    nightrainstarscolddashguitar-manhandshake
    musicnegativenopardonshoksleepunknown
    wackoyawnblushbullyhashsmokingwhew
Скопируйте текст вашего комментария на случай неверного ответа на контрольный вопрос.