Information Technology Reference
In-Depth Information
USB supports two types of transfers: stream and message. A stream has no defined structure,
whereas a message does. At start-up one message pipe, Control Pipe 0, always exists as it
provides access to the device's configuration, status and control information.
The USB protocol supports hardware or software error handling. In hardware error han-
dling the host controller retries three times before informing the client software of the error.
Each packet includes a CRC field which detects all single and double bit errors, as well
as many multibit errors. Typically error conditions are short term.
A major advantage of USB is the hot attachment and detachment of devices. USB does this
by sensing when a device is attached or detached. When this happens, the host system is no-
tified, and system software interrogates the device. It then determines its capabilities, and
automatically configures the device. All the required drivers are then loaded and applications
can immediately make use of the connected device.
9.2.3 Data transfers types
USB optimizes large data transfers and real-time data transfers. When a pipe is established
for an endpoint, most of the pipe's transfer characteristics are determined and remain fixed
for the lifetime of the pipe. Transfer characteristics that can be modified are described for
each transfer type.
USB defines four transfer types:
Control transfers - bursty, non-periodic, host software initiated request/response com-
munication typically used for command/status operations.
Isochronous transfers - periodic, continuous communication between host and device
typically used for time relevant information. This transfer type also preserves the con-
cept of time encapsulated in the data. This does not imply, however, that the delivery
needs of such data are always time critical.
Interrupt transfers - small data, non-periodic, low frequency, bounded latency, device
initiated communication typically used to notify the host of device service needs.
Bulk transfers - non-periodic, large bursty communication typically used for data that
can use any available bandwidth and also is delayed until bandwidth is available.
9.2.4 USB implementation
There are two main ways to implement USB. These are:
OHCI (open host controller interface) . This method defines the register level inter-
face that enables the USB controller to communicate with the host computer and the op-
erating system. OHCI is an industry-standard hardware interface for operating systems,
device drivers, and the basic input output system (BIOS) to manage the USB. It opti-
mises performance of the USB bus while minimising central processing unit (CPU)
overhead to control the USB. Its main features are:
Scatter/gather bus master hardware support reduces CPU overhead to handle multiple
data transfers across the USB.
Efficient isochronous data transfers allow for high USB bandwidth without slowing
down the host CPU.
Assurance of full compatibility with all USB devices.
Search WWH ::




Custom Search