Just about any
computer that you buy today comes with one or more Universal Serial
Bus connectors on the back. These USB connectors let you attach
everything from mice
to printers
to your computer quickly and easily. The
operating
system supports USB as well, so the installation of the device drivers
is quick and easy, too. Compared to other ways of connecting devices to your
computer (including
parallel ports,
serial ports
and special cards that you install inside the computer's case), USB devices
are incredibly simple!
In this edition of
HowStuffWorks, we will look at USB ports from both a user and a
technical standpoint. You will learn why the USB system is so flexible and
how it is able to support so many devices so easily -- it's truly an amazing
system!
What is USB?
Anyone who has been around computers for more that two or three years knows
the problem that the Universal Serial Bus is trying to solve -- in the past,
connecting devices to computers has been a real headache!
- Printers connected to parallel printer ports, and most computers only
came with one. Things like
Zip drives,
which need a high-speed connection into the computer, would use the
parallel
port as well, often with limited success and not much speed.
- Modems used the
serial port,
but so did some printers and a variety of odd things like
Palm Pilots and
digital
cameras. Most computers have at most two serial ports, and they are
very slow in most cases.
- Devices that needed faster connections came with their own cards,
which had to fit in a card slot inside the computer's case. Unfortunately,
the number of card slots is limited and you needed a Ph.D. to install the
software for some of the cards.
The goal of USB is to end all of these headaches. The Universal Serial
Bus gives you a single, standardized, easy-to-use way to connect up to
127 devices to a computer. Each device can consume up to a maximum of 6
megabits per
second (Mbps) of bandwidth, which is fast enough for the vast majority of
peripheral devices that most people want to connect to their machines.
Just about every peripheral made now comes in a USB version. A sample
list of USB devices that you can buy today includes:
Connecting a USB device to a computer is simple -- you find the USB
connector on the back of your machine and plug the USB connector into it.
The
rectangular socket is a typical USB socket on the back of the computer.
|
A
typical USB connector for a device, called an "A" connection
|
If it is a new device, the
operating
system auto-detects it and asks for the driver disk. If the device has
already been installed, the computer activates it and starts talking to it.
USB devices can be connected and disconnected at any time.
Many USB devices come with their own built-in cable, and the cable has an
"A" connection on it. If not, then the device has a socket on it that
accepts a USB "B" connector.
A
typical "B" connection
|
The USB standard uses "A" and "B" connectors to avoid confusion:
- "A" connectors head "upstream" toward the computer.
- "B" connectors head "downstream" and connect to
individual devices.
By using different connectors on the upstream and downstream end, it is
impossible to ever get confused -- if you connect any USB cable's "B"
connector into a device, you know that it will work. Similarly, you can plug
any "A" connector into any "A" socket and know that it will work.
Running Out of Ports?
Most computers that you buy today come with one or two USB sockets. With so
many USB devices on the market today, you easily run out of sockets very
quickly. For example, on the computer that I am typing on right now, I have
a USB printer, a USB scanner, a USB Webcam and a USB network connection. My
computer has only one USB connector on it, so the obvious question is, "How
do you hook up all the devices?"
The easy solution to the problem is to buy an inexpensive USB hub.
The USB standard supports up to 127 devices, and USB hubs are a part of the
standard.
|
A
typical USB four-port hub accepts 4 "A" connections.
|
A hub typically has four new ports, but may have many more. You plug the
hub into your computer, and then plug your devices (or other hubs) into the
hub. By chaining hubs together, you can build up dozens of available USB
ports on a single computer.
Hubs can be powered or unpowered. As you will see on the
next page, the USB standard allows for devices to draw their power from
their USB connection. Obviously, a high-power device like a printer or
scanner will have its own power supply, but low-power devices like mice and
digital cameras get their power from the bus in order to simplify them. The
power (up to 500 milliamps at 5 volts) comes from the computer. If you have
lots of self-powered devices (like printers and scanners), then your hub
does not need to be powered -- none of the devices connecting to the hub
needs additional power, so the computer can handle it. If you have lots of
unpowered devices like mice and cameras, you probably need a powered hub.
The hub has its own
transformer and it supplies power to the bus so that the devices do not
overload the computer's supply.
Behind the Scenes
The Universal Serial Bus has the following features:
- The computer acts as the host.
- Up to 127 devices can connect to the host, either directly or
by way of USB hubs.
- Individual USB cables can run as long as 5 meters; with hubs, devices
can be up to 30 meters (six cables' worth) away from the host.
- The bus has a maximum data rate of 12 megabits per second.
- Any individual device can request up to 6 megabits per second
(obviously, you cannot really have more than one device requesting 6 Mbps
or you would exceed the 12-Mbps maximum for the bus).
- A USB cable has two wires for power (+5 volts and ground) and a
twisted pair of wires to carry the data.
- On the power wires, the computer can supply up to 500 milliamps of
power at 5 volts.
- Low-power devices (such as mice) can draw their power directly from
the bus. High-power devices (such as printers) have their own power
supplies and draw minimal power from the bus. Hubs can have their own
power supplies to provide power to devices connected to the hub.
- USB devices are hot-swappable, meaning you can plug them into
the bus and unplug them any time.
- Many USB devices can be put to sleep by the host computer when
the computer enters a power-saving mode.
The devices connected to a USB port rely on the USB cable to carry power
and data.
Inside a USB cable: There are two wires for power -- +5 volts (red) and
ground (brown) -- and a twisted pair (yellow and blue) of wires to carry
the data. The cable is also shielded.
|
When the host powers up, it queries all of the devices connected to the
bus and assigns each one an address. This process is called enumeration
-- devices are also enumerated when they connect to the bus. The host also
finds out from each device what type of data transfer it wishes to perform:
- Interrupt - A device like a mouse or a
keyboard,
which will be sending very little data, would choose the interrupt mode.
- Bulk - A device like a printer, which receives data in one big
packet, uses the bulk transfer mode. A block of data is sent to the
printer (in 64-byte chunks) and verified to make sure it is correct.
- Isochronous - A streaming device (such as
speakers) uses
the isochronous mode. Data streams between the device and the host in
real-time, and there is no error correction.
The host can also send commands or query parameters with control
packets.
As devices are enumerated, the host is keeping track of the total
bandwidth that all of the isochronous and interrupt devices are requesting.
They can consume up to 90 percent of the 12 Mbps of bandwidth that is
available. After 90 percent is used up, the host denies access to any other
isochronous or interrupt devices. Control packets and packets for bulk
transfers use any bandwidth left over (at least 10 percent).
The Universal Serial Bus divides the available bandwidth into frames,
and the host controls the frames. Frames contain 1,500 bytes, and a new
frame starts every millisecond. During a frame, isochronous and interrupt
devices get a slot so they are guaranteed the bandwidth they need. Bulk and
control transfers use whatever space is left. The technical links at the end
of the article contain lots of detail if you would like to learn more.
The Future
According to
this article, the USB 2.0 spec promises a speed increase by a
factor of 10 or 20, while maintaining backward compatibility with older
devices and using the same cables. This sort of speed will make it possible
to connect almost anything to your computer via USB, including
external
hard drives and
video cameras.
The future looks bright!