In the good old days, you only had to worry about connecting devices to RS232 or Parallel ports. Now there are more options than ever. Scott Lowe discusses what's involved with the USB and FireWire standards.
You've seen the various connections options, USB, FireWire and the like. Within each category of connection option are different choices, each of which has specific properties and pros and cons. In this article, I'll give you an overview of the various peripheral connectors, both new and old, available on your desktops and servers.
USB (Universal Serial Bus)
USB has become standard on every computer sold today, whether it's a Windows PC or an Apple Macintosh, whether it's a laptop, a desktop, or even a server. Since 1996, USB has provided people with the ability to (usually) seamlessly and easily connect devices to systems without the hassle of jumpers. For those of you that fondly remember messing around with jumpers for each new device you tried to add to your computer, you have very likely embraced USB with open arms and do not miss the old days! Even more, new equipment today comes with USB in all kinds of places. My new Dell monitor, for example, includes a 4-port USB 2.0 hub along with a memory card reader, all connected and working via a single USB port on my laptop's docking station.
All versions of the Universal Serial Bus are capable of supporting up to 127 devices, although it's not really feasible to daisy chain that many peripherals from a single USB port without the use of a powered USB hub. Further, according to the spec, USB devices need to be able to handle dynamic attachment and detachment from a host or hub. While most USB devices perform flawlessly, we can all probably recall one or two that didn't fare so well!
There are five different versions of USB available—1.0, 1.1, 2.0, USB On-the-Go, and Wireless USB. Each of them is discussed below, followed by diagrams of the various available USB connector types. Newer versions of USB are backward compatible with older versions. For example, you can run a mouse that requires only USB 1.0 on a USB 2.0 port, or you can run an external hard drive that supports USB 2.0 on a USB 1.1 port. However, when you go backwards like this, you lose some functionality. For example, if you run a USB 2.0 hard drive on a USB 1.1 port, the best throughput you will get is 12Mbps, which is the maximum bandwidth provided by USB 1.1.
The major kinds of USB include:
- USB 1.0 - Made officially available in January 1996, USB 1.0 supports speeds of 1.5Mbps (low-speed) and 12Mbps (full-speed).
- USB 1.1 - Appearing in September 1998, USB 1.1 is sometimes considered a clarification of the USB 1.0 specification, and also supports speeds of 1.5Mbps and 12Mbps. Host system specifications between USB 1.0 and 1.1 are identical, but USB 1.1 added information regarding USB hubs.
- USB 2.0 - Introduced in April 2000, USB 2.0 vastly increases the speed of USB from 1.5Mbps and 12Mbps by forty times all the way up to a whopping 480Mbps (high-speed), although USB 2.0 is still backward compatible with USB 1.0 and 1.1.
- USB On-the-Go - The newest USB standard, USB On-the-Go was developed as a way to enable USB peripherals to use a device other than a PC as a host. Using this USB communications method, you can directly connect two devices such as cell phones and PDAs directly to one another.
- Wireless USB - Made available in May 2005 to companies to produce gear based on the technology, USB has gone wireless. Specified to deliver a fast rate of 480Mbps at 3 meters and 110Mbps at 10 meters, wireless USB will likely take off in waves if it meets its promises and goals. Wireless USB is expected to start appearing in products as soon as the beginning 2006.
As you know, many USB devices are powered right from the USB port itself, which is why you don't need a separate power cord for your USB keyboard and mouse. Talk about cable clutter! That would have killed USB in its infancy. That said, not all USB devices are powered from the host.
Each USB connector on a PC provides 5V and 500mA to connected, unpowered devices, which must be shared among all of the devices connected to that port, including devices connected to an unpowered USB hub hanging from that port. Further, you're not supposed to daisy-chain unpowered USB hubs, since this can result in overtaxing the host port's power budget and is an activity not supported by the USB specifications.
Some devices are shipped that require more than 5V or 500mA, and come with two USB connectors to connect to two separate host USB ports in order to bypass the power limits of a single port. If you have a device like this, don't try to connect both cables to the same unpowered hub.
Many USB hubs are powered, though, and these can be daisy-chained together to provide the ability to add more devices to a single host USB port, but keep in mind that this will not increase the amount of bandwidth available between the host USB port and the first hub.
If you're not sure how much power the devices you have connected to your computer consume, have a look at the device manager. Each USB device is expected to report to the operating system how much power it needs in order to function.
Figure A below is a shot from the Windows device manager outlining how much power is required for the various USB devices connected to specific ports on my laptop.
|USB power budget information|
Somewhat related, USB also has bandwidth limitations, with the device manager also showing you how much bandwidth is reserved for each device, as shown below in Figure B.
|USB bandwidth information|
USB uses four standard connector types. Two are generally found on host systems while the other two are usually used on peripherals connected to the host. The most common connectors are Type A (the rectangular connector on your computer) and Type B connectors (six-sided connector found on peripherals). The second two connector types, Mini-A and Mini-B, were developed for the On-the-Go supplement to the USB standard.
Type A and B connectors are shown in Figure C below while the mini versions of these connectors created for On-the-Go are shown in Figure D.
|Type A host connector and Type B peripheral connector|
|Mini-A On-the-Go host connector|
FireWire (IEEE 1394)
FireWire shows its flexibility even in its various names. Originally created by Apple with the name FireWire, this technology was adopted by the IEEE in 1995 as IEEE 1394, which is the formal name for the specification. The name i.Link, trademarked by Sony, is sometimes used to refer to this interface type as well. In addition to these names, FireWire is also sometimes called the "High Performance Serial Bus". For the purposes of this article, I'm going to use the most common name, FireWire.
First off, FireWire has not experienced the same wide adoption as the USB variants—on Intel-based computers, anyway. While popular with Macintosh users, partially due to the fact that most Macs didn't come with USB 2.0 until recently, FireWire connectors aren't nearly as common in Windows systems. I would imagine that, if USB 2.0 had not been developed, that FireWire would be much more widespread, given its impressive 400Mbps transfer rate. I will point out that, at the college at which I work, the Gateway PCs that we buy do all include a single FireWire port on the back of the machine, right above the two USB 2.0 ports, so some PC manufacturers do, indeed, support this technology, and it appears that more are doing so all the time, which is good.
Outside the Windows computer realm, FireWire is more common and is often found on camcorders, digital cameras, some high-definition televisions, and on many other consumer electronics devices. FireWire is often considered a successor to SCSI. In contrast, USB is often considered a replacement for low-speed serial and parallel ports. This differentiation explains a little about why the two technologies coexist. FireWire is great for high-bandwidth applications, while USB is excellent for low bandwidth devices, such as keyboards and mice, of which there are many more devices.
FireWire does not require a host system to work its magic—it can work in a peer-to-peer configuration. Two FireWire devices can be connected together and work fine. Further, like USB, FireWire has the ability to provide power from the host system to connected devices. FireWire also supports devices of different speeds on the same bus, and allows the hot swapping of devices, although there have been reports that some host systems and some peripherals using FireWire have been damaged when hot swapping due to electrical arcs. If you do use FireWire, be aware of this, and be careful when connecting and disconnecting devices.
There are currently a number of different versions of FireWire available. IEEE 1394 and IEEE 1394a are almost identical, and often called 1394/1394a in product descriptions. 1394b is newer and faster and 1394c is still under development, as of this writing.
Basic FireWire/IEEE 1394 is sometimes called FireWire 400, 1394-1995, or i.Link. Released in 1995 by the IEEE and supporting speeds of 100, 200, and 400 Mbps, FireWire 400 can support up to 63 devices on the bus, and can supply up to 30W of power through the cabling. Each FireWire cable can be up to 4.5m (just under 15 feet) in length, but up to 16 can be chained connected together, resulting in a 72m connection.
FireWire typically uses a 6-pin connector, but two of those pins are often omitted for devices that can supply their own power, resulting in a smaller, 4-pin connector. Pictures of these connectors are provided later.
IEEE 1394a was made available in 2000 and clarifies the original 1394 standard and provides information that was previously undocumented.
FireWire 800/IEEE 1394b In 2001, the IEEE released 1394b, FireWire 800, increases the speed of FireWire to an impressive 800Mbps, getting you pretty darn close to Gigabit speeds on a serial bus. 1394b includes specifications that provide for eventual speeds of to 3.2Gb/s when used with the right cable type. Another different between 1394 and 1394b is the connector. FireWire 400 uses a 6-pin cable, while FireWire 800 needs a 9-pin cable to fully function.
To accommodate the differences, and maintain backward compatibility with 1394/1394a, the 1394b specification calls for a "bilingual" port. See the next section in this article for more about the bilingual port.
1394b uses a different encoding scheme than 1394/1394a. Between this and other changes to the 1394 specification, the 1394b operational state is also known as the "beta mode", which supports only 1394b devices. See the next section in this article for more about the beta connector.
For 1394/1394a devices, 1394b provides what is called "alpha mode. There is another mode, called "bilingual mode" that provides support for both 1394/1394a and 1394b devices. While it's a new cable type, 1394b in bilingual mode actually allows all devices, regardless of their FireWire type, to operate at their maximum speed.
The 1394b specification allows voltages of up to 25W to be provided to connected devices. 1394b provides improved network capabilities and allows the use of unshielded twisted pair, both plastic and glass optical fiber, and shielded twisted pair to be used as a transmission medium.
Still under development, IEEE 1394c is an extension to IEEE 1394, IEEE 1394a, and IEEE 1394b that would provide the ability for FireWire to run at 800Mbps over category 5 unshielded twisted pair cables. The goal of the working group responsible for creating IEEE 1394c is to allow FireWire to run over an existing Ethernet physical topology, whereas 1394b is simply capable of using Cat-5 cabling itself.
As with USB, there are hubs available for use with FireWire-enabled systems so that you can add additional devices beyond the number of ports available on your computer. Further, many FireWire devices include in and out ports, which let you daisy-chain FireWire devices together without the need for a hub.
FireWire connectors & cable types
Between 1394/1394a and 1394b, there are a number of different cables and connectors. Figures E and F display the connectors for the different types.
|Pinouts of FireWire 400 6-pin and 4-pin configurations|
|A FireWire 800 9-pin connector|
The following are common FireWire cable configurations:
- FireWire 400 6-pin to 6-pin
- FireWire 400 4-pin to 4-pin
- FireWire 400 4-pin to 4-pin
- FireWire 800 9-pin to 9-pin
- FireWire 800 9-pin to 6-pin bilingual
- FireWire 800 9-pin to 4-pin bilingual
One common question is: "Which is really faster/better? USB 2.0 or FireWire?" The answer depends on what you're doing. If you're connecting a device with only one or the other, it doesn't matter which one is better, but if you have a choice, FireWire is generally considered the faster option. If you look at the raw numbers, USB 2.0 operates at 480 Mbps while FireWire 400 operates at just 400 Mbps, with FireWire 800 at 800 Mbps.
Even FireWire 400's actual performance numbers often beat USB 2.0 due to differences in the way that the two technologies are designed. USB is generally processor intensive because of its master/slave configuration. FireWire isn't usually as processor-unfriendly as USB, so the system is better able to handle the throughput.
That's just a start
This is not a complete look at the USB and FireWire specifications, but does provide some insight as to how these technologies are constructed. The future for both connection methods is very good, given USB's wide installed base and the improvements on the horizon for FireWire.