ЦАП DSD Signalyst DSC1 — DIY


(Vitaly Bargatin) #2092

Сомневаюсь, что Билл Витлок (www.jensen-transformers.com) так же легко, как я, мог бы с вами согласиться. Но бог с ним.

Да, конечно. Как производитель трансов, не сомневаюсь.

Понравился, очевидно 1:1?
При использовании 1:5 (повышающий) вы:

  1. увеличиваете выход DSC с ~ 1,6Vpp до 9Vpp. Не очень понятно, зачем, но плохого ничего нет.
  2. увеличиваете выходной импеданс DSC в 25 раз (5*5). Он и так то не маленький (условно 700 Ом), а вы его делаете просто огромным. Т.е. после транса потребуется буфер в обязательном порядке.
    Т.е. вообще возникает вопрос - зачем повышающий транс и в чем сила подхода?

Имеет. Хороший, дорогой транс будет заметно лучше стокового китайского. Если смысл вашего изначального поста в этом - просто цену назовите, если она будет адекватной, в том числе я куплю пару пар. Просто на пробу.

Общее замечание
Евгений, это ветка DIY. Она так мной и задумывалась. Т.е. люди обмениваются идеями и опытом. Так, что бы другие могли это повторить.
Т.е. в идеале - что было сделано (в деталях) + результат.

Ваш ответ уклончив (поставили трансы собственной разработки - ЦАП раскрылся) и не определен. Мне лично это напоминает начало коммерческой раскрутки нового продукта небольшой компании (информирование, предоставление общей информации в превосходной степени, формирование интереса).

Никаких проблем, но если здесь - то нужно с подробностями и пояснениями. Или можно просто трансы продать желающим. :grinning:


(Vitaly Bargatin) #2093

Вот только что узнал, что нашу ветку читает замечательный человек, искренне увлеченный аудиофил @luchoh (Лучо Христов) :grinning: Человек с огромным опытом, один из первых обладателей DSC вообще.

Лучо, приветствую!

Его патч, кстати, используется в сборке Botic и у меня и у Павла. И именно после его постов на diyaudio com я решился на пробу реклокера/изолятора (у Лучо BBB + Hermes/Cronus/Rhea - реклокер и изолятор от twistedpairaudio.com).

ADI-2 DAC ему не понравился, предпочитает DSC. Ну, видимо, он сам расскажет подробнее. :grinning:


(Lucho Hristov) #2094

Здравствуйте друзья аудиофилы! :slight_smile:

Извините за правописание - все-таки это не мой родной язык.

Да, я долго пользовался DSC2.5. Я физик по образованию, но буду выражаться как поэт - заранее прошу прощения.

DSC2 (и вообще комбинация DSD/HQplayer - SACD и простой DSD для меня другая опера) был для меня то же самое как первой хороший ламповый усилитель много лет тому назад: я все еще не понимаю почему, но возвращаться назад как-то не хотелось. Я пробовал многих solid state amps, но для меня лично пока альтернатив нет. Может быть финансы пока не позволяют - не знаю. И понимаю все об искажениях и пр. У меня голова все-таки - инженерная. Но я не производитель электроники - я потребитель. Там дело другое. Там сердцем пользуются, а как знаем - когда сердце говорит - голова - молчит.

То же самое и с DSC2. У меня громкоговоритель упал на DSC2 PCB и практически сломал его. Я знал об RME ADI-2 и когда @VitB тоже его зарекомендовал, я решил попробовать. В начале звук был просто ужасным, ток что я на неделю его прогревал. Потом звук изменился и был гораздо лучше. Все-таки что-то было не так… я пробовал различные питания и пр. Может быть у меня что-то изменилось: питание или может быть физиология? Возраст никому не прощает… Ну я и смирился - мол, так и жить буду.

Но DSC5.2.5 долетел после почти месяца на таможне.

Так как я не знаю как сказать по Русски desolder, я буду пока пользоваться словом распаивать.

Так, я попробовал распаять китайских трансформаторов со старого DSC2.5, но не получилось. У меня техника хорошая - я все время SMD распаиваю и все нормально.

Я @VitB уже об этом написал, и поскольку мне трудно по Русски писать, я себе позволю процитировать часть нашей переписки:

У меня валялись Cinemag CMLI-15/15B (http://cinemag.biz/line_input/PDF/CMLI-15-15B.pdf) - 5 лет назад я пробовал их использовать на CS4398 BAL->UNBAL но звук не понравился. Дейвид их мне сделал в заказ - их тогда просто купить нельзя было и ждал около месяца.

Короче, звук очень понравился. Только как-то “жизни” нет, очень “вежливо” все - может привык к невежливости других дигитальных источников.

У меня сейчас конфигурация BBB [5V LPSU] -> Hermes/Cronus [2s LifePO4] -> DSC2 [2x 2s LifePO4]. Я беру 3.3.V для DSC2 с изолированной стороны Гермеса.

После того как я DCS2 подключил, у меня ADI-2 одиноко стоит и никто им не пользуется. Я главным образом наушниками пользуюсь: семья и пр. Когда громкоговорителями пользуюсь - ADI-2 не раздражает, но с наушниками - история другая.

Наконец жену уговорил послушать. Ничего не сказал. Первым был DSC2. Ничего не сказала. Потом ADI-2 - все те же параметры: DSD256/closed-form-16M/DSD7 256+fs - “Конечно первый аппарат - ты что?!”.

Так что заказал 3 Output Board PCB из OshPark-а и буду экспериментировать разными трансформаторами… а RME-2 вероятно продам.

Вот и все. Сейчас говорил с Дейвидом из Cinemag. Он попросил меня ему послать схему DSC2.5.2 чтобы зарекомендовать трансформатора. Тот, который он сразу сказал, что будет вероятно лучше 15/15B был CM10100. И стоит … ну в 5 раз меньше Лундалов.

Когда попробую новых трансформаторов, обязательно поделюсь впечатлениями.


(Vitaly Bargatin) #2095

После переписки с Лучо я правда задумался - может просто устал от DSC. Слишком много экспериментов было, вполне возможно, что перегрузился психологически.
Нужно еще раз прослушать на лампе и PASS.

Я вот-вот должен получить активный дискретный выхлоп и предварительный усилитель от Mirand Audio с diyaudio . com (по ним получил несколько очень высоких оценок), так что будет возможность сравнить с трансформаторным выхлопом + с использованием хорошего преда (без необходимости цифровой регулировки громкости в -30dB).

Лучо, если понравиться CM10100 - обязательно дайте инфо, точно попробую. :grinning:

Согласен с тем, что RME ADI-2 Pro Fs (мой) без использования HQP апсемплинга (сейчас PCM to PCM 705,6/768К) - сухой, слишком аналитический, скучный.
С фильтрами HQP - сильно преображается. Как в PCM, так и в DSD.

Использую RME с LPS HDPLEX 100W, в качестве NAA - Odroid C2 на armbian


(Павел Погодин) #2096

Лучо, рад слышать Вас! Давно не общались.:grinning:

Хочу сразу помучать вопросами по Вашему патчу mute.
Сейчас отлаживаю новую плату с реклокером и прошивку BBB с rt ядром. Не могу чётко понять как настраивается параметр amanero_mute_pin. Запутался в адресации. Сейчас у меня сигнал mute берётся с P9-27. Это соответствует amanero_mute_pin=4?


(Lucho Hristov) #2097

Павел,
Рад Вас видеть на форуме, и еще раз спасибо за всю работу по DSC2 - я давно ждал такого дигиталного источника!
Я посмотрю на botic сорс код и напишу обратно. На сегодня времени вероятно не будет, но обязательно попробую.


(Lucho Hristov) #2098

Павел,

прежде чем Вам ответить по существу, мне надо сказать что изменения прошивки я делал как медсестра - трансплантацию почек. У меня времени во всем разобраться не было, но желания и потребности - достаточно.

То, что я эмпирично понял:

  1. У выхода Cronus 8 пинов: D1-D8. D1 и D2 у меня DSD сигнал, так что первые свободные пины - D3 и D4.

  2. На прошивке, дефольтный amanero_mute_pin 12 - это 00001100 - или HIGH подается на D3 и D4. Я помню, что выше D6 у меня не получалось, но так как мне и один пин достаточен - я вообще не углублялся почему так получалось - мне хотелось все хотя одно решение найти.

А когда нашел… ну лень было разбираться и так и оставил.

Здесь void __iomem *z = mcasp->base + DAVINCI_MCASP_PDOUT_REG;

и здесь:

if ((mute_pins & AXR(i)) != 0) {

и наконец, етот блок:


 if ((mute_pins & AXR(i)) != 0) {

 if (mute) {

 printk(KERN_NOTICE "really muting pin %d...\n", i);

 x = __raw_readl(z) | AXR(i);

 printk(KERN_NOTICE "setting bits %d on pin %d...\n", x, AXR(i));

 mcasp_set_bits(mcasp, DAVINCI_MCASP_PDOUT_REG, AXR(i));

 } else {

 printk(KERN_NOTICE "really unmuting pin %d...\n", i);

 x = (__raw_readl(z) & ~(AXR(i)));

 printk(KERN_NOTICE "clearing bits %d on pin %d...\n", x, AXR(i));

 mcasp_clr_bits(mcasp, DAVINCI_MCASP_PDOUT_REG, AXR(i));

 }

   }

в davinci-mcasp.c может Вам поможет.
Я уже не помню если я не убрал KERN_NOTICE сообщений в финальной версии…
Если завтра сам не разберётесь, пожалуйста напишите и тогда вместе найдем ответа.


(Lucho Hristov) #2099

Павел, я точно убрал debug messages :frowning:

Вообще я функцию значительно изменил.

То, что я прежде цитировал, это из 114d77149f17aff6cf57da1cb56f3fefb26b5aad. А ссылка выше - это финальная версия.

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


(Павел Погодин) #2100

Лучо, речь не о Cronus.
Реклокер моей собственной разработки. Мне всего то нужно понять от куда с BBB брать mute.
Дальше написания скриптов на bash не заходил. Поэтому в сишном коде мне крайне трудно разобраться.

С компиляцией конечно нет проблем. Использую кросскомпилятор gcc linaro-6.4.1.


#2101

Вы вообще ничего не поняли.

У нас есть два варианта организации выхода:

  1. Выход по напряжению, между плечами включается трансформатор, имеющий высокий импеданс первичной обмотки, переменный ток между плечами не течет… Трансформатор 1:1, выход около 1,5В, выходное сопротивление около 1К.

  2. Выход по току. Между плечами включается преобразователь ток - напряжение, который по переменному току имеет импеданс много меньший, чем резисторы матрицы. Я выбрал величину 75Ом. Когда на одном плече напряжение +, на другом -, между ними течет сквознгой ток, который на этом импедансе выделяет напряжение, равное U=I*75. Для версии с резисторами 4,7К это 0,3В.

Поскольку оно мало, его надо умножить на какой - то коэффициент.
Тут опять есть несколько вариантов - можно получить 1В, c Ктр=3, выходное сопротивление будет 700Ом.
Но в этом случае физически получается частота среза 200кГц.

Я хотел фильтр 100кГц, поэтому выбрал Ктр=5.
Выход 1,5В, выходное сопротивление 1,8К.

Результат следующий - когда между плечами течет ток, звук заметно лучше.

Я не планирую продавать эти трансформаторы.

Я давно поднимал вопрос - “как лучше, выход по току или выход по напряжению?”
Выяснилось, что этим вопросом никто не занимался. Я обещал провести исследование.

Провел. Доложил.

Вывод - матрица DSC должна работать с токовым выходом, режим работы “сам себе делитель” очевидно плох и теоретически и практически.


(Vitaly Bargatin) #2102

Это обычное для меня состояние. Не обращайте внимания. Лох он и в Африке лох.

Т.е. преобразователь ток-напряжение - резистор 75R, к которому присоединен повышающий транс 1:5. Выбор коэффициента трансформации и величины резистора (вероятно и других характеристик транса) определяет частоту среза (мне не ясен механизм влияния, но это не важно, АЧХ легко измерить).

Спасибо за подробные пояснения. Если решу DSC все таки оставить - обязательно попробую ваше предложение.


(Vitaly Bargatin) #2103

Да, соответствует. Там проще мультиметром потыкать и посмотреть на результат.

Лучо, основной вопрос (у меня) - amanero_mute_delay. Вы с кодом разбирались? Можете наводки дать как работает.
В моей сборке он работает не стабильно (иногда работает, иногда - нет). Единственное, что в голову приходит - некорректно обрабатываются таймеры.
Если есть соображения - поделитесь плс.


#2104

Резистора, как детали, у меня нет. Но это частный случай именно моего подхода. Трансформатор так намотан, что он сам создает такую нагрузку.
В эквивалентной схеме трансформатора есть, как виртуальный элемент наряду с индуктивностью рассеяния и емкостью обмоток.

Вот что видит DSC между плечами.
Тут видно, как происходит подавление на частоте 100кГц.


(Vitaly Bargatin) #2105

Ок, спасибо, Евгений. Понял окончательно теперь. :grinning:

Уточняющий вопрос последний - показания тестера между плечами (вход и выход первички), к вторичке транса ничего не подключено?


#2106

Ничего. Вторичная в воздухе. Первичная на крокодилы.

С открытой вторичкой добротность фильтра чуть выше, около 1, т.е. имеется подъем 0,5дБ в диапазоне 80-100кГц.
Это для того, чтобы вместе с емкостью кабеля и нагрузки (порядка 200-300пФ) АЧХ становилась гладкой и получался максимально широкий пологий диапазон и крутой спад.


(Lucho Hristov) #2107

Значит так:
Павел, я тоже бы потыкался мультиметром.
Когда я сказал, что я медсестра занимающаяся трансплантацией, я не преувеличивал. Я способный программист, но никогда C/C++ не занимался, более того - Линукс драйверами. Это был у меня в первый раз.

Причина вообще заниматься это то, что у miero интереса никакого не было. Никто, у кого познания были не захотел помочь. Ну я и решил попробовать. В худшем случае - не получится, как с таймером.

Виталий, как раз о amanero_mute_delay: я пробовал многие варианты. Таймер один из них. Ничего надёжного не получилось. Если есть на форуме кто-нибудь, кто может помочь, с радостью поделюсь всем, что знаю. Мне не нужно чтобы кто-то это спрограммировал. Мне только нужно чтобы кто-то подсказал куда смотреть. Линукс программирование и в частности – драйверы, это море необъятное и у меня к сожалению времени нет чтобы научился как надо.

Если кто-то подскажет куда смотреть – с радостью закончу дело.

Павел, если вечером времени останется, посмотрю на странице miero и подскажу какие пины соответствуют BBB.
Виталий, а может быть все таки BBB/Hermes/Cronus лучше, с точки зрения mute, чем система Иана? У меня щелчков практически нет. У меня iFi iDAC и у него щелчки намного хуже BBB/Hermes/Cronus. А дизайнеры ADI-2 даже релейем ползуются и там вообще 1-2 секунды теряем в начале музыки.


(Vitaly Bargatin) #2108

Лучо, Hermes/Cronus и McFIFO/McDualXO в этом точно одинаковые. MUTE - такой же сигнал, как и DATA. BCLK. Просто снимается с BBB и передается на выход через общий буфер.

Меня проблема щелчков начала сильно беспокоить только при включении DSC напрямую в усилитель мощности (без преда).
При этом приходилось делать -30dB в HQP. В результате щелчки стали заметно громче.

Как только предварительный усилитель добавлю - все будет как раньше (достаточно тихий щелчек).
В McFIFO есть собственный MUTE, который генерируется софтом FPGA на время переключения XO1/XO-2, но его не пробовал (уверен, что не поможет).

Да, так. :grinning:


(Павел Погодин) #2109

Лучо, сегодня я решил проблему с mute окончательно.
Ваш патч прекрасно и стабильно работает. Спасибо.
Но меня сильно раздражал сильный хлопок при первом play после перезагрузки BBB. Оказалось, что сигнал mute правильно начинал работать только после первой инициализации драйвера.
Поскольку я очень далёк от программирования, решил проблему “в лоб” - на самом начальном этапе инициализации Linux даю принудительную команду поднять сигнал муте через GPIO

/usr/bin/echo 7 > /sys/class/gpio/export
/usr/bin/echo out > /sys/class/gpio/gpio7/direction
/usr/bin/echo 1 > /sys/class/gpio/gpio7/value

echo 7 соответствует контакту P9-44.

В сочетании с ядром 4.9.99-rt получил абсолютно беззвучную систему. Даже при перезагрузке BBB.


(Lucho Hristov) #2110

Павел, я очень рад это слышать! Я даже не очень уверен, что вообще возможно проблему решить другим способом. Очень креативно!

Немного информации о трансформаторах. Дейвид из Cinemag очень близко к сердцу принял мои вопросы и попросил, чтобы ему послал схему DAC-а и пр.

Он мне предложил несколько вариантов. Для него наиболее лучшие: CMOB-3 и CM-10100.

На данный момент я использую CMLI-15-15B и очень доволен. Конечно, надо заменить R65 на 15К (сейчас у меня 10К), чтобы поднять rolloff выше 20КГц.

Цени трансформаторов ниже китайских и Дейвид уже послал 2 длинные письма с объяснениями, которыми я с Вами поделюсь на личные – я пока не уверен если Дейвид хочет поделиться всей информацией публично.

Я был бы очень рад если у вас будет вопросов к Дейвиду, так что бы вместе выбрать лучший вариант.


(Vitaly Bargatin) #2111

По MUTE
Павел,
сегодня погонял твою первую сборку (нет у меня других) и свою. На PASS (без преда, цифровая регулировка громкости, ~ -30dB) и на PrimaLuna (интегральник, аналоговая регулировка громкости).

  1. На моей сборке MUTE поднимается сразу после загрузки и работает без проблем, в том числе регулируется задержка. Настройки не менял. Все работает, сегодня нестабильности не отмечал.
  2. На твоей сборке MUTE не работал. Добавил по твоему совету параметр snd_soc_davinci_mcasp.mute_**pin**=4. Ничего не изменилось. Потом обратил внимание, что

grep . /sys/module/snd_soc_davinci_mcasp/parameters/*

Выдает

/sys/module/snd_soc_davinci_mcasp/parameters/mute_pins

Т.е. либо Миеро, либо Лучо изменили название параметра. Поставил

snd_soc_davinci_mcasp.mute_pins=4

Все заработало, как и на моей сборке. Нет щелчков ни при первом старте, ни далее. Если так - вообще не вижу смысла в управлении MUTE через GPIO при старте BBB.

Итог - в твоей сборке нужно явно указывать оба параметра, иначе MUTE вообще не работает (4 - номер пина Mute) Если указать оба - работает так же, как и на моей, но у меня первый параметр можно не задавать.

snd_soc_davinci_mcasp.mute_pins=4
snd_soc_davinci_mcasp.amanero_mute_pins=4

Формально у меня есть ну очень тихие щелчки через PrimaLuna, т.к. я развел DSD_ON и MUTE через FIFO буфер McFIFO.
Т.е. до старта воспроизведения McFIFO выдает DSD_ON=0, MUTE=0 (не пропускает сигналы через буфер, т.к. нет входящего потока), при этом на выходе BBB MUTE=1.
После старта воспроизведения на выходе McFIFO DSD_ON=1, MUTE=0 (c регулируемой задержкой).
Напрямую на PASS, щелчки, конечно, заметнее (сказывается уровень аттеньюации в -30 dB).

По DSC
To ALL:
Раз уж расчехлил DSC и стер с него пыль, решил еще раз сравнить его с RME на PASS и PrimaLuna.

Подтверждаю ранее сделанные замечания (везде апсемплинг редбука в DSD256 или PCM705,6К посредством HQP):

  1. Разница между сборками Павла и моей на уровне восприятия (окончательно не определился есть она или нет, если есть то в чем). Но вроде есть. После решения проблемы с MUTE сборка Павла безусловно удобнее - быстрее.
  2. DSC всегда хуже. Теряется “объемность” пространства, несколько обедняются тембры (смягчаются/сглаживаются). После апсемплинга в PCM - полное ощущение, что чего-то недоложили. Но звучит хорошо, без разговоров. На некоторых композициях вообще можно спорить, что лучше. Очень гармонично DSC с PrimaLuna играет - разница между RME и DSC меньше.
  3. RME в DSD - мне показалось, что немного лучше. Но общие черты с DSC совершенно однозначно прослеживаются (все написанное выше можно и сюда отнести). Отношу замеченную разницу DSC vs RME к разной реализации выхлопов - трансформаторный vs OPA-amps.
  4. Апсемплинг PCM на RME - лучший вариант. Абсолютное впечатление, что убрали пелену после конвертации в DSD. Звук не зажат, наполняет комнату. Больше интонаций (нет “мягкости”/“некоторого сглаживания” DSD).
  5. Да, PASS звучит интереснее PrimaLuna. Не на порядок, конечно, но вполне заметно.

Не исключаю, что у меня трансы намагничены, т.к. были поломки DSC и на одном канале была постоянка.
Поставлю, как придет, хороший дискретный балансный выхлоп на DSC и уже окончательно для себя определюсь.