I would like to develop a user card, to interface with the USRP
motherboard,
with a high resolution UHF synthesized local oscillator for a flexible
narrowband application that can not use any standard card. Is this
possible? Can I program the I2C/SPI chips through GNU radio? (The on
card ROM is not needed… I
suppose).Did someone allready try this?
Thank you,
Diana
On Wed, Apr 30, 2008 at 07:55:47PM +0200, Diana I. wrote:
Hello,
I would like to develop a user card, to interface with the USRP
motherboard,
with a high resolution UHF synthesized local oscillator for a flexible
narrowband application that can not use any standard card.
Is this possible?
Sure. Are you sure you can’t hook your UHF board up to a basic tx or
rx at least for prototyping? What’s your gadget’s IF?
If you’re sure you need a new board, take a look at the schematics for
some of the other daugtherboards. http://gnuradio.org/trac/wiki/USRP
Can I program the I2C/SPI chips through GNU radio?
Yes.
(The on card ROM is not needed… I suppose).
The ROM id’s the card to the system. You need it. It costs about
$0.50.
Sure. Are you sure you can’t hook your UHF board up to a basic tx or
rx at least for prototyping? What’s your gadget’s IF?
In fact what I need is to convert 2 CW coherent signals (beacon)IF in
UHF range (somewhere between 0.5 to 1GHz , through a very good phase
noise LO, depending on front end) to a new IF at 10.7 IF (it will be
crystal filtered and then routed by coaxial cable to basic RX card or
perhaps directly to motherboard).
If you’re sure you need a new board, take a look at the schematics for
some of the other daugtherboards. http://gnuradio.org/trac/wiki/USRP
%*********************************************************
Thats the problem. They are wide bandwidth cards and in my application
the signal has only 52dBHz CNR at best and signal power is contained
completely in a 50Hz bandwidth (so narrow bandwidth is at premium). That
is noise power would overload ADC’s and limit dynamic range. Also I am
interested in measuring the amplitude and relative phases (so no AGC at
all and other stuffs that can impair relative phases).
%***********************************************************
The ROM id’s the card to the system. You need it. It costs about
$0.50.
%**********************************************
Thanks. I know it’s a cheap component. Just wondering for the increased
complexity (mainly side effects!!). Please give me some clues (pointer
to information) to know what should be written in the ROM and
consequences in the devices programing.
%******************************************
On Mon, May 05, 2008 at 06:40:32PM +0200, Diana I. wrote:
Thank very much for answering my questions,
Diana
The format of the ROM is documented in
usrp/firmware/include/usrp_i2c_addr.h.
Just be sure that bytes 0x00 through 0x02 make sense. You can set the
remainder to 0x00, but be sure to set the checksum correctly in 0x1f.
There’s a script that will do this for you over the USB.
See usrp/host/apps/burn-db-eeprom.
The relevant portion is:
// format of daughterboard EEPROM
// 00: 0xDB code for ``I’m a daughterboard’’
// 01: … Daughterboard ID (LSB)
// 02: … Daughterboard ID (MSB)
// 03: … io bits 7-0 direction (bit set if it’s an output from
m’board)
// 04: … io bits 15-8 direction (bit set if it’s an output from
m’board)
// 05: … ADC0 DC offset correction (LSB)
// 06: … ADC0 DC offset correction (MSB)
// 07: … ADC1 DC offset correction (LSB)
// 08: … ADC1 DC offset correction (MSB)
// …
// 1f: … negative of the sum of bytes [0x00, 0x1e]
#define DB_EEPROM_CLEN 0x20 // length of common portion of eeprom
You can use the the existing “Experimental Rx” daughterboard id, 0xffff,
or define a new one. See usrp/host/lib/legacy/usrp_dbid.dat
The dbid is read from the daughterboards and is use to instantiate the
correct daughterboard code. You can see what you’ve got by calling
u.daughterboard_id(0) and u.daughterboard_id(1) to retrieve the dbid’s
from slots 0 and 1.
To talk to your daughterboard using our standard interface, you’ll
need to write a bit of python. Take a look at gr-usrp/src/db_*.py.
Start with db_base.py, then maybe db_basic.py
Eric
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.