[Thumbgps-devel] Fwd: Long term SiRF data
Ron Frazier (NTP)
timekeepingntplist at c3energy.com
Sat Mar 17 11:04:28 PDT 2012
On 3/17/2012 12:56 PM, Patrick Maupin wrote:
> On Sat, Mar 17, 2012 at 9:42 AM, Ron Frazier (NTP)
> <timekeepingntplist at c3energy.com> wrote:
>> (I'd like to cross post this message, including the original message below
>> to the NTP questions list since we've been discussing this nmea wandering
>> effect. Let me know if there are any objections.)
> I don't know why there would be. But perhaps you can forward any
> interesting replies.
>> I've been seeing similar wandering of the NMEA output on my BU-353. This
>> graph shows what looks like the internet servers (colored lines) wandering
>> off while my pc is locked to gps time (dark jaggy baseline). I suppose it's
>> actually the GPS wandering off.
> I've been making some progress on building a replicable device
> suitable for fairly accurate short term timing. I think the
> capabilities required have been shrinking as things like reports of
> 300 us jitter come in, but I still think it would be extremely useful
> to have a device (a) that we can have a few of and (b) that can be
> used to validate timing variations from other devices and as a check
> on the system clock and (c) that isn't a $100K piece of lab equipment.
> So the simplest goal is to make a highly accurate oscillator that you
> can hook to your PC that generates USB interrupts like the USB. If it
> "wanders" like the GPS, then, well, it's probably your PC, perhaps
> losing time under heavy load or something.
I don't know what all your design criteria are, but for just the little
piece of the problem you mentioned above, you could try something like
this. Take the output of one of those OCXO's, which I think you said is
26 Mhz. If I'm doing my math right, run that through a 15 bit counter
to divide it down. The output should be a very accurate 793.457 Hz
square wave. You could, of course add more bits to divide further. You
could also add some glue logic to reset the counter at any point you
wanted, to get less ugly output frequencies. Take that 793 Hz square
wave and feed it into one of the handshaking pins, like DCD, on any
Prolific or FTDI based serial - usb converter that passes handshaking.
I have a Trendnet TU-S9 unit which I hope to be testing soon. This
should give you very consistent USB messages coming from the converter
with a period of about 1.2 ms.
> The next goal is to be able to timestamp external events (e.g. from a
> 1pps pin) to even more accurately determine the intrinsic jitter. As
> part of this, the jitter from the USB chip can be measured fairly
> There are lots of OCXO and rubidium timing standards on places like
> ebay. Most are used, pulled from service for some reason, and reside
> in China. I found a cache of new OCXO oscillators in the US that
> aren't the absolute best, but the specs seem pretty good for my
> Accuracy is 100 ppb over entire temperature range and 100 ppb over any
> power variations. Short term accuracy (defined as: pick a pulse, and
> then pick another pulse that should happen between 0.1s and 30 s
> later, and measure the actual elapsed time vs. expected time, where
> "expected time" is not the nominal frequency, but rather the long-term
> measured frequency) is within 0.5 ppb. If you can't figure out where
> your jitter's coming from with that sort of accuracy, you're doing
> something horribly wrong.
> I found a discussion of these OCXOs in the timenuts mailing list
> archives -- people seem happy with them, and he was selling them for
> $2 last year. They're a bit more now, but the guy apparently still
> has lots of these and they're much cheaper than any other new OCXOs
> It's an oddball frequency, so my guess is somebody had a custom build
> done and then didn't build as many units as they were anticipating,
> and the price stays low because people building frequency standards
> usually want 10 MHz, not 26 MHz. Anyway, wanting to make sure that I
> had a cheaply replicable device for a reasonable number of units, I
> bought 10 of them for under $4 each.
> Unlike people who want a stable, accurate 10 MHz signal in their lab,
> we want stable, controllable USB interrupts. Absolute accuracy is not
> all that important, because if the signal is long-term stable, you can
> easily figure out the real frequency. The actual frequency of the
> crystal is not important to us for the same reason.
> The main downside of this OCXO from my perspective is that it is 5
> volts, and I want to build a self-contained bus-powered USB unit for
> it, and USB 5 volts is not very stable or accurate, so I will need to
> build a boost converter followed by a linear LDO to get a more
> accurate voltage source. I've done some research on the components
> for this and will probably try to lay out a board by next weekend.
> The primary other components are USB and an FPGA. I'm initially
> planning on making 3 of these boards, and ease of assembly is higher
> on my priority list than low cost, so I am planning on using modules
> for the USB and FPGA.
> I will probably go with an FTDI high speed USB module -- the UM232H is
> readily available. For the FPGA, there's a company that has been
> around awhile but has been uncompetitive for a long time, but that has
> recently refreshed its product line, and now has a nice cheap open
> source design:
> They specialize in Windows, but all the microcontroller and driver
> code is open source and someone did a Python script that uses PyUSB
> for programming it. I'm sure we could transfer timestamp info through
> the PIC USB device it has on it, but I'm not interested in learning
> that at this point, and it's only full-speed and I'm sure we can get
> better resolution with a high speed device, so I will go ahead and
> build a board that can accept the FTDI module. I've ordered a couple
> of these as well.
> So far the design looks like this:
> $20 FTDI UM232H module
> $55 Xess FPGA module
> $35 PCB (each for qty 3)
> $ 3 OCXO
> $ 7 estimated precision power supply for xtal
> $ 5 estimated other components for xtal (tuning voltage, level shifter)
> $20 estimated misc connectors, etc.
> So if all goes well, in around three weeks, for under $500, I should
> have three precision timing devices that we can ship around as needed,
> and reprogram the FPGA on to give us whatever info we want. They will
> be usable both as a stable time base, and to be able to timestamp
> external events, such as 1pps pulses, start of character data, end of
> character data, etc.
> Start of character data is useful because, for example, if a given
> chipset outputs data at a known location in the second, and we can set
> the latency timer to 0, then we will know by when the first character
> comes out what time it is. As esr points out, it may be difficult to
> know whether this is accurate or not in the field, but as others point
> out, this might be determinable via examining vendor-specific strings.
(PS - If you email me and don't get a quick response, don't be concerned.
I get about 300 emails per day from alternate energy mailing lists and
such. I don't always see new messages very quickly. If you need a
reply and have not heard from me in 1 - 2 weeks, send your message again.)
timekeepingdude AT c3energy.com
More information about the Thumbgps-devel