discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] Is data communication between UHD_USRP_SOURCE and USR


From: Feng Andrew Ge
Subject: [Discuss-gnuradio] Is data communication between UHD_USRP_SOURCE and USRP2 "polling" or "pushing"
Date: Wed, 02 Mar 2011 13:06:54 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101208 Thunderbird/3.1.7

Josh,

Once I start uhd_benmark_rx.py, USRP2 continuously sends data to the host. The data rate is the sample rate times 4 (bytes per sample). This happens even when no transmitter is around. Therefore, I assume that the ADC just converts noise into samples and USRP2 sends those samples at the rate specified by the sample rate when uhd_usrp_source is initialized.

I have one question, is data communication between USRP2 and uhd_usrp_source "polling" or "pushing"? I thought it is "polling" because only UDP socket client exists in uhd_usrp_source. In this case, data RECV is triggered by the scheduler's work function. Usually the noutput_items varies from time to time. If so, how can USRP2 send samples at a constant rate of the specified samp_rate (as I observed)?

If it is "pushing" (which means that USRP2's firmware initiates the data sending to the host), it looks like that USRP2 even sends samples of noise at a constant speed. But if so, would the such samples fill the kernel socket buffer (whose size is determined by "sudo sysctl -w net.core.rmem_max=<new value>")? Newer packets will get dropped.


On 03/01/2011 06:13 PM, Josh Blum wrote:
Nothing gets buffered in the UHD in the usrp2/n210 implementation.
However, there is a kernel socket buffer on receive that has enough
buffering for a second of samples. Once this buffer fills, newer packets
are dropped.

I also believe that this is the same on the raw ethernet driver.

-josh




reply via email to

[Prev in Thread] Current Thread [Next in Thread]