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

 
 
> Измерение интервалов меньше 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 28 2009, 15:55
Сообщение #2


Знающий
****

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



Какая у вас микросхема?
Периодические ли сигналы?
Чем обеспечивается крутизна фронтов входных сигналов и отсутствие иголок?
Может стоит наоборот, захватывать 5 входных сигналов по 8 клокам, а затем для обеспечения таймингов последовательно передавать от фазы к фазе захваченные сигналы, пока не дойдете до клока основной части схемы?
Как вы обходитесь с метастабильностью?
Посмотрите на gray code.
Go to the top of the page
 
+Quote Post
АБС
сообщение Oct 28 2009, 16:18
Сообщение #3





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



Цитата(Shtirlits @ Oct 28 2009, 19:55) *
Какая у вас микросхема?
Периодические ли сигналы?
Чем обеспечивается крутизна фронтов входных сигналов и отсутствие иголок?
Может стоит наоборот, захватывать 5 входных сигналов по 8 клокам, а затем для обеспечения таймингов последовательно передавать от фазы к фазе захваченные сигналы, пока не дойдете до клока основной части схемы?
Как вы обходитесь с метастабильностью?
Посмотрите на gray code.


По порядку.
Микросхема Actel ProASIC3.
Сигналы случайные, порядка 50 кГц на канал.
Крутизна и отсутствие иголок обеспечивается стоящим перед FPGA shaper/discriminator-ом.
Насчет "может стоит наоборот...." не совсем понял о чем речь? Можете по подробнее на примере одного входа?
С метастабильностью обхожусь пока-что "никак" - именно для этого поднял этот топик.
О gray code имею понятие. Но вопрос не в том во что "закодировать", а вопрос в том КАК МЕРИТЬ длительность
чтобы код получаемый в результате измерения обладал "устойчивостью" к возможным метастабильным состояниям системы.

Обьясню на примере.(Грубо) Если взять обычную цепочку из стабильных элементов задержки, и подать на нее входной импульс, то
можно снять с этой цепочки код, т.н. "thermometer code" который даст информацию о времени поступления сигнала с точностью до
времени задержки одного элемента. Этот код, абсолютно устойчив к метастабильным состояниям самой цепи задержки - максимальная
ошибка - 1 элемент задержки - тоесть 1 LSB в итоге.
Можно ли добиться того же результата в случае с фазо-сдвиговым методом?

Благодарю
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 28 2009, 18:15
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Можно, просто для решения означенной вами проблемы (когда передний фронт входного импульса попадет на фронт одного сигнала, а задний - на фронт следующего) надо эффективную частоту сэмплирования сделать чуть-чуть меньше, чем минимальная ширина импульса. То есть, если импульс 1 ns, фронты у него пусть по 100 ps, то надо сделать, чтобы расстояние между фронтами сэмплирующих частот не превышало 750 ps, и тогда вы хотя бы раз наносекундный импульс захватите надежно. Но тогда может получиться не один, а два фронта внутри наносекундного импульса - будет большая погрешность измерения. Снизить погрешность можно, дальше снижая расстояние между сэмплами.

И еще. Чип вы выбрали очень неудачный для этой задачи. В Xilinx/Altera у каждой PLL по 6 выходов, что позволяет наплодить почти сколько угодно частот, да и скорость у них гораздо выше.
Go to the top of the page
 
+Quote Post
АБС
сообщение Oct 28 2009, 19:39
Сообщение #5





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



Цитата(DmitryR @ Oct 28 2009, 21:15) *
Можно, просто для решения означенной вами проблемы (когда передний фронт входного импульса попадет на фронт одного сигнала, а задний - на фронт следующего) надо эффективную частоту сэмплирования сделать чуть-чуть меньше, чем минимальная ширина импульса. То есть, если импульс 1 ns, фронты у него пусть по 100 ps, то надо сделать, чтобы расстояние между фронтами сэмплирующих частот не превышало 750 ps, и тогда вы хотя бы раз наносекундный импульс захватите надежно. Но тогда может получиться не один, а два фронта внутри наносекундного импульса - будет большая погрешность измерения. Снизить погрешность можно, дальше снижая расстояние между сэмплами.

И еще. Чип вы выбрали очень неудачный для этой задачи. В Xilinx/Altera у каждой PLL по 6 выходов, что позволяет наплодить почти сколько угодно частот, да и скорость у них гораздо выше.


Дорогой DmitryR,

Видимо мы не поняли друг друга.
Я имел ввиду не случай описанный вами. Такого в принципе быть не может. Минимальная длительность входного импульса гарантированно больше чем 2нс даже.
Я имел ввиду вот что. Если мы измеряем время прихода переднего фронта например. В моей схеме возможна ситуация когда в момент защелкивания состояния 8 линий частота 150МГц с сдвигом 45 градусов
и частота 150МГц со сдвигом (180+45) градусов будут менять свой уровень. Это даст ошибку никак не 1 LSB. Вот я о чем собственно говорю.

Actel я выбрал по причине наличия FLASH. А о каких конкретно Xilinx/Altera Вы говорите?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- АБС   Измерение интервалов меньше 1нс на FPGA   Oct 28 2009, 14:18
- - 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, 14:12
|- - АБС   Цитата(Shtirlits @ Oct 29 2009, 17:12) К ...   Oct 29 2009, 14:40
|- - 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 Текстовая версия Сейчас: 18th July 2025 - 01:00
Рейтинг@Mail.ru


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