Счастливая лиса - приветствуем LuckFox Pico Max
История и предпосылки
LuckFox Pico Max — плата на SOC на rv1106, позволяющем тактовать звуковую систему от внешнего мастерклока (как это имеет место для Beagle Bone Black — BBB), и, соответственно, получить высококачественный I2S с платы.
Некоторое время назад (в конце 2024 года) энтузиастами на одном из дружественных ресурсов https://support.puredsd.ru/ для этой платы была разработана «прошивка», аналогичная PureOS. Прошивка находится в стадии развития, но большинство важных функций уже работают.
За более подробным описанием и планами по развитию прошивки, а также за описанием преимуществ платы предлагаю обратиться на указанный ресурс.
«Техническое задание»
После ознакомления с возможностями платы и проверки её на «макетке» я принял решение, что стоит оперативно разработать несколько плат, позволяющих использовать плату «лисенка» в конструкциях этого сайта. Прежде всего, так как по идеологии и сигналам «лисёнок» очень похож на BBB, было желание сделать плату «преобразования» его в BBB для использования (без модификаций или с их минимальным количеством) с конструкциями типа Сетевой транспорт, плата гальванической развязки для Beaglebone Black и подобными. Попутно возникло желание в такой же «плате-перевертыше» (подробнее ниже).
Вторая цель была в изготовлении сетевого I2S транспорта в формате AH-TX для использования вместо транспортов USB-I2S аудиоинтерфейс AH-TX1 v2.0 и аналогичных (но без разъема Indicator).
Наконец, было желание изготовить плату в формате Amanero для её использования в тех конструкциях, которые предусматривают использование такого форм-фактора.
Полагаю, что в какой-то мере удалось реализовать эти пожелания.
Важное замечание об авторстве: все перечисленные конструкции сделаны с минимальными доработками (либо вообще без таковых) на основе конструкций ув. Admin, которому выражаю огромную благодарность за предоставленные материалы.
1. Адаптер LuckFox — BBB
Здесь всё просто — были взяты размеры платы BBB и создан переходник на нужный форм-фактор с разводкой необходимых сигналов.
Схема
В целом, разведены сигналы LuckFox на соотв. пины разъемов формактора BBB, но есть смысл обратить внимание на следующие детали:
1. Резисторы R1 и R2 — подтяжка к земле MUTE и DSD_ON (в настоящее время эти сигналы в прошивке не реализованы, после того, как это произойдёт, резисторы можно будет просто сдуть феном с платы).
2. Выведен сигнал Reset платы лисенка
3. Использована интересная особенность лисёнка, позволяющая отключить его DC/DC преобразователь из напряжения питания на 3,3 вольта, питающие «вторичные» цепи, в т.ч. формирования сигналов I2S, но запитать любым другим источником. Для такого питания на плате адаптера предусмотрен малошумящий стабилизатор U2 с нужным обвесом, а также резистор R3, отключающий этот преобразователь. Если нет необходимости в таком «чистом» питании, то этот резистор и L7 (также все остальные элементы стабилизатора, но их можно и распаять) можно не распаивать. Естественно, можно не ставить R3, а просто сдуть феном DC/DC преобразователь с лисы. На приведённом на фото экземпляре в качестве U2 использован LDO LP5907 (соотв., C9 не запаивался).
По формфактору:
1. Размеры совпадают с BBB, но из-за чуть меньшего «вылета» разъема Ethernet лиса вынесена чуть вперёд. Это позволило разместить плату адаптера для BBB Сетевой транспорт, плата гальванической развязки для Beaglebone Black без переделок и на пинах стандартной длины
2. Чтобы не пилить плату (хотя это можно сделать без ущерба для неё) были заказаны вот такие заглушки для разъема:
3. Лиса прекрасно встает на своих пинах прямо на трении (но, конечно, после всей отладки лучше запаять):
2. Адаптер- перевёртыш
Всё то же самое, что в п.1, кроме формы и расположения отверстий.
Лиса становится «наоборот», и над ней можно поставить адаптеры. Для адаптерадля BBB Сетевой транспорт, плата гальванической развязки для Beaglebone Black пришлось на 3мм. урезать хвостовую часть, чтобы не мешал Ethernet разъем (можно сравнить с фото оригинального адаптера). Другие адаптеры, возможно, придётся ставить на удлинённые пины.
Нужна эта плата для тех, кто желает вывести USB-C разъем из корпуса напрямую.
3. Транспорт формата AH-TX
Почти полностью повторяет адаптер для BBB Сетевой транспорт, плата гальванической развязки для Beaglebone Black — разница только в формфакторе и в нескольких элементах.
Формфактор — полностью (включая отверстия, расположение и назначение пинов разъемов I2S и CONTROL) соответствует транспортам AH-TX. Разъем Indicator отсутствует по простой причине — сейчас прошивка не выводит информацию о частоте дискретизации и/или разрядности сигнала.
Схема
Отличия от BBB-адаптера (большинство — как и описано выше в пунктах 1 и 2):
1. Добавлены резисторы подтяжки к земле MUTE и DSD_ON
2. Добавлено питание вторичных цепей лисенка с U2 через бусину L3, соотв., R16 отключает встроенный преобразователь
3. Добавлена цепочка задержки включения U2 (C24-R17) — требуется лисенку.
В реализации на фото в качестве U2 также стоит LP5907 (без конденсатора C9) и на всякий случай оптопары — слаботочные MOCD217 (соотв., R11= 1K)
4. Адаптер в формате Amanero
Делался «по остаточному» принципу, лично мною даже не собирался и не проверялся (но проверен одним из коллег).
Повторяет пункт 3, за исключением организации «вторичного питания» лисы, пинаута разъемов, опторазвязок сигналов (точнее, их просто нет, не выведен даже сигнал частоты генераторов) и подтяжек резисторами. Правда, здесь выведены сигналы I2C (на разъем J3, питать плату предполагается с того же разъема).
Схема адаптера
Заключение
Те платы, что были лично мною проверены и отслушаны, звучат очень хорошо, пожалуй, лучше Xigcore U30 и AH-TX1. Проверялись с AH-D16Pro. Питание при этом было стандартное для транспортов, которое я применяю, — Универсальный модуль питания v3.0
Также есть мнение, что гальванический изолятор в случае лисы излишен или должен быть высокого качества уровня не ниже IL717 — худший даёт помех больше, чем сама плата LuckFox. Понятно, что заменить на всех платах его перемычками несложно.
Интересное новое решение, тоже заказал пощупать потестировать железку!
Скоро буду задавать вопросы)
Ну и ждём платы в продаже
Какое-то количество есть, можно написать в личные сообщения
У меня лисы еще нет, и не знаю нужна ли, но попробовать будет интересно. А если через такой адаптер подключить к лисе Purebone, то spdif с него будет работать?
Не помню схему Purebone, поэтому не знаю
Думаю что нужно коммутацию добавить, лиса будет включена через I2S к цап , но что бы расширить функционал, хорошо бы иметь еще 1 I2S для USB приемника. Все таки лис это сетевой трекер, а сеть это такая штука.....
Вероятно отдельная плата должна созреть.
Это я не очень понял. Можете пояснить чего хочется? Может, и мне это нужно...
У нас здесь- вход: LAN, выходы: USB, I2S.
Остаётся уточнить: есть ли у LuckFox Pico Max возможность транспорта- вход: USB, выход: I2S ?
Теоретически — есть, практически — разработчики прошивки обещали, но пока не сделали её реализацию.
Хочется иметь возможность и LAN, и USB использовать. А на данный момент пока этот девайс работает только как LAN, надеюсь энтузиазма хватит допилить, а то уже вижу на новые платы смотрят, не допилил еще что есть. Пусть хотя бы доделают что б работало стабильно и DSD сделают уже было бы хорошо.
Гальванический изолятор при работе через LAN по сути смысла не имеет, чаще всего сам разъем внутри имеет развязывающие трансформаторы, либо они устанавливаются снаружи если их нет в разъеме. Со стороны роутера они как правило есть всегда. Бывает конечно что ничего нет и подключено на прямую, но это редкость и такие сетевые обычно долго не живут.
«вижу на новые платы смотрят, не допилил еще что есть» — эти сборки для новых плат, условно говоря, бесплатные — то есть собрав прошивку для Ultra (отличается только загрузчиком от Макса), получаем и прошивку для Core.
«Гальванический изолятор при работе через LAN по сути смысла не имеет,» — имеет, так как сама Ultra гадит по питанию. Точнее, не имеет в случае хорошего питания лисы, а с изолятором её можно питать хоть от БП из перехода из метро за 50 рублей (мне, по крайней мере, слышно). Но перемычки никто не отменял.
А так, — да, внутри Ethernet разъема лисы есть трансформаторы.
При ее потреблении смысла нету никакого абы что ставить. Можно нормальный бп собрать.
При использовании USB больше помех и всякой дряни именно через сам USB и его массу прет, сколько случаев выхода из строя входов было....
Кстати, это верно — с БП отсюда, например, изолятор-то особо не нужен. В перспективной конструкции, которая, возможно, будет, предусмотрена резисторная сборка как опция вместо изолятора.
Пришли новые варианты адаптеров под формат Аманеры, но пока не проверял их.
Вот такие
Схему добавил во вложения.
Отличия от предыдущего варианта (если ничего не забыл)
— добавлены резисторы подтяжки к земле DSD_ON и MUTE
— добавлена возможность отключения DC-DC на 3V3 лисы и питания её «вторичных цепей» от LDO-стабилизатора на плате-адаптере
— выведены на дополнительную (боковую) гребенку сигналы I2C
— предусмотрено место для джампера, соединяющего 39 и 40 пины лисы.
Коллеги, вот неожиданно возникла задачка - а как проще всего сформировать Fs — нужно два бита — от 1 до 8 множитель от 44/48 КГц? Повесить простенький МК? Готовой прошивки в этой части, которую не жалко, никто не поделится? Нужно для ЦАПов Андронникова. От МК не будет помех? Или лучше какое-то иное решение?
Не совсем понял суть вопроса, что значит сформировать Fs?
Один (как минимум) из ЦАПов Андронникова требует на разъёме Control указание множителя частоты дискретизации относительно 44 или 48 КГц — 1, 2, 4 или 8. Кодируется двумя битами, как на Болеро, на двух пинах этого разьема. Лис в текущей прошивке эти сигналы не выдает, и вряд ли будет выдавать. А ЦАП подключить хочется.
предположу, тупо измерить Fs мк и им выдать нужное, привязать его активность к изменению активности того же лиса, что б непрерывно он не считал, хотя если и непрерывно будет работать, не должен помех добавить.
Спасибо, вот я примерно так и думал сделать. Но может есть и ещё какой-то способ?
он же выдает код битрейда, вероятно на логике еще можно сварганить по пробовать
На МК, проще всего, а если ЧД — 192кГц будет достаточно, то хватит для замеров мк работающего на частоте 1Мгц.
Вечером посмотрю у себя и скину в личку.
Спасибо большое заранее. 192Кгц маловато — в идеале 384Кгц, но я так понимаю, что тогда частоты МК 2МГц хватит.
Да, хватит 2МГц. Сам МК может измерять до частоты {Его тактовая} / 4, если 384кГц то сразу проще фьюзы на 8Мгц выбрать.
Кстати оно может пригодиться для индикатора битрейда, у лисы похоже нету ног F0-F4, тогда уж лучше сразу и их добавлять.
В этом случае нужно будет ещё измерять не только LRCLK, но и BCLK, для чего 8 МГц не хватит. Придется ставить что-то более быстрое, но я не хотел бы разбираться с его помехами.
Можно делитель поставить, 1/4 или 1/16 или переходить на какой-нибудь STM, но они и шумят заметно больше.
для pcm только LRCLK достаточно, а вот dsd по другому никак, да и не надо, там достаточно что это действительно DSD идет
Для AK4497EQ / AK4493, если хочется DSD512, то надо бы уметь ее определять и конфигурировать отдельно под нее чип, именно поэтому у меня нет поддержки DSD512 в ЦАП-ах на AKM в режиме, когда частота дискретизации определяются автоматически, но если транспорт может передавать ее, на пины 5, 9 CONTROL, то тогда она появляется.
Ну пока лиса вообще не выводит DSD, так что потом. Но в бэклог записал, спасибо.
Здравствуйте! «Страдалец», ради которого так старается Вячеслав это я. Долгое время являюсь владельцем замечательного ЦАП LYNX D78F, который собирал и настраивал сам. В нем реализована поддержка РСМ до 384кГц и DSD до 256, так что у меня тоже нет поддержки 512.
При всём уважении к Дмитрию и его конструкциям, раз уж Вы умеете собирать ЦАПы высокого уровня, очень рекомендую собрать какую-то из топовых конструкций с этого сайта. Не пожалеете. И проблема будет решена )
Да лень, уже собирать… Старею, наверное :) Да и 78-й очень устраивает
Ну вот поставить счётчик — думал об этом. Буду смотреть в этом направлении.
а выбор счетчиков и не велик…
самый подходящий похоже HEF4040BT, а после него уже можно мк практически на любой частоте делать
Я вижу так, счетчик, управляемый от мк, который следит за сигналами mute и reset, при их изменении, просыпается, включает счетчик и измеряет поток, и выключает его, выдает нужные сигналы на пины, засыпает. Как то так. Ну или просто мк работает не прерывно, а счетчик включает при необходимости измерить поток. Он больше помех будет давать чем мк.
Вы будете смеяться, но сигналов mute и reset таки тоже нет...
Тогда ничего не остается как мириться с возможными помехами..., вполне может их и не быть, в железе все видно будет.
вообще то про reset некорректно писать, сброс лисы выведен на ее гребенку, но ведь вам нужен сброс ЦАПа при смене потока, для этого может подойти = 20 пин гребенки лисы на котором должна была быть индикация смены сетки. а mute =10 пин но всего этого может не быть. надо проверять успели ли сделать.
З.Ы, лисенок так то чисто конечное устройство, какие проблемы выставить ЦАП в единственное положение и весь поток при выдаче в лисенка причёсывать в нужный формат ?
1. Индикация смены сетки есть, но нет индикации смены ЧД, то есть при смене, например, 48 на 192 мы об этом никогда не узнаем, пока не померяем частоту
2. Имелся ввиду не Reset лисы, а Reset ЦАПа, получаемый от лисы
3. Не нужно ничего проверять — я и сейчас знаю, что там сделали, что нет, что в планах, а чего в планах нет
4. «выставить ЦАП в единственное положение и весь поток при выдаче в лисенка причёсывать в нужный формат» — ну как бы битперфект и всё такое… Так можно и ASRC какой-нибудь, например, на AK4137 поставить между лисом и ЦАПом, и им и причёсывать.
Именно цель и состоит получить искомую информацию из шины I2S .
Надо делитель и МК, и делать что б работали непрерывно. Битклок через делитель на МК, и RL клок просто на мк, а там уже вычислять все остальное.
В железе будет видно на сколько оно шумит и мешает основному потоку. Такая штука вообще может быть полезна, нет необходимости в различных пинах от траспорта с информацией о частоте сетки и частоте дискретизации, достаточно иметь чисто шину I2S. Можно к любому источнику подключать.
Напомните пожалуйста, лиса какая нужна, на 256 Мб RAM, или на 128 хватит?
alleev :
" .. 128МБ… -Может не хватить" ,
"… У версии Pro — 128МБ памяти - с учетом того, что начала поддерживаться функция DSP в АПРендерере — может 'валиться', если нет 256-ти"
На Dastereo указали, что даже RV1106G3 дает деградацию звука при загрузке более %25, а какие доп. функции и форматы создают такую нагрузку и не приводит ли к такому функция DSP или иная обработка звука на этой плате? И любопытно, в чем было преимущество по звуку этой платы среди сравниваемых там транспортов, если при сравнении все они обеспечивали точную побитовую передачу, работали как slave и имели гальваноразвязку с ЦАП ?
Мне вот интересно как они это услышали....
половина цепляет через usb, орут что звучит хорошо но никто саму аманеро или xmos почему-то в расчет не берет.
Это ж по сути интерфейс по типу того же аманеро, только работающий через LAN.
даже RV1106G3 дает деградацию звука при загрузке более %25Я это читал не на Dastereo, а на support.puredsd.ru, но да, там с инженерной и методологической точки зрения есть, прямо скажем, недостатки, да и излишняя авторитарность местами. Поэтому непонятно совершеннокак они это услышали....
Там среди пользователей вот это условиеесли при сравнении все они обеспечивали точную побитовую передачу, работали как slave и имели гальваноразвязку с ЦАП по большей части не соблюдается.
Но у меня — соблюдается, и что касается собственных впечатлений (прошу прощения если уже было) чисто на собственный ух
— по USB включал один раз чтобы проверить просто, мне это неинтересно
— по I2S точно звучит не хуже чем AH-TX2 или U30, и лучше AH-TX1.
Удобно то, что с моими платами-переходниками (которые монтируются за час) можно быстро сменить другие транспорты на лису и послушать — можно это просто самостоятельно сделать.
Но отсутствие DSD конечно, — грустно.
1. Про %25 я действительно видел на support.puredsd.ru подтверждение этому в посте от alleev (полагаю ник совпадает на обоих форумах)
2. Замечание что "— по I2S точно звучит не хуже чем AH-TX2 ..., и лучше AH-TX1 " особенно удивило — ведь если основная комплектация и принцип подключения цап совпадают, то отличие между выше указанными лишь в наличии второго входа USB. Возможен вариант что прошивки в донорах проца различаются и по сути не проверялась побитовая точность передачи обоих транспортов или на выход гальваноразвязки проникают наводки с активной части транспорта от различия типа м/сх питания проца.
Нет, обратите внимание — я имею ввиду именно AH-TX2 — он не на XMos, а на PIC32MZ. Кстати, очень рекомендую (но есть пока вопросы с DSD)
Спасибо — упустил, т.к. описания TX2 не видел и подумал про V.2 TX Lite (полагаю TX2 основан на прошивке dortonyanс vegalab).
TX2 пока так и остался в стадии инженерного прототипа, поэтому проект для широкой публики не публиковался и недоступен. А прошивка да на базе прошивки dortonyan с vegalab
Смотрю периодически ветку, сейчас там пилят ЦФ прямо на PIC32, если будет доступна готовая прошивка с ним, то вероятно займусь, как время будет открытым проектом простого параллельного цап-а на AD1865, сразу вместе с PIC на одной плате.
У них по крайне мере есть цель довести его до ума и DSD там не на последнем месте, так что ждем.
Лучше на 256. Кстати, у меня есть небольшой запас таких, если верно помню.