USRP Software Radio

cancel
Showing results for 
Search instead for 
Did you mean: 

USRP-RIO Tx Stream Underflow

Hello,

 

I have a USRP 2940R which is connected to PCIe adapter(PCIe-8371) on my PC via MXI cable. 

I have created USRP Simple Streaming project(FPGA Project) using the wizard and I ran Tx Streaming (Host).vi.

The problem is; Tx underflows occurs when I set the sample rate higher than 50 MS/s and run the code in continuous generation mode. Even in Finite Mode, Tx undeflow occurs if sample rate is higher than 100MS/s.

We have bought this device trusting this page which claims 800MB/S is achievable. However I can not even reach 400MB/s usingthe example project provided by NI.

 

Could you kindly share an example which allows me to do Tx stream at more than 600MB/s.

 

Below is my configuration:

PC: E300-8D

OS: Win7 64-bit SP1

LV 2016

USRP 16.1

 

Regards,

Ozan

0 Kudos
Message 1 of 3
(2,773 Views)

Hello,

I realized that there is no underflow in Finite Mode,if set the number of samples lower then host-to-target DMA FIFO size. On the other hand, in Continuous Mode I verified that I can keep the FIFO memory filled,which means that DMA FIFO always have enough elements on the PC Ram to avoid underflow. However FPGA code inidicates underflows. By the way I set the Number of Samples parameter to different values between 8192 to 10M when IQ rate is higher than 50MS/s.  It seems that data transfer from PC ram to FPGA via DMA is not deterministic.

 

Did anybody managed to run Tx stream faster than 50MS/s?

 

Ozan 

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

Hi Ozan,

 

The 800 MB/s is not a guaranteed streaming rate for the USRP, it is the theoretical maximum of the PCIe bus you're using to transfer data. The actual rate you can get depends on a variety of factors, including the hardware you're using and how your host PC handles data transfers. You mentioned that your acquisition was not deterministic -- this is correct. This is partly due to the fact that the operating system you're using is not deterministic, so it is not able to push samples to the FPGA with any kind of determinism.

 

Why are you trying to stream 800 MB of data? It's worth considering that you may not have the correct hardware for your application. The USRP was designed for prototyping wireless communications standards, not high-throughput streaming of data. In addition, it is also worth noting that the USRP is an uncalibrated and unwarranted device. This means that the specifications of the device are not guaranteed, which means that even if you can achieve the theoretical maximum performance, it may not be consistent.

 

Hope that helps clear some things up. Please let me know if you have any further questions!

 

Thanks,

Sunayna R.
Applications Engineering
National Instruments
0 Kudos
Message 3 of 3
(2,635 Views)