discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Syncrinization of two USRP2s


From: Matt Ettus
Subject: Re: [Discuss-gnuradio] Syncrinization of two USRP2s
Date: Thu, 14 May 2009 10:06:55 -0700
User-agent: Thunderbird 2.0.0.21 (X11/20090320)

Ulrika Uppman wrote:
Hi,

We've set up a test comparing a recieved white noise signal recieved
by two usrp2 recievers. The two receivers were clocked (1PPS and
refclk) by a GPS diciplined OCXO which outpus a 1PPS signal which is
phase locked to the 10 MHz reference. The daughterboard was the
RFX400 configured with a center frequency of 450 MHz and a decimation
factor of 4. Several cross spectrums between the two received signals
shows that the syncronisation is drifting by +/- 1 sample. We would
like the difference to not drift. Is this possible?


I am not sure exactly what you mean by drifting by 1 sample. Are you making use of the time fields in the received data?

The first thing to do would be to make sure that both USRP2s are locked to the reference. You can do this by calling

        clocks_enable_test_clk(true, 1);

in the firmware. This will turn on the clock on J503 of the USRP2 motherboards. Pins 1 and 4 of that connector are ground, and 2 and 3 are the differential clock. Connect an oscilloscope to those pins on each USRP2 and make sure that the clocks do not drift relative to each other. They should be perfectly locked and in phase.


The second issue is the 1 pps signal. It must be synchronous with the 10 MHz reference clock. GPSDOs have 2 types of PPS outputs, those that are synchronous to the OCXO (often called ocxo-derived) and those that are directly generated by the GPS. You need to use the former.

One final issue is that depending on the relative delay of your PPS and 10 MHz signals, you might want to sample PPS on the positive edge or negative edge. If you are using the wrong edge, there may be timing issues. To set this, in the firmware call:

        timesync_regs->tick_control = 0xC;  // Positive edge
or
        timesync_regs->tick_control = 0x4;   // Negative edge, default

Matt




reply via email to

[Prev in Thread] Current Thread [Next in Thread]