A Look at FireWire and USB

Copyright (c) 2000-2001 by Rich Morin
published in Silicon Carny, February 2000


Apple Computer has, almost single-handedly, succeeded in turning USB into a serious interface standard. Sony and Apple, among others, are currently making FireWire into the industry standard for multimedia. Isn't it time that Sun got on board?

Sun has made good, over the years, on its promise to support key industry standards. Thus, it supports both EIDE and SCSI for disk access and gives customers a choice of Mbus and PCI bus. Other interfaces (e.g., FDDI) are typically available from third-party vendors.

Unfortunately, Sun seems to be a bit behind the curve on two interesting interface technologies (FireWire and USB). Given the large number of interesting devices (e.g., still and video cameras, digitizing tablets, keyboards, mice, microscopes, printers, and scanners) that are available for these interfaces, this is really a shame. Come on, Sun; get with the program...

FireWire

IEEE-1394 is a high-speed serial connection, based on a "tiered hub and spoke" topology. The technology was developed by Apple and later codified by the IEEE-1394 specification. Apple markets the interface as FireWire; Sony markets it as i.LINK. It currently runs from 12.5 to 400 Mbps and higher speeds (e.g., 800 Mbps) are forthcoming.

Dedicated game computers (e.g., by Nintendo) have provided a testing ground for FireWire. More recently, it has been adopted for real-time video use by camera manufacturers. FireWire is also being adopted for external disk drives and arrays, where the cabling limitations of competing interfaces (e.g., EIDE and SCSI) have long been a sore point.

The FireWire cable consists of two twisted and shielded pairs and two power wires. There are no terminators - at least none that users have to be concerned with. Nonetheless, FireWire can run 13 feet per link and intervening hubs can extend this substantially.

FireWire devices need to have two connectors, one for connecting the cable to a source and another for the next device to the chain. The connectors (and, in fact, the whole system) are designed to allow "hot plugging". Of course, interrupting a chain to add another device will temporarily disconnect the remainder of the chain. Repeaters, splitters, and bridges allow for free-form chaining of devices in stars and chains.

Unlike SCSI, FireWire arrived with a standardized connector. Unfortunately, this standard has already been compromised: video cameras use a 4-wire version of the cable. Sigh.

The FireWire protocol is a peer-to-peer system which has the potential of connecting computers to each other as a high-speed network. Work is also being done on an IP definition for FireWire; stay tuned...

Because FireWire is a peer-to-peer system, the lines between computers and peripherals can become blurry. It is conceivable, for instance, that a video camera could take control of an application, telling it how to process and store incoming data. Provision is made for asynchronous and isochronous communication for bulk transfers and time-critical one-way transfers, respectively, in a manner quite like the USB (but faster :-).

USB

Intel's Universal Serial Bus (USB) was designed as a multi-point replacement for RS-232, allowing up to 127 devices to be connected. It can serve as a substitute for other interfaces, however, including parallel ports and keyboard/mouse interfaces.

Many users would be delighted to have an industry-wide range of keyboards and pick devices to choose from. This is already available in the Mac and PC arenas, but Sun users are still stuck with a proprietary interface and a (correspondingly) small range of input devices.

USB cabling consists of a (two conductor, twisted) shielded pair for bi-directional data, plus two heavier wires for five-volt power and ground. USB supports two speeds, 1.5 Mbps and 12 Mbps, which can exist together on the same bus. Wiring for 1.5 Mbps need not be shielded; neither speed requires termination.

Obviously, at this speed, USB is no serious threat to SCSI, let alone to FireWire (which starts at 12 Mbps). Intel has announced an improved version, however, which will run at 400 Mbps. It will be interesting to see which standard will win out in the high-speed arena. FireWire should probably win, on technical grounds, but logic (as always) may have little to do with it...

Two new connectors have been developed for use with USB. One has four pins in a row and is used for connecting devices to hubs. The other has a square shape and is used for connecting hubs to computers or to other hubs. Because many devices have "captive" cables, you will see fewer square shaped plugs in use.

USB uses a "tiered hub and spoke" connection scheme. The tier starts with a hub to which a few devices can be connected. When the top level runs out of connector space, another hub can be added. Most "desktop" devices (e.g., keyboards and printers) can also act as hubs.

USB hubs need to have some intelligence, because they are required to sense the addition of a device to an operating bus and inform the host. Actually, the hub will not apply bus power to the device until the host has assigned an address. The bus also must recognize high speed communication by the host and not send it out over unshielded wires or to devices it knows can handle only the lower speed.

USBŐs signal amplitude is low: 0.4 volts differential centered at 1.75 volts DC. As busses mature and electronic devices improve, lower voltages and currents can be used, requiring less signal power and creating less interference. Thus, serial communications have moved from current-loop devices (e.g., old teletypes) through the 12V RS-232 standard to USBŐs 1.75 volts.

Power management on the USB can be problematical. The hub is supposed to supply power for the bus, but individual devices (if sufficiently power-hungry) or collections of devices (if sufficiently numerous) can overtax the hubŐs capabilities. As a result, the supply voltage can be depressed to the point that the entire bus fails to operate.

Current limiting by the hub helps, but this is not a perfect solution. Self-powered hubs, which do not draw excessive power from the host computer, can also help. Fundamentally, however, it is up to users to keep track of the load they are demanding of their hubs, just as they would for electrical devices on a common circuit breaker.

Devices which derive their own power from another source must still connect to bus power, because of the signaling features involved with connection to a hot bus (high- and low-speed devices are identified by details of the power connection). A device which is plugged into the bus, but is otherwise in an off state, must still provide information to the host.

The USB protocol allows for priority handling of a channel. This is necessary for time-sensitive data, such as digitized audio. Priority channels are isochronous (allowing guaranteed real-time performance) and unidirectional. Blocked channels are bi-directional and may or may not include error checking.

Blocked data can be given a back seat by software, up to a limit in which the priority channel uses all available bandwidth. Apple's G4 provides two USB channels reducing the chances of this sort of saturation.

For More Information

The Resources section below gives quite a few useful links to information on FireWire and USB. More generally, "The Well-Connected Mac" (from which this article is adapted, with permission) contains hardware overviews of a variety of Macintosh interfaces.

Resources

IEEE-1394 (aka FireWire, i.LINK)
http://developer.apple.com/dev/firewire
http://www.1394ta.org
http://www.adaptec.com/technology/briefs/1394dif.html
http://www.skipstone.com/compcon.html

I/O Technologies: PCI Solutions
http://www.sun.com/io

MacFireWireTalk
http://www.themacintoshguy.com/lists/FireWireFAQ.shtml

MacUSB-Talk
http://www.themacintoshguy.com/lists/MacUSBFAQ.shtml

Microprocessor Architecture for Java Computing
http://www.sun.com/microelectronics/MAJC

"The Well-Connected Mac"
Rich Morin and Doug McNutt
MacTech Magazine, October 1999

USB (Universal Serial Bus)
http://www.apple.com/usb
http://www.ariston.com
http://www.themacintoshguy.com/lists/MacUSBFAQ.shtml
http://www.usb.org
      

About the author

Rich Morin (rdm@cfcl.com) operates Prime Time Freeware (www.ptf.com), a publisher of books about Open Source software. Rich lives in San Bruno, on the San Francisco peninsula.