[time-nuts] FPGA GPSDO (Was: Re: NTP jitter with Linux)
Andrew Rodland
andrew at cleverdomain.org
Sat Apr 7 04:41:14 UTC 2012
Azelio Boriani <azelio.boriani at ...> writes:
>
> >>On a side note, speaking of deterministic systems, why has no one built a
> GPSDO with an FPGA yet? Or an NTP server? :)
>
> Yes, I have: I have a GPSDO entirely on a 50Kgates FPGA (Spartan3 XC3S50)
> without microprocessor. GPS is the iLotus M12M and OCXO is a Morion MV201,
> the DAC is... well, not exactly the best choice but it is an AD5660 16bit
> only, anyway it works.
I'd be interested in hearing more about this. For about the past year I've been
building an NTP server on an Arduino (ATMega2560 microcontroller, WizNet W5100
ethernet/TCP/IP offload engine, boring off-the-shelf 16MHz quartz crystal).
Nowadays it's nearing completion (meaning I've hit the limits of the accuracy I
can get with this setup) and I've been thinking about what I can do next to make
it better.
One option is keeping the AVR platform, but building a custom board instead of
using the Arduino, and disciplining an OCXO in proper GPSDO fashion instead of
the digital frequency synthesis that I'm doing now. This would be interesting
for the pure timekeeping aspect, although it wouldn't improve the accuracy of
the NTP server very much.
Another option would be building something on an FPGA. This would be a
considerable stretch for me, since I've never done FPGA work, but if I build
from the ground up, I can have *very* tight control over things that are chosen
for me with a microcontroller. I can timestamp Ethernet frames while they're
still coming in from the wire, and timestamp outgoing NTP packets at the last
possible moment; I can make delays pretty much as deterministic as I want; I can
control counter widths and divisors, and interrupt priorities, etc. It's really
fascinating and I think at some time I'd like to try it.
Andrew
More information about the time-nuts
mailing list