Jump to content
    

Измерение временных интервалов

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

TDC на Altere я пытаюсь забороть (правда в вялом режиме) уже наверное год. Рекомендовать мне почитать про него статьи - это несколько наивно, т.к. я, наверное, просмотрел про него уже все что только можно и нельзя. Наверное, несколько, позже стоит создать про него отдельную тему, только что-то мне подсказывает, что скорее всего число людей, которым есть что сказать про него исходя из лично опыта у нас здесь едва-ли будет большим, и едва-ли они горят желанием вот так просто делиться своими знаниями.

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

Сам кране не люблю такие трюки, но все-таки, наверное посмотри здесь https://ru.wikipedia.org/wiki/Нониус

По поводу - "Где и когда там нониус?" отвечаю:

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

Эту же самую задачу можно решить, если пропустить этот импульс через TDC, но здесь об этом предлагаю не говорить, это отдельная и ОЧЕНЬ большая и сложная тема.

Здесь я предлагаю обсудить вопрос о том, можно-ли, и если можно, то как, по переднему фронту асинхронного импульса сформировать периодический сигнал.

Парни,

1) кто плотно работал с pll, на лету фазой там никак нельзя поиграться?

2) Генератор на инверторах на FPGA кто-нибудь реализовывал?

3) Может еще есть какие-либо идеи?   

Share this post


Link to post
Share on other sites

правильно заданный вопрос - это половин ответа. 

Другими словами:что конкретно есть в наличии, что требуется на выходе, диапазон измерений, точность.

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

Share this post


Link to post
Share on other sites

On 4/22/2025 at 11:25 AM, tems-ya said:

Здесь я предлагаю обсудить вопрос о том, можно-ли, и если можно, то как, по переднему фронту асинхронного импульса сформировать периодический сигнал.

Встречный вопрос: зачем это вам?

Хотите снять красивую оциллограмму и повесить её в рамке на стенке?

Или решаете какую-то конкретную практическую задачу?

Тогда, может лучше изложить условия всей задачи целиком?

И нужны конкретные цифры: частота, задержки между импульсами, длительность импульсов, и т.д.

Share this post


Link to post
Share on other sites

Alex77,  если вам будет так более понятно, есть отладочная плата с самым младшим CycloneIV, на нее заведен clk 50MHz (могу запусить pll и сделать clk 100MHz - думаю это не принципиально).

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

(Первоначальная задача заключается в том чтобы, как можно более точно определить в каком месте на периоде clk находится этот передний фронт. Эта задача теоретически имеет несколько путей решения и поэтому, чтобы не создавать кучу малу, была сформулирована несколько иначе. ) Но это было отступление, продолжаю

Требуется как либо запустить периодический сигнал, меандр, например по переднему фронту асинхронного сигнала, только, чтобы он был синхронен с этим передним фронтом и НЕ СОВПАДАЛ с системны clk, т.е. был бы сдвинут относительно него.

Что здесь непонятно, какой диапазон, какая точность? Если это критично, любой диапазон, любая точность.  

 

blackfin,   это классическая задача измерения интервала времени нониусным методом, выхолощеная мной, как я думал, донельзя.

Edited by tems-ya

Share this post


Link to post
Share on other sites

17 минут назад, tems-ya сказал:

определить положение этого переднего фронта на интервале системного clk, что собственно и является исходной задачей

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

Share this post


Link to post
Share on other sites

Стабильность и точность такого нониусного осциллятора и мнгновенный его запуск по единичному фронту вещи несколько друг-другу противоречащие.

Можно вытащить вход/выход инвертора наружу, навесить на него RC, отпускать асинхронно с вашей кнопки, потом смотреть через сколько периодов он догонит по фазе системные клоки и из этого делать вывод о начальной фазе. Но точность этого будет гораздо хуже чем tdc на внутренних задержках и точно так же придётся постоянно калиброваться.

Share this post


Link to post
Share on other sites

On 4/22/2025 at 11:47 AM, tems-ya said:

... это классическая задача измерения интервала времени нониусным методом ...

Это все ваши фантазии. Не существует в современной физике никакой "классической задачи измерения интервала времени нониусным методом"..

Просто потому, что никто еще не видел нониус времени.. Все "измерения интервала времени" в физике основаны на подсчете периодов эталонного генератора.

Чем выше частота и чем выше долговременная стабильность этого генератора, тем точнее измеренный интервал времени.

 

Share this post


Link to post
Share on other sites

