Перейти к содержанию
    

Добрый день, коллеги! Возникла задача точно выровнять по фазе внешние тактовые сигналы, на плис приходят 2 lvds сигнала, источник сигнала может двигать фазу через 0.3 ps. Вот думаю сделать на плис фазовый детектор на лог. вентилях, вывести разность на выход, далее аналоговый фильтр и на вход XADC. Ну или эту разность на вход триггера и сработает или нет. Какую реально точность выравнивания фазы можно получить? Может кто уже делал или app note встречал?

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


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

22 minutes ago, dmitry-tomsk said:

Добрый день, коллеги! Возникла задача точно выровнять по фазе внешние тактовые сигналы, на плис приходят 2 lvds сигнала, источник сигнала может двигать фазу через 0.3 ps. Вот думаю сделать на плис фазовый детектор на лог. вентилях, вывести разность на выход, далее аналоговый фильтр и на вход XADC. Ну или эту разность на вход триггера и сработает или нет. Какую реально точность выравнивания фазы можно получить? Может кто уже делал или app note встречал?

Мне кажется, что доли пс при работе через плис точно не светят. Все съедят искажения внутри плис и на портах ввода-вывода. Даже если на чистой логике попытаться сделать. Может, конечно, заблуждаюсь.

Реально делали подстройку фазы с шагом 3.125 нс. На Артиксе7, там у него есть скоростная ячейка (SLR, вроде бы). Брали примитив от Хилых и работали с ним.

Если взять что-то пожирнее, ultrascale+, например, наверное можно и 2-1.5 нс попробовать получить. Но единицы (да даже десятки) пс - звучит фантастичности.

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


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

3 minutes ago, nice_vladi said:

Мне кажется, что доли пс при работе через плис точно не светят. Все съедят искажения внутри плис и на портах ввода-вывода. Даже если на чистой логике попытаться сделать. Может, конечно, заблуждаюсь.

Реально делали подстройку фазы с шагом 3.125 нс. На Артиксе7, там у него есть скоростная ячейка (SLR, вроде бы). Брали примитив от Хилых и работали с ним.

Если взять что-то пожирнее, ultrascale+, например, наверное можно и 2-1.5 нс попробовать получить. Но единицы (да даже десятки) пс - звучит фантастичности.

С двумя idelay на диф входе можно и на артиксе 200 ps сделать, но это много для моей задачи

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


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

На мой достаточно дилетантский взгляд фазовое детектирование можно увеличивать практически до бесконечности. Вопрос в данных, сколько они длятся. Если длинна каждого бита наносекунда и менее, тогда можно и не пробовать (разве что как-то подстраивать гигабитные трансиверы). Если данные висят до десятков нан, тогда можно определить фазирование запросто до 400-200 ps и немного заморочившись до 1-0.5 ps. Тут ещё важный момент, какой допустимый оффсет для получения результата.

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


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

7 minutes ago, Nick_K said:

На мой достаточно дилетантский взгляд фазовое детектирование можно увеличивать практически до бесконечности. Вопрос в данных, сколько они длятся. Если длинна каждого бита наносекунда и менее, тогда можно и не пробовать (разве что как-то подстраивать гигабитные трансиверы). Если данные висят до десятков нан, тогда можно определить фазирование запросто до 400-200 ps и немного заморочившись до 1-0.5 ps. Тут ещё важный момент, какой допустимый оффсет для получения результата.

Частота 100 Мгц. Здесь частота одинаковая точно (от одного источника), то есть оффсет и нужно убрать (схема компенсации задержки в кабеле).

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


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

2 hours ago, dmitry-tomsk said:

Какую реально точность выравнивания фазы можно получить? Может кто уже делал или app note встречал?

Есть xapp523, но она для Kintex'ов и в ds182 пишут, что в Kintex'ах IDELAY/ODELAY chain resolution = 39 to 78 [ps].

Для Artix UltraScale+ в ds931 пишут, что IDELAY/ODELAY chain resolution = 2.1 to 12 [ps].

Так что и на Artix UltraScale+ ошибку меньше 2 ps на IDELAY/ODELAY chain не сделать.

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


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

Если вы боретесь за единицы ps, то вам надо учитывать задержку между lvds+ и lvds- контактами. Файл с задержками корпуса (в пикосекундах) можно получить в Vivado для своей плис без проекта, файл экспортируется в csv формат.  

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


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

13 часов назад, dmitry-tomsk сказал:

на плис приходят 2 lvds сигнала

12 часов назад, dmitry-tomsk сказал:

частота одинаковая точно (от одного источника), то есть оффсет и нужно убрать (схема компенсации задержки в кабеле)

Т.е. один сигнал идёт по разной длины кабелям, которые подключены к одной и той же ПЛИС — может имеется ввиду измерить фазу? А то ведь получается абсурд.

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


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

1 hour ago, Plain said:

Т.е. один сигнал идёт по разной длины кабелям, которые подключены к одной и той же ПЛИС — может имеется ввиду измерить фазу? А то ведь получается абсурд.

Сделать разность фаз равной нулю. В случае с фазовым детектором подгоняют частоту и смещение фазы (терминология). У меня 16 плат тактируются звездой через одинаковые кабели, а одна - этот сигнал выдаёт, то есть на 15 всё хорошо, а на главной фаза не та. Обраткой по тому же кабелю решил завести сигнал с общего буфера и подогнать его фазу (ставить генератор на общей плате не удобно для пользователей).

13 hours ago, blackfin said:

Есть xapp523, но она для Kintex'ов и в ds182 пишут, что в Kintex'ах IDELAY/ODELAY chain resolution = 39 to 78 [ps].

Для Artix UltraScale+ в ds931 пишут, что IDELAY/ODELAY chain resolution = 2.1 to 12 [ps].

Так что и на Artix UltraScale+ ошибку меньше 2 ps на IDELAY/ODELAY chain не сделать.

Можно настроить idelay в диф ячейке (там две idelay) чтобы разность была в один tap и ловить там переход, а можно просто двигать фазу подгоняемого сигнала и ловить фрон триггером. Вот и интересно, какая точность будет. Либо классика - фазовый детектор, фильтр, ацп. Думаю 10-20 ps меня бы устроило, это генератор частоты позволяет двигать фазу через 0.3 ps

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


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

35 минут назад, dmitry-tomsk сказал:

16 плат тактируются звездой через одинаковые кабели, а одна - этот сигнал выдаёт, то есть на 15 всё хорошо, а на главной фаза не та. Обраткой по тому же кабелю решил завести сигнал с общего буфера и подогнать его фазу

Зачем? Если одинаковых кабелей 17 шт., то фаза у всех 16-ти принятых сигналов одна.

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


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

15 minutes ago, Plain said:

Зачем? Если одинаковых кабелей 17 шт., то фаза у всех 16-ти принятых сигналов одна.

не одна, источник на главной плате тактирует ацп без задержек, а на 15 с одинаковой задержкой кабель - буфер - кабель (20 ps max).

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


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

20 минут назад, dmitry-tomsk сказал:

не одна, источник на главной плате тактирует ацп без задержек, а на 15 с одинаковой задержкой кабель - буфер - кабель

Что мешает тактовать все 16 шт. АЦП на всех платах одинаково, т.е. от внешнего сигнала?

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


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

16 часов назад, dmitry-tomsk сказал:

Какую реально точность выравнивания фазы можно получить? Может кто уже делал или app note встречал?

Вот описание того как детектируют положение фронта. Но там речь про сотни ps а не доли ps.... Боюсь плис и доли ps вещи не совместимые.

https://www.xilinx.com/support/documentation/white_papers/wp249.pdf

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


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

Я в свое время писал модуль калибровки на центр валидного окна данных. https://electronix.ru/forum/applications/core/interface/file/attachment.php?id=127214

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

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...