On Wed, Mar 21, 2012 at 11:42 AM, Vincenzo Pellegrini <wwvi...@gmail.com>wrote:

> HI fellows,
>
> I was wondering if anybody has been trying to reach 8 Complex Msps over
> the USB 2.0 on the Tx path.
> While this has always been OK with old libusrp (and USRP 1) it appears to
> be no longer possible by means of UHD
> neither when trying to do that on USRP1 (a few underruns) nor on B100
> (lots of overruns).
>
>
> Everything appears instead fine on the Rx path
>
> Is there any workaround to this?
>
> ..or did I miss something?
>
>
> thanks everybody
>
> PS
> USB 3.0 seems to be capable enough for the 8 Msps.
> Is USB3.0 a requirement for 8 Msps on the B100?
>
>
Look for other devices on that USB bus using lsusb. Avoid sharing the bus
with other peripherals (bluetooth, wlan, etc). You can also modify the
transport parameters using
--args=recv_frame_size=xxxxx,send_frame_size=xxxxx. This will give you the
same control over receive & send frame size that the old USRP1 drivers had.
The default receive/send frame sizes are 16K, which seems to work OK on
most machines.

For comparison, the USB host controller I'm using is the Intel 6
Series/C200, and on B100 I can use a TX send rate of 10.67Msps without
underflow, although occasionally underflows occur at the very beginning of
the transmission (likely due to interrupt coalescing on the USB controller).

I also have a USB 3.0 controller (an NEC Corporation uPD720200) on this
laptop, which fares more poorly, but still easily achieves 8Msps. I don't
have a good explanation as to why some USB controllers do better than
others. USB 3.0 is certainly not required on B100/USRP1, as neither device
uses USB 3.0.

--n


>
>
> ____________________________________________________________B100
>
> ./benchmark_rate --tx_rate 8e6
> linux; GNU C++ version 4.6.1 20110908 (Red Hat 4.6.1-9); Boost_104600;
> UHD_003.004.000-325-g7e296167
>
>
> Creating the usrp device with: ...
> -- USRP-B100 clock control: 10
> --   r_counter: 2
> --   a_counter: 0
> --   b_counter: 20
> --   prescaler: 8
> --   vco_divider: 5
> --   chan_divider: 5
> --   vco_rate: 1600.000000MHz
> --   chan_rate: 320.000000MHz
> --   out_rate: 64.000000MHz
> --
> Using Device: Single USRP:
>   Device: B-Series Device
>   Mboard 0: B100 (B-Hundo)
>   RX Channel: 0
>     RX DSP: 0
>     RX Dboard: A
>     RX Subdev: WBX RX v3 + Simple GDB
>   TX Channel: 0
>     TX DSP: 0
>     TX Dboard: A
>     TX Subdev: WBX TX v3 + Simple GDB
>
> Testing transmit rate 8.000000 Msps
>
> UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
> Benchmark rate summary:
>   Num received samples:    0
>   Num dropped samples:     0
>   Num overflows detected:  0
>   Num transmitted samples: 79931260
>   Num sequence errors:     0
>   Num underflows detected: 406
>
>
> Done!
>
>
>
> ./benchmark_rate --tx_rate 8e6 --tx_otw sc16
> linux; GNU C++ version 4.6.1 20110908 (Red Hat 4.6.1-9); Boost_104600;
> UHD_003.004.000-325-g7e296167
>
>
> Creating the usrp device with: ...
> -- USRP-B100 clock control: 10
> --   r_counter: 2
> --   a_counter: 0
> --   b_counter: 20
> --   prescaler: 8
> --   vco_divider: 5
> --   chan_divider: 5
> --   vco_rate: 1600.000000MHz
> --   chan_rate: 320.000000MHz
> --   out_rate: 64.000000MHz
> --
> Using Device: Single USRP:
>   Device: B-Series Device
>   Mboard 0: B100 (B-Hundo)
>   RX Channel: 0
>     RX DSP: 0
>     RX Dboard: A
>     RX Subdev: WBX RX v3 + Simple GDB
>   TX Channel: 0
>     TX DSP: 0
>     TX Dboard: A
>     TX Subdev: WBX TX v3 + Simple GDB
>
> Testing transmit rate 8.000000 Msps
>
> UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
> Benchmark rate summary:
>   Num received samples:    0
>   Num dropped samples:     0
>   Num overflows detected:  0
>   Num transmitted samples: 79890620
>   Num sequence errors:     0
>   Num underflows detected: 696
>
>
> Done!
>
>
> ____________________________________________________________USRP 1
>
> ./benchmark_rate --tx_rate 8e6 --tx_otw sc16
> linux; GNU C++ version 4.6.1 20110908 (Red Hat 4.6.1-9); Boost_104600;
> UHD_003.004.000-325-g7e296167
>
>
> *** Warning! ***
> Benchmark results will be inaccurate on USRP1 due to insufficient features.
>
> Creating the usrp device with: ...
> -- Opening a USRP1 device...
> -- Using FPGA clock rate of 64.000000MHz...
> Using Device: Single USRP:
>   Device: USRP1 Device
>   Mboard 0: USRP1 (Classic)
>   RX Channel: 0
>     RX DSP: 0
>     RX Dboard: B
>     RX Subdev: WBX RX v2 + Simple GDB
>   TX Channel: 0
>     TX DSP: 0
>     TX Dboard: B
>     TX Subdev: WBX TX v2 + Simple GDB
>
> Testing transmit rate 8.000000 Msps
> UUUUU
> Benchmark rate summary:
>   Num received samples:    0
>   Num dropped samples:     0
>   Num overflows detected:  0
>   Num transmitted samples: 80022656
>   Num sequence errors:     0
>   Num underflows detected: 5
>
>
> Done!
>
>
> ____________________________________________________________everything
> fine with 8bit samples
>
> ./benchmark_rate --tx_rate 8e6 --tx_otw sc8
> linux; GNU C++ version 4.6.1 20110908 (Red Hat 4.6.1-9); Boost_104600;
> UHD_003.004.000-325-g7e296167
>
>
> -- Loading firmware image: /usr/share/uhd/images/usrp_b100_fw.ihx... done
> Creating the usrp device with: ...
> -- USRP-B100 clock control: 10
> --   r_counter: 2
> --   a_counter: 0
> --   b_counter: 20
> --   prescaler: 8
> --   vco_divider: 5
> --   chan_divider: 5
> --   vco_rate: 1600.000000MHz
> --   chan_rate: 320.000000MHz
> --   out_rate: 64.000000MHz
> --
> -- Loading FPGA image: /usr/share/uhd/images/usrp_b100_fpga.bin... done
> Using Device: Single USRP:
>   Device: B-Series Device
>   Mboard 0: B100 (B-Hundo)
>   RX Channel: 0
>     RX DSP: 0
>     RX Dboard: A
>     RX Subdev: WBX RX v3 + Simple GDB
>   TX Channel: 0
>     TX DSP: 0
>     TX Dboard: A
>     TX Subdev: WBX TX v3 + Simple GDB
>
> Testing transmit rate 8.000000 Msps
>
> Benchmark rate summary:
>   Num received samples:    0
>   Num dropped samples:     0
>   Num overflows detected:  0
>   Num transmitted samples: 80053688
>   Num sequence errors:     0
>   Num underflows detected: 0
>
>
> Done!
>
>
>
>
> --
> Vincenzo Pellegrini
> http://www.youtube.com/user/wwvince1
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to