[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