Source of accurate frequency

I really appreciate all the inputs. Here is where I stand today.

We have not yet finished the prototype (got delayed by OLED interface issues, and also explored more creative ways to reduce jitter and wander), but that's now behind us. We generate 2 output channels (since it is almost for free) and have a dual-16 character (really: 128 x 64 pixel) display. We will use a

312.5 MHz xtal oscillator that promises single-digit ppm accuracy. For the first dozen prototypes I will ignore the accuracy question, since the average user seems to be content with 20 ppm. But we do not want to remain "average"... We will provide for a calibration input, and also for the non-volatile storage of calibration factors (We already store hundreds of frequencies for recall, again because it is almost for free). Calibration will be by arithmetic number crunching, nothing analog here. We don't change the internal clock frequency, we just change the DDS/PLL interpretation. For the later calibration strategy, we use the fact that we can adjust our signal output to any frequency with 1 Hz granularity. So we can match any comparison frequency "anywhere in the world".

We need a Virtex-5 LXT50 chip, due to the way we (ab)use the GTPs, but that gives us an enormous amount of spare logic, RAMs and multipliers. There is also a chip thermometer with digital read-out on every Virtex-5 die. It really is an embarrassment of riches. And we can fine- tune the design as often as we have time and patience. Aren't FPGAs fun ! Thanks again. I have a few things to read and study. Peter Alfke

Reply to
Peter Alfke
Loading thread data ...

If you have a stable local clock, you can calibrate it over the net. Use NTP - Network Time Protocol.

If you have a T1/T3 link, the bit rate on that is usually very accurate.

--
These are my opinions, not necessarily my employer's.  I hate spam.
Reply to
Hal Murray

I wouldn't rely on that. T1 is only required to be Stratum 4 compliant, which is 32 ppm accuracy.

Reply to
David Spencer

You could maybe allow for something simple like maxim's DS32KHz which comes straight out of the box at 2ppm over 0-40'C, or the DS3231 which has more trim options, but may over-complicate the details. Maxim also have a DS76KHz, but that's not so widely stocked.

-jg

Reply to
-jg

What's interesting about 76.8 KHz? Who uses that, or some (sub)multiple of it?

--
These are my opinions, not necessarily my employer's.  I hate spam.
Reply to
Hal Murray

Maybe you can use a big enough case for your clock generator and then mount it as an optional module inside. Looks like this is nice frequency standard:

formatting link

Frequency stability is 5*10^-11. Another feature is "low cost". I've sent them an eMail what this means in USD :-)

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

I don't think this will be very accurate. The wikipedia article says, that it provides accuracies of 200 microseconds:

formatting link

Maybe you can get higher accuracy by sending millions of requests over a long time and averaging, but if thousands of customers are sending millions of requests, this will be better than any denial-of-service attack and the NTP provider has to shutdown the service.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Pagers, hence the availability of low power, low cost, small sized devices.

Regards, Allan

Reply to
Allan Herriman

A typical low cost crystal is much more stable than it is accurate.

The main source of instability is temperature. It will vary by roughly

1 ppm per C. It's likely to be off by 10 or 100 ppm from the number printed on the package.

If you know how far off it is, you can sometimes correct in software.

If I can measure time to within 1 second, then I have to wait 1 million seconds to calibrate a crystal to within 1 ppm. That's 12 days. (That's probably ignoring a factor of two or such.)

PCs keep much better time after you make that sort of correction.

If you run ntpd, you can look at the "drift" file to see how far off your crystal is. (That error may include software errors.) Several handy machines say: 49.665, 117.415, 101.876, -10.274,

130.319, and 128.166

So if we assume the temperature is stable and that I can calibrate a crystal to within 1 ppm, then I can reduce the error by a factor of 10 or 100, depending on how far off the crystal was.

Sending lots of packets is not likely to help. You probably want to send a handful (say 10) 1 minute apart and discard any with a long round trip time. Then wait a long time, then send another batch of 10.

That's assuming the network topology doesn't change while you are waiting, or if it does, that the to/from times are ballanced on both measurements so you can correct by half the round trip time to get the real time.

Filtering out network quirks gets "interesting" in the Chinese sense.

--
These are my opinions, not necessarily my employer's.  I hate spam.
Reply to
Hal Murray

I think infra-red remote controls use 38.4KHz, but I'm not sure why they'd need a TCXO for that - so there must be another application :)

76.8 IS also a Standard Baud-multiple, so perhaps there is a Baud-based reason ? (tho that also does not need tcxo...)

Just figured it out: 76.8 allows one hundredths of a second precision for stop-watch type application ie /768 to 10ms.

- doing that from a 32.768 needs divide by 327.68

-jg

Reply to
-jg

Beware. Cheap crystals can be far from stable. I've watched inexpensive 100 ppm frequency sources "tick" and "pop" their frequencies around, apparently borrowing some piezoelectric effect from the crystal. It may be that the device is warming up when I see these small but abrupt changes in frequency. As long as the designer is aware of whether their oscillator exhibits discrete or continuous changes in frequency, special applications can be kept clean.

As far as stability, close-in phase noise could be a measure of stability. Cheap oscillators tend to have quite a bit of low frequency noise; they're much better at keeping the clock periods within many 10s of picoseconds of average than they are at being "stable" depending on what your needs are. Different people have different definitions of stability.

