discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] FPGA Modifications for a Continuous Carrier?


From: Brian Padalino
Subject: Re: [Discuss-gnuradio] FPGA Modifications for a Continuous Carrier?
Date: Tue, 24 Jul 2007 14:03:44 -0400

On 7/24/07, Michael P Buettner <address@hidden> wrote:
Hello folks.  I am currently looking at using the USRP for interaction with RFID 
tags. The crux of the problem is that I need to transmit a continuous carrier wave 
to power the tag, but I also need very low latency with respect to receiving a tag 
signal and responding to that signal (< 500us.  Not going to happen, but the 
closer the better). Currently, I am transmitting the carrier from the host which 
eats up half of my USB bandwidth and keeps the TX buffers full, both of which are 
killing my latency.

   My question is, would it be possible to modify the FPGA so that the default behavior 
is to transmit the carrier until it receives buffers for transmit? This should reduce the 
latency by using the USB half duplex, keeping the TX buffers empty which allows for burst 
transmits, and also by freeing up some computes which are now burned sending out 
"1's".

The tx_buffer can help you out here:
   http://gnuradio.org/trac/browser/gnuradio/trunk/usrp/fpga/sdr_lib/tx_buffer.v

You can see how at line 72 there is a case statement and if the TX
FIFO is empty, the values are set to be zero.  I am not 100% sure, but
I believe if you change these values to be non-zero you will get a
carrier to come out.

Moreover, once the TX FIFOs are filled with something, that data will
then automatically switch over for you.

The only thing I'd be worried about is the master control register
which controls whether or not the TX strobes are enabled.  You can see
this here:
   
http://gnuradio.org/trac/browser/gnuradio/trunk/usrp/fpga/sdr_lib/master_control.v

Follow the 'enable_tx' signal around to see what I mean.

You may want to dig into Verilog simulation a bit if you have the
time.  There are testbenches that are written and in the repository
that allow you to see what the changes you make will have on the code.

I hope this helps.

Brian




reply via email to

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