On 7/24/07, Michael P Buettner <[EMAIL PROTECTED]> 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
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio