Хардварный способ перевода модуля Amanero в Slave режим

В настоящей статье рассмотрен метод аппаратных доработок для принудительного перевода модуля Amanero в Slave режим. Дело в том, что при экспериментах с платами Amanero, программно переведёнными в режим Slave, выяснилось, что они переходят в него не полностью. В результате на плате остаётся постоянно работающим генератор 22,5792 МГц (так как на его выводе 1 присутствует уровень логической единицы), и на шину MCLK к сигналу от ведущего генератора с платы ЦАП подмешивается сигнал указанной частоты от модуля Amanero, «загрязняя» звук. Указанное явление, вызванное, вероятно, программными недоработками, наблюдалось как с оригинальными, так и с китайскими модулями Amanero, имеющими «на борту» прошивки для ПЛИС — CPLD_1080 (а также Slave_for_1080) и для микроконтроллера — firmware_1099akm, с последующей конфигурацией в режим Slave программой oemtools. По совету автора проекта ЦАП был опробован описанный ниже способ хардварного перевода платы Amanero в режиме Slave без многочисленных (и, как оказалось для меня — безуспешных) попыток подобрать правильно работающую прошивку. Результат этих доработок, проверенных совместно c платой ЦАП AH-D6 и модулем гальванической развязки, превзошёл все ожидания: звук стал заметно детальнее и чище.

Сразу необходимо отметить, что дорабатываемый модуль Amanero необходимо программно перевести в режим Master, для чего рекомендуется использовать прошивку CPLD_1080, сконфигурированную программой oemtools для задействования выводов F0..F3, но со снятым флажком режима Slave.

Схема доработок приведена ниже. На ней синим цветом показаны штатные соединения, дорисованные для наглядности в контексте описываемых доработок, а красным — необходимые изменения, которых на самом деле не так много: в дополнение к уже сделанным доработкам модуля Amanero (выпаянным тактовым генераторам, а также изъятой микросхеме стабилизатора 3,3В) нужно отпаять один резистор, допаять 3 перемычки и перерезать дорожку снизу платы.

Перечислим указанные доработки подробно по пунктам:

  1. Выпаять тактовые генераторы U5 и U6 (а также микросхему стабилизатора U2 при необходимости).
  2. Выпаять резистор R11 (47 Ом) – можно подпаять его одним выводом к контактной площадке, идущей от вывода 33 U4, зафиксировав под углом 90 градусов, просто чтобы он не потерялся.
  3. Соединить перемычкой два ближних вывода резисторов R8 и R9: контакты 43 (MCLK0) и 44 (MCLK1) микросхемы ПЛИС U4.
  4. Второй контакт резистора R9 (шёл на вывод 3 генератора U6 22,5792 МГц) соединить перемычкой с контактом PIN6 (OUT MCLK) основного разъёма P2 – к свободной контактной площадке отпаянного резистора R11.
  5. Соединить перемычкой контактную площадку вывода 1 от генератора U6 с контактом PIN1 (XTMS) разъёма P2 (используется для переключения тактовых генераторов на плате ЦАП через модуль гальванической развязки Amanero).
  6. На обратной стороне платы аккуратно перерезать дорожку (для этого можно продавить её в двух местах остриём скальпеля, нажимая им под прямым углом к плате), которая идёт от PIN1 основного разъёма на контакт 10 ПЛИС U4 (XTMS) и контакт 21 микроконтроллера U1.

Эти доработки показаны ниже на фотографиях: красным кружком обведены места исключённых элементов, прямоугольными областями – места установки перемычек:

 

64 комментария

Ну всё, круг замкнулся. Теперь мы можем на всём (почти, конденсаторы остаются дорогие) бюджетном собрать звук максимально достижимого качества! :) Спасибо, статья очень своевременна. Свой следующий ЦМ (ЦАП Мечты) делаю именно по такой схеме.

А такой вопрос. Если выпаянные кварцы китайского качества переместить на плату ЦАП — это всё равно лучше?

