Страница 4 из 6 Первая ... 23456 Последняя
Показано с 61 по 80 из 112

Тема: Проектируем деглитчер для параллельного ЦАП

  1. #1 Показать/скрыть первое сообщение.
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,225

    По умолчанию Проектируем деглитчер для параллельного ЦАП

    Несколько лет назад (ох уже 7 лет прошло) я опубликовал свои наработки по схемотехнике составных гибридных параллельных ЦАП на инструментальных конверторах и резисторных матрицах:
    https://forum.vegalab.ru/showthread....=1#post1942720

    Статья содержит реверс-инжениринг описание схемотехники легендарного гибридного ЦАПа D20400 (с неточностями, но не принципиальными), а так же описание новых вариантов составных ЦАП.
    Но на этом схемотехника гибридных ЦАП конечно не исчерпывается, есть множество иных вариантов, в том числе на резисторных сборках. В частности, появление ультрапрецизионных сборок, типа LT5400 со взаимным дрейфом резисторов 0,2ppm позволяет сегодня вдохнуть новую жизнь в хорошо забытую старую схемотехнику параллельных ЦАП.

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

    Тем не менее, в любой схемотехнике есть нюансы, и судя по зародившемуся здесь https://forum.vegalab.ru/showthread....=1#post2979940 обсуждению, таких нюансов достаточно много.
    Поэтому предлагаю продолжить в новой ветке. А в качестве опорного варианта схемотехники рассмотреть последнюю собранную вариацию моего составного ЦАП с УВХ деглитчером:
    https://forum.vegalab.ru/showthread....=1#post2342889

  2. #61
    Старый знакомый Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    951

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Надо бы ещё и/в менять, а то что есть хорошо без УВХ, может всю малину обгадить, просто размазав глитч на несколько выборок.

  3. #62
    Завсегдатай Аватар для Meta|_
    Регистрация
    08.03.2005
    Адрес
    Северная Голландия
    Возраст
    40
    Сообщений
    1,994

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Причем на параллельнике с высокой линейностью и деглитчером разрядность преобразования уходит на второй план: при х16..х32 оверсемплинге достаточно 14..16 бит (а то и меньше). Дальше ДД можно нарастить ноизшейпингом хоть до 140дБ.
    Нойз-шейпинг снизит шум квантования. Но чтобы результирующая линейность была, скажем, 20 бит то линейность ХП такого 14-разрядного ЦАП должна быть не ниже этих самых 20-ти бит. В спецификации вряд ли будет лучше, чем +-0.5 МЗР...
    Логичней тогда уж взять pcm1704 и программно подстроить ему линейность насколько получится, в сочетании с УВХ, возможно получится добиться более 20-ти бит
    Уже несколько лет имею желание такое сделать, но руки пока не дошли...
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  4. #63
    Завсегдатай Аватар для Andrey Orloff
    Регистрация
    22.08.2005
    Адрес
    Irkutsk
    Возраст
    58
    Сообщений
    1,859

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Многие наверное это всё видели, но пусть будет тут, коли речь про УВХ:
    MT-090.pdf
    snoa223.pdf

  5. #64
    Профиль удален Аватар для bukvarev
    Регистрация
    18.08.2012
    Адрес
    Нижний Новгород
    Возраст
    51
    Сообщений
    1,786

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Не рассматривали возможность применения специализированных блоков:
    LTC1043, LTC6943?
    С наилучшими пожеланиями, Евгений.

  6. #65
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,225

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Но чтобы результирующая линейность была, скажем, 20 бит то линейность ХП такого 14-разрядного ЦАП должна быть не ниже этих самых 20-ти бит.
    Это само собой.

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Логичней тогда уж взять pcm1704 и программно подстроить ему линейность насколько получится, в сочетании с УВХ, возможно получится добиться более 20-ти бит
    Круче всего добавить вспомогательный 10..12 бит ЦАП и откалибровать до полной точности по всей шкале. Т.е. до 24-х бит, ну или на сколько хватит термостабильности PCM1704.
    Правда для такого проекта схема калибровки будет сложнее и дороже схемы самого ЦАП.

    ---------- Сообщение добавлено 13:09 ---------- Предыдущее сообщение было 12:53 ----------

    Цитата Сообщение от bukvarev Посмотреть сообщение
    Не рассматривали возможность применения специализированных блоков:
    LTC1043, LTC6943?
    А что в них особенного? Те же два SPDT ключа, только медленные, с большим сопротивлением канала и в громоздком корпусе. И не известно с какими паразитными емкостями (я с ходу в ДШ не нашел).
    Единственное, что симметрия глитча высокая, но в схеме УВХ симметрия все равно будет упираться в разбежку номиналов емкостей в плечах.
    Последний раз редактировалось dortonyan; 14.12.2021 в 20:31.

  7. #66
    Завсегдатай Аватар для Meta|_
    Регистрация
    08.03.2005
    Адрес
    Северная Голландия
    Возраст
    40
    Сообщений
    1,994

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Круче всего добавить вспомогательный 10..12 бит ЦАП и откалибровать до полной точности по всей шкале.
    Мне думается, что и без добавления вспомогательного ЦАПа на 1704 можно калибровкой получить точность 23 бита (конечно, если не учитывать термостабильность). Не думаю, что имеет смысл выжимать больше.
    А дальше можно устроить термостатирование. Вряд ли там большие температурные градиенты на кристалле... Или взять ПЛИС потолще и подсовывать разные калибровочные таблицы в зависимости от показаний термодатчика. Да, калибровка будет маленьким адом, но это ж хай-энд!
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  8. #67
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,225

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Мне думается, что и без добавления вспомогательного ЦАПа на 1704 можно калибровкой получить точность 23 бита (конечно, если не учитывать термостабильность).
    Без вспомагательного обеспечить линейность по всей шкале увы - не получится. Для этого у ЦАП диф. нелинейность (DNL) должна быть на уровне 23 бит (+/- 1/16ppm). Для коллинеарной архитектуры такая диф. нелинейность получается только на середине шкалы, что позволяет рекламировать линейность на малых сигналах. Но уже при смещении на 1/16 (ну или 1/4..1/32, смотря сколько сегментов) шкалы от центра, где происходит переключение сегмента старшего разряда, DNL будет как и у других параллельных аудио ЦАП.
    Понять какой на самом деле уровень DNL в ЦАП можно с помощью любой более-менее приличной звуковухи и спектраплюса. Для этого надо сгенерить синусы или трианглы частотой 20...30Гц и амплитудой -80..-90дБ со смещениями +/- 1/16, 2/16 .... 15/16 шкалы (смещения могут быть и другие - надо подбирать под сегменты ЦАП). Далее спектраплюс включить в режим осциллогаммы с усреднением в несколько тысяч семплов и смотреть форму трианглов. Диф. нелинейность будет сдвигать половины триангла.
    Я как-то писал инструкцию по калибровке PCM58, где приводил пример с осциллограммами калибровочного триангла на AD1851: Инструкция калибровки.pdf

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    А дальше можно устроить термостатирование. Вряд ли там большие температурные градиенты на кристалле... Или взять ПЛИС потолще и подсовывать разные калибровочные таблицы в зависимости от показаний термодатчика. Да, калибровка будет маленьким адом, но это ж хай-энд!
    Разрядов на 20..22 термостабильности должно хватить. Если хотя бы выполнить калибровку в прогретом состоянии, то уже будет круто, на уровне хороших сигма-дельта конвертеров.

    ---------- Сообщение добавлено 20:44 ---------- Предыдущее сообщение было 20:31 ----------

    P.S.
    Вообще, в ДШ на 1704 не указано кол-во сегментов. Если там чистая двоичная матрица (как в PCM58 или 1541), то его можно откалибровать вообще без сложных цифровых схем и алгоритмов, внешними потенциометрами. Но чтобы узнать архитектуру ЦАП - надо изучить на каких участках шкалы максимальная диф. нелинейность.

  9. #68
    Завсегдатай Аватар для sia_2
    Регистрация
    18.07.2005
    Сообщений
    4,009

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Без вспомагательного обеспечить линейность по всей шкале увы - не получится. Для этого у ЦАП диф. нелинейность (DNL) должна быть на уровне 23 бит (+/- 1/16ppm). Для коллинеарной архитектуры такая диф. нелинейность получается только на середине шкалы, что позволяет рекламировать линейность на малых сигналах. Но уже при смещении на 1/16 (ну или 1/4..1/32, смотря сколько сегментов) шкалы от центра, где происходит переключение сегмента старшего разряда, DNL будет как и у других параллельных аудио ЦАП.
    Понять какой на самом деле уровень DNL в ЦАП можно с помощью любой более-менее приличной звуковухи и спектраплюса. Для этого надо сгенерить синусы или трианглы частотой 20...30Гц и амплитудой -80..-90дБ со смещениями +/- 1/16, 2/16 .... 15/16 шкалы (смещения могут быть и другие - надо подбирать под сегменты ЦАП). Далее спектраплюс включить в режим осциллогаммы с усреднением в несколько тысяч семплов и смотреть форму трианглов. Диф. нелинейность будет сдвигать половины триангла.
    Я как-то писал инструкцию по калибровке PCM58, где приводил пример с осциллограммами калибровочного триангла на AD1851: Инструкция калибровки.pdf


    Разрядов на 20..22 термостабильности должно хватить. Если хотя бы выполнить калибровку в прогретом состоянии, то уже будет круто, на уровне хороших сигма-дельта конвертеров.

    ---------- Сообщение добавлено 20:44 ---------- Предыдущее сообщение было 20:31 ----------

    P.S.
    Вообще, в ДШ на 1704 не указано кол-во сегментов. Если там чистая двоичная матрица (как в PCM58 или 1541), то его можно откалибровать вообще без сложных цифровых схем и алгоритмов, внешними потенциометрами. Но чтобы узнать архитектуру ЦАП - надо изучить на каких участках шкалы максимальная диф. нелинейность.
    AD1862 всего 8 сегментов. При использовании нойз-шейпера можно прописать в сигнал обратной связи фактически промеренные ошибки ЦАП, чтобы нойз-шейпер их тоже минимизировал, не только ошибку квантования - это изящнее, чем лепить дополнительный компенсирующий ЦАП.

  10. #69
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,225

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    А можно таким способом исправить INL, т.е. выровнять средние веса сегментов?

  11. #70
    Завсегдатай Аватар для sia_2
    Регистрация
    18.07.2005
    Сообщений
    4,009

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Цитата Сообщение от dortonyan Посмотреть сообщение
    А можно таким способом исправить INL, т.е. выровнять средние веса сегментов?
    Конечно. Но обычно INL правят аналитически, аппроксимируя какой-нибудь гладкой функцией, и применяют обратное преобразование перед квантованием. Способ по сути тот же, что и введение компенсирующих гармоник в генератор синуса на ЦАП, только работающий для любого сигнала.

  12. #71
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,225

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП


    Offтопик:
    sia_2, Сергей, подскажите как разработчик ИМС:
    1. Вот сейчас полно относительно недорогих чоппер ОУ, у которых диф. каскады коммутируются фактически ДЕМ ячейками. Почему то же самое не используется в ЦАП-ах? Вы как-то раньше на похожий вопрос уже отвечали, но сейчас больше и дешевле чоппер операционники, почему с ЦАПами тормозят? Ведь сейчас интегральные технологии гораздо круче, чем во времена разработки TDA1541, можно и встроенную помпу сделать для питания ДЕМ "дерева", и термостабильность улучшить. Добавляются конечно помехи, но помеха в чоппер ОУ никого особо не смущает.
    2. В параллельных SPI ЦАП часто можно встретить наличие калибровочных регистров для подстройки гейна и смещения. Почему не сделают ЦАП с регистрами на каждый сегмент, чтобы получить максимально дешевый прибор с возможностью пользовательской калибровки? Сегодня логика вроде не дорогая и потребления сильно не добавит.


    ---------- Сообщение добавлено 13:49 ---------- Предыдущее сообщение было 13:47 ----------

    Цитата Сообщение от sia_2 Посмотреть сообщение
    Конечно. Но обычно INL правят аналитически, апроксимируя какой-нибудь гладкой функцией.
    Тогда получается, что можно из какого-нить 14-бит параллельника с помощью калибровки шейпингом сделать нормальный 120..140db ДД ЦАП?

  13. #72
    Завсегдатай Аватар для sia_2
    Регистрация
    18.07.2005
    Сообщений
    4,009

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Offтопик:
    sia_2, Сергей, подскажите как разработчик ИМС:
    1. Вот сейчас полно относительно недорогих чоппер ОУ, у которых диф. каскады коммутируются фактически ДЕМ ячейками. Почему то же самое не используется в ЦАП-ах? Вы как-то раньше на похожий вопрос уже отвечали, но сейчас больше и дешевле чоппер операционники, почему с ЦАПами тормозят? Ведь сейчас интегральные технологии гораздо круче, чем во времена разработки TDA1541, можно и встроенную помпу сделать для питания ДЕМ "дерева", и термостабильность улучшить. Добавляются конечно помехи, но помеха в чоппер ОУ никого особо не смущает.
    2. В параллельных SPI ЦАП часто можно встретить наличие калибровочных регистров для подстройки гейна и смещения. Почему не сделают ЦАП с регистрами на каждый сегмент, чтобы получить максимально дешевый прибор с возможностью пользовательской калибровки? Сегодня логика вроде не дорогая и потребления сильно не добавит.


    ---------- Сообщение добавлено 13:49 ---------- Предыдущее сообщение было 13:47 ----------


    Тогда получается, что можно из какого-нить 14-бит параллельника с помощью калибровки шейпингом сделать нормальный 120..140db ДД ЦАП?
    Упрется в стабильность.
    Калибровка - долго и дорого. Медленные ЦАП - проще делать сигмадельта, как DAC1220, с гарантией монотонности.
    Для справки, допустимое время тестирования дорогого ОУ - около 7 секунд. И возникает вопрос, на фига козе баян. ЦАП для САР требуют по сути лишь монотонность и малый шум, интегральная нелинейность там достаточна в пару МЗР (те же AD5791). А для синтеза сигналов - с высоким разрешением есть дельтасигма, для радиочастотных - больше 12...14 реальных бит совершенно не нужно.
    Последний раз редактировалось sia_2; 15.12.2021 в 14:31.

  14. #73
    Завсегдатай Аватар для Andrey Orloff
    Регистрация
    22.08.2005
    Адрес
    Irkutsk
    Возраст
    58
    Сообщений
    1,859

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Цитата Сообщение от sia_2 Посмотреть сообщение
    Кстати, в таком сэмпл-холде, совмещенным с IU, хорошо работали OPA655.
    Как раз делаю УВХ, совмещенный с IU (пока на этапе симуляции застрял и развожу аналоговую секцию ЦАП), вопрос про опа659, как они будут там "смотреться" или 656-х там "за глаза"?
    И еще вопрос, для Fd=192кГц емкость в s-h в 300pF не многовато ли будет, может снизить до 100pF? Ключи решил оставить древние SD5400CY от Calogic, или лучше это дело на что то поновее перевести?
    Да, сама микросхема ЦАП - РСМ63 (возможно, запалалелю пару оных, есть в наличии, т.ск. для снижения искажений).

  15. #74
    Завсегдатай Аватар для sia_2
    Регистрация
    18.07.2005
    Сообщений
    4,009

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Цитата Сообщение от Andrey Orloff Посмотреть сообщение
    Как раз делаю УВХ, совмещенный с IU (пока на этапе симуляции застрял и развожу аналоговую секцию ЦАП), вопрос про опа659, как они будут там "смотреться" или 656-х там "за глаза"?
    И еще вопрос, для Fd=192кГц емкость в s-h в 300pF не многовато ли будет, может снизить до 100pF? Ключи решил оставить древние SD5400CY от Calogic, или лучше это дело на что то поновее перевести?
    Да, сама микросхема ЦАП - РСМ63 (возможно, запалалелю пару оных, есть в наличии, т.ск. для снижения искажений).

    Offтопик:
    положа руку на сердце, IMHO, возиться с этим старым хламом не имеет никакого смысла. Тот же 9038 не оставляет ему никаких шансов.

  16. #75
    Старый знакомый Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    951

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Цитата Сообщение от sia_2 Посмотреть сообщение
    Offтопик:
    положа руку на сердце, IMHO, возиться с этим старым хламом не имеет никакого смысла. Тот же 9038 не оставляет ему никаких шансов.
    Полностью согласен, так и есть.

  17. #76
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    36,249

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Цитата Сообщение от sia_2 Посмотреть сообщение
    Но обычно INL правят аналитически, аппроксимируя какой-нибудь гладкой функцией
    Функцией это понятно, но как это делают через LUT? Это-ж какого размера она должна быть?!
    Или в качестве аргумента только старшие биты используют?
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  18. #77
    Старый знакомый Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    951

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    Кубическим сплайном, например. Примерно 4 МАС на точку. LUT будет не слишком большой. Когда-то прикидывал, но не для аудио.

  19. #78
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,225

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП


    Offтопик:
    Думаю, если INL не сильно кривая, то можно даже линейной интерполяцией между несколькими десятками точек.
    В своих калиброванных сборках после калибровки по DNL ("сшивки" сегментов) я ровнял INL совсем просто: подбором констант для каждого сегмента (примерно по экспоненте). При этом правда страдает DNL, но не сильно.

  20. #79
    Старый знакомый Аватар для Sanny
    Регистрация
    01.07.2010
    Сообщений
    560

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    а при использовании деглитчера можно в i-v поставить ad797?

  21. #80
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,225

    По умолчанию Re: Проектируем деглитчер для параллельного ЦАП

    В моем ЦАП похожий ОУ (LT1468-2 - тоже раскорректированный с малошумящим биполярным входом) работал не очень. Если нужен низкий шум, то лучше использовать OPA1611/211. А лучше всего какой-нить fet ОУ с высокой скоростью нарастания.

    ---------- Сообщение добавлено 17:11 ---------- Предыдущее сообщение было 17:07 ----------

    Вообще, самонаилучший вариант в I/U по скорости будет какой-нить CFB ОУ, типа AD811, но у него относительно высокий входной шум и входное смещение.

Страница 4 из 6 Первая ... 23456 Последняя

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •