Hardware Reference
In-Depth Information
Control transfers
Control data is used by the USB system software to configure devices when
they are first attached. Other driver software can choose to use control transfers
in implementation-specific ways. Data delivery is lossless.
Bulk data transfers
Bulk data typically consists of larger amounts of data, such as that used for print-
ers or scanners. Bulk data is sequential. Reliable exchange of data is ensured at
the hardware level by using hardware error and invoking a limited number of
retries. Note also that the bandwidth taken up by bulk data can vary, depending
on other bus activities.
Interrupt data transfers
A small, limited-latency transfer to or from a device is referred to as interrupt
data . Such data may be presented for transfer by a device at any time. Interrupt
data typically consists of event notification, characters, or coordinates that are
organized as groups of one or more bytes. An example of interrupt data is the
coordinates from a pointing device.
Isochronous data transfers
Isochronous data is continuous and delivered in real-time. Timing-related infor-
mation is implied by the steady rate at which isochronous data is received and
transferred. In order to maintain timing, isochronous data must be delivered at
the rate that it is received. In addition to delivery rate, isochronous data may also
be sensitive to delivery delays. For isochronous pipes, the bandwidth required is
typically based upon the sampling characteristics of the associated function. The
latency, on the other hand, is related to the buffering available at each endpoint.
A typical example of isochronous data is voice. If the delivery rate of this
type of data stream is not maintained, drop-outs can occur due to buffer or frame
underruns or overruns . Even if data is delivered at the appropriate rate by USB
hardware, delivery delays introduced by software may degrade applications
requiring real-time turn-around. To safeguard the delivery of data at the desired
rate, USB isochronous data streams are allocated a dedicated portion of the
USB bandwidth.
USB devices
As mentioned earlier, USB uses two major types of device: hubs and functions .
The former class of device provides additional USB attachment points whilst
the latter provides the host with additional capabilities. It is important to be
clear about this distinction!
Hubs
Hubs are a key element in the plug-and-play architecture of the USB. Each hub
converts a single upstream port into multiple downstream ports , each of which
Search WWH ::




Custom Search