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

Измерение длительности импульса с точностью до пары наносекунд

Да и сама схема сделана неаккуратно. Когда фронт старт/стопа близок к фронту клока - ошибок не избежать. Поэтому всегда делается две схемы по разным фронтам клока и выбирается результат той, у которой переход дальше от клока. Ну и куча всяких других мелочей.

А если старт близок к фронту, а стоп к срезу? Итого, 4 варианта. Выходит, надо 4 схемы делать?

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


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

А если старт близок к фронту, а стоп к срезу? Итого, 4 варианта. Выходит, надо 4 схемы делать?

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

 

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


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

Старт и стоп - независимые каналы.

 

Пропуск периода не спасет, только в 2..4 раза вырастут требования к точности ТАС (ВАК).

 

При работе по двум фронтам нелинейность и так убирается, каждый TAC работает в диапазоне 0.25...0.75 шкалы.

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


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

Старт и стоп - независимые каналы.

Пропуск периода не спасет, только в 2..4 раза вырастут требования к точности ТАС (ВАК).

При работе по двум фронтам нелинейность и так убирается, каждый TAC работает в диапазоне 0.25...0.75 шкалы.

Поясните, у вас старт и стоп независимы от тактов? И про диапазон... И про по старт рядом с фронтом, а стоп рядом со срезом.

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


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

Старт и стоп - это два одинаковых независимых друг от друга канала. В каждом из них время прихода фронта соответствующего сигнала измеряется отдельно. Тактовая частота - общая для обоих каналов.

 

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

 

Пусть тактовая - 1 ГГц и фронт сигнала (момент запуска обоих ТАС) пришел через 100 пкс после положительного фронта тактовой. Тогда один ТАС (работающий (т.е. останавливающийся) по положительному фронту тактовой) даст 900 пкс (0.9 шкалы), второй (работающий по отрицательному) - 400 пкс. Соответственно выбирается второй.

 

Если сигнал прийдет через 400 пкс - будет 0.6 шкалы по первому ТАС и 0.1 по второму - будет выбран первый ТАС.

Если 600 пкс - 0.4 и 0.9 шкалы - будет снова выбран первый

Если 900 - 0.1 и 0.6 - второй.

 

Т.е. работа по двум фронтам, кроме устранения неопределенностей, устраняет начальные нелинейности ТАС (ограничивая его работу диапазоном 0.25..0.75 шкалы) и, фактически, удваивает рабочую тактовую частоту (эффективная частота - 2 ГГц). А сложность схемы возрастает не очень существенно - доля компонент, совместно используемых обеими частями схемы, велика.

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


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

Спасибо... заброшу идею в копилку...

Я, как и net, пропускал один такт. А неправильные результаты измерений просто отбрасывал, ждал следующего измерения.

Можно попробовать не игнорировать измерения из диапазона, скажем, 1/8...1/4 и 3/4...7/8, а использовать вместе с "правильным" измерением - сдвинуть на полтакта и усреднить. Точнее будет, но не во всем диапазоне 0...1, увы.

Можно еще хитрее - усреднять измерения по фронту и срезу с разным весом - то, что ближе к середине - с весом 1, что рядом с краями - уменьшать до 0. А форма этой кривой...? ("Остапа понесло" :rolleyes: )

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


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

При работе по двум фронтам ошибок просто нет, точнее они могут быть только в том канале (ТАС), данные которого не учитываются. А в выбранном ТАС гарантированный запас времени (минимальный интервал между фронтами сигнала и такта) - четверть периода тактовой - это получается автоматически.

 

Данные отброшенного канала учитывать не нужно - вот в нем могут быть любые ошибки. Да и зачем?

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


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

Спасибо... заброшу идею в копилку...

Я, как и net, пропускал один такт. А неправильные результаты измерений просто отбрасывал, ждал следующего измерения.

Можно попробовать не игнорировать измерения из диапазона, скажем, 1/8...1/4 и 3/4...7/8, а использовать вместе с "правильным" измерением - сдвинуть на полтакта и усреднить. Точнее будет, но не во всем диапазоне 0...1, увы.

Можно еще хитрее - усреднять измерения по фронту и срезу с разным весом - то, что ближе к середине - с весом 1, что рядом с краями - уменьшать до 0. А форма этой кривой...? ("Остапа понесло" :rolleyes: )

откуда неправильный результат? там всегда все правильно

и весь сигнал идет по одному каналу и по одному фронту

 

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


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

Неправильный результат - это моё, программное. Диапазон возможных значений все время корректируется, основываясь на среднем и на среднем отклонении от среднего. Кроме того, сбои возможны из-за улета в метастабильное состояние триггеров в ПЛИС (наверное).

Кстати, насчет требования удвоения разрешающей способности АЦП, когда меряем до второго такта. На моей схемке в сообщении 73 резистор R52 смещает диапазон, так что время до первого такта не равно половине выходного напряжения, а намного меньше. Большая часть напряжения приходится на диапазон между первым тактом и вторым.

И еще, (пропустил сообщение rudy_b) - у диодов BAW56 максимальное время восстановления 4 нс, не 6. Дифференциальный каскад - надо подумать, может быть...

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


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

сбои возможны из-за улета в метастабильное состояние триггеров в ПЛИС (наверное).

так для этого через такт и делается - чтобы не было никакой гонки фронтов

 

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


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

Диоды от разных фирм имеют небольшие отклонения. У BAW56 (Fairсhild) приведено 6 нс (IF = IR = 10 mA, IRR = 1.0 mA) и емкость 2 пф (VR = 0, f = 1.0 MHz). Есть получше, например HN2D02FUTW1T1G (OnSemi) - 3нс, 2 пф и ток утечки - 0.1 мка (25*С). Но что с доставаемостью - не знаю.

 

Насчет метастабильных состояний - вряд-ли, их вероятность очень низка. А вот если фронт сигнала близок к фронту тактовой (в пределах порядка наносекунды), тут будут пролеты на 1 такт.

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


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

так для этого через такт и делается - чтобы не было никакой гонки фронтов

Надо еще точно задать это "через такт". Допустим, старт совпал с тактом. Куда этот такт относить (где будет "через такт")?

А диоды у меня NXP

trr reverse recovery time - - 4 ns

 

Насчет метастабильных состояний - вряд-ли, их вероятность очень низка. А вот если фронт сигнала близок к фронту тактовой (в пределах порядка наносекунды), тут будут пролеты на 1 такт.

Да, так...

 

Ответ топикстартеру. Измерить время с точностью пара наносекунд - значит, использовать тактовую частоту 500 МГц, например. Вполне по силам ПЛИС. У Cyclone III PLL работает на частоте до 1300 МГц. Сдвиговый регистр (счетчик Джонсона называется) будет работать на 500 МГц. А дальше - дело техники. Может, и двоичный счетчик какой-то длины получится.

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


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

Дык это же буржуйская деталь. А ТС нужны шашечки.

Извиняюсь, запамятовал. Может, и не вышло бы на весь диапазон измерений.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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