Can a host control an USRP1 and an USRP2 with the same clock?


#1

Hi all,

I would like to build a base station with multi-standards (WiFi, GSM,
WCDMA, etc.). For the first step, I want to build this base station
based on OpenBTS and BBN 802.11 projects. The OpenBTS works well with
USRP1 and people are making BBN 802.11 work with USRP2, so I want to
connect one USRP1 and one USRP2 to my host.
 I already read the wiki and the datasheets of the USRP1 and USRP2;
however, I still have some questions and hope to get some hints from you
guys, please!!

Is it possible to connect one USRP1 and one USRP2 to a single host PC at
the same time? Any gnuradio examples that can help me to figure out how
to do this?

If the USRP1 and the USRP2 can work on the same host at the same time,
can the USRP1 and the USRP2 work synchronously (can they have the same
clock or common time reference?)? Some discussions mentioned the
synchronization of two USRP2, but I cannot find discussions aboutÂ
synchronization of a USRP1 and a USRP2.

Thank you so much!

Jhon


#2

If the USRP1 and the USRP2 can work on the same host at the same time, can
the USRP1 and the USRP2 work synchronously (can they have the same clock or
common time reference?)? Some discussions mentioned the synchronization of
two USRP2, but I cannot find discussions about synchronization of a USRP1
and a USRP2.

You can timestamp USRP1 data by inserting a syncronization pulse
(e.g., GPS PPS) to a digital i/o pin. You need the gr-gpio firmware
for this. This will have approximately one sample accuracy with a very
small known constant offset. We have been using this for nearly a year
with good success. You can easily get less than 1 us absolute timing
accuracy this way. I’m guessing that similar functionality will soon
appear for USRP2 as well, so you can keep these two in sync to some
extent.

Regarding relative sample clock coherence, Martin DvH had a nice idea
about syncronizing the relative clock frequencies by inserting a PPS
or 10 MHz signal into the digital i/o pin. This allows you to estimate
relative clock frequency to a reference 10 MHz or a 1 PPS signal.

However, if you buy some more hardware, you can drive both USRP2 and
USRP1 from the same clock. The USRP2 takes a 10 MHz standard, but the
USRP2 needs a 64 MHz clock. I have used either a 6x multiplier or a
cheap DDS board to generate the USRP1 clock (60 MHz and 64 MHz). I
don’t really know a source for 6x clock multipliers (if somebody
knows, please tell me). The DDS I’m using to generate a 64 MHz clock
for USRP1 is this:

http://www.eskimo.com/~novatech/PDF_files/lpo400ads.pdf

It even fits nicely into a USRP1 box, taking the space of one
daughterboard slot.

Hope this helps.

BR,
juha


#3

However, if you buy some more hardware, you can drive both USRP2 and
USRP1 from the same clock. The USRP2 takes a 10 MHz standard, but the
USRP2 needs a 64 MHz clock.

You can actually use a common reference between the USRP1 and USRP2 by
modifying some of the USRP2 firmware code so that it can take a
reference other than 10MHz. See
http://gnuradio.org/trac/wiki/USRP2GenFAQ#Doestheexternalfrequencyreferencehavetobe10MHzCanIuse100MHz
This code is located in usrp2/firmware/lib/clocks.c

-Kyle