В куче осциллографов и частотометров применялся время- амплитудный  преобразователь. Аналоговый. С асинхронным запуском. Именно время- амплитуда, а не время-код. Код появлялся потом, когда или разряжали измерительный конденсатор ВАП заданным током, или прямо на АЦП считывали сигнал пропорциональный измеренному времени задержки между стартовым и стоповым импульсом.

7 минут назад, blackfin сказал:

Это все ваши фантазии. Не существует в современной физике никакой "классической задачи измерения интервала времени нониусным методом"..

Конечно существуует и спользуется- запись фазовой разницы импульсов света с точностью до долей длиный волны на фотосинтезируемых диффракционных решетках в нелинейных кристаллах например. И считывание этих решеток светом с большей длиной волны- типичный нониус.

Share this post


Link to post
Share on other sites

On 4/22/2025 at 12:13 PM, khach said:

В куче осциллографов и частотометров применялся время- амплитудный  преобразователь. Аналоговый. С асинхронным запуском. Именно время- амплитуда, а не время-код.

Чисто любопытно.. Сможет этот "измеритель времени" с одинаковой точностью измерить длительность двух временных интервалов: 1 пс и 1 год?

 

On 4/22/2025 at 12:13 PM, khach said:

И считывание этих решеток светом с большей длиной волны- типичный нониус.

Это нониус шкалы расстояния, а не шкалы времени. То есть, это косвенный метод измерения.

Share this post


Link to post
Share on other sites

17 минут назад, blackfin сказал:

Это нониус шкалы расстояния, а не шкалы времени. То есть, это косвенный метод измерения.

Это на считывании шкала расстояний ( записанная решетка) а на записи- именно время, разность фаз двух импульсов света. В обычном измернии с нониусом мы тоже при считывании  только нониус используем, а при самом акте измерения- нет.

 

19 минут назад, blackfin сказал:

Сможет этот "измеритель времени" с одинаковой точностью измерить длительность двух временных интервалов: 1 пс и 1 год?

А что такое "год" и с какой точностью его можно определить? Пикосекунда измеряется где то с той точностью что время сейчас хранят, хотя это долговременная точность, кратковременная может быть и больше.

Цитата

(NIST)'s caesium fountain clock named NIST-F2, measures time with an uncertainty of 1 second in 300 million years (relative uncertainty 1016).

 

Share this post


Link to post
Share on other sites

3 hours ago, tems-ya said:

о реализации генератора на цепочке инверторов только слышал, хотя говорят его применяли на cpld некоторые товарищи и типа даже успешно.  Но все сообщество в своей массе его всегда жутко ругало. Такое можно работающее замутить на fpga? может примерчик? если есть и не жалко...   Как вариант, нельзя-ли как-нибудь, например, pll настроить, чтобы по внешнему асинхронному импульсу запускалась генерация?

PLL в FPGA это чаще всего и есть генератор на цепочке инверторов и к тому же управляемых по задержке сигналом обратной связи с фазового детектора.
Только вот  PLL делаются не для такого и режима работы. 
 
Схема генератора проста - соединяете цепочкой в кольцо несколько физ. примитивов LUTпричём так чтобы  так суммарно было нечётное количество инверторов.
А суммарное время задержек в цепочке было не слишком мало, (1/t - около макс рабочей частоты частоты выбранного железа). 
Где то в этой цепочке ставите эл. И/ИЛИ управляемый ваши сигналом.  
И вот вам какой-нибудь кольцевой генератор, только вот толку от него для ваших целей IMHO будет не много,  как минимум из за нестабильности параметров.  

Тот же классический TDC делаемый в FPGA на цепочке задержек  по сути такой же ring генератор только разомкнутый. 

Share this post


Link to post
Share on other sites

Сейчас появилось много микросхем TOF для лидаров, возможно получится приспособить.  Ну или так https://www.microchip.com/en-us/about/media-center/blog/2023/measure-time-of-flight-to-the-centimeter-with-polarfire-devices

Share this post


Link to post
Share on other sites

В 22.04.2025 в 11:47, tems-ya сказал:

любой диапазон, любая точность.

тогда сигнал с "кнопки" переносится на частоту опорника. "CDC"  в руки и вперёд. и не имейте мозг людям...

пс: вроде в институтах ещё не сезон зачётов...

Edited by Alex77

Share this post


Link to post
Share on other sites

Alex77  не могли бы вы пояснить, что вы подразумеваете под столь широко известной аббревиатурой как использованная вами "CDC". А то что-то google ничего кроме веселых синих картинок не выдает.

З.Ы. За комплимент спасибо, улыбнуло, к сожалению полтинник неминуемо приближается

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...