Hardware Reference
In-Depth Information
Photo 2.15 A low-cost USB four-port hub
transaction,
the USB device address,
and endpoint number.
This packet is
referred to as the token packet .
Each USB device decodes the appropriate address fields to determine whether
it is being selected. In a given transaction, data is transferred either from the host
to a device or from a device to the host. The direction of data transfer is specified
in the token packet. The source of the transaction then sends a data packet or
indicates it has no data to transfer. The destination, in general, responds with a
handshake packet indicating whether the transfer was successful.
Error detection and handling
The USB standard embodies a number of methods that contribute to the reduc-
tion of noise and data errors, and the overall enhancement of reliability. These
include use of differential drivers, receivers, and shielding to improve sig-
nal integrity, cyclic redundancy character (CRC) checking of control and
data fields, automatic detection of attachment and detachment of devices, and
system-level configuration of resources. To provide protection against glitches
and transients, each packet includes error protection fields. When a high level
of data integrity is required, an error recovery procedure may be invoked in
hardware or software. Hardware error handling includes reporting and retry of
failed transfers, and a host controller will attempt retransmission three times
before informing the client software of the failure. The client software can then
recover in the most appropriate manner (according to the specific application
and the particular device function).
USB data transfers
The USB architecture allows for four basic types of data transfers: control
transfers , bulk data transfers , interrupt data transfers , and isochronous data
transfers . We shall briefly describe each type.
Search WWH ::




Custom Search