4ca7542d200f2c63912f9d980c3cdb58bcd6a016
[debian/gnuradio] / usrp / doc / inband-signaling-gigethernet
1 Gigabit Ethernet Interconnect for the USRP2
2
3 At this point, this is a place to summarize design requirements,
4 possible solutions, point-counterpoint, etc.
5
6
7 Requirements:
8
9 (R1) High throughput and low latency between USRP h/w and user-space.
10 One of the primary reasons for switching from USB to gigabit ethernet
11 is to increase throughput.  Many users want to be be able to build
12 WLAN type systems, and are thwarted by the relatively low throughput
13 available over the USB.  Eric thinks we should shoot for at least
14 100MB/s full-duplex into user space, using packets with payloads on
15 the order of 256 to 512 bytes.  The small packet size is to reduce the
16 latency.  This is important for many MACs that people want to build on
17 the host side.
18
19 (R2) Non-priviledged user programs should be able to access the USRP.
20 This could be implemented by a priviledged daemon that actually handles the
21 low level communication with the USRP2.  This daemon may be desirable
22 for other reasons, including central point of control for
23 arbitrating/muxing/demuxing between multiple concurrent users (e.g.,
24 Tx, Rx, requests, replies, various logical channels).
25
26 (R3) Some way to flow control the host to USRP2 stream.  This is
27 required in case the user connects an unthrottled signal generator to
28 the USRP. (This is not uncommon.)  The USRP2 to host direction
29 shouldn't be a problem, since the USRP2 throughput is controlled by
30 its configuration.  It is an error to configure the USRP2 to transmit
31 data at a higher rate than the transport or host can consume.
32
33 One solution to this requirement could be having the USRP2 emit GigE
34 "pause" frames.  We'll need to confirm that this works.