Me - I'd hate to see a frequency meter or frequency source suddenly change the last 3 digits of a 9-digit counter from one apparently "stable" value to a different set of "consistent" digits.

- John_H

Reply to
John_H

We've been buying some 40 MHz 7mm surface-mount VCXOs that have pretty good phase noise behavior and tc well below 0.1 ppm/k... I have some test notes here somewhere. In time domain, their jitter is a few ps RMS out to a corner around 1 millisecond, where jitter starts to increase linearly with period, to around 4 ns per second. We factory-trim the boxes that use this, using a delta-sigma dac (RC lowpassed straight off a Spartan3 pin!) to trim the vcxo dead on. I'll look up the mfr/pn Monday if you're interested. I think we get them from Digikey.

One trick is to keep them thermally isolated to keep millikelvin temperature wafts from making low-frequency phase noise.

A really good SC-cut OCXO can have jitter of a few ps per second. Big bucks.

We have an ebay rubidium standard for checking our counters. We send the counters out to a cal lab regularly, the rubidium occasionally, and everything always agrees to 25 ppb or so. We'll get a GPS source one of these days, and I guess we could save some cal lab costs.

John

Reply to
John Larkin

Here's a rubidium reference for a reasonable price (for the job it does!):

formatting link

Reply to
David Spencer

Do you have a URL for that part?

Typical lab sources of 10 MHz are sine waves at roughly 0.5 V RMS or 3V P-P. I'd probably include some sort of signal conditioning on any input path. My straw man is a 50 ohm terminator, an AC coupling cap, and a couple of resistors (10K?) to bias the input gate. I'd probably add clamping diodes and a single-gate buffer just because I'm feeling paranoid today. If you add jumpers to bypass the coupling cap and disconnect the terminator then you can use the terminator (with no cap) to keep the input away from the switching point when there is no signal connected. (I trying to avoid stray oscillators.)

Of course, as long as you have one input, you might as well add a few more so you can use it to measure frequency of several things at the same time. Even if it can't go as fast as you can generate it would still be a neat toy.

And you might as well add a few extra/spare outputs.

GPS gizmos often need 5V at (say) 100 mA. And they have RS-232 signals to configure them and get periodic (1 sec) status info.

I was going to suggest a couple of RS-232 connectors, but then I had the obvious idea...

How about filling all the unused outside area on the board with the holes for the Digilent 6 pin connectors? You don't have to install the connectors, but they will be there when somebody needs them.

Here is another crazy idea that's probably already on your list...

Tradditional PWM outputs are on for N out of M cycles. You can dither between N and N+1 for more accurate output at the cost of low frequecy noise. You can often do better by distributing the output "bits" over the whole M cycles rather than bunching them up at one end.

Why not use the high speed serial outputs to make the dithered format at a much higher speed? The jitter will be at a higher frequency and hence easier to filter out.

It's probably just a couple of lines of code in a few places.

--
These are my opinions, not necessarily my employer's.  I hate spam.
Reply to
Hal Murray

Hal Murray wrote: # Of course, as long as you have one input, you might as well add a few # more so you can use it to measure frequency of several things at the # same time. Even if it can't go as fast as you can generate it would # still be a neat toy.

I've already suggested dual reciprocal Frequency counters [to keep Peter busy :) ] and a very good front end, for this is the AnalogDevices PLL Synthesizers/VCOs family. (ADF40xx ADF41xx) - small and low cost.

These have a MuxOut mode, that the designer must have thought about more generic/interesting uses than synthesisers, as they can be used as front ends for continuous reciprocal counters (no gates, so no precision corners)

- with these, if you want to average over longer, or very long times, you can do that with running numbers in the background.

-jg

Reply to
-jg

I recommend using a differential input buffer instead of a CMOS/TTL type for better sensitivity and lower jitter with sinewave inputs.

These are also available in single-gate packages,e.g. FIN1101 "3.5 ps max random jitter and 135 ps max deterministic jitter"

formatting link
formatting link

NB4N527S "2 ps Maximum RMS Jitter"

formatting link

Back in the day, I used to make low phase noise reference clock buffers out of ECL-like logic made from discrete BJTs. I wouldn't do that now though.

Regards, Allan

Reply to
Allan Herriman

Thanks for all the creative suggestions. We will think hard about them.

But here are our priorities that combined set us apart from the field:

  1. extremely small ( 5" x 3" x 1"), inexpensive, and very easy to use
  2. > 1 GHz with 1 Hz granularity and low jitter, on two LVDS output channels
  3. rugged box and attractive display (OLED)

After that we can start thinking about luxury features like calibration etc. Peter Alfke

Reply to
Peter Alfke

Hi Peter, Will the hardware and HDL be open source? You might find some of us might like to add some custom features. I guess it'll have a 2x7 JTAG download, connector, right? Cheers, Syms.

Reply to
Symon

The plan is to offer frequency control as well as functional reconfiguration via USB. JTAG configuration has always been available on all the boxes that we built in the past. (2 years ago we built 250 boxes of the previous generation, to equip our FAEs. Only 640 MHz, 70 ps jitter + some wander. We have tougher goals now !) Peter Alfke

Reply to
Peter Alfke

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.