discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] USB packet format / inband signaling


From: Thibaud Hottelier
Subject: Re: [Discuss-gnuradio] USB packet format / inband signaling
Date: Tue, 27 Feb 2007 21:12:36 -0500
User-agent: Thunderbird 1.5.0.9 (X11/20070130)

Brian Padalino wrote:
> Hi Thibaud,
> 
> Here is my response as to how I understand things to work - which
> could be completely wrong.
> 
> On 2/27/07, Thibaud Hottelier <address@hidden> wrote:
>> Hi all,
>>
>> First of all, I would like to make sure that I have understood what is
>> going to be modified. I have made a diagram with the whole Gnuradio
>> component stack: http://img168.imageshack.us/img168/415/groveralleb2.png
>>
>> 1) The new usb packet will be encoded/decoded in the gnuradio uspr
>> driver and in the FX2 firmare right?
> 
> On the host side, the message blocks will queue up the commands and
> create the packet structure that will go down to the USRP driver and
> be delivered by libusb.
> 
> A specific endpoint within the FX2 will be used to figure out if it's
> an m-block packet or something else (like a packet to tell the FX2 to
> program the FPGA).
> 
> The FX2 firmware will then be pretty transparent and pass along the
> information over the same datapath as the current TX/RX samples.
> 
> Once inside the FPGA, some command parsing happens and the samples are
> sent on through to a FIFO where they sit until their timestamp comes
> up while the control words go on to some kind of control FSM that will
> take care of all those commands based on timestamp.
> 
> The packets going from the USRP to the host will be created within the
> FPGA and send on out through the m-block FIFO that the FX2 will read.
> 
> Again - I am not sure if this is how it is supposed to be, but this is
> how I have read it thus far.

So the usb packets will be decoded/encoded in the fpga itself. The tx
fifo would store 512 bytes of usb data and then parse it, send the
samples and execute the command right? This could be a first thing to
work on.
> 
>> 2) The FX2 and the fpga communicate using the serial bus (SDI/SDO) (plus
>> some control signal like usb_ctl, usb_rdy) and the usb_data bus. Will
>> the commands be sent trough the serial bus or through the usb_data bus ?
> 
> I suppose I answered this a bit up above.
> 
>> What is exactly the daughter board role and its responsibilities ? Is it
>> only a physical interface for the antenna ?
> 
> For the most part, it's our link to the outside world.  When doing a
> frequency hopping scheme or a TDMA scheme, you have to transmit at
> extremely specific times, or change frequencies very quickly and
> accurately.  To do this, you need tight control over the PLL,
> synthesizer, mixer, any tuners, etc that will govern how and where
> your signal shows up in the spectrum.  The role of the daugherboard is
> really to make sure the signal gets out as cleanly as possible.
> 
>> I also a few question about the format itself:
>>
>> I don't understand the purpose of the Tag field. Can you explain it a
>> little bit ?
> 
> I think this is just a specific identifier for future use.  I am not
> exactly certain myself.
> 
>> I don't understand how the timestamps will work on OUT packets: How the
>> host will know what the value of the 32 bits counter incremented by the
>> A/D sample clock ? Is the timestamps the absolute value of the clock or
>> a delta?
> 
> Usually a TDMA sequence will do a search first to try to get a lock on
> a signal.  Once that happens, it's synchronized to the system.  It
> will probably search for a signal, and once a signal is detected -
> reset the free-running counter in the FPGA to be aligned with the
> start of the TDMA epoch.
> 
>> SPI is used to write to the AD9862 register but what is I2C ?
> 
> SPI is basically the same thing with a different physical interface.
> SPI uses 3 wires where I2C uses 2, if I am not mistaken.
> 
> Currently, the SPI bus is used to write to both the FPGA and the
> AD9862.  Since the FPGA will be writing to the SPI, the in-band
> signaling code should only have to write to the AD9862.
> 
> The I2C bus is used to control the daugherboard.  I believe the USRP
> does not have a connection to the I2C bus right now, and will possibly
> require a modification of the board to connect it up.
> 
> If I have screwed up, I am sorry and please, someone correct me.
> 
> Brian
> 

Thanks for this detailed explanation :)
Thibaud




reply via email to

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