ЦАП Soekris R2R 1021/1121 — DIY


(Vitaly Bargatin) #241

Алексей, правильно понимаю, что измерения с канала питания клока (после AP7331 vs модифицированный Pulsar PSU)?


(Алексей) #242

Измерения проводились практически на ноге клока. На кондере, который рядом с клоком, до “бусинки”.


(Vitaly Bargatin) #243

Небольшой апдейт по текущей ситуации с ЦАП.

Так и не смог победить проблемы с SPDIF Soekris. Обе версии SPDIF IN платы (дизайн обоих выше по теме) имеют одинаковые проблемы - неуверенная синхронизация на 88.2 кГц, отсутствие синхронизации на 192кГц.
Пробовал менять ресивер MAX3280 на симметричный MAX14840 (в нем длительности импульсов 1 и длительность 0 равны). Тоже не помогло.

Склоняюсь к выводу - не удачная (капризная) реализация синхронизации потока TTL SPDIF в dam1121.

Т.к. все таки хочу иметь SPDIF и AES в dam1121 посмотрел в сторону решений на AK4118 (конвертация SPDIF в I2C).
Замечательно себя показала такая плата:

Уверенно работает с потоком 192 кГц.
Качество звука с нее (источник Allo DigiOne) не уступает USB XMOS.

Так что решил сделать приемник на этом чипе. Пока остановился на Parallel варианте подключения AK4118 - мне нужно только 2-3 входа + не хочется тянуть пучек проводов от Ардуино к AK4118 для управления в Serial режиме.

Схема выглядит так.


Аналоговая и цифровая земля (рекомендации из даташита), внешний клок на 24.576MГц, перемычки для выбора входа (не определился пока - либо управлять с Ардуино, либо джамперами).

Если у кого то есть опыт работы с AK4118, буду признателен за:

  1. рекомендации по оптимизации схемы и общие замечания
  2. подсказки в выборе клока на 24.576MГц. Нужен просто хороший клок :grinning:, без изысков. В тему клоков я ранее не погружался.

Т.к. I2C вход на dam1121 только один, то хочу сделать возможность выбора источника I2C (USB XMOS - AK4118) на мультиплексоре 74HC257D (видел несколько решений на аналогичных мультиплексорах).
Между выходом мультиплексора и входом I2C dam1121 хочу поставить гальваническую развязку на ADUM1401CRWZ или Si8661BC.
Т.е. так:

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


(Алексей) #244

Скорее всего проблема в МАКсах… И решения с более скоростными параметрами должны позволить сделать 192.

для решения проблемы 192, тоже рассматривался АК (отличные параметры, но поддержка только 24), CIRRUS LOGIC (хуже параметры, но поддержка 22/24), но в итоге было принято решение протестировать другой приемник спдиф без конвертации в И2С. Так после входных трансформаторов стоят приемник RS485 от TI (SN65HVD78). Выходы приемника подается на SPDIF-вход Soekris.

Сейчас разрабатывается плата для проверки большого количества идей по оптимизации 1121:

  • перетактовка флипфлопами входного и2с входным мастерклоком
  • различные варианты входных СПДИФ трансформаторов и их подключения
  • собственно идея, описанная выше по замене МАКса на другой более скоростной приемник спдиф от ТИ
  • использование изоляторов для программирования 1121
  • различные варианты питания клока 1121
  • различные варианты питания матрицы
  • использования выходного буфера на дискретных элементах без ООС
    и много другого…

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

Гальваническая развязка нужна если качество источника I2S не сильно хорошее. Ну, например, i2S с малинки и без переклока… Так на зарубежных форумах было много обсуждений и модов по удалению изоляторов с 1021, и в основном отзывы были положительные.


(Марат) #245
  1. С Вашего позволения, i2s. Дело в том, что i2c совсем другая шина.

  2. Реклок в ак4118 следует отключить во избежание убиения звука насмерть. Впрочем, будет ли это слышно с дамкой, я не знаю. Пробуйте. Поэтому кварцометр самый дешевый, для того только, чтоб АКашка смогла отобразить входящую частоту. Если это не нужно, то убирайте вообще.
    Но.
    Сумеет ли дамка работать слейвом по мастерклоку из АКашки и, главное, насколько хорошо - большой вопрос. Не пришлось бы применять обратную синхру, но тут мы попадем обратно в засаду с реклоком. Пробуйте.

  3. Мультиплексировать i2s без обратной синхры - идея, мягко говоря, не из лучших.

  4. Дурацкий вопрос. А с оптического приемника 88/96к нормально ловит, не?!


(Vitaly Bargatin) #246

Спасибо за инфо, Алексей.

По поводу SN65HVD78 - у вас на нем SPDIF dam1121 реально заработал на 192kHz?
В МСК, к сожалению, доступен только под заказ с доставкой в течении 10 дней + ограничения на минимальный заказ от 5 штук.
Возможно есть реально работающие альтернативы?

По плате - круто!
Если проект не коммерческий, можете подробности привести? Можно в личку.
Если коммерческий, то когда ожидается в продаже и ориентир по цене? Я бы с удовольствием попробовал.
Да, питание клока, я понимаю, нужно будет тянуть с трех-пинового разъема верхней части левой платы и подпаиваться к клоку?

По мультиплексору на I2S - подобные решения я видел пару раз на ebay. 74HC257D купил уже. Сегодня - завтра и проверю.

По гальваническим изоляторам я сам в сомнениях. Sygnalyst DSC1 у меня, мягко говоря, очень плохо реагировал и на Intona Galvalic Isolation и на 74HC257D в USB интерфейсе. Пришлось срочно Аманеро покупать. :grinning:


(Алексей) #247

пока еще едут детальки. как все спаяется, будет видно.

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

нет, там все максимально близко к ноге клока. Если присмотреться в нижнем левом углу есть отверстие для подачи питания клока. Но предварительно феном снимается родной стаб. Измерения эффективности такого решения приводил ранее.


(Vitaly Bargatin) #248

Спасибо за соображения, Марат.

  1. Да, моя ошибка. Сорри. Разобрался.
  2. В Parallel mode ak4118 обязательно требуется внешний клок на 24.576MГц. Он используется для детектирования частоты дискретизации входящего потока. В Serial Mode есть возможность использовать либо встроенный PLL, либо внешний кварц для этого (11.2896 либо 12.288 либо 24.576МГц).
    МСLK (мастер клок) dam не нужен. dam делает реклок входящего потока по встроенному SiLab 570.
    Плата на ak4118 на фото выше вполне замечательно работает с dam.

Я что то сам задумался, может все таки в Serial mode делать и отказаться от внешнего клока.

  1. Ок, а какие еще есть варианты переключения входного потока i2s? В сети видел только решения на мультиплексорах.

  2. К сожалению, у меня нет источников с оптикой. 96кГц нормально ловиться через MAX3280. 88.2 кГц не стабильно. 192 кГц вообще не лочит.


(Vitaly Bargatin) #249

Да, спасибо, увидел.


(Vitaly Bargatin) #250

Тех поддержка ti.com рекомендует следующее для коммутации i2s:

In terms of TI definitions the digital switches and analog switches are the same and have the same architecture with bi direction passive FETs. You may use either type as long as the voltage, bandwidth, and channel count requirements are satisfied.

I searched the TI.com Switch selection tool for 4channel 1:2 SPDT switches and then sorted by on stare resistance lowest to highest. The lowest on state resistance part was the TS3A44159 but the SN74CB3Q3257 looks like it will work as well.

Т.е. выбирайте полосу пропускания более 25 Мгц, минимальное сопротивление, правильное напряжение.

С этой точки зрения выбор - аналоговый ключ TS3A44159.

Стоит попробовать? Он и в наличии в МСК есть.


(Марат) #251

Где вы ищете все?! http://icdarom.ru/show_good.php?idtov=1101047192&grid=


(Марат) #252

Воот, уже теплее. Посмотреть propagation delay (мне лениво) и пробовать.

По акашке. ЗАЧЕМ ее юзать в железном режиме? Там ничего толком не настроишь.

По реклоку дамкой iis - Вы уверены? Я не читал ДШ, но по логике не должно его быть…


(Vitaly Bargatin) #253

Огромное спасибо за ссылку!!!

Обычно покупаю в ChipDip или Электронщике (domko.ru). Ну или на Маузере.

Propogation Delay нет в даташите. Аналоговый ключ - я так понимаю, что он нулевой (propogation delay).
Есть только время включения и выключения ключа (переключение между входами) ~ 10 ns.
Только меня полоса пропускания смущает - 25МГц маловато для i2s на высоких частотах.
В DSC1 тоже аналоговые ключи TI используются для MUTE (ts5a3167d), на пути сигнала стоят. Посмотрел сейчас, а они на 200 МГц. В даташите на него тоже только время включения / выключения указано. Я завтра поподробнее посмотрю.

Чем больше думаю по поводу АК4118, тем хуже понимаю, зачем я выбрал Parallel Mode :grinning:.

По dam1121 - да, уверен. Цитата:

Input is I2S and SPDIF, with reclocking FIFO. Clocking is with low jitter digital programmable oscillator

В моей версии клок SiLab 570.


(Марат) #254

Вооот.

Уверены, что это к обоим входам относится, а не ко второму? Мне лень лезть в ДШ, с дамкой я наигрался уже очень давно и не помню.


(German) #255

До получения модуля Amanero даже предварительные впечатления о DSC1 озвучивать не стоит?


(Vitaly Bargatin) #256

Герман, я в личку отписался. Коротко - DSC мне понравился. Точно достоин отдельной темы.


(Vitaly Bargatin) #257

Прямо в мануале это не указано. Точную цитату я привел.
При обсуждении dam1121 на форуме diyaudio.com указывалось, что делается flip-flop на выходе FPGA (отмечалось, как улучшение по сравнению с dam1021, где flip-flop делался на входе).

В dam1121 есть возможность подключения внешнего мастер осциллятора (для синхронизации нескольких плат). Если он подключен, то внутренний осциллятор отключается и используется клок внешнего. В качестве внешнего можно использовать осциллятор на одной из плат.

Входная шина I2S не содержит линии мастерклока.


(Vitaly Bargatin) #258

Провел сравнительное тестирование Soekris dam1121 c Signayst DSC1 v2.5 в другой теме форума. Ссылка на сравнение


(Vitaly Bargatin) #259

Пользовательский интерфейс dam1121

Напомню, что корпус для ЦАП пришлось увеличить и сделать два этажа (из за размеров Salas Reflector D). Экран OLED 2.42 дюйма показался слишком маленьким - просто смешно смотрелся на большой лицевой панели.
Экраны OLED с моей точки зрения идеальны (отсутствует подсветка черного цвета), пытался найти OLED побольше. Но максимальный размер 3.12 дюйма - не подошел.

Пришлось искать альтернативу в TFT. Основной минус, хорошо знакомый всем по TV - засветка черного фона белым. От этого не уйти.
Плюсы - размер, может быть сенсорным, высокое разрешение.

Перебрал несколько вариантов. Лучшие из них:

  1. Это IPS - очень хорошие углы обзора, цвета, разрешение.
  1. CPLD дисплей с 8 страницами видео памяти. Цвета и угол обзора чуть похуже. Но побольше.

Выбрал второй.

Причина - даже Ардуино DUE делает полную перерисовку экрана (стирание, наполнение) достаточно медленно - 0,2/0,3 секунды. Это очень хорошо заметно, воспринимается как мерцание. Ненавижу этот эффект.
С одной видео страницей бороться с ним можно только одним способом - стирать только то, что нужно и рисовать заново в этом месте.
Геморройно, даже в этом случае при необходимости перерисовки больших участков заметно.

Когда есть несколько страниц видео памяти, то рисовать можно во второй а показывать первую. По готовности - переключить страницы (занимает ~ 5 мкс). Потрясающий эффект - границу смены изображения просто не заметно!
Т.к. существует задержка в 0,2-0,3 сек между нажатием на клавишу, например, и отображением (прорисовка экрана на другой странице видео-памяти), пришлось комбинировать оба метода:

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

Таким образом получился быстрый и хорошо выглядящий интерфейс.

Итак:

  1. реализовано все на Arduino DUE, можно портировать на MEGA и STM.
  2. управление через ИК (может быть использован любой пульт), энкодер (поворот, длинное и короткое нажатие) сенсорный экран.
  3. все настройки сохраняются на EEPROM и восстанавливаются при загрузке Arduino.
  4. могут быть использованы любые TrueType шрифты и картинки. Есть SPI-Flash, их там можно много хранить. В принципе можно сделать даже переключение тем на лету.
  5. реализован мониторинг температуры на радиаторах плат питания с оповещением при выходе на критический уровень.
  6. Реализована проверка установки настроек на ЦАП. Если не установлены - сообщение об ошибке.
  7. Интерфейс настраиваемый - можно выключить отображение любого элемента на главном экране. Можно выключить и сам экран - тогда включается LED (напоминание, что ЦАП включен).

Видео youtube с короткими пояснениями по структуре меню и реализованных возможностях.

Если есть интерес - могу более подробно описать, выслать скетч.
Работа над интерфейсом доставила уйму удовольствия! :grinning:


ЦАП Soekris R2R dam1121 (0,01% резисторы) - плата
#260

Хочу такую управлялку :slight_smile: