Доброй ночи господа
посмотрите плиз это то о чем мечталось ? http://www.noiseisgood.co.nz/?p=365 и http://www.raspberrypi.org/phpBB3/vi...=8496&start=25 (Posts: 43)
Доброй ночи господа
посмотрите плиз это то о чем мечталось ? http://www.noiseisgood.co.nz/?p=365 и http://www.raspberrypi.org/phpBB3/vi...=8496&start=25 (Posts: 43)
Нет. Raspberry Pi я держал впервые в руках и в ее программировании ничего не соображал. А потом и стало не нужно.
С уважением, Михаил.
Подключил свой Lynx D68 к Raspberry Pi 4 в нормальном режиме - то есть мастерклок (22,5792 или 24,576 МГц) поступает от ЦАП, а Raspberry Pi работает в ведомом режиме.
За основу взял идею из Hifiberry Digi - использовать WM8804 для формирования сигналов BCLK и LRCLK из мастерклока.
Драйвера готовые, достаточно в config.txt добавить строчку dtoverlay=hifiberry-digi-pro.
Пока собрано на макетной плате для проверки идеи.
В дальнейшем сделаю на нормальной плате и с гальваноразвязкой ISO7741.
Chaa, а 24с32 содержит идентификатор hifiberry-digi-pro?
Не ищи закономерности там, где их и не может быть.
Есть опасность, что найдёшь.
Сейчас собрано вообще без нее, драйвер выбирается в config.txt.
Подробнее о ручной настройке:
https://www.hifiberry.com/build/docu...-linux-3-18-x/
24C32 нужна только для автоматической конфигурации - то есть воткнул шляпу и Raspberry Pi сама опознает устройство и загрузит из него Device Tree.
Также сегодня попробовал Volumio - при запуске ставится галочка I2S DAC, затем из списка выбираем Hifiberry Digi+ Pro и все работает.
Offтопик:
P.S.
Сам не ожидал, что так просто запустится. Пять деталей и нормальный I2S вплоть до 24/192 работает. Думал придется колдовать с Линуксом, ядро там пересобирать и т.п.
Ага, интересно. Значит, драйвер hifiberry-digi-pro можно установить принудительно, без 24с32.
А содержимое для этой памятухи известно?
Не ищи закономерности там, где их и не может быть.
Есть опасность, что найдёшь.
_________________
Евгений
Мастерклок WM8804 должен переключаться между 128fs и 256fs (таблица 54 даташита), а у нас внешний мастерклок 512fs, поэтому используется вход
XIN и драйвер переключает внутренний делитель.
Чтобы было понятнее, Figure 16 Software Mode Clocking:
Код драйвера:
https://github.com/raspberrypi/linux...04-soundcard.c
На схеме сигналы CLK44 и CLK48. У меня сигнал CLK44 подключен непосредственно ко входу "44/48 BASE SELECTOR" ЦАП D68.
Пока собрал макет для проверки того, что оно работает. Потом будет плата с изолятором ISO7741 для I2S и оптроном для CLK44.
I2C нужно для ЦАП, как я понимаю, только для переключения в DSD? У меня ЦАПа такого нет, поэтому не стал заморачиваться.
Всё, понятно стало. Дождусь Вашей платы, если Вы будете заказывать, тоже хочу попробовать собрать медиа плеер. У меня Rpi2B.
_________________
Евгений
Приветсвую!
А кто что думает по поводу новой ревизии Tinker board*a? В версии S они добавили возможность работы I2S не только в мастер режиме но slave
Есть у кого опыт?
Разъем GPIO, судя по описанию, такой же, как и в Raspberry Pi.
Из преимуществ перед Raspberry Pi 4 можно отметить разъем для WiFi антенны и встроенную память eMMC.
Из недостатков - Tinker board дороже, стоит примерно 5500 руб. против 3500 для Raspberry Pi 4, и поддержка слабее из-за меньшего коммунити.
Судя по даташиту RK3288 slave режим I2S реализован так же, как в Raspberry Pi, т.е. нужны готовые сигналы BCLK и LRCLK, полученные из мастерклока.
Вариант на WM8804 (из сообщения #122) должен работать и для Tinker board, драйвера Hifiberry Digi Pro для него есть.
резисторы R1 и R2 может тоже SMD? еще я бы добавил резистор подтяжки для I2C SCL линии, можно не запаивать, но если понадобиться счищать лак?
---------- Сообщение добавлено 18:02 ---------- Предыдущее сообщение было 16:14 ----------
Под какую распиновку разъёмов разводится плата? Может есть смысл еще под генераторы место оставить? Если без генераторов,то можно компактнее сделать
_________________
Евгений
Надо свой вариант нарисовать. Разъем аманеро будет по душе? И место под генераторы надо предусмотреть.
---------- Сообщение добавлено 18:18 ---------- Предыдущее сообщение было 18:13 ----------
Кстати, смотрел исходники драйвера, он точно рабочий? Его пробовали или только в теории?
_________________
Евгений
А смысл? Запаяйте прямо провода вместо разъема и обожмите второй конец как хочется.
Качество мастерклока тут уже непринципиально, сигналы данных на стороне ЦАПа гонятся через ЦФ и/или реклочатся.
---------- Сообщение добавлено 19:23 ---------- Предыдущее сообщение было 19:20 ----------
Он уже влит в сборку Volumio, покрасноглазить исходники?
snd_rpi_wm8804_enable_clock
Не понял как они клацают генераторами, там только 176 задействовано, для остального 48к включено
_________________
Евгений
Наверху страницы мое сообщение. Там есть фото макетной платы, на которой я эту схему запускал, и ЦАП Lynx D68.
Драйвера стандартные, есть в volumio и в raspbian.
У меня такой вариант, печатка будет чуть позже:
EEPROM.WMF
GEN.WMF
IO.WMF
PWR.wmf
SPDIF.WMF
WM8804.WMF
Схема на основе поста #122.
Изменения:
- питание возможно как от RPi, так и внешнее, думаю предпочтительнее будет внешнее, что бы дополнительно не грузить стабилизатор на плате пирога
- добавлены генераторы, есть возможность не устанавливать, в случае наличия генераторов на плате ЦАП
- разъем аманеро, т.к. плата расчитывается для Low Cost ЦАП на 4490(3), находящегося в стадии сборки.
- добавлен изолятор ADUM1250, для возможности прямого управления ИМС ЦАП по I2C шине. Потребуется допиливание драйвера (если дойдут руки).
- вместо оптронов решено использовать ADUM1400A, т.к. цена не велика, а места занимает меньше
- добавлена возможность обойтись без изоляторов
- на разъем выведены сигналы F0-F2, MUTE. Потребуется допиливание драйвера (если дойдут руки).
- сделан повторитель для SPDIF на 1G125, добавлен развязывающий трансформатор и оптический передатчик
- исходя из опыта, добавлен супервизор питания, для формирования сигнала сброса WM8804
_________________
Евгений
Драйвер точно рабочий, проверял во всех режимах от 44.1/16 до 192/24.
В нем есть тонкость - он может работать от одного клока 27 МГц или от двух 22,5792 и 24, 576 МГц. Второй вариант включается в DeviceTree параметрами clock44-gpio и clock48-gpio.
Именно из-за драйвера шляпа сделана так, как сделана. Для установки драйвера нужно два клика мышью в Volumio, или одна строка в config.txt для Debian/Raspbian. Если установить микросхему EEPROM то вообще ничего не надо делать, все само настроится (я не поставил из-за проблем с разводкой, сильно резался земляной полигон). Плюс он есть и для других похожих на Raspberry Pi платформ, вроде Asus Tinker Board.
Вообще сделать из мастерклока сигналы битклока и вордклока можно на ПЛИС (как в теме Цифровой транспорт с открытым кодом на NanoPI-Neo), на рассыпной логике, на микросхеме дешевого АЦП, как где-то советовал Alex. Все портит необходимость поддерживать драйвер.
Я поначалу тоже хотел делать на ПЛИС, но, почитав наших коллег из-за рубежа, пришел к выводу что на WM8804 будет проще всего. Цена в 150 руб. для DIY вполне нормальная.
У меня есть только SMD 1206 резисторы 100/1К/10К и конденсаторы 0.1 мкф, поэтому все остальное выводное. Вообще, я SMD не очень люблю, старый стал. Глаза плохо видят, руки трясутся. Но оно на самом деле просто так нарисовано, чтобы было. Никакой практической пользы от них нет.
По поводу подтяжки для I2C SCL. Лак счищать не нужно, можно прямо на разъем повесить резистор. Да и там он тоже не нужен. Обязательна только подтяжка SDA, так как ей включается режим Software Mode WM8804. У HiFiBerry серийные изделия работают без подтяжки SCL.
Внешнее питание нужно только если генераторы устанавливать. А так плата 25 мА потребляет.
А генераторы на шляпе это:
1. Технически неправильно, они должны быть возле ИМС ЦАП.
2. Передавать через гальваноразвязку мастерклок плохо, просто из-за принципа работы гальваноразвязки. Джиттер будет измеряться наносекундами. Если хочется генераторы, то тогда ставить их до гальваноразвязки и подавать на них отдельное питание от ЦАП.
3. Уже есть готовые решения: HiFiBerry Digi+ Pro, IQaudio – Pi-Digi+, DigiOne, AOIDE HIFI DiGi Pro.
При экспериментах необходимости в MUTE, по крайней мере для D68, не заметил. Поэтому пин MUTE разъема сидит на земле. Да и драйвер мьют не поддерживает.
Пробовал отключение/переключение мастерклока на ходу. Ничего страшного не происходит. Если мастерклок пропадает, то воспроизведение останавливается. Когда мастерклок появляется, воспроизведение продолжается. Если надолго отключить, то проигрыватель останавливается с ошибкой записи на устройство. Если подать не тот мастерклок, то музыка играет или быстрее, или медленнее.
Социальные закладки