Jump to content

    
Sign in to follow this  
MrGalaxy

Измерение интервалов. Один счётчик с Fт vs два счётчика с Fт/2.

Recommended Posts

Доброго дня!

Требуется измерить интервал между двумя импульсами. Если организовать не один, а два счётчика (один по переднему фронту, другой - по заднему), и потом просуммировать результаты, уменьшится ли погрешность в 2 раза? Предполагается, что скважность счётных импульсов близка к 2.

Возможно, так делают и я изобретаю велосипед, но нет ли подводных камней?

Симуляция, вроде, ошибок не даёт.

Счётчик 100 MHz-1.7z

Edited by MrGalaxy

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Или в вашем распоряжении только ОДИН импульс? 

З. Ы. 

Два измерения повысят точность измерения но не в два раза, а меньше. 

 

Share this post


Link to post
Share on other sites
49 минут назад, ViKo сказал:

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

 

50 минут назад, Lmx2315 сказал:

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

Или в вашем распоряжении только ОДИН импульс? 

Измеряется разность между зондирующим и отражённым импульсом. Цель скоростная, импульс каждый раз один.

54 минуты назад, ViKo сказал:

Но лучше между фронтами или срезами, не смешивая. 

Чем? 

55 минут назад, ViKo сказал:

Если измерение однократное, заполняйте интервал разными часстотами. Нониусный метод. 

Ну, в принципе, как вариант, подумаю, хотя не хотелось бы, лишние биения, наводки на приёмник.

56 минут назад, Lmx2315 сказал:

Два измерения повысят точность измерения но не в два раза, а меньше. 

Речь не о двух параллельных измерениях. Будет ли это эквивалентно одному измерению по одному фронту, но с удвоенной частотой?

Share this post


Link to post
Share on other sites
9 minutes ago, MrGalaxy said:

Измеряется разность между зондирующим и отражённым импульсом. Цель скоростная, импульс каждый раз один.

А возможное появление метастабильных состояний связанное с нарушением временных параметров "setup" и "hold" как-то учитывается?

Share this post


Link to post
Share on other sites
27 минут назад, blackfin сказал:

А возможное появление метастабильных состояний связанное с нарушением временных параметров "setup" и "hold" как-то учитывается?

Я ничего не понял.:dash3:

Догадываюсь, что это что-то типа состязания фронтов приёмного и счётного импульсов. А как его учтёшь? Никак, счётчик или нарастится, или останется в прежнем состоянии. Зондирующий же импульс сфазирован со счётными, там неопределённостей не будет.

ЗЫ. Я проект прикрепил в первом сообщении, он достаточно простой, там всё видно.

ЗЫЗЫ. И как бы то ни было, к моему вопросу это отношения не имеет.

Share this post


Link to post
Share on other sites
51 минуту назад, MrGalaxy сказал:

Я ничего не понял.:dash3:

Догадываюсь, что это что-то типа состязания фронтов... 

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

Надо сделать несколько фаз тактовой частоты на pll и провести входной сигнал через блок cdc (CLOCK DOMEN CROSS).

А о каких частотах измерения идёт речь? 

Share this post


Link to post
Share on other sites
46 minutes ago, Lmx2315 said:

Надо сделать несколько фаз тактовой частоты на pll и провести входной сигнал через блок cdc

Это ничего не даст. Проблема в том, что после CDC, импульс остановки счетчика в ветке с положительном фронтом клока может прийти позже импульса остановки счетчика прошедшего такой же CDC, но в ветке с отрицательным фронтом клока. Так что точность будет +/- 1 импульс клока..

Share this post


Link to post
Share on other sites
47 минут назад, Lmx2315 сказал:

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

Вот я и подозреваю, что не просто так, есть нюансы, и халява может не прокатить.:negative:

53 минуты назад, Lmx2315 сказал:

Надо сделать несколько фаз тактовой частоты на pll

Был бы ФАПЧ, не было б вопросов... Микросхемы с фапчом и частоты имеют повыше, можно так как я не извращаться.

Частота 100 МГц, уполовиненная соответственно 50.

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

точность будет +/- 1 импульс клока..

Почему 1? Вроде 1/2 должно быть. Счёт идёт 2 раза за период. :unknw:

Share this post


Link to post
Share on other sites

Приветствую!

15 minutes ago, MrGalaxy said:

Был бы ФАПЧ, не было б вопросов... Микросхемы с фапчом и частоты имеют повыше, можно так как я не извращаться.

Точность  положения фронта импульса относительно фронта тактовой можно оценивать  защелкивая вход импульса  несколькими триггерами  с фиксированной задержкой на на D входах.  А счетчиком считать только целое число тактов.

Удачи! Rob.

Share this post


Link to post
Share on other sites
2 hours ago, RobFPGA said:

Точность  положения фронта импульса относительно фронта тактовой можно оценивать  защелкивая вход импульса  несколькими триггерами  с фиксированной задержкой на на D входах. 

Может, у ТС CPLD и никаких регулируемых задержек на входах триггеров нету..

2 hours ago, MrGalaxy said:

 Почему 1? Вроде 1/2 должно быть. Счёт идёт 2 раза за период. 

Ну, вы же не от хорошей жизни понижаете частоту клока в два раза? Значит, можно предположить, что суммарное время "setup"+"hold" для каждого триггера больше времени периода 100 MHz клока. Но если подать один и тот же входной импульс на два триггера со сдвинутыми на 180 град. 50 MHz клоками, то вероятна ситуация, когда в одном триггере будет нарушено время "setup", а во втором триггере будет нарушено время "hold", в результате чего оба триггера окажутся в метастабильном состоянии из которого выйдут только на следующих фронтах своих 50 MHz клоков..

Как-то так, КМК..

Share this post


Link to post
Share on other sites

Приветствую!

13 minutes ago, blackfin said:

Может, у ТС CPLD и никаких задержек на входах триггеров нету..

А какая разница CPLD или FPGA?  задержку (в логике) можно сделать и там и там - вопрос лишь в числе на период клока (минимально реализуемой задержки) и точности.  Если уж так припрет то можно сделать и снаружи линию задержки с отводами на  мелких буферах  и RC цепочках.

Удачи! Rob.

Share this post


Link to post
Share on other sites

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

(Имеется в виду аппаратные особенности, не воспроизводимые симулятором).

Share this post


Link to post
Share on other sites
7 minutes ago, MrGalaxy said:

Расскажите лучше, плз., про особенности тактирования двух независимых счётчиков передним и задним фронтом одного и того же сигнала.

Я бы посоветовал почитать у Xilinx'а XAPP523. Возможно, удастся решить проблему одним счетчиком и одной FSM для определения значения младшего разряда. Нужно будет только воспроизвести в своей ПЛИС схему ISERDES в режиме OVERSAMPLING.

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.

Sign in to follow this