88 сообщений в этой теме

maxssau    11

Речь о  следующей своей разработке — цифро-аналоговый преобразователь на основе ИМС ЦАП AK4490 от Asahi Kasei Microdevices.

ИМС ЦАП AK4490 относится к 32 битным дельта сигма преобразователям.

Основные характеристики:

  • 32 бита, 768 кГц в PCM режиме, 11.2 МГц в DSD режиме.
  • THD+N -112 дБ, что даёт теоретический уровень искажений~0.00025% (при Fs=44.1 кГц). 
  • Динамический диапазон 120 дБ в стерео режиме.

Основные компоненты и узлы примененные в данном ЦАП — рекомендации даташитов.

Преобразователь имеет 8 линейных стабилизаторов:

  • 3.3 В питание логики VDD и аналоговое питание AVDD
  • 5.1 В питание аналоговых цепей правого и левого канала, раздельное для каждого канала (VREF, VDD)
  • ±9В питание ОУ повторителя VCML, ОУ фильтра

 

20180410-01.thumb.jpg.4c0487fb127abe7c87e71241bd580c89.jpg

Питание цифровой части осуществляется от линейного стабилизатора AMS1117-3.3. Все выводы питания ИМС отделены от источника L фильтрами.

Питание аналоговых частей ИМС AK4490 осуществляется от малошумящих стабилизаторов TPS7A4901 и TPS7A3301 от TI. Применение данных стабилизаторов позволяет получить очень низкую шумовую полку, в районе -150дБ и ниже, а топология разводки звезда земляных цепей позволяет понизить уровень 50 Гц составляющей ниже -120 дБ.

Гальваническая развязка шины I2S осуществляется с помощью ADuM251N. На печатной плате присутствует разъем I2S, напрямую подключенный к ИМС ЦАП. Так же плата ЦАП может выступать мастером сигнала MCLK для «пассивных» источников сигнала. Для управления переключением режимов Master/Slave и сеток частот используется микроконтроллер ATMega328. Так же микроконтроллер управляет режимами работы  AK4490.  Для управления ИМС ЦАП контроллер подключен по шине SPI. «Программный» режим работы раскрывает потенциал ЦАП наиболее полно, можно переключаться в режим DSD, доступно 5 типов фильтров. Так же контроллер позволяет подсчитывать частоту LRCK для вывода информации о битрейте по шине I2C, так же возможен перевод выходного сигнала в состояние MUTE при отсутствии входного сигнала I2S.

Аналоговый фильтр построен по топологии FDA+ОУ. Фильтр состоит из 2х ступеней: фильтр 2 порядка на полностью дифференциальном операционном усилителе OPA1632, выход которого используется как балансный выход (в будущем на этот выход будет подключен усилитель наушников на TPA6120A2). В качестве напряжения смещения Vocm используется напряжение VCML от ЦАП, предварительно буферезированным ОУ NE5532. Напряжение смещения равно 2.67 вольта. Смещение нулевой точки сигнала позволяет уменьшить искажения, вызванные переключением транзисторов выходного каскада при переходе через ноль. Выходной сигнал никогда не пересекает ноль, поэтому можно сказать что ОУ работает в классе А. Преобразование из балансного сигнала в небалансный осуществляется фильтром сумматором на ОУ AD8066.

Печатные платы заказывал на ALLPCB.COM, как всегда порадовали, заказывал 5 шт, прислали 7, за что огромное спасибо! Качество плат на высоте.

DSC_6997.thumb.JPG.88ba8e7c4949be217d3458f677c4836f.JPG

Резисторы в фильтре необходимо устанавливать с допуском номинала не более 1%, конденсаторы в фильтре качественная керамика (NP0) или плёночные (WIMA). Конденсаторы в цепях питания — танталовые. Применение танталовых конденсаторов позволяет свести к минимуму деградацию ёмкости со временем, а так же улучшает работу стабилизаторов питания. В качестве ОУ можно применить THS4131 (FDA), LME49720, AD8066. Микроконтроллер можно установить любой из серии ATMegaX8 (48,88,168,328, так же  индексом Р).

Первичный стабилизатор питания применен хорошо зарекомендовавший себя PS-01 от DA-01, собранный на стабилизаторах 317/337.