Китайские генераторы оказались полным отстоем (я их в своё время накупил, к сожалению) и для хорошего звука вообще не годятся, так что можно их выпаять, и хранить на память. На ebay продаются недорогие и по-моему очень неплохие МЭМС генераторы SiTime. Я их пробовал ставить на китайскую плату XMOS U8 (дорабатывал ЦАП DAC9 AK4399) вместо штатных — разница в звуке существенная. Паять их, правда, нужно феном.
Спасибо, гляну. Я на diyinhk заказал пару ndk. Надеюсь, что всё срастётся с ними.
то есть там сразу идут комплектом и на 22 мгц, и на 24 мгц?
Генераторы SiTime по ссылке на eBay продаются парами 22+24.
спасибо!еще один вопрос-вы покупали генераторы через пайпал?или через карту?
На eBay можно только через Paypal.
спасибо!
Не за что. Вообще-то я сначала заказал две пары на Алиэкспресс, но продавец жадный попался, и прислал одну пару, и задним числом исправил описание товара, что это цена за одну штуку. Хотя здесь не надо никаких PayPal. И генераторы хорошие.
задним числом он может исправлять что угодно, НО — у вас есть скриншот заказа на момент его покупки вами, именно для таких случаев
Согласен, но не стал я с ним бодаться. Кстати, на экране заказа количество генераторов не указано, а скриншота описания я не делал. Поставил за заказ 3 и написал в отзыве. А там народ пусть сам решает, покупать у него, или нет.
скриншот описания делается автоматически системой
Генераторы МЭМС SiTime действительно оказались очень хорошими. Поставил их на китайскую плату Amanero в режиме Master — звучит лучше оригинальной Amanero. И не намного хуже варианта кварцевых генераторов NZ2520SDA, установленных на плате ЦАП. Думаю, что эти SiTime можно смело ставить на плату ЦАП.

правильно ли я понял, что Аманеро с генераторами SiTime в режиме мастер (ЦАП слейв) играет не намного хуже чем ЦАП в режиме мастер с генераторами NDK? Иначе говоря, неясным остался вопрос что является узким местом — сами генераторы SiTime (и соответственно, установка их в ЦАП мало что добавит), или установка их в ЦАП и перевод его в режим мастер практически сведёт разницу к нулю в сравнении с NDK?

ещё вопрос: на каком чипе собрана гальваноразвязка, которую Вы использовали для сравнения? Если не ошибаюсь, Андрей вроде говорил, что использование ADUM практически не даёт прироста в качестве от использования гальваноразвязки, когда Аманеро в режиме мастер. А вот от использования IL715 толк есть.

Да, именно так. Разница всё же есть. Аманеро с генераторами SiTime в режиме Master играет очень хорошо, но всё-таки немного хуже, чем Аманеро в режиме Slave и с генераторами NDK на ЦАП в режиме Master (менее мягкие ВЧ и субъективно чуть меньший объём звучания что ли). Могу только предположить, что: с одной стороны, хорошее качество звучания может быть связано с тем, что эти генераторы MEMS кроме низкого джиттера потребляют меньший ток (где-то об этом читал, но сам не проверял), а с другой стороны, худшее звучание по сравнению со Slave режимом может быть связано и с тем, что всё-таки на плате ЦАП сделано дополнительное обесточивание неиспользуемого генератора (ну и по заявленным параметрам они всё таки хуже NDK NZ2520SDA). Поэтому, чтобы сделать однозначный вывод, нужно поставить генераторы SiTime на плату ЦАП и сравнить, а при собранном ЦАП такую замену сделать довольно проблематично...

Гальваноразвязка для Amanero Master собрана на ADUM1400CRWZ, для Amanero Slave — ADUM1401CRWZ. Вероятно, с IL715 будет по-другому, надо проверять. Интересно, IL715-3E и IL717-3E из Чип и Дип подойдут?

индекс «3» это 0,15" 16pin SOIC (зауженный вариант). Если плата гальваноразвязки версии 1.4, то кажется подойдёт, вроде у Андрея плата универсальная — и под широкий (0,30"), и под узкий (0,15") вариант. У него уточните.
Да, спасибо, уже разобрался. Заказал пока для пробы IL717-3E. Очень интересно сравнить с ADUM1401C.
Если я правильно понял Андрея, разница наиболее ощутима при использовании IL715 именно когда Аманеро мастером, когда мастером ЦАП, разница между IL717 и ADUM1401C не так существенна.
Ясно, спасибо. Моя плата гальваноразвязки с ADUM1400, к сожалению, старой версии. Поищу IL715 в широком корпусе.

Подтверждаю, клоки неплохие, тоже недавно их прикупил на пробу, удалось сравнить в равных условиях с FXO-HC73 XPRESSO, на борту ЦАП-а AH-D6 в версии с ak4490, разницы ни в замерах, ни на слух не уловил, а стоят они в 3 раза дешевле FXO-HC73. Так что по соотношению цена/качество — хороший вариант.

О величине джиттера можно относительно судить по бахроме вокруг основного тона в спектре. C NZ2520SDA сравнения объективного не вышло т.к. они у меня стоят в топовой сборке AH-D6 c ak4493, т.е. сравнение на слух будет необъективно. По замерам NDK немного лучше смотрится.

К слову перемещение даже китайских клоков с аманерки на борт ЦАП-а дает заметный результат, как нибудь постараюсь найти спектры до и после переноса клоков.

А FXO-HC73 XPRESSO с NZ2520SDA не сравнивали? Это я к тому, что генераторы SiTime можно сопоставить по качеству с NZ2520SDA косвенно.

Привожу спектрты для наглядности 


Замеры аманеро в режиме мастер со штатными китайскими клоками на борту, гальваноразвязка ADUM1400C.


Замеры демонстрационного ЦАП-а с китайскими клоками уже на борту самого ЦАП-а. Клоки с маркировкой CETECJ.

Хоть замеры делались и в разное время, но весьма показательны. Клоки китайцы ставят разные, что-то лучше меряется и звучит, что-то хуже.

Замеры FXO-HC73 по порядку можно тут глянуть, Si-Time меряется также в пределах погрешность измерений. Как можно видеть разница в замерах, если клоки стоят на борту цап-а, между разными генами, не так уж и заметна.

Ну и на закуску в основной статье выкладываю замеры топовой сборки с клоками NDK. 

 

 

 

В продаже есть недорогие клоки:

KXO-V97 24.5760 MHz ( Geyer) и
CO4305-24.576  (Raltron)
насколько они пригодны для использования?

 

 

https://ibb.co/QXjFdMf

А вот и визуальное отображение разницы кварцев на одном и том же устройстве.

overlay 5 ndk

overlay 6 какойто с алиэкспресса

Китайцы ставят на аманерки клоки какие придется, часто даже клоки разные. Иногда что что-то вменяемое попадается, а бывает и откровенный хлам, что только на помойку. 

На оригинальной аманерке хорошие клоки, их можно смело переносить на плату ЦАП.

Спасибо за очень полезную информацию!

дорабатываемый модуль Amanero необходимо программно перевести в режим Master, для чего рекомендуется использовать прошивку CPLD_1080, сконфигурированную программой oemtools для задействования выводов F0..F3, но со снятым флажком режима Slave.

Неплохо бы этот момент разъяснить подробнее, не совсем понятно зачем это нужно делать, если аманерка изначально уже в режиме «Мастер», или необходимы какие-то дополнительные манипуляции?

Это на тот случай, если она в ходе экспериментов переводилась в режим Slave.

т.е. если с аманеркой ничего не делалось, просто выпаиваем ненужное, впаиваем перемычки и всё?

И по поводу выводов F0...F3, они, как я понимаю, изначально не задействованы, т.е., чтобы их задействовать нужно таки конфигурировать в oemtools, не смотря на то, что модуль в режиме «Мастер»?

Всё именно так. Достаточно сделать эти доработки, и новая Аманерка будет работать в режиме Slave. Если выходы F0..F3 не используются (нет модуля индикации), то больше делать ничего не надо. Если эти выводы нужны, они конфигурируются в oemtool. Кстати, посмотреть состояние конфигурации платы в oemtool нельзя — можно только изменять.
а после этих переделок возможно сконфигурировать выводы F0...F3, или это нужно обязательно сделать до модификации модуля?
Сконфигурировать F0..F3 можно как до доработок, так и после них. И перешить можно в том числе после доработок; на работу с oemtool эти доработки не влияют.
а зачем курочить плату, дорожку резать, ведь можно просто выдернуть штырёк пин1 из гребёнки?
Так через этот штырёк Аманерка управляет переключением генераторов на плате ЦАП (через модуль гальванической развязки).
а, ну да, протупил, там же с обратной стороны перемычка напаяна))
Я не понял — а ЦАП при этом в каком режиме (мастер/слейв) трудится?
ЦАП при этом трудится в режиме Master, т.е. сигнал MCLK формируется одним из тактовых генераторов, установленных на его плате, а уже выбор используемого генератора определяется платой Amanero на основе поступающих на неё через порт USB данных звукового потока.
Спасибо.

CPLD_for_1080 — при переключении в slave требует клок 22.5792. При его удалении на выходе MCLK появляется постоянная составляющая. При правильной конфигурации на разъеме пин MCLK — должен отсутствовать внешний клок. (при отсутствии входящего тактового сигнала с ЦАП). 

Slave2224 — работает корректно в slave без обоих тактовых генераторов, но не поддерживает dsd. 

Salve_for_1080 — наиболее корректно работающая прошивка для перевода модуля в slave режим. После прошивки требуется не забыть и сконфигурировать модуль в oemtools118 в slave на закладке Configuration bits. Оба тактовых генератора с платы транспорта рекомендуется удалить. Звучание с этой прошивкой лучше, чем со стандартной CPLD_for_1080 (с конфигурацией в salve).

Хардварная переделка модуля в slave режим — как мне показалось дает наиболее достоверное звучание и этому есть пока предварительное объяснение. По неподтвержденной информации в плис с CPLD_for_1080 реализован на выходе еще и reclock всех сигналов I2S от мастер клока, а при переводе в слейв в прошивке эта полезная опция теряется. Переделка на уровне железа позволяет обойти этот недостаток.

На моих оригинальных и китайских Аманерках генератор 22,5792 МГц был нужен для работы в режиме Slave как для прошивки CPLD_for_1080, так и для прошивки Slave_for_1080. То есть без этого генератора не работало вообще, а с ним на выходе была и постоянная составляющая, и лишний клок 22,5792 МГц. Поэтому аппаратный перевод в режим Slave для меня оказался единственным вариантом.
я так понимаю, что этот вариант наиболее предпочтительный в любом случае, поскольку даёт наилучший результат и не требует сложных манипуляций. Кстати, перемычку проще и красивее кинуть прямо на ноги 43-44. ИМХО.
Да, с хардварной переделкой на мой слух звучит предпочтительнее. Будет интересно узнать мнение других сравнивших разные варианты.
Лежит лишняя Аманера, сегодня «покорежу» ее на внешний клок. Сравнивать буду с такой-же но под прошивкой Slave_for_1080. Отпишусь....
Да, интересно было бы узнать результаты Вашего сравнения...
по второму и третьему пункту поясните. Это имелось в виду без полной переделки Аманеро, то есть снимать только генераторные сборки,а перемычки не делать и дорожку не резать ?
2 и 3 пункты относятся именно к полной переделке. А без полной переделки — ничего не выпаивать, кроме генераторов (и стабилизатора 3,3В при необходимости) ничего не резать, и не ставить перемычек.
А после переделки пробовал кто-нибудь шить CPLD  Master2224 ? имеет смысл ее ставить или еще варианты ?
А зачем нужен - Master2224, он dsd не играет.
Вчера проверил специально, не трогая в последней закладке режима слейв, прошить SLAVE2224, в итоге Аманерка в системе видится, а Фубар и Аимп зависают намертво :) . Откатился до рекомендованной в режиме Мастер
Это наверняка потому, что ей для работы всё равно нужен клок 22,5792 МГц. У меня ни одна Аманерка без него не работала, зависала так же, даже после перевода в режим Slave на последней странице.

«Не все йогурты одинаково полезны»


Результаты тестирования двух плат Аманер одного и того-же продавца.
Купены с разницей в пол года. Первая была упешно перешита Slave_for_1080, выставлены флаги. Гальвноразвязка, питание от USB. Приезжала в сотаве ЦАП D6 к Автору и было признано, что все в лучшем виде.
Вторая отличается от старой меньшей емкостью конд. в питании 47мкф вместо 100мкф, другими ревизиями чипов (важно — CPU греется сильнее. потребленние больше).
Подал внешний клок на место «сдутых» генераторов и сделал все перемычки/разрывы. Плата завелась но звук плохой — бас рыхлый до жути. Перешил CPLD_1080 — слегка пелегчало, подкинул емкость в питание 100мкф sepc еще чуть лучше, но до совтового Slave не дотягивает :(
Мыкался тыкался, восстановил перемычки, прошил Slave_1080, выставил флаги — платы стали звучать одинаково хорошо.

Мои Выводы — видимо при софтовом Slave на входе клока ПЛИС конфигуриться буфер (шмидт и т.д.) и при подаче сигнала с гальваники он лучше восстанвливается. Подача его напрямую в место «сдутых» ген при питании от порта не приводит к желаемому результату. Видимо еще сказывается более потребляющая версия CPU.
Отдельное питание на плату при гальваноразвязке очень желательно. Оно будет у меня в следующем релизе ЦАП

Слушать аманерку от встроенного LDO дело неблагодарное. Потребление составляет порядка 150-170мА.

Китайцы ставят обычно в качестве LDO что-то типа LP2985 (иногда встречается и того хуже), который работает на пределе. Поэтому уровень пульсаций доходит до 1-5мВ, а вот с питанием от LM1117 и с нормальными емкостями они уже снижаются более чем на порядок (по моим замерам, шумы не превышают 100мкВ даже с клоками на борту).

Поэтому в случае питания от USB я все равно использую стабилизатор на плате переходника, соответственно LDO с платы аманерки убираю. Питание 5в, подаю на вход адаптера, кинув проводок с питания USB разъема +5в с аманерки.  

Да да — сегодня сей эксперимент будет повторяться в усиленном варианте — с питанием от стаба на LM. Как всегда — все начинается и заканчивается на питании :)
не плохо было бы выложить фотки обоих модулей, чтобы было видно различия и чтобы каждый мог сравнить свою аманерку с тем что на фото, дабы не курочить плату, если модуль аналогичен тому что у Вас.

Как я упоминал первый модуль в точности как катринки по ссылке от продавца. Второй — плата та-же но некоторые номиналы элементов другие.

По результатам дальнейшего «ковыряния» — добавлен на плату развязки стаб на LM. Модуль в софтовом slave стал по ощущуениям работать еще лучше. На некоторых композициях заметил тедали, которые раньше не слышал... хотя может и «наваждение». Модуль с повышенным потреблением в Hard Slave работает ровно и вроде все хорошо, но быстрое перетыкание на первый дает лучший звук. На этом экспериименты останавливаю, надо успокоиться и слушать музыку :)

не могли бы Вы выложить номера ревизий чипов обоих вариантов?
продавец Люся с али?

Камни первого модуля CPLD и CPU — надписи хорошо видны и читаются

Камни второго модуля — ПЛИС-ка сошлифована — еле просматривается наименование, нормально сфотографировать не удалось, не на чем сфокусироваться :)

Ссылка на продавца али

Спасибо. У Вас модули на синей плате, он несколько отличаются от модуля который у автора статьи и у меня. Надеюсь, в моём случае хардварный перевод в режим слейв себя оправдает. 
кстати, не вижу третьей перемычки на ногах 43-44 на переделанном модуле, может в этом проблема?
Перемычка выше,  далее клок идет через свой резистор на свою ногу ПЛИС. Форма сигнала на ее входах так показалась более правильная. Хотя смотреть особенно не чем полоса скопа 84мгц. 

При внешнем питании аманеры от LM1117 встроенный LDO обязательно спаивать?

Или достаточно спаять дросель L1 ?

Можно попробовать не выпаивать LDO U2, выпаяв только дроссель L1. Поискал в даташитах на такие LDO их внутреннюю схему, чтобы убедиться в возможности включения без входного напряжения, но ничего не нашёл. Скорее всего внутри микросхемы между входом и выходом стоит защитный диод анодом к выходу. В этом случае, если вход стабилизатора никуда не подключён, на этом входе просто появится напряжение порядка 2,5В.

Кстати, исправил на схеме доработок — выпаивается стабилизатор U2 (он нарисован на втором листе схемы «USB_E»), а не U3, как было указано раньше.

Сегодня перевел свою Аманерку в хардварный слэйв. Что сказать, действительно звук более открытый и чистый. Особенно заметно на ВЧ. Спасибо за хорошую статью и подробное описание процесса.
Кстати сказать перемычку № 1 между резисторами R8, R9  не ставил, а обошелся перемыканием ног 43-44 ИМС.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.