UHD - Tx still transmitting

Hi,

I’m developing a waveform in C++
I’m using the UHD drivers and the USRP1.
The daugtherboard being used is the WBX.

I have 2 antennas:
One antenna (Rx) is connected to the Rx2 connector on the WBX board
the other antenna (Tx) is connected to Tx/Rx connector on the WBX board.

I’m not doing Rx and Tx at the same time (for now…)

Tx is working fine.
Rx is not because Tx is still sending data (last packet??).
Rx and Tx are using close frequencies…
so the Tx is interfering with the Rx…

I tried after stopping the Tx, so send a bunch of packet with 0 data in
them…no difference.

For now the only solution I found is when a switch to Rx mode, I set the
Tx frequency to a different value (ex: 800MHz instead of 200MHz).

Is there a way to completely stop the Tx?

Thanks,

Martin

I believe you have to make sure that “end-of-burst” is set and wait for
an ACK from the USRP. This allows the FPGA buffers to clear, at which
point you should be able to start RX. Someone please correct me if I’m
wrong :slight_smile:

Sean


From: discuss-gnuradio-bounces+sean.nowlan=removed_email_address@domain.invalid
[discuss-gnuradio-bounces+sean.nowlan=removed_email_address@domain.invalid] on behalf
of Martin Phisel [[email protected]]
Sent: Wednesday, November 30, 2011 3:16 PM
To: [email protected]
Subject: [Discuss-gnuradio] UHD - Tx still transmitting

Hi,

I’m developing a waveform in C++
I’m using the UHD drivers and the USRP1.
The daugtherboard being used is the WBX.

I have 2 antennas:
One antenna (Rx) is connected to the Rx2 connector on the WBX board
the other antenna (Tx) is connected to Tx/Rx connector on the WBX board.

I’m not doing Rx and Tx at the same time (for now…)

Tx is working fine.
Rx is not because Tx is still sending data (last packet??).
Rx and Tx are using close frequencies…
so the Tx is interfering with the Rx…

I tried after stopping the Tx, so send a bunch of packet with 0 data in
them…no difference.

For now the only solution I found is when a switch to Rx mode, I set the
Tx frequency to a different value (ex: 800MHz instead of 200MHz).

Is there a way to completely stop the Tx?

Thanks,

Martin


Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

I believe you have to make sure that “end-of-burst” is set and wait for an ACK
from the USRP. This allows the FPGA buffers to clear, at which point you should be
able to start RX. Someone please correct me if I’m wrong :slight_smile:

Sean
Yup. In …/uhd/examples/tx_burst.cpp

Shows how this is done using the raw UHD interface (not mediated by Gnu
Radio).

There are latencies involved in many parts of the “stack”, so if you
want to know that it’s safe to
start receiving, you have to wait for the End-Of-Burst ACK. When you
“->send()” a lump of data
in UHD, when that send completes, it only means that the OS kernel
has accepted the data. It doesn’t
mean that the ethernet interface has transmitted, or that the other
end has finished receiving it, or that
the FPGA is finished with it and the last sample has left the DAC.
That’s what the EOB-ACK protocol is
about.


Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium