From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Communications System Design Suite

cancel
Showing results for 
Search instead for 
Did you mean: 

Routine based task assignment between two USRP RIO

I have a table where 2 USRPs are given time slotted task. And they keep on changing roles.
T1: USRP1 transmits and USRP2 receives
T2: Both switches their role and USRP2 transmits while USRP1 receives.
This routine keeps on progressing. 
 
The implementation is much like MIMO uplink downlink switching for pilot training and data transmission.
 
How do I implement this with 1082 controller and 2 USRPs?
 
I tried control structures while starting both USRP1 and USRP2 with initialisation.
 
Two switch the role I used ATR registers RX  TX enable switching between TRUE and FALSE.
 
But I see Transmitting USRP receiving packets while it's transmitting! How do I stop this? I know I can throw the data away.
 
Any solution model for this or reference design?
0 Kudos
Message 1 of 3
(2,798 Views)

Are you using the FPGA? If so, can you use the RF x/Rx/Enable or RF x/Tx/Enable to enable or disable TX on the RX device and vice versa?

 

Rereading your post, it looks like you are already doing that. When putting a false in the RF0/Rx/Enable while it is supposed to be transmitting, are you seeing garbage data or is it real data? I believe on the FPGA the USRP will continue to read from the RX lines even if the data is invalid. If you are seeing garbage data that is expected. Seeing valid data is a different story, my initial thought is that this is not the expected behavior but I would have to look into it further.

 

If you are seeing garbage data than just throw out those samples.

 

Cheers

 

 

Michael Bilyk
Former NI Software Engineer (IT)
0 Kudos
Message 2 of 3
(2,784 Views)

Yes I am toggling the values of ATR registers in main GUI. I am using CASE structure with some amount of waiting time in each stage.

 

1. Any better way to design routine?

 

Whats surprising is I am receiving self transmitted values, the amplitude is very high compared to the what to be received in next slot. So it masks the actual data.

2. Can you share your version of expected design for this routine either using ATR registers or without?

 

3. Yes I got suggestions to drop the garbage, if that's the case, how can I do it in runtime? Any example?

0 Kudos
Message 3 of 3
(2,770 Views)