The IEEE 1394 interface is a serial bus interface standard for high-speed communications and isochronous real-time data transfer, frequently used by personal computers, as well as in digital audio, digital video, automotive, and aeronautics applications. The interface is also known by the brand names of FireWire (Apple), i.LINK (Sony), and Lynx (Texas Instruments). IEEE 1394 replaced parallel SCSI in many applications, because of lower implementation costs and a simplified, more adaptable cabling system. The 1394 standard also defines a backplane interface, though this is not as widely used.
IEEE 1394 is a serial bus architecture for high-speed data transfer. Compared to older avionics data buses such as MIL-STD-1553, FireWire is a serial bus, meaning that information is transferred one bit at a time. Parallel buses utilize a number of different physical connections, and as such are usually much less efficient, more costly, and typically heavier. FireWire fully supports both isochronous and asynchronous applications.
Sony’s implementation of the system, “i.LINK”, used a smaller connector with only the four signal conductors, omitting the two conductors which provide power to the device in favor of a separate power connector. This style was later added into the 1394a amendment. This port is sometimes labeled “S100″ or “S400″ to indicate speed in Mbit/s.
The system is commonly used for connection of data storage devices and DV (digital video) cameras, but is also popular in industrial systems for machine vision and professional audio systems. It is preferred over the more common USB for its greater effective speed and power distribution capabilities. Perhaps more important, FireWire uses all SCSI capabilities and has high sustained data transfer rates, important for audio and video editors. Benchmarks show that the sustained data transfer rates are higher for FireWire than for USB 2.0, but lower than USB 3.0.
FireWire can connect up to 63 peripherals in a tree or daisy-chain topology (as opposed to Parallel SCSI’s electrical bus topology). It allows peer-to-peer device communication — such as communication between a scanner and a printer — to take place without using system memory or the CPU. FireWire also supports multiple hosts per bus. It is designed to support plug and play but not hot swapping. The copper cable it uses in its most common implementation can be up to 4.5 metres (15 ft) long and is more flexible than most parallel SCSI cables. In its six-conductor or nine-conductor variations, it can supply up to 45 watts of power per port at up to 30 volts, allowing moderate-consumption devices to operate without a separate power supply.
FireWire uses Data strobe encoding (D/S encoding). In D/S encoding, two non-return-to-zero (NRZ) signals are used to transmit the data with high reliability.
The process of the bus deciding which node gets to transmit data at what time is known as arbitration. Each arbitration round lasts about 125 micro-seconds. During the round, the root node (device nearest the processor) sends a cycle start packet. All nodes requiring data transfer respond, with the closest node winning. After the node is finished, the remaining nodes take turns in order. This repeats until all the devices have used their portion of the 125 micro-seconds, with isochronous transfers having priority. Up to 80% of the time can be given to isochronous nodes
The original release of IEEE 1394-1995 specified what is now known as FireWire 400. It can transfer data between devices at 100, 200, or 400 Mbit/s half-duplex data rates (the actual transfer rates are 98.304, 196.608, and 393.216 Mbit/s, i.e., 12.288, 24.576 and 49.152 megabytes per second respectively)
An amendment, IEEE 1394a, was released in 2000, which clarified and improved the original specification. It added support for asynchronous streaming, quicker bus reconfiguration, packet concatenation, and a power-saving suspend mode.
IEEE 1394b-2002 introduced FireWire 800 (Apple’s name for the 9-conductor “S800 bilingual” version of the IEEE 1394b standard). This specification and corresponding products allow a transfer rate of 786.432 Mbit/s full-duplex via a new encoding scheme termed beta mode. It is backwards compatible to the slower rates and 6-conductor alpha connectors of FireWire 400. However, while the IEEE 1394a and IEEE 1394b standards are compatible, FireWire 800′s connector, referred to as a beta connector, is different from FireWire 400′s alpha connectors, making legacy cables incompatible.
In December 2007, the 1394 Trade Association announced that products would be available before the end of 2008 using the S1600 and S3200 modes that, for the most part, had already been defined in 1394b and was further clarified in IEEE Std. 1394-2008. The 1.6 Gbit/s and 3.2 Gbit/s devices use the same 9-conductor beta connectors as the existing FireWire 800 and will be fully compatible with existing S400 and S800 devices.
Full support for IEEE 1394a and 1394b is available for Microsoft Windows, FreeBSD, Linux, Apple Mac OS 8.6 through Mac OS 9, Mac OS X, NetBSD, and Haiku.
IDB-1394 Customer Convenience Port (CCP) is the automotive version of the 1394 standard.
FireWire can be used for ad-hoc (terminals only, no routers except where a FireWire hub is used) computer networks. Specifically, RFC 2734 specifies how to run IPv4 over the FireWire interface, and RFC 3146 specifies how to run IPv6.