реклама на сайте
подробности

 
 
> Измерение интервалов меньше 1нс на FPGA
АБС
сообщение Oct 28 2009, 14:18
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 28-10-09
Пользователь №: 53 261



Доброго времени суток.

Видел на днях висел топик по теме. Сейчас не могу найти. Удалили что-ли.
У меня идентичная задача. Надо мерить длительность импульсов на 5 каналах, оцифровывать
и передавать дальше в цифровом виде. LSB должен быть 1 нс.
Делаю так:
Имею 2 PLL 125МГц. Первый PLL дает 125 МГц и 125МГц сдвинутый на 90 градусов.
Второй PLL - соответственно на 45 и 135 градусов. Итого, после несложных манипуляций имею
8 линий частоты 125 МГц сдвинутых друг относительно друга на 45 градусов.

По приходе входного импульса защелкиваю состояния этих линий в регистр. Далее
декодирую его для получения двоичного кода. В итоге имею LSB 1нс.

Варьируя частоты PLL, впринципе можно опустить это значение до ~358пс.
Все упирается в верхнюю частоту PLL.

Если что могу обьяснить поподробнее.
Вот только у меня проблема. Что будет если защелкивание состояния этих 8-и линий
произойдет по фронту двух из них? (Очевидно что можно попасть или на два фронта или на 0).

Как можно решить такую проблему?
И еще. Чтобы расширить динамический диапазон, есть еще обычный счетчик, который работает от тех же
150 МГц. Как быть с моментом когда счетчик меняет состояние?

Заранее благодарю.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Shtirlits
сообщение Oct 29 2009, 14:12
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



К сожалению, не нашел быстро документ, который содержал наглядные рассчеты MTBF и объяснения.

Помню, что для Virtex-II pro меня устроила схема, при которой сначала всего два расположенных в одном слайсе регистра последовательно перезахватывают сигнал, а затем, выполняется голосование по результатам 3 регистров, тоже недалеко размещенных. Я привел именно такую схему. Размножать сигнал сразу невыгодно, так как увеличивается количество потребителей, что сделает более пологим фронт исходного сигнала и повысит вероятность сбоя. Вот когда уже сигнал "очищен" от метастабильного состояния, можно голосованием выбрать наиболее достоверное значение.
В общем случае, как я считаю, снижение вероятности сбоя выглядит как один сдвиговый регистр на входе, затем ветвление в сколько хочется сдвиговых регистров и после голосование. Чем длиннее регистр, тем меньше вероятность того, что каждый следующий "цапнет" генерацию как раз пока генерирует прошлый. Можно было б понаставить хоть сотню регистров, но площадь растет и задержка набегает. Особенно это неприятно в dual clock FIFO.

Кстати, про FIFO. Применение фирменного компонента dual clock fifo - хорошая отмазка, чтобы самому не думать.
Go to the top of the page
 
+Quote Post
АБС
сообщение Oct 29 2009, 14:40
Сообщение #3





Группа: Участник
Сообщений: 10
Регистрация: 28-10-09
Пользователь №: 53 261



Цитата(Shtirlits @ Oct 29 2009, 17:12) *
К сожалению, не нашел быстро документ, который содержал наглядные рассчеты MTBF и объяснения.

Помню, что для Virtex-II pro меня устроила схема, при которой сначала всего два расположенных в одном слайсе регистра последовательно перезахватывают сигнал, а затем, выполняется голосование по результатам 3 регистров, тоже недалеко размещенных. Я привел именно такую схему. Размножать сигнал сразу невыгодно, так как увеличивается количество потребителей, что сделает более пологим фронт исходного сигнала и повысит вероятность сбоя. Вот когда уже сигнал "очищен" от метастабильного состояния, можно голосованием выбрать наиболее достоверное значение.
В общем случае, как я считаю, снижение вероятности сбоя выглядит как один сдвиговый регистр на входе, затем ветвление в сколько хочется сдвиговых регистров и после голосование. Чем длиннее регистр, тем меньше вероятность того, что каждый следующий "цапнет" генерацию как раз пока генерирует прошлый. Можно было б понаставить хоть сотню регистров, но площадь растет и задержка набегает. Особенно это неприятно в dual clock FIFO.

Кстати, про FIFO. Применение фирменного компонента dual clock fifo - хорошая отмазка, чтобы самому не думать.


Дорогой Shtirlits,
Цитата
Считаю, что это не к добру, так как FPGA проектируются не для этого и специально сконструированные механизмы доставки клока не используются, как результат, точность доставки сигналов от PLL будет хуже возможной. Как не обкладывай их констрейнами, это не поможет.


Так почему же все таки Вы считаете, что механизмы доставки клока в этом случае не используются?
Metastability Report я нашел у Actela. Почитаю.
В аппноте Xilinx исползуется аж 3 последовательных FF.
http://www.xilinx.com/support/documentation/application_notes/xapp861.pdf

A вообще получается, даже если бы я реализовал это на элементах задержки, все равно надо было бы такую же логику делать чтобы избежать метастабильных состояний?
И еще вопрос.
Стоит ли думать о возможном относительном фазовом сдвиге этих двух PLL?

Сообщение отредактировал АБС - Oct 29 2009, 14:56
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- АБС   Измерение интервалов меньше 1нс на FPGA   Oct 28 2009, 14:18
- - Shtirlits   Какая у вас микросхема? Периодические ли сигналы? ...   Oct 28 2009, 15:55
|- - АБС   Цитата(Shtirlits @ Oct 28 2009, 19:55) Ка...   Oct 28 2009, 16:18
|- - DmitryR   Можно, просто для решения означенной вами проблемы...   Oct 28 2009, 18:15
|- - АБС   Цитата(DmitryR @ Oct 28 2009, 21:15) Можн...   Oct 28 2009, 19:39
- - Shtirlits   АБС, я подозреваю вас в том, что вы используете вх...   Oct 28 2009, 22:16
|- - АБС   Цитата(Shtirlits @ Oct 29 2009, 01:16) АБ...   Oct 29 2009, 10:49
|- - lamination   Цитата(Shtirlits @ Oct 29 2009, 01:16) .....   Oct 29 2009, 12:52
- - iosifk   Цитата(АБС @ Oct 28 2009, 18:18) По прихо...   Oct 29 2009, 06:28
|- - DmitryR   Кстати да, оверсэплинг-то делается не так: надо на...   Oct 29 2009, 08:29
|- - Shtirlits   Цитата(АБС @ Oct 29 2009, 17:40) Так поче...   Oct 29 2009, 19:04
|- - DmitryR   Цитата(Shtirlits @ Oct 29 2009, 22:04) Ещ...   Oct 30 2009, 09:39
||- - Shtirlits   Цитата(DmitryR @ Oct 30 2009, 12:39) На с...   Oct 30 2009, 09:41
||- - DmitryR   На мой взгляд задача измерения интервала сводится ...   Oct 30 2009, 10:33
|- - АБС   Цитата(Shtirlits @ Oct 29 2009, 22:04) Кс...   Oct 30 2009, 12:02
|- - Shtirlits   Цитата(АБС @ Oct 30 2009, 15:02) А. Можно...   Oct 30 2009, 13:40
|- - АБС   Получается что работать с двумя PLL для такой зада...   Oct 30 2009, 14:49
|- - Shtirlits   Цитата(АБС @ Oct 30 2009, 17:49) Получает...   Oct 30 2009, 15:11
|- - АБС   Цитата(Shtirlits @ Oct 30 2009, 18:11) Пр...   Oct 30 2009, 15:56
|- - Shtirlits   Цитата(АБС @ Oct 30 2009, 18:56) ...два П...   Oct 30 2009, 16:43
|- - АБС   Цитата(Shtirlits @ Oct 30 2009, 19:43) На...   Oct 30 2009, 17:28
|- - DmitryR   А чем вас точность в 200 ps не устраивает?   Oct 30 2009, 18:15
|- - АБС   Цитата(DmitryR @ Oct 30 2009, 21:15) А че...   Nov 4 2009, 12:17
- - lamination   Цитата(Shtirlits @ Oct 29 2009, 17:12) К ...   Oct 29 2009, 16:20


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd September 2025 - 21:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01402 секунд с 7
ELECTRONIX ©2004-2016