Страница 6 из 7 Первая ... 4567 Последняя
Показано с 101 по 120 из 121

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

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

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

    Несколько лет назад (ох уже 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. #101
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    3,808

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

    Так моя схема на скрине выше - это она и есть. Из того что пробовал понравилась больше всего.

  3. #102
    Новичок Аватар для Montix
    Регистрация
    09.01.2022
    Сообщений
    43

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

    Я где-то читал, что дополнительно на FPGA можно реализовать алгоритм DPD (Digital predistortion) с обратной связью с выхода для дополнительного уменьшения глитча.

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

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

    Можно.
    И не только глитча, но и любые другие нелинейности. С помощью ООС ноиз-шейпера.

  5. #104
    Новичок Аватар для Montix
    Регистрация
    09.01.2022
    Сообщений
    43

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

    Такой деглитчер инвертирует сигнал. Означает ли это, что я должен снова инвертировать сигнал - возможно, в LPF или ранее в FPGA? Чтобы на вход усилителя для наушников шел неинвертированный сигнал.

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

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

    Да сигнал много чего может инвертировать. Обычно кому надо "правильная" фаза - меняют местами клеммы акустического кабеля.
    Для наушников можно и в цифре проинвертировать. Но FPGA для этого не обязательна, достаточно проинвертировать в любом удобном месте цифровой сигнал данных.
    Последний раз редактировалось dortonyan; 22.03.2023 в 17:02.

  7. #106
    Новичок Аватар для Montix
    Регистрация
    09.01.2022
    Сообщений
    43

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

    Алексей, подскажите пожалуйста, постоянная времени деглитчера 1.2кОм * 100пФ = 0.12 мкс. Достаточно ли этого времени для зарядки деглитчера в состоянии SAMPLE? Для ЦАП время установления = 1 микросекунда. Скорость WCK, LTCH составляет 768 кГц (4x192) - т.е. 1,302 микросекунды. Можно ли преобразовать сигнал деглитера DG в соотношение 1 мкс - HOLD и 0,302 мкс - SAMPLE? Будет ли это работать корректно? Текущая ситуация позволяет установить соотношение HOLD/SAMPLE максимум на 59 процентов (DGH_MODE = 11). т.е. 0,78 мкс - HOLD и 0,52 мкс - SAMPLE.

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

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

    Цитата Сообщение от Montix Посмотреть сообщение
    Алексей, подскажите пожалуйста, постоянная времени деглитчера 1.2кОм * 100пФ = 0.12 мкс.
    Если в делителе ООС резисторы по 1,2к, то RC будет 600 Ом на 100пик (резисторы считаются как включенные в параллель).
    На практике проверено, что для 768к такое соотношение работает без проблем. У меня с такими номиналами деглитчер работал даже на 1536к, но там уже чувствуется что скорости выборки не хватает.

    Цитата Сообщение от Montix Посмотреть сообщение
    Можно ли преобразовать сигнал деглитера DG в соотношение 1 мкс - HOLD и 0,302 мкс - SAMPLE?
    В этом проекте примерно такое же соотношение оказалось оптимальным.

    Цитата Сообщение от Montix Посмотреть сообщение
    Текущая ситуация позволяет установить соотношение HOLD/SAMPLE максимум на 59 процентов (DGH_MODE = 11). т.е. 0,78 мкс - HOLD и 0,52 мкс - SAMPLE.
    Для проекта по ссылке выше я допиливал модуль вывода в своем проекте ЦФ, чтобы обеспечить нужный диапазон деглитчера. Какой будет оптимальным - нужно проверять на практике под конкретный ЦАП.
    Но в любом случае, даже с неоптимальными таймингами деглитчер заметно снижает нелинейности.

  9. #108
    Старый знакомый Аватар для Alto
    Регистрация
    14.01.2020
    Адрес
    Подмосковье
    Возраст
    51
    Сообщений
    799

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

    Цитата Сообщение от dortonyan Посмотреть сообщение
    сли в делителе ООС резисторы по 1,2к, то RC будет 600 Ом на 100пик (резисторы считаются как включенные в параллель).
    На практике проверено, что для 768к такое соотношение работает без проблем. У меня с такими номиналами деглитчер работал даже на 1536к, но там уже чувствуется что скорости выборки не хватает.
    Эх. Денег нет. вот об этом и спорим.

  10. #109
    Новичок Аватар для Montix
    Регистрация
    09.01.2022
    Сообщений
    43

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

    Цитата Сообщение от dortonyan Посмотреть сообщение
    В этом проекте примерно такое же соотношение оказалось оптимальным.
    Большое спасибо за советы и ссылку. Это именно то, что я искал.

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

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

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

  12. #111
    Новичок Аватар для Montix
    Регистрация
    09.01.2022
    Сообщений
    43

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

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Попробовал замакетить такой вариант на своем ЦАП с УВХ. Заземлил отрицательное питание ключа и закоротил разделительную емкость. Оказалось также отлично работает: роста искажений не наблюдается, а схема сильно проще.
    Интересно, попробую, когда будет время. На практике я стараюсь придерживаться спецификации в даташите, чтобы не быть неприятно удивленным во время реализации.
    И на каких ключах пробовалось?

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

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

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

    Цитата Сообщение от Montix Посмотреть сообщение
    И на каких ключах пробовалось?
    TS5A63157. Но думаю какие именно не принципиально, то же самое должно быть и на других.

  14. #113
    Частый гость Аватар для medium
    Регистрация
    01.07.2013
    Сообщений
    104

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

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

Название:	SH simple.JPG 
Просмотров:	104 
Размер:	670.3 Кб 
ID:	465806
    Т. к. питание однополярное, то я полагаю, что разделительную ёмкость перед ключами закорачиваем, диоды смещения, наверное, тоже не нужны, как и подтягивающий резистор?

    Есть ли смысл ставить развязывающие резисторы между ключами и выходом триггера пересинхронизации (R4, R5, R11, R12)? Как и между входами триггера и выходом DG ЦФ (R13) и выходом генератора (R14)?

    Исходя из чего выбираются величины сопротивления резисторов, которые последовательно с Cн (R8, R9)? Для развязки выхода ОУ от емкостной нагрузки?

    Возможно, придётся поменять местами входы + и – ОУ УВХ.

    Скорей всего ещё и накосячил где-нибудь в схеме

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

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

    medium, по схеме ключей...
    Все верно, только полярность ключей перепутана: у 5813 режим хранения - 0, выборки - 1. Нужно либо поменять местами 1 и 3 пины на ключах, либо применить триггер реклока с инверсным выходом.
    А еще неплохо предусмотреть схему фиксации УВХ в режим постоянной выборки, чтобы можно было на ходу отключать УВХ и сравнивать работу с деглитчером и без.

    Сигнальные земли нарисованы правильно. Только на плате сводить земли звездой на выходном разъеме нужно будет не дорожками, а общим полигоном (с небольшими вырезами).
    На сдвоенном ОУ трассировать такое будет неудобно. Можно для ФНЧ использовать одиночные ОУ (например 5534).
    Питание генераторов и ключей можно сделать общим, т.к. там везде стационарные сигналы. Локальных емкостей для развязки друг от друга хватит, главное линии питания брать с выходной емкости стабилизатора.

    Цитата Сообщение от medium Посмотреть сообщение
    Есть ли смысл ставить развязывающие резисторы между ключами и выходом триггера пересинхронизации (R4, R5, R11, R12)? Как и между входами триггера и выходом DG ЦФ (R13) и выходом генератора (R14)?
    Последовательные резисторы в сигналах очень желательны, и номиналом в сотню ом минимум. Только R4/R5 можно заменить одним общим (объединить 6-е пины ключей).

    Т.к. тактовая частота небольшая, то задержка на триггере получается существенная. Поэтому 125-ый вентиль лучше заменить на XOR, который будет работать управляемым инвертором. И с него завести клок на ЦФ.
    А на триггер - взять клок непосредственно с инвертора генератора.
    Либо к данной схеме добавить XOR вентиль на тактовый вход ЦФ.
    Ну и лучше заменить автогенератор на инверторе нормальным интегральным (а еще лучше - парой, на обе сетки частот). Генераторы на 512Fs сейчас вроде не дефицит.

    Цитата Сообщение от medium Посмотреть сообщение
    Исходя из чего выбираются величины сопротивления резисторов, которые последовательно с Cн (R8, R9)? Для развязки выхода ОУ от емкостной нагрузки?
    Да, развязывают выход ОУ. Номинал не критичен: 20..47 Ом сойдет. То же самое в каскаде I/U.
    Величина емкости хранения в 47 пик маловато. Лучше не меньше сотни пик с уменьшением резисторов до 1к: будет ниже шум, а заодно унификация с С2/С3.
    И сами емкости желательны поточнее, т.к. от точности зависит вычитание глитча и выходного смещения.
    1000 пик в ООС ОУ I/U - наоборот много. Т.к. схема с УВХ, то каскад I/U должен быть максимально быстрым. Можно даже ТОС ОУ использовать (без емкости вообще).

    Цитата Сообщение от medium Посмотреть сообщение
    Возможно, придётся поменять местами входы + и – ОУ УВХ.
    Менять нельзя. Такая схема работоспособна только в инверсном включении ОУ.
    Если очень хочется сохранить фазу сигнала, то можно инвертировать цифровой сигнал данных по входу или выходу ЦФ.

  16. #115
    Частый гость Аватар для medium
    Регистрация
    01.07.2013
    Сообщений
    104

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

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Т.к. тактовая частота небольшая, то задержка на триггере получается существенная.
    ...к данной схеме добавить XOR вентиль на тактовый вход ЦФ.
    dortonyan, Вы могли бы на схемке дорисовать, что Вы имели в виду?
    Нажмите на изображение для увеличения. 

Название:	Timing.JPG 
Просмотров:	47 
Размер:	107.4 Кб 
ID:	465819

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Величина емкости хранения в 47 пик маловато. Лучше не меньше сотни пик с уменьшением резисторов до 1к: будет ниже шум
    Хотелось бы поменьше нагружать ОРА1656. В 16 битные сигналы с CD может быть не будет заметного вклада по шумам?

    А как определяется величина ёмкости Сн (например, С5), если заданы номиналы R6 и R10? Экспериментально?

    Если я правильно понимаю, то вся эта схема в целом псевдодифференциальная? Тогда ОУ УВХ тут работает как вычитатель. И в таком случае должна учитываться способность этого ОУ работать без искажений с синфазным сигналом. И тогда, например, AD8065, который по моим измерениям, получше работает с низкоомной нагрузкой, чем ОРА1656, но при этом заметно искажает при работе с синфазным сигналом, сюда не годится? Или тут всё-таки нет синфазки?


    Цитата Сообщение от dortonyan Посмотреть сообщение
    1000 пик в ООС ОУ I/U - наоборот много. Т.к. схема с УВХ, то каскад I/U должен быть максимально быстрым.
    Ёмкость 1000 пФ изначально была в первом звене восстанавливающего ФНЧ. С меньшим номиналом она эту функцию выполнять уже не будет. А из каких соображений следует подбирать номинал этого конденсатора в данном случае? Для источника с Fs=44,1 кГц и 8 кратной передискретизацией 68 пФ будет нормально?

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

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

    Цитата Сообщение от medium Посмотреть сообщение
    Вы могли бы на схемке дорисовать, что Вы имели в виду?
    Нажмите на изображение для увеличения. 

Название:	Timing.JPG 
Просмотров:	74 
Размер:	126.1 Кб 
ID:	465820

    Цитата Сообщение от medium Посмотреть сообщение
    Хотелось бы поменьше нагружать ОРА1656.
    У 1656 выход довольно мощный, 1к для него вообще не нагрузка.

    Цитата Сообщение от medium Посмотреть сообщение
    А как определяется величина ёмкости Сн (например, С5), если заданы номиналы R6 и R10? Экспериментально?
    R6 в параллель с R10 и С5 образуют RC цепочку. Соотношение цепочки выбирается таким, чтобы УВХ успевало устанавливаться за период выборки.
    Эмпирически 500 Ом (два резистора по 1к) + 100пФ позволяются работать до х32 оверсемплинга.
    Для х8 оверсемплинга в принципе можно сопротивления смело увеличить вдвое при той же емкости.

    Цитата Сообщение от medium Посмотреть сообщение
    Если я правильно понимаю, то вся эта схема в целом псевдодифференциальная? Тогда ОУ УВХ тут работает как вычитатель.
    Верно. Только не "псевдо", а просто дифференциальная.
    Псевдо - это обозначение для выхода ЦАП, приемник сигнала всегда "истинно" дифференциальный.

    Цитата Сообщение от medium Посмотреть сообщение
    И в таком случае должна учитываться способность этого ОУ работать без искажений с синфазным сигналом. И тогда, например, AD8065, который по моим измерениям, получше работает с низкоомной нагрузкой, чем ОРА1656, но при этом заметно искажает при работе с синфазным сигналом, сюда не годится? Или тут всё-таки нет синфазки?
    Нету конечно, у ОУ же "+" вход подтянут к земле. Соот-но ОУ можно использовать любой, лишь бы динамическая линейность входа была получше. Мне в этом каскаде понравились LM6171 и LM318. У последнего правда выход совсем "дохлый" и смещение по входам большое.
    На счет более мощного выхода в 8065 не знаю, но вход у него должен быть получше, чем у 1656. Еще лучше будут новые техасовские OPA810, или OPA828.

    Цитата Сообщение от medium Посмотреть сообщение
    Ёмкость 1000 пФ изначально была в первом звене восстанавливающего ФНЧ. С меньшим номиналом она эту функцию выполнять уже не будет. А из каких соображений следует подбирать номинал этого конденсатора в данном случае? Для источника с Fs=44,1 кГц и 8 кратной передискретизацией 68 пФ будет нормально?
    Так перед УВХ не должно быть ФНЧ. Емкость должна быть минимальная, и подбираться так, чтобы обеспечить минимальное время сеттлинга ОУ. Чтобы глитч не интегрировался, а "устаканивался" за минимальное время.
    Конкретный номинал зависит от выбранного ОУ и от трассировки (от паразитных LC номиналов на пинах ОУ). Для ТОС ОУ он вообще не нужен.

    Цитата Сообщение от medium Посмотреть сообщение
    Для источника с Fs=44,1 кГц и 8 кратной передискретизацией 68 пФ будет нормально?
    Да, где-то так. Для начального варианта сойдет, а потом, если будет желание, можно по факту подобрать точнее.
    Последний раз редактировалось dortonyan; 03.01.2025 в 23:08.

  18. #117
    Частый гость Аватар для medium
    Регистрация
    01.07.2013
    Сообщений
    104

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

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Нажмите на изображение для увеличения. 

Название:	Timing.JPG 
Просмотров:	74 
Размер:	126.1 Кб 
ID:	465820
    А управляемый инвертор на XOR-вентиле мы активируем/деактивируем с целью проверить влияние инверсии сигнала с генератора на ЦФ? Если возникнет потребность в инверсии, то можно вместо XOR постоянно поставить обычный инвертор?

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

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

    Цитата Сообщение от medium Посмотреть сообщение
    А управляемый инвертор на XOR-вентиле мы активируем/деактивируем с целью проверить влияние инверсии сигнала с генератора на ЦФ?
    Проверять ничего не надо. Инверсия - это сдвиг клока на 0,5 периода.
    Соот-но инверсия будет сдвигать сигнал на входе триггера относительно тактового клока на пол периода. Просто дополнительная опция на случай, если понадобится подвинуть фронты сигналов относительно сигнала на выходе триггера.

  20. #119
    Частый гость Аватар для medium
    Регистрация
    01.07.2013
    Сообщений
    104

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

    dortonyan, спасибо за подсказки!

  21. #120
    Завсегдатай Аватар для Elms
    Регистрация
    21.12.2008
    Адрес
    Москва
    Возраст
    57
    Сообщений
    3,505

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

    Какие ещё ключи можно применить? Может быть существуют сдвоенные, счетверённые? Возможно даже в дип-исполнении.

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

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

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

Ваши права

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