Implementation of an I/Q Lab with USRP2

Good morning,

I am student (not a starving student) who started researching with GNU
Radio
Software last month. This week, I am trying to implement an I/Q Lab
using
the USRP2 board.

What I mean is that I would like to create my own IP (for example a
filter)
and to program it into the FPGA. Then, I would like to generate pair of
signals (I and Q), connect them to the FPGA and receive the exit in an
oscilloscope. This is the main idea.

I read that I need the BasicRx/BasicTx or LFRX/LFTX daughterboards
depending
on the frequency. Related to those daughterboards, I have some questions
I
could not answer yet and I would appreciate if you could help me:

  1. What is the purpose of the access to the 16 bits of high-speed
    digital
    I/O?
  2. What is the purpose of the low-speed ADC’s and DAC’s?
  3. What is the purpose of the SPI and I2C buses? It is possible to
    manage
    some parameters of the FPGA design using the I2C connected to a PC?
    Using
    the filter example, to change on the fly, the value of the
    coefficients.

It would be great if you could tell me if there some manual or datasheet
about them. I found this:

And also this schematic:

but I am looking for the meaning of different pins and I am not so good
reading schematics.

Thank you so much.

Greetings

Eduardo Lloret

On Tue, 2011-01-18 at 11:42 +0100, Eduardo Lloret F. wrote:

I read that I need the BasicRx/BasicTx or LFRX/LFTX daughterboards
depending on the frequency. Related to those daughterboards, I have
some questions I could not answer yet and I would appreciate if you
could help me:
1. What is the purpose of the access to the 16 bits of high-speed
digital I/O?

Whatever you want them to be. RSSI, AGC, light up LEDs in interesting
patterns. Whatever you want them to do, you’re responsible for
implementing. Some of them are used on some daughterboards (RFX, WBX,
etc) for control. Generally speaking you don’t need to worry about them.

 1. What is the purpose of the low-speed ADC's and DAC's?

These are used for analog gain control and RSSI on some daughterboards
(RFX, WBX, etc). On Basic/LF boards they aren’t used for anything and
you can use them for whatever purpose you like. Again, for most purposes
users don’t need to control these manually.

 1. What is the purpose of the SPI and I2C buses? It is possible
    to manage some parameters of the FPGA design using the I2C
    connected to a PC? Using the filter example, to change on the
    fly, the value of the coefficients.

Same as above. I2C is for access to the EEPROM configuration data on the
daughterboard and for daughterboard control. SPI is used to control some
of the chips on some daughterboards. If you want to hang stuff on the
I2C and SPI buses and talk to them you definitely can (some hacking
involved) but most people will not need to do this.

It would be great if you could tell me if there some manual or
datasheet about them. I found this:
* http://www.ettus.com/downloads/ettus_ds_USRP_TXRX_v5b.pdf
And also this schematic:
* http://code.ettus.com/redmine/ettus/projects/public/documents
but I am looking for the meaning of different pins and I am not so
good reading schematics.

If you just want to hook up I/Q signals and view them on a PC, you
should just be able to use a BasicRX (or LFRX for <1MHz) and use
gnuradio-companion to view the signals on the PC. Implementing filters
in the FPGA is significantly more advanced and will require
significantly more work on your part, including (obviously) compiling
the Verilog code yourself as well as having a good understanding of how
the Verilog code is organized and implemented. You will also need ISE
12.1 for this.

–n