by Hamid Namdar
Can you imagine connecting up to 127 different peripherals — like scanners, modems, storage
devices, web cams, telephones, printers, and many others — to your computer at the same time,
using them without any PC reconfigurations or rebooting? Don’t imagine any longer because it is real
and it’s called USB (Universal Serial Bus).
USB is the answer to the development of all the new
external peripherals for the PC platform. USB is low
cost, fast, easy to use, bi-directional, and capable of real
time data transfer of voice, audio, and video. Currently,
USB 2.0 has a bandwidth of 480 Mbps, which is 40 times
greater than the previous version — USB 1.1 — with a fully
compatible bandwidth of 12 Mbps.
You might ask why only 127 different devices can be
connected to a USB system. The reason is that a USB
system uses addresses to identify different devices. The
address field in a USB packet is seven bits long. The
number of addresses you can create with this is two to the
power of seven — 128 unique addresses. Address 0000000
is reserved for the default address and it is assigned to all
devices upon power-up of the system. That leaves addresses
0000001 to 1111111 to use for the USB devices.
NUTS & VOLTS
After the setup procedure of the system and the USB
devices, each device on the system is assigned a unique
address between 1 to 127 by the host for communicating
with the computer. If you need to attach more than 127
USB devices to your computer, you
will need a second host controller.
and a wide range of peripherals simultaneously. These
peripherals share the bandwidth of the USB through a
host-scheduled, token-based protocol. By way of USB, you
are allowed to plug, detach, configure, and use peripherals
while the computer and other devices are in operation. The
overall system of USB can be broken into three parts: USB
host, USB devices, and USB interface.
A USB system has only one host. Figure 1 shows a
simple host-to-device connection. The host consists of the
client software, USB system software, and USB host controller. Some of the responsibilities of the host are detecting
the attachment and removal of USB devices, managing
data control and flow, collecting status and activity statistics,
controlling all access to the USB, granting access to the
bus by a USB device, and providing power to some of the
attached USB devices. The root hub (Figure 2) — which is
integrated within the host system — provides one or more
attachment points for the external USB devices.
Figure 1. A simple host/device connection.
A USB uses a cable bus to
exchange data between a computer
USB devices must carry
information for self-identification
and generic configuration. USB
devices are hubs or peripherals used
to provide additional USB ports.
Figure 3 shows a hub with seven