[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] USB2, 32 MByte/s or 480MBit/s?
From: |
John Gilmore |
Subject: |
Re: [Discuss-gnuradio] USB2, 32 MByte/s or 480MBit/s? |
Date: |
Fri, 16 Jun 2006 21:16:32 -0700 |
David Carr said:
> As a point of reference the SSRP was used in a radio astronomy application
> where maximum bandwidth was important and we were able to squeeze a little
> more than 40MB/s out of the bus.
>
> I think this says that there is a little more to be had but that the USRP
> is doing a pretty good job at 32MB/s...
The SSRP and the USRP both use the same interface chip, but they run it
in different modes. The SSRP doesn't support transmission, so it uses
a fully-automated hardware mode. The USRP needs data to go both ways,
so there are some firmware delays in the 8-bit processor that runs in
the interface chip.
If someone cared, it is probably possible to reprogram the firmware so
that when no data is being transmitted, the automatic hardware mode is
used. The firmware would have to know, or be told, when to switch in
and out of this mode. But this would gain 25% more bandwidth!
(A similar optimization could be done for transmit-only applications.
It's mixed transmitting and receiving that takes more overhead. Also,
few people have looked at that firmware code; it may be possible to
optimize it further in other ways.)
Making this change might also require changing the Verilog code in the
FPGA, if the signals that it uses to communicate with the USB chip
today aren't compatible with the fully automated hardware mode. If
you're lucky, Matt and Eric already thought of that :-) while
debugging the USB interface, which was a hairy process due to
undocumented bugs in the USB chip.
John
PS: Hacking in similar places would also allow the USRP to run on
USB 1.1 at 12 megabits/sec, for low sample rate applications.