USRP Software Radio

cancel
Showing results for 
Search instead for 
Did you mean: 

[USRP X310] Change OTW format to sc8 at FPGA

Hi All,

This is my first post here. Hope someone can help me.

I am using USRP X310 with a daughterboard and want to use sc8 format for OTW. I am able to successfully make sc16 (as both OTW and CPU format) work with 2 channels (using rx_multi_samples.cpp as baseline). But if I set OTW=sc8, it complaints of mismatch and says sig_type=sc16.

 

I believe there will be something in the FPGA that I can modify to make it work. This will save lot of bandwidth and will match my requirement. No other forum (Ettus etc.) are replying to this question. Can someone please help here.

 

Thanks

Gaurav

0 Kudos
Message 1 of 10
(3,797 Views)

Hello Gaurav,

 

and welcome to the NI community!

 

To rephrase your question in my own words: You want to change the data format used over-the-wire (OTW), that is between your device and the USRP hardware driver, from sc16 to something else, while keeping sc16 as the CPU format. Is that correct?

 

Apart from that I'd need some more information about your setup. You are using an Ettus USRP X310. Are you using the X310 with out-of-the-box configuration or have you uploaded an NI FPGA image to it? Also, what model is the daughter board? Also, as you were talking about rx_multi_sample.cpp: What did you change in your application except OTW=sc8? Can you maybe attach your code? This would help everyone coming across this thread.

 

Apart form that, please be aware that Ettus is a different company than National Instruments (just owned by NI), they have their own products, and own support organization. So it might be more effective for you to contact them directly: https://www.ettus.com/support

 

 


Ingo – LabVIEW 2013, 2014, 2015, 2016, 2017, 2018, NXG 2.0, 2.1, 3.0
CLADMSD
0 Kudos
Message 2 of 10
(3,770 Views)

Oh, one more thing: I found a potential answer to your question in a mailing list discussion on Ettus' "USRP-users" mailing list: [USRP-users] SC8 otw format with x310&wbx-120 and UHD 3.8.2

 

The bottom line of that post is:

I don't believe that there is an sc8 wire-format implementationi for the X3xx series, since that format is largely about saving over-the-wire 
bandwidth, and with 10G, there's plenty of bandwidth, even with normal sc8 representation.

However, this information is an assumption from 2015, so it might have changed.


Ingo – LabVIEW 2013, 2014, 2015, 2016, 2017, 2018, NXG 2.0, 2.1, 3.0
CLADMSD
0 Kudos
Message 3 of 10
(3,769 Views)

Hi,

Thanks a lot for the reply. Unfortunately, no one responds to the emails to Ettus Support these days and I couldn't get my request accepted yet for the discussion forum (no response at all). 

Regarding your questions, your understanding is partially correct. I want to change OTW=SC8 and CPU-Format=SC8 as well. If I can't change OTW, I would have to then convert SC16 to SC8 when I receive data on the host which is not efficient for the project that I am working on. Can you please help.

Setup-wise, I am using X310 with one Daughter board (TwinRX 80MHz: https://www.ettus.com/product/details/TwinRX). I have used the default FPGA image (for 10GbE) that comes with the open-source repository. My version of UHD is 3.11.1. The simplest thing I was expecting to work was changing OTW=sc8, CPU-format=sc8, but that doesn't work.

Thanks

0 Kudos
Message 4 of 10
(3,754 Views)

Hi,

Thanks a lot for the reply. Unfortunately, no one responds to the emails to Ettus Support these days and I couldn't get my request accepted yet for the discussion forum (no response at all). 

Regarding your questions, your understanding is partially correct. I want to change OTW=SC8 and CPU-Format=SC8 as well. If I can't change OTW, I would have to then convert SC16 to SC8 when I receive data on the host which is not efficient for the project that I am working on. Can you please help.

Setup-wise, I am using X310 with one Daughter board (TwinRX 80MHz: https://www.ettus.com/product/details/TwinRX). I have used the default FPGA image (for 10GbE) that comes with the open-source repository. My version of UHD is 3.11.1. The simplest thing I was expecting to work was changing OTW=sc8, CPU-format=sc8, but that doesn't work, so I tried only this in rx_multi_samples.cpp.

Thanks

0 Kudos
Message 5 of 10
(3,753 Views)

Hi gchat,

 

Unfortunately SC8 is not supported on X310 at this time. Is an acceptable solution to do as you mention, "I would have to then convert SC16 to SC8 when I receive data on the host which is not efficient for the project that I am working on"

 

I understand it wouldn't be efficient, but is it acceptable for your application? Are you having issues streaming SC16 to your host? What method are you using (10GbE/PCIe)?

0 Kudos
Message 6 of 10
(3,745 Views)

Hi,

Oh really? This is strange because it is mentioned in the manuals that sc8 is supported. I am trying to convert but ofcourse it is not as efficient as changing OTW to sc8 format. Hence it's acceptable for now but not in longer term unfortunately.

SC16 data transfer is working fine and I am using 10GbE for the transfer (approx 250-300 MBps).

Thanks

0 Kudos
Message 7 of 10
(3,737 Views)

Can you link me to the manual which mentions that so we can fix it? Sorry for the confusion!

0 Kudos
Message 8 of 10
(3,734 Views)

Hi,

 

After discussion with NI support, it seems I have to modify FPGA for this conversion.

Can anyone please suggest the entity where it is efficient to be done. I am trying to figure out in the FPGA code (without any manual or comments unfortunately) but some parts are quite confusing to me.

 

Any help or suggestion would be highly appeciated.

 

Thanks

Gaurav

0 Kudos
Message 9 of 10
(3,633 Views)

Hey Gaurav,

 

What FPGA code are exactly we talking about? Could you attached it here? Or is it Ettus Research USRP FPGA HDL Source on GitHub and then sub-folder usrp3?


Ingo – LabVIEW 2013, 2014, 2015, 2016, 2017, 2018, NXG 2.0, 2.1, 3.0
CLADMSD
0 Kudos
Message 10 of 10
(3,557 Views)