|
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
[Prev in Thread] | Current Thread | [Next in Thread] |