Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Субнаносекундный измеритель временных интервалов на ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
MIX@
Доброго времени суток!

Необходимо с очень высокой точностью (разрешение - 100 ps) померить разность фаз между двумя прямоугольными 5Мгц сигналами. Фактически, фазовый детектор для ФАПЧа.

Понятно, что в лоб (счётчик, работающий на высокой частоте) такую задачу не решить, т.к. период 100 пс соответствует 10GHz сигналу. Даже если использовать хак - 8 счётчиков от частот, сдвинутых на 45 градусов относительно друг друга, с последующим их сложением (усреднением) - понадобится клок на 1,25 GHz.

Есть мнения - возможно ли в принципе решить такую задачу целиком в ПЛИС?

Заранее спасибо.
rx3apf
Вряд ли. Внешние компоненты все равно потребуются. Можно попробовать через преобразование время-напряжение и оцифровать (300 ps получали), или через заряд-разряд конденсатора.
MIX@
Цитата(rx3apf @ May 23 2013, 17:30) *
Вряд ли. Внешние компоненты все равно потребуются. Можно попробовать через преобразование время-напряжение и оцифровать (300 ps получали), или через заряд-разряд конденсатора.


Преобразователь время-напряжение делали на рассыпухе или брали готовый чип?

У меня возникла идея - сделать линию задержки внутри плис на защёлках или LCELLах. Или задержка лутов/защёлок в LE заведомо больше 100пс?
_pv
http://lmgtfy.com/?q=fpga+tdc
crono
Посмотрите вот на эту мелкосхему. Точность измерения 13 ps.
rudy_b
Можно использовать собственные задержки элементов ПЛИС, которые намного меньше наносекунды и достаточно стабильны. Думаю, что на быстрой детали 100 пс отожмете.
Gate
Или вот эту http://www.acam-usa.com/GPX.html
Petr_I
Возможно. Делается на линии задержки и цепочки из триггеров. В гугле полно статей на эту тему, даже примеры есть.
Но на практике это жуткий гемрой.
На спец микросхеме проще и сильно дешевле.
Lmx2315
может эта тема натолкнёт на что-то дельное - http://electronix.ru/forum/lofiversion/ind...hp/t111164.html
з.ы.
а то - линии задержки, ну ну .
_Anatoliy
Если частоты одинаковые - оцифровать(АЦП),перемножить(ПЛИС),фазовым детектором от DPLL получить разность фаз(ПЛИС),отфильтровать(ПЛИС).Фактически перемножитель и есть ФД.Подумайте.
rx3apf
Цитата(MIX@ @ May 23 2013, 17:39) *
Преобразователь время-напряжение делали на рассыпухе или брали готовый чип?

Я сам этим не занимался. Посмотрите темы http://www.cqham.ru/forum/showthread.php?t=20109
и http://www.cqham.ru/forum/showthread.php?t=21028 (посты от Леонида Ивановича).
alexadmin
Цитата(MIX@ @ May 23 2013, 17:12) *
Доброго времени суток!

Необходимо с очень высокой точностью (разрешение - 100 ps) померить разность фаз между двумя прямоугольными 5Мгц сигналами. Фактически, фазовый детектор для ФАПЧа.


Еще можно для этих целей встроенный трансивер на 10 Гбит использовать. Но, боюсь, стоимость вам не понравится...

PS Хотя самый дешевый кинтекс7 по 150$ обещают. Не так и дорого wink.gif
MIX@
Всем спасибо за советы.
Предварительно принято решение использовать TDC чип THS788 от TI. За наводку отдельное спасибо crono.
Единственная досада - нету evolution board на этой мелкосхеме. Хотелось бы для провести натурный эксперимент и точно понять насколько она нам подходит. Если кто-то располагает информацией об отладке - отпишитесь.

P.S. Кстати, в инете действительно много информации по созданию пикосекундных интервалометров на ПЛИС. В основном, делается на цифровой линии задержки. И как я понял, основная проблема - это калибровка, чтобы минимизировать зависимость от температуры и напряжения. Если кто занимался этой проблемой - скиньте посмотреть более менее вменяемые материалы, для общего развития. Спасибо.
Bad0512
Цитата(MIX@ @ May 28 2013, 19:42) *
Всем спасибо за советы.
P.S. Кстати, в инете действительно много информации по созданию пикосекундных интервалометров на ПЛИС. В основном, делается на цифровой линии задержки. И как я понял, основная проблема - это калибровка, чтобы минимизировать зависимость от температуры и напряжения.

В этом как раз и есть главное отличие радиолюбительской поделки от промышленного устройства - повторяемость результата во всём температурном диапазоне и в больших партиях устройств. Что-то намерять конечно можно и на ПЛИС, но вот доверять этому - вряд ли.

P.S. ИМХО вы правильной дорогой движетесь.

Lmx2315
QUOTE (MIX@ @ May 23 2013, 17:12) *
Доброго времени суток!

Необходимо с очень высокой точностью (разрешение - 100 ps) померить разность фаз между двумя прямоугольными 5Мгц сигналами. Фактически, фазовый детектор для ФАПЧа.

Понятно, что в лоб (счётчик, работающий на высокой частоте) такую задачу не решить, т.к. период 100 пс соответствует 10GHz сигналу. Даже если использовать хак - 8 счётчиков от частот, сдвинутых на 45 градусов относительно друг друга, с последующим их сложением (усреднением) - понадобится клок на 1,25 GHz.

Есть мнения - возможно ли в принципе решить такую задачу целиком в ПЛИС?



..объясните мне, почему нельзя поделить два прямоугольных сигнала частотой 5 мгц , в 1.048.576 раз (двадцать делителей на два) и не измерить в ПЛИС разность фаз уже у остатков от деления? А потом учесть в результате кратность ?
т.с. во времени ведь не особо ограничен? Если будете измерять задержку 100 МГц частотой - точность будет достаточная.
Просто по логике - любой сигнал можно бесконечно точно измерить за бесконечно большое время измерения.
Bad0512
Цитата(Lmx2315 @ May 28 2013, 21:42) *
..объясните мне, почему нельзя поделить два прямоугольных сигнала частотой 5 мгц , в 1.048.576 раз (двадцать делителей на два) и не измерить в ПЛИС разность фаз уже у остатков от деления? А потом учесть в результате кратность ?
т.с. во времени ведь не особо ограничен? Если будете измерять задержку 100 МГц частотой - точность будет достаточная.
Просто по логике - любой сигнал можно бесконечно точно измерить за бесконечно большое время измерения.

Можно, но вы получите усреднённую величину на периоде в 200мс. Это немного не то же самое, что мнгновенный фазовый сдвиг. Хуже всего, что у такой схемы есть большая задержка, что неприемлемо в петле ФАПЧ если нужна не слишком узкая петля.
Lmx2315
QUOTE (Bad0512 @ May 28 2013, 19:15) *
Можно, но вы получите усреднённую величину на периоде в 200мс. Это немного не то же самое, что мнгновенный фазовый сдвиг. Хуже всего, что у такой схемы есть большая задержка, что неприемлемо в петле ФАПЧ если нужна не слишком узкая петля.

..при таком делении сигналов, их разность фаз не меняется никак(максимум растёт джиттер фронтов). А про полосу петли ФАПЧ т.с. ничего не упоминал.
winipuh
Цитата(Lmx2315 @ May 28 2013, 18:42) *
..объясните мне, почему нельзя поделить два прямоугольных сигнала частотой 5 мгц , в 1.048.576 раз (двадцать делителей на два) и не измерить в ПЛИС разность фаз уже у остатков от деления? А потом учесть в результате кратность ?
т.с. во времени ведь не особо ограничен? Если будете измерять задержку 100 МГц частотой - точность будет достаточная.
Просто по логике - любой сигнал можно бесконечно точно измерить за бесконечно большое время измерения.

Думаю топикстартер про ФАПЧ просто так упомянул. rolleyes.gif
Я вот тему тут одну поднимал. Думаю задача похожая.
Если клоки синхронные (грубо говоря, частота у каждого ровно 5 MHz), но у них имеется сдвиг друг относительно друга, скажем, на 100 ps (пёс с ним, с джиттером), то делением частоты это никак не померить. sm.gif
Lmx2315
QUOTE (winipuh @ May 28 2013, 21:19) *
Если клоки синхронные (грубо говоря, частота у каждого ровно 5 MHz), но у них имеется сдвиг друг относительно друга, скажем, на 100 ps (пёс с ним, с джиттером), то делением частоты это никак не померить. sm.gif


..ох, 100 пс - это 0.2 градуса фазы 5 мгц , если поделить в мильён раз то получим два 5 гц сигнала сдвинутых друг относительно друга на те же 0.2 градуса. Только теперь 0.2 градуса - это уже 100 мкс - которые не тяжело померить хоть 1 МГц сигналом.
winipuh
Цитата(_Anatoliy @ May 24 2013, 14:09) *
Если частоты одинаковые - оцифровать(АЦП),перемножить(ПЛИС),фазовым детектором от DPLL получить разность фаз(ПЛИС),отфильтровать(ПЛИС).Фактически перемножитель и есть ФД.Подумайте.

Интересная мысль! sm.gif Не могли бы Вы ее развить?
Вот попутно вопросы. А если сигналы прямоугольные (меандр) - с какой частотой оцифровывать? Как фильтровать перед АЦП? Можно ли (в теории) измерять, выделяя и оцифровывая первую гармонику?


Цитата(Lmx2315 @ May 28 2013, 21:28) *
..ох, 100 пс - это 0.2 градуса фазы 5 мгц , если поделить в мильён раз то получим два 5 гц сигнала сдвинутых друг относительно друга на те же 0.2 градуса. Только теперь 0.2 градуса - это уже 100 мкс - которые не тяжело померить хоть 1 МГц сигналом.

Не согласен
Нажмите для просмотра прикрепленного файла

P.S. На мильон как-то влом делить. Уж извините. Поделил на 8. sm.gif
Lmx2315
QUOTE (winipuh @ May 28 2013, 21:54) *
P.S. На мильон как-то влом делить. Уж извините. Поделил на 8. sm.gif

..да, это я глупость сморозил, извиняюсь перед участниками дискуссии.
_pv
сколько времени есть на измерение этого фазового сдвига,
надо успеть за один период 200нс, или можно долго усреднять?
а то может просто xor, причём даже на просто быстрой кмоп логике,(при этом наверное один сигнал фиксированно немного задержать чтобы около нуля не работать или просто синвертировать), потом простой фильтр и небыстрый сигма-дельта АЦП, который от этих же 5 МГц и затактировать.
_Anatoliy
Цитата(winipuh @ May 28 2013, 19:54) *
Интересная мысль! sm.gif Не могли бы Вы ее развить?
Вот попутно вопросы. А если сигналы прямоугольные (меандр) - с какой частотой оцифровывать? Как фильтровать перед АЦП? Можно ли (в теории) измерять, выделяя и оцифровывая первую гармонику?

Вы правы,АЦП и меандр не очень дружат. Я в своём DPLL на один вход перемножителя подаю опору (1,1,-1,-1) , а на другой вход входной синус (4 отсчёта на период). Рекомендую сначала просчитать параметры для обеспечения нужного разрешения(ну или модельку в матлабе сделать).
st232bd
Цитата
.да, это я глупость сморозил, извиняюсь перед участниками дискуссии.

Разность фаз сохраняется не при делении а при гетеродинировании, с данной поправкой идея вполне реальна. Самый интересный вопрос - нужна точность 100 пС или разрешение. В первом случае вам нужно проанализировать пути обоих сигналов, задержки и их дрейфы. Я бы еще это устройство из измерителя интервалов в фазометр переименовал, а потом погуглил. Наверняка что-то типа логический элемент-фильтр-АЦП нагуглится.
dvladim
Можно попробовать с помощью PLL в ПЛИС:
PLL цепляете от первого входа, выход PLL сравниваете со вторым.
Суть в том, что при динамической перестройке фазы в PLL шаг = 1/8 Fvco т.е. около 60-120 пс.
Считая количество шагов при формировании выходного клока PLL вы знаете сдвиг фаз между первым входом и выходом PLL.
И так до тех пор пока выход PLL будет совпадать со вторым входных сигналом.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.