FRAMINGHAM (03/17/2000) - Last week, Gearhead started to delve into the mystery that is the Universal Serial Bus (sounds so much more dramatic that way). We discussed hubs and power issues and concluded by noting that USB cables aren't just any old cables.
So, what kind of cables are they? Actually, pretty simple. They consist of four wires: two power lines (called "Vcc" for power and "Gnd" for the ground) and two signal wires (called "D-" and "D+"). If the USB I/O device isn't self-powered, the PC or hub it connects to will supply the power. In the case of the latter, the hub itself must be a powered device (some aren't).
As we also noted last week, USB cable ends have different connectors depending on whether they plug in to a PC or a hub connected to a PC (called an upstream connection) or plug in to an I/O device or a hub that is connected to an I/O device (called a downstream connection). With both types of connectors, the power pins are longer than the data pins to ensure that power is available before a signal is passed to the connected device.
USB cables can be a maximum of 5 meters, and the maximum data rate is 12M bit/sec. Actually, USB supports two data rates: 12M bit/sec and 1.5M bit/sec, and devices signaling at different rates may be used in the same system.
We discussed last week how USB uses a master-slave architecture, and the PC operating system is responsible for managing the two USB states: initialization and run time. The initialization process runs continually so that devices can be plugged in and unplugged while the system is "hot." This is, to say the least, a huge convenience for users because they don't have to worry about shutting down devices to remove them or restarting their PC to add new peripherals.
USB signaling uses a packet-oriented token-based protocol with four different packet types: token, data, handshake and special. Token packets are passed between devices to permit data transfers. Handshake packets acknowledge data packets, and there's one special packet that is used to signal that the data transfer will be at low speed (1.5M bit/sec). Each packet type has several subtypes.
If you would like to read about the in-depth technical details of USB, Gearhead recommends "USB Design by Example" by John Hyde, which will tell you more than you ever wanted to know.
In USB's early days, its implementations were riddled with incompatibilities and odd behaviors that left many users and IS professionals with negative feelings. Some PC vendors shipped machines with USB services switched off because there weren't many USB devices available. That caused a lot of confusion. There were also software and hardware problems, but wider availability of USB devices and improved support in Windows 98 Second Edition improved things vastly.
Today, USB can't be described as flawless, but even so, it's the best general peripheral support technology we've got, and when it works, it works fantastically well.
Next week, more synthetic talking. Sound off to firstname.lastname@example.org.