(very) precise time measurement

XCore Project reviews, ideas, videos and proposals.
Post Reply
User avatar
otitov
XCore Addict
Posts: 207
Joined: Thu Dec 10, 2009 11:00 pm
Location: Mexico
Contact:

(very) precise time measurement

Post by otitov »

I would like to measure time between two pulses.

Let's say, I expect this time to be about 128 ns.

How can I measure the time with 1 ns precision?

Same, but now I want 0.1 ns precision. How?

Same, but now I want 0.01 ns precision. How?


User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm
Contact:

Post by Folknology »

would prob need external hardware to achieve those sort of resolutions

but also see these threads :
http://xcore.com/forum/viewtopic.php?f=10&t=516
http://xcore.com/forum/viewtopic.php?f=10&t=479

An external counter perhaps?

regards
Al
User avatar
otitov
XCore Addict
Posts: 207
Joined: Thu Dec 10, 2009 11:00 pm
Location: Mexico
Contact:

Post by otitov »

Thanks for references! I am not alone in this search, ha-ha-ha.

So far a theoretical 2 ns resolution might be possible with L chip running 500MHz. Nothing better even in theory on this hardware.

So the external hardware is a must if I want to have a resolution about 1 ns, 0.1 ns, or 0.01 ns.

Any suggestions for counters in GHz range? As I told I would like to measure time between 2 pulses.
JohnR
Experienced Member
Posts: 93
Joined: Fri Dec 11, 2009 1:39 pm

Post by JohnR »

Hi,
How can I measure the time with 1 ns precision?

Same, but now I want 0.1 ns precision. How?

Same, but now I want 0.01 ns precision. How?
You don't say whether any averaging is allowed or whether the measurement is strictly one-shot.

In my timing project (which is the projects section) the resolution seems to be better than 1ns but this is with averaging 1 million shots (1 second averaging of 1 Mhz pulses). How much better I don't remember but I could fire up the system again and take some more measurements if you are interested.

John.
User avatar
otitov
XCore Addict
Posts: 207
Joined: Thu Dec 10, 2009 11:00 pm
Location: Mexico
Contact:

Post by otitov »

I would definitely prefer one-shot. I can accept 10 or may be 100 shots averaging per second.

I found your project, thanks!

Yes, please, make more measurements to have fresh numbers. Can you try your system with 10 and 100 shots per second? I would like to have an idea what it will look like.
JohnR
Experienced Member
Posts: 93
Joined: Fri Dec 11, 2009 1:39 pm

Post by JohnR »

Hi
I would definitely prefer one-shot. I can accept 10 or may be 100 shots averaging per second.

I found your project, thanks!

Yes, please, make more measurements to have fresh numbers. Can you try your system with 10 and 100 shots per second? I would like to have an idea what it will look like.

I can't easily modify the incoming data rate which is one pair of start/stop pulses every microsecond or so, but I can try and alter the averaging time which is now 1 second - I expect that the data uncertainty will be inversely proportional to the square root of the integrating interval. I will make some measurements this week and let you know.

What is the application? There is a voluminous literature on timing very short intervals, say sub-nanosecond but I am not so sure about measuring longer time intervals but with incredible accuracy. There are all sorts of technical difficulty, varying risetimes, for instance, with temperature, signal strength and so on.

John.
User avatar
otitov
XCore Addict
Posts: 207
Joined: Thu Dec 10, 2009 11:00 pm
Location: Mexico
Contact:

Post by otitov »

Thanks!

I will have a "data burst". Each "data burst" consist of at 5 pulses (may be I will use 6 or 7, or more in future). I would like to measure times from first pulse to following pulses. I expect that time from first pulse to following pulses will be decreasing from about 256 ns to 3-2-1-0 ns. I expect to proceed at least 1 "data burst" per second.

In this setup I am looking for 1 ns resolution (at least) or better.

Please, let me know if I explained my application or you need more details.
User avatar
otitov
XCore Addict
Posts: 207
Joined: Thu Dec 10, 2009 11:00 pm
Location: Mexico
Contact:

Post by otitov »

Update: to create a prototype or proof of concept I can accept a 1-5 ns resolution.
JohnR
Experienced Member
Posts: 93
Joined: Fri Dec 11, 2009 1:39 pm

Post by JohnR »

Hi,
A German company makes a range of time measuring equipment and chips with subnanosecond resolution: http://www.acam.de/products/time-to-digital-converters/

Maybe you could couple up one of these chips with an XMOS device for readout etc.

Alternatively using a FPGA front end
http://ztc.wel.wat.edu.pl/kalisz/norchip%20v1.pdf
the title is "Interpolating Time Counter with 100 ps Resolution on a Single FPGA Device"

I used this design as the front end in an Actel FPGA - my range of interest was in the 10 - 100 nsec range so I did not try to get to the picosecond level. My system worked fine up to 15 nsecs but would have needed the associated coarse timing elements to extend the range. At that stage I switched to using the XMOS devices which give me just enough time resolution for the application.

John
User avatar
otitov
XCore Addict
Posts: 207
Joined: Thu Dec 10, 2009 11:00 pm
Location: Mexico
Contact:

Post by otitov »

Great references! Thanks!
Post Reply