Обсуждаем цифровые устройства...
Ответить

Как организовать задержку с наносекундной точностью?

Пн янв 01, 2018 20:30:27

Здравствуйте форумчане!
Как говорится - бьюсь с этой проблемой с прошлого года)
На входе имеем цифровой сигнал 3,3 В уровня. По фронту либо по срезу входного сигнала необходимо организовать задержку длительностью 1000 мкс (допуск на длительность +/- 100 мкс) с точностью <1 нс, после чего сообщить на выход так же фронт либо срез.
Пояснения: Простыми словами необходим ждущий (моностабильный) мультивибратор или аналогичное цифровое устройство, которое от запуска к запуску воспроизводило бы длительность с наносекундной точностью. Т.е. главным требованием является эквивалентность длительностей задержек выработанных при новых запусках. При этом сама величина задержки, как было сказано, может быть любой в указанных пределах. Момент прихода запускающего фронта/среза является случайным, ни к чему в системе не привязанным и ни с чем не синхронизированным.
Поделюсь не хитрыми соображениями, которые я успел обдумать. Во первых ждущий мультивибратор - на 555 или аналоге. Не встретил нигде конкретных данных по точности установки задержки в этом таймере, но понимание того что времязадающей является RC цепь наводит на мысль, что наносекундной точности не получить. Во вторых был вариант с счетчиком HC4040 с RS триггером, но даже при 100 МГц тактовой частоты мы будем иметь неопределенность (случайность) задержки величиной равной периоду тактовой частоты, т.е. 10 нс. В третьих была мысль про линии задержки, но таковых на 1мс я не встречал.
Я всецело понимаю что задержка в логических элементах и того больше 1 нс, но дело в том что эта задержка сравнительно постоянна во времени и при неизменной тепрературе, а как я уже сказал важна не сама величина длительности задержки, а ее постоянство.
Какие еще могут быть варианты?)

Добавлено after 11 minutes 37 seconds:
Вспомнил! Был еще вариант запускать кварцевый генератор по сигналу со входа. Но уперся в то, что кварцевый генератор долго стартует да и время старта тоже не постоянное. Если я конечно прав в суждениях.

Re: Как организовать задержку с наносекундной точностью?

Пн янв 01, 2018 23:36:23

Ультразвуковые ЛЗ
А вообще задача мне кажется сильно высосанной из пальца, уж звиняйте. Не важна длительность задержки, важна ее стабильность в 0,0001% :shock: ? Такую стабильность даже термостатированные кварцевые генраторы не дают, разве что какой-нибудь рубидиевый эталон. Нобелевский комитет навострил уши.

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 09:29:31

Спасибо за ответ!
Понимаю ваши ощущения про "высосана из пальца" поэтому поясню. Сама длительность не важна потому что процесс калибровки подстроится под неё. Калибровка делается один раз, а вот потом, уже после калибровки, нужна такая высокая стабильность (повторяемость) задержки.
А насчет кварцев. Их кратковременная стабильность же выше на несколько порядков чем долговременная. Так что, если бы можно было использовать кварц, то он дал бы высокую стабильность после калибровки.

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 09:47:39

Несколько невнятно сформулирован вопрос, но из того, что есть можно попробовать повыводить что-нибудь логически ..

1нс это период частоты 1Ггц ( капитан "очевидность" ).

Это вполне доступная нынче частота для цифровых схем .
( хотя уже и в 1980-ые годы было возможно на GaAs или Si-(ECL==ЭСЛ) и.м.с. )

Загружаемый счетчик до 1миллиарда( поскольку 2^30=1`073`741`824>1`000`000`000 ,то хватит 30разрядов ) , тактируемый стабильным 1Ггц возможно решит Ваш вопрос ?

Ещё вопросы ?
Последний раз редактировалось petrenko Вт янв 02, 2018 15:12:14, всего редактировалось 1 раз.

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 12:08:55

Вопрос остался один: а как стартовать этот гигагерцовый счетчик ? Источник сигнала имеет фонт/срез в районе 1нс ? "Все #опы в Дании, а верится с трудом". А при старте хотя бы микросекундным фонтом/срезом даже дрейф компарирования в десяток милливольт "уползет" этот момент старта > этих самых 1нс.
Мне кажется, задача - из будущего столетия. :(

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 12:14:31

Не стартовать, а сбрасывать. По умолчанию счетчик досчитал до определенного кода на выходах и остановился. Сбросили-пошла пауза на счет-досчитал остановился

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 12:18:46

Без разницы. Момент сброса тоже может "джиттерировать" .

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 12:31:44

Честно говоря думал что порог компарирования на каком бы уровне он не был должен оставаться на нем и при следующих запусках. Если мы говорим о счетчике с гигагерцовым тактированием, то запускать счёт будет RS триггер. Встаёт вопрос а сможет ли триггер выдать наносекундный фронт?
Счётчиков в открытой продаже выше чем на 210 МГц я не встречал. Уж больно экзотическая штука.
В целом тема была создана чтобы проверить не упустил ли я какой-нибудь из вариантов решения вопроса. Похоже что малой кровью этот вопрос не решается.

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 12:37:23

Feruz писал(а):В целом тема была создана чтобы проверить не упустил ли я какой-нибудь из вариантов решения вопроса. Похоже что малой кровью этот вопрос не решается.

Если бы Вы ещё и не скрывали конечную цель. Что конструируете ?

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 12:56:02

Прорабатываю концепцию устройства измеряющего расстояние по времени распространения радиоволны. Используется не классический радиолокационной случай с отражением волны от препятсивия, а случай с активным ретранслятором. Задержка как раз нужна на стороне акт. ретранслятора чтобы за время её действия переключиться из режима приема в режим передачи и по окончанию задержки передать сигнал обратно в "локатор". Это вариант был выбран потому что так используется только один радиомодуль и один частотный канал. Если делать без задержки то надо использовать два радиомодуля - один на прием другой на передачу соединённые напрямую и работающие на разных частотных каналах. Там ещё много "узких" мест в системе, но вот это, которому посвящена тема, заставило задуматься больше всего.
Кстати похожие темы уже обсуждалась на форуме не один раз.

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 13:21:34

Расстояние измеряется в какой то произвольной среде или в кабельной линии ? Если в кабеле, то метод бесконтактный или доступ к линии есть ?

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 13:25:03

Расстояние измеряется по воздуху, 4хх диапазон. Цифровые трансиверы в режиме прямой модуляции, без использования обработчика пакетов (для исключения непостоянных задержек).

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 13:39:10

А расстояния - десятки километров ? сотни ?

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 13:46:28

На сколько хватит мощности 100 мВт, оценочно до 1.5 км без прямой видимости.

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 14:36:26

.. Счётчиков в открытой продаже выше чем на 210 МГц я не встречал ..
Вот бяда ...
А из отдельных триггеров что Вам помешает сделать счётчик ?
Главное чтоб счётчик был синхронным.

Алгоритм "разжевать" надо ?
"Значится так , Шарапов"(с) : пока ждём фронта - загружаем число N==1`000`000[10]
Пришёл фронт - и положительный уровень сигнала "разрешил" через лог.элемент прохождение тактируещего - пошёл счёт на вычитание - досчитало до 0 - выходной перенос( заём собственно ) "разрешил" прохождение сигнала на выход ( спад проходит сразу без счёта ,судя по Вашему т.з. )
опять загружаем число N и ждём фронта сигнала ...

Если $ позволяют ,то можно сделать не на отдельных и.м.с. ,а даже на п.л.и.с. - нынче есть в продаже с частотами >1.2Ггц , а внутренние задержки там и вовсе субнаносекундные .

Переходим к обуждению приёмников и передатчиков "локатора" ?
Правда это уже не в разделе "цифровая техника" по хорошему надо бы.

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 14:42:39

Да муйня вся эта затея: измерение расстояния до 1,5 км с разрешением 30 см...
0,3/1500= 0,0002 - не бывает.

Re: Как организовать задержку с наносекундной точностью?

Вт янв 02, 2018 15:00:10

Синхронный счет на отдельных триггерах идея хорошая, спасибо)
Алгоритм разжевывать не надо) Алгоритм я уже продумал)
Правильно Вы заметили, не морочить голову и сделать на ПЛИС. Но пока я с ними не знаком то разрабатываю на дискретных элементах. В любом случае разработанную цифровую схему всегда можно перенести на ПЛИС.
Приемники и передатчики обсуждать тоже не будем, т.к. трансивер я уже выбрал.
Насчет муйня-затея. Измерять собираюсь с точностью до 1.5 метров. В локаторе счетчик от 100 МГц, период 10 нс, за период волна проходит 3 метра, а так как измеряется время прямого и обратного распространения в сумме, то 3 метра делим пополам, отсюда и цифра 1.5 метра.

Re: Как организовать задержку с наносекундной точностью?

Ср янв 03, 2018 21:51:35

РСБН в миниатюре :)
но это - " без прямой видимости." - не понятно, как ...?
речь же про радиовидимость между аннтенами?

Re: Как организовать задержку с наносекундной точностью?

Чт янв 04, 2018 07:09:22

Прямая видимость в контексте визуальной видимости) Без прямой имелось ввиду, например, в толпе людей, в городской застройке, в негустом лесу)

Re: Как организовать задержку с наносекундной точностью?

Чт янв 04, 2018 08:49:35

Feruz писал(а):Насчет муйня-затея. Измерять собираюсь с точностью до 1.5 метров.

0,001 вместо 0,0002 - это непринципиально в данном контексте.
Нужно просто попробовать только в цифре, без передающего и приемного трактов, выделения и усиления сигналов.
Ответить