Introduction to USB - Pdf 64

Introduction to USB
As its name suggests, Universal Serial Bus (USB) is an external bus architecture for
connecting USB-capable peripheral devices to a host computer. USB was not
designed to be used as the internal bus for connecting CPUs to main memory and
other motherboard-resident devices. Instead, USB is a communication protocol that
supports serial data transfers between a host system and USB-capable peripherals.
USB technology was developed as a solution to the increasing end-user demands on
computers and the need for flexible and easy-to-use peripherals. A number of
standard PC peripherals such as keyboards, mice, joysticks, digital cameras, CTI
(computer telephone integration) and video conferencing products benefit directly
from USB.
USB offers a number of benefits to system designers:
• USB provides a single, well-defined, standard connector type for all USB
devices. This simplifies the design of USB devices as well as simplifying the
end user's task of figuring out which plugs go into which sockets.
• Reduced hardware complexity—no need for separate keyboard, mouse,
modem, and printer ports.
• Hot-Pluggable support—USB devices can be safely connected and disconnected
without requiring that the host be shut off. Other generic peripheral connection
standards, such as the Small Computer Systems Interface (SCSI), do not offer
this feature. Hot-pluggable support is a key feature behind USB.
• Plug-and-Play support so the host computer can identify USB devices when
they are plugged in and configure them by loading the appropriate driver. This
is another key feature for the inception of USB technology.
• USB devices can be powered by drawing current directly from the USB cable
(known as "bus power"), use external power, or a combination of both.
• USB supports power saving suspend/resume modes.
• USB offers high speed (12 megabits/second) and low speed (1.5
megabits/second) modes that can support a variety of peripherals.
• USB can guarantee certain amounts of bandwidth for devices that cannot
tolerate "bursty" transmission, such as streaming audio and video devices.

configuration in the Universal Serial Bus Specification, Revision 1.0, but with the
hubs and peripheral devices represented more explicitly:
Figure 1. A typical USB bus
Note that the association of the mouse with the keyboard's internal hub and the
speakers with the monitor's internal hub is entirely arbitrary. For example, a user
could instead connect the mouse to the monitor's internal hub, the modem to the
keyboard's internal hub, and the speakers to the standalone hub in tier 1 without
impacting the system's functionality and without having to make any changes to the
configuration of software on the host computer.
System Software
As illustrated in the diagram below, a USB system consists of a host side, a device
side, and the physical bus represented by the USB cable. The main responsibility of
the host is to provide control interface for data transfers, whereas the client provides
the end user with various functions. The host side itself consists of a USB adapter or
USB Host Controller hardware layer and an upper-level System Software layer. The
host controller is responsible for transferring streams of data between the host and
the USB devices. The host controller provides services based on parameters provided
by the host software when the configuration request is made.
The system software for USB consists of two layers. The top layer consists of USB
device drivers. Such drivers establish a connection to the device they control and use
the USB system software functions to configure and communicate with the device.
The bottom layer consists of the USB system software. This software performs
several tasks:
• Manage all communication between USB device drivers and the host
computer's built-in USB root hub.
• Load and unload USB device drivers at the appropriate times.
• Translate data to and from the USB protocol's frame and packet formats.
• Establish communication with the generic endpoint on all USB devices
connected to the bus in order to perform generic configuration and status-
related tasks.

Every device known to the HCD module has a unique USB address assigned to it
when it is attached.
USB device drivers establish logical communication channels, called "pipes," to the
various endpoints on a USB device. The characteristics of a pipe (for example,
direction of communication, required bandwidth, and so on) are determined by the
endpoint characteristics, which are indicated in the endpoint descriptor structure. A
pipe is a software association between an endpoint and a USB device driver. At
implementation level, pipes can be thought of as software channels using function
calls within the USB system software in order to communicate with their associated
endpoints.
The bus interface hardware on a USB device is responsible for transmission and
reception of USB structured data. A logical USB device consists of the USB
abstraction entities such as the device endpoints and their corresponding pipes.
An "interface" is a higher level entity that consists of one or more pipes and
corresponds to some useful unit of functionality for the host computer. For example,
a haptic input device, such as a force-feedback joystick, could have separate pipes for
the position information that the joystick sends to the host computer and the force-
feedback information that the host computer sends to the joystick. Taken together,
that collection of pipes is known as an "interface" because it corresponds to the
joystick as a whole. An interface can be controlled by exactly one USB device driver.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status