Information Technology Reference
In-Depth Information
Other mass-storage devices have additional duties such as operating as a
camera, data logger, or other special-function device.
Bus Speeds
The USB 2.0 specification defines three bus speeds: high speed at 480
megabits/sec., full speed at 12 megabits/sec., and low speed at 1.5 mega-
bits/sec. A USB mass-storage device must support full speed, high speed, or
both. Almost all high-speed devices also support full speed because adding
support for full speed is rarely difficult and enables the device to work when
attached to full-speed hosts. USB hosts in recent PCs support all three
speeds. An On-The-Go host or an embedded host with mass-storage sup-
port can support full speed, high speed, or both.
The bus speeds describe the rate that information travels on the bus. In
addition to data, the bus must carry status, control, and error-checking sig-
nals. Plus, all peripherals must share the bus. So the data throughput for a
device is always less than the bit rate on the bus.
In theory, on an otherwise idle bus, a full-speed device can transfer just over
1.2 megabytes/sec., and a high-speed device can transfer more than 53
megabytes/sec. Some full-speed hosts can achieve the maximum speed or
close to it. At this writing, some high-speed hosts can transfer close to 40
megabytes/sec. The actual rate of data transfer varies depending on the effi-
ciency of the host's and device's programming, how busy the bus is, and
hardware capabilities of the host and drive.
Endpoints
All bus traffic is to or from device endpoints. An endpoint serves as a buffer
for received data or data waiting to transmit. Typically an endpoint is a
block of data memory or a register in the device controller.
Every device must have endpoint zero, which is the default endpoint used
for control transfers. Endpoint zero is bidirectional.
A device can have up to 30 additional endpoint addresses. Each of these
endpoint addresses has a number (1 to 15) and direction (IN or OUT). The
direction is defined from the host's perspective: an IN endpoint provides
data to send to the host and an OUT endpoint stores data received from the
host. Device hardware or firmware configures each endpoint address for a
Search WWH ::




Custom Search