Измерения. Я был приятно удивлён, очень низким уровнем гармоник. THD=0.00015%. Уровень SINAD высоковат, поэтому работа по снижению уровня сейчяас ведётся.

thd-3.thumb.png.cd00e310a8a5fab54e4c67b993313138.png

При уровне сигнала -7дБ, уровни 2 и 3 гармоники не превышают -130дБ. Так же удалось снизить уровень THD+N по сравнению с моим ЦАП DA-01 на CS4398.

Субъективные впечатления.

Звучание по сравнению с циррусовскими преобразователями немого другое. По ощущениям немного мягче и детальнее. В целом хочется отметить очень высокую детализацию. Честно говоря, после услышанного искать что-то другое уже и не хочется (хотя поиск не остановится, нужно для сравнения попробовать всё самое «вкусное» от именитых производителей. Нужно довести до ума DA-02 на AD1955, в загашнике скучает PCM1796).

С уважением, Евгений.

  • Одобряю 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
elki    72

Герберами и прошивкой контроллера поделитесь? или это коммерческий проект?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
maxssau    11
32 минуты назад, elki сказал:

Герберами и прошивкой контроллера поделитесь? или это коммерческий проект?

От этой платы файл гербера дать не могу, могу от вот этой http://promservice63.ru/audio/?p=72

Прошивка есть версия 0.01, реализующая базовый функционал без шины i2c. Как допишу прошивку, выложу в свободный доступ.

Платы есть 5 шт. по коммерческим вопросам в личку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    701

Все хорошо. Но на входе МК тоже нужна развязка, т.к. транспорты типа Amanero сами выдают сигналы на переключение сетки, DSD и MUTE. По линиям I2S не помешает буфер, но не обязательно. Всю керамику в сигнальных цепях надо убирать. Ну и тащить сигнальные цепи рядом с цепями питания крайне неудачная идея. Все стабилизаторы можно вынести на обратную сторону платы. В общем плата не очень правильно разведена. Ну и до кучи поставить панельки под выходные ОУ. В идеале надо и танталы убрать из цепей питания, заменив на Low ESR электролиты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    701

Ну Evolution board не совсем то. Просто, если продавать данную плату, то покупатели захотят послушать звучание с разными ОУ, а в данном варианте такие возможности сильно ограничены. Керамику в любом случае надо выкинуть и поставить пленку по сигнальным цепям. Ну и питание переразвести. Закинуть его под ЦАП. Вот тут питание сделано неплохо. Правда, на питание ЦАП применили ОУ на 4 канала. Транзисторы стоят снизу, под ОУ. Питание ОУ сделано справа, собственно, как и у вас, две большие площадки. Тоже на транзисторах (ХЗ почему, возможно, шумит меньше, автор не я. Я только пользователь). ЦАП требует 5 питаний, часть стабилизированных, часть нет.  ADUM, кстати, далеко не лучшая развязка. SiLabs выпускает куда более интересные микрухи, а стоят примерно так же.

Screenshot_10.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
maxssau    11
1 час назад, BARS_ сказал:

Все хорошо. Но на входе МК тоже нужна развязка, т.к. транспорты типа Amanero сами выдают сигналы на переключение сетки, DSD и MUTE. По линиям I2S не помешает буфер, но не обязательно. Всю керамику в сигнальных цепях надо убирать. Ну и тащить сигнальные цепи рядом с цепями питания крайне неудачная идея. Все стабилизаторы можно вынести на обратную сторону платы. В общем плата не очень правильно разведена. Ну и до кучи поставить панельки под выходные ОУ. В идеале надо и танталы убрать из цепей питания, заменив на Low ESR электролиты.

От электролитов решил избавиться, в прошлом проекте обкатал на танталах, доволен остался. Развязка для МК естественно нужна, в планах разработать USB+SPDIF транспорт на XMOS, микруха уже есть, нет JTAG адаптера для прошивки. По поводу панелек на ОУ, есть идея вообще разработать так называемую Evolution board, на которой и обкатывать возможные варианты. Сейчас делал конечный вариант на проверенных схемотехнических решениях.

 

С керамикой согласен, сейчас стоят WIMA FKP2, и номиналы не те, что на фото. Я питание делал на TPS7A4901. На транзисторах скорее всего делают параллельный стабилизатор, или как у Дмитрия Андронникова, в его последних моделях ЦАП (ИОН+ОУ+транзистор).  В следующей ревизии стабилизаторы отодвину чуть дальше от сигнальных линий.

В этой плате много чего можно переделать, получится скорее всего уже следующая модель, исправленная и дополненная. Большинство решений этой платы я испробовал на своей предыдущей плате, DA-01 на CS4398. Если интересно, описание здесь http://promservice63.ru/audio/?p=72

--------------------------

От модератора: с цитатами аккуратнее, обратите внимание на пункт II.9 Правил форума

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    701

Стабилизаторы бы не двигать, а убрать на другую сторону. Слоев сколько получилось? У того, что фото давал - аж 6, если память не изменяет. По питанию можно попробовать еще что-то вроде BLM0805 поставить поближе к выводам микрух. А так получилось очень даже неплохо, доработать и можно найти покупателей)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
maxssau    11

слоёв 2. на продажу особо не планировал, выложил что бы грамотные специалисты указали на возможные ошибки и недочеты. спасибо за информацию, в следующей ревизии учту Ваши советы.

Изменено пользователем aitras
Убрал ненужную цитату

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    701

Два, думаю, маловато. Хотя бы 4 сделать, чтобы хорошая экранировка была. Хотя, может оно и не понадобится. А сравнивать недешево выйдет. В любом случае успехов)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
vredny_ded    21
18 hours ago, maxssau said:

 как у Дмитрия Андронникова, в его последних моделях ЦАП (ИОН+ОУ+транзистор). 

А почему бы так сразу было не сделать ? Проверенная схема...
Я послушался совета дяденьки Lynx_a, повторил схему (немного изменил, правда - из того, что было под рукой)  ИОН - AD780 + ОУ-OP37+транзистор.
Кстати, он советует делать VREF = 5 , VDD ~~ 6 вольт. Я сделал VDD=6в. Разница в звуке есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
maxssau    11
4 часа назад, vredny_ded сказал:

Разница в звуке есть.

В чем она заключается? Как меняются графики?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
vredny_ded    21

Субъективные впечатления.
По ощущениям стало больше баса.

Полностью согласен с утверждением :"В целом хочется отметить очень высокую детализацию."
Но вот где на графике найти вот этот кусок с :"очень высокой детализацией" ? И на каком графикке ?
Д,а по сравнению с "обычным Цапом" - :"мягче и детальнее"...итд итп...
Можно, наверное, до бесконечности стебаться...
Звучит этот Цап классно, автору - респект и уважуха за проделанную работу.
Но, Lynx уже сделал этот Цап, и его советами не стоит пренебрегать.
http://www.diyaudio.ru/forum/index.php?topic=5320.0
"Опорные напряжения - 5В, питание выходных каскадов ЦАП - 5.8В. На величине последнего заострю внимание  - эксперименты со значением этого питания показали, что в его рекомендуемом диапазоне (5...7В) имеется "минимум" уровня искажений, и он достигается не при максимальном значении 7В, а при 5.8...6В (в зависимости от экземпляра микросхемы ЦАП)"

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kdas    61
14 часа назад, vredny_ded сказал:

Но, Lynx уже сделал этот Цап, и его советами не стоит пренебрегать.

Если бы питание было организовано по схеме Lynx - эту плату взял бы с закрытыми глазами...

В Вегалабе твикали китайский кит на АК4399 именно улучшением питания. Весь потенциал этих ЦАПов именно в правильном питании из-за встроенного ОУ внутри микросхемы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
maxssau    11

Я не в курсе, а у Lynx на его платы какая цена? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kdas    61
40 минут назад, maxssau сказал:

на его платы какая цена

Я то же не а курсе, но подозреваю, что немаленькая. Однако добавление нескольких деталек не слишком усложнит плату. А прирост в звуке большой, как я понял из обсуждений. Я в своём китайском ките на CS4398 добавил в VREF RC (10 Ом + 3300 мкФ) и услышал разницу колоссальную.

Сам приобрёл китайскую платку на AK4490 для твиков. Только что запустил. Первое, что буду делать - колхозить питание ИОН+ФНЧ+ОУ+транзистор на отдельной плате. А ведь на сколько всё было бы проще уже с этим на плате..

IMG_20180412_094955.thumb.jpg.5ccd3c20201c8c3f8336c3b9da568b34.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
maxssau    11
1 минуту назад, kdas сказал:

Сам приобрёл китайскую платку на AK4490 для твиков.

на вегалабе в толкучке есть платы на 4490 с необходимым Вам питанием.  Весьма странно, с месяц назад висели там платы, те что как раз Вам нужны. Чем не нравится TPS7A4901? 

tps7a49.pdf

11 минуту назад, kdas сказал:

Я в своём китайском ките на CS4398 добавил в VREF RC (10 Ом + 3300 мкФ)

можно вместо этого поставить REF195 и им подобные ИОН, будет еще лучше

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kdas    61

Я не силён в децибелах, но мне кажется, что на россыпи PSRR и уровень шумов получается значительно лучше.

Я моделировал цепочку в LTSPICE. При добавлении 0.1 В синуса на входе 12 В у меня получались единицы микровольт нестабильности с конденсаторами 22 мкФ на выходе и под нагрузкой, аналогичной той, что этот ЦАП берет. И судя по утверждениям, она показывает стабильный импеданс в широком диапазоне частот

Для моих экспериментов почти идеальна плата от diyinhk. Только жаба давит при цене платы в 5 долларов платить 8 за доставку :) Хотя всё относительно. Ваша плата хороша микроконтроллером, который не придётся городить на отдельной плате.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
maxssau    11

платы stm32 на али стоят копейки, рублей за 150-200 можно взять. с доставкой плат придётся смириться :) 

ардуино здесь не прокатит, питание у ардуинки 5В, про толерантность уровней в даташите не нашел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    701
3 минуты назад, maxssau сказал:

питание у ардуинки 5В

AVR спокойно работает от 3,3В, что мешает питать ардуйню от  3,3В?

8 минут назад, kdas сказал:

плата хороша микроконтроллером, который не придётся городить на отдельной плате.

Если нужно управление и индикация в любом случае придется ставить второй МК. И можно сделать что-то вроде такого image.png.f11f85b9abd9cfc228fbc179e06d8594.png

Изменено пользователем BARS_
  • Одобряю 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
maxssau    11

Костыли в виде другого кварца, перепайки стабилизатора и т.п. Проще сразу на плате сделать или использовать копеешную готовую плату

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kdas    61
1 минуту назад, BARS_ сказал:

что мешает питать ардуйню от  3,3В

У меня тоже была идея прикрутить к ардуине стаб и переключатель :). Когда прошивать из IDE - 5В, а когда работать с ЦАП, то 3.3. А Lilypad, по-моему, на 3.3 и так работает. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    701
Только что, maxssau сказал:

в виде другого кварца, перепайки стабилизатора и т.п.

А зачем другой кварц то? Хотя пихать в хорошую вещь мусор типа китайских плат вообще не айс. Я для своего ЦАП вообще развел и заказал плату, на которою посадил STM32 и подключил дисплей. Никакого управления нет, кроме включения питания, только индикация режимов работы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
kdas    61
2 минуты назад, maxssau сказал:

Проще сразу на плате сделать или использовать копеешную готовую плату

Это точно. 

Наблюдаю тенденцию, что каждый хочет развести плату ЦАП под свои вкусы. Одному питание важно, другому МК, третьему выхлоп :)

1 минуту назад, BARS_ сказал:

Никакого управления нет

А как-же DSD, переключение ЦФ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
maxssau    11
Только что, BARS_ сказал:

Хотя пихать в хорошую вещь мусор типа китайских плат вообще не айс.

про это и речь. я хочу сделать приёмник на AK4113+SRC4192, пара переключателей (44.1/48 если захочется феншуя, с кратным множителем). Экран даже не нужен будет.

3 минуты назад, BARS_ сказал:

А зачем другой кварц то?

мега вроде выше 8 мгц не заводится при питании 3.3В

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    701

Ну у меня он USB, там все переключается сигналами с транспорта, а фильтры один раз джамперами настроил и все. С дисплеем оно красивше и как раз получается в одном стиле с УНЧ)

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: aitras
      Продам модуль ЦАПа Mercury на основе м/с PCM1794. Без каких либо проблем стыкуется с любым транспортом, работающем в режиме Master.
      Официально воспроизводит до 24 бит 192 кГц, неофициально пробовал 384 кГц, тоже поет.
      В аналоговой части применены высокоскоростные ОУ AD8066 и малошумящие LME49990 с низким THD.
      ЦАП легко стыкуется с китайскими платами Amanero (Combo384).
      Подробнее в моем личном блоге по ссылке - 
      Цена - 9 тыс. рублей с учетом доставки по России.
       
      Замеры, источник Combo384 (Amanero)
      0 дБ, 48 кгц (левый, правый):
       
      -6 дБ, 48 кГц (левый, правый):

    • Автор: Avatoro
      Всем привет. В общем есть простая мигалка по переполнению нулевого таймера. ATmega328. В АВР студии все прекрасно работает, в протеусе-0 реакции. Либо протеус тупит, либо я не настроил в нем что-то, так как собрал в железе и прошил - все работает замечательно. Файлы исходника, прошивки и протеуса прилагаю.
      P_5.asm
      P_5.hex
      Timer.pdsprj
    • Автор: Bend
      Куплю микросхемы:
      DSD/PCM1792/4
      AK4490/97
      AD1853
      Желательно от 5-6 штук, но рассмотрю все предложения.
      совместно с ними куплю генераторы, ОУ и прочее. 
      Связь через ЛС 
    • Гость Твой друг
      Автор: Гость Твой друг
      Вопрос. Почему не выполняется на atmega328 команды? Тестировал в протеусе на частоте 8 мгц (в настройках проекта 20 мгц, но думаю на это не так сильно должно влиять).
      На микроконтроллере запущен аппаратный таймер - работает нормально. Через юарт (настроен только TXD) всё время шлёт: 011111111101111111110... Но сам код не хочет выполняться:
      while (1) { delay_ms(0.4); // выполнилось при первом цикле PORTD.6=1; // выполнилось при первом цикле delay_ms(0.4); // выполнилось при первом цикле putchar(PORTC.0+PORTC.1*2); // заморозилось и далее не выполняется, но аппаратный таймер работает, юарт флудит (011111111101111111110...) // функцию putchar нашёл в интернете PORTD.6=0; } PORTD.6 - настроен на выход
      PORTC.0 и PORTC.1 настроены на вход. Включены подтягивающие резисторы.
      P.S. Проект сделан в CodeVisionAVR с использованием генератора кода.
    • Автор: radeon-13
      Друзья помогите победить сон в мега328.
      Собираю часы, носимые, вопрос энергосбережения актуален!
      Вот что получается: Т2 тактируется от внешнего кварца 32768.
      Перехожу в режим сна (Idle или Power Save), Т2 срабатывает 40 раз все нормально, но потом встает колом. Пробуждаюсь через INT1 и наблюдаю стоячие часы..
      В активном режиме все хорошо! Уже Один раз на работу по ним встал)
      Уже допрошивался, мега померла... щас буду сдувать
      режим сна:
      SMCR= (0<<SM2)|(0<<SM1)|(0<<SM0); //Idle
      // Кнопка Cон
      if((PIND.3==0)&&(wake_up==0))
      {
      DDRC = 0b00000010;
      PORTD.0=1; //Выключить питание дисплея
      SMCR = SMCR | (1<<0); //Разрешить СОН бит 0 в 1
      pause_while(); // Отжатие кнопки
      EIMSK = EIMSK | (1<<1); //Включить внешнее прерывание INT1 бит 1 в 1
      EIFR = EIFR | (1<<1); //Включить внешнее прерывание INT1 бит 1 в 1
      son=1;
      #asm("sei")
      #asm("sleep")
      }
      Прерывание T2
      interrupt [TIM2_OVF] void timer2_ovf_isr(void)
      {
      time_schet(); //Фукция счета времени
      //----------------------///////////////
      if(light==1)
      {light_PWM();}
      //----------------------///////////////
      switch (son) {
      case 1:
      SMCR = SMCR | (1<<0); //Разрешить СОН бит 0 в 1
      #asm("sei")
      #asm("sleep")
      break;
      case 0:
      //Индикация активный режим