4 pin, 6 pin or 9 pin IEEE1394 (FireWire) plug connectors at the cable.
|1||8||Power||Unregulated DC; 30 V no load||white|
|2||6||Ground||Ground return for power and inner cable shield||black|
|1||3||1||TPB-||Twisted-pair B, differential signals||orange|
|2||4||2||TPB+||Twisted-pair B, differential signals||blue|
|3||5||3||TPA-||Twisted-pair A, differential signals||red|
|4||6||4||TPA+||Twisted-pair A, differential signals||green|
IEEE-1394 general Description
The IEEE 1394-1995 standard for the High Performance Serial Bus, here abbreviated to 1394, defines a serial data transfer protocol and interconnection system that “provides the same services as modern IEEE-standard parallel busses, but at a much lower cost.” 1394 incorporates quite advanced technology, but it’s the “much lower cost” feature that assures 1394’s adoption for the digital video and audio consumer markets of 1997 and beyond. The capabilities of the 1394 bus are sufficient to support a variety of high-end digital audio/video applications, such as consumer audio/video device control and signal routing, home networking, nonlinear DV editing, and 32-channel (or more) digital audio mixing. Sony’s DCR-VX700 and DCR-VX1000 digital video (DV, formerly called DVC) camcorders, introduced in September 1995, were the first commercial products to implement 1394. Subsequently Sony introduced in late 1996 its DCR-PC7 micro-DV camcorder and Matsushita announced in early 1997 Japanese availability of the Panasonic NV-DE3 DV camcorder with a 1394 connector.
- Real-time data transfer for multimedia applications
- 100 and 200Mbits/s data rates today; 400- 800 Mbits/s and mul ti-Gbits/s upgrade path
- Live connection/disconnection without data loss or interruption
- Automatic configuration supporting “plug and play”
- Freeform network topology allowing mixing branches and daisy-chains
- No separate line terminators required
- Guaranteed bandwidth assignments for real-time applications
- Common connectors for different devices and applications
- Compliant with IEEE-1394 High Performance Serial Bus standard
This objective of this paper is to describe the architecture of 1394 bus systems, typical consumer video and audio applications for 1394, initial implementations of 1394 connectivity on PCI adapter cards, and the commercial adapter card designs that are scheduled for availability by mid-1997 for digital video editing applications. A brief comparison of the IEEE 1394 High Performance Serial Bus with the proposed Universal Serial Bus (USB) appears at the end of this paper. The orientation of this paper is toward consumer- and professional-grade DV products, because DV is the first application (and is likely to be the highest-volume application through 1998) for the High Performance Serial Bus.
You can obtain the final version of the IEEE 1394-1995 standard from the Institute of Electrical and Electronic Engineers, Inc., Customer Service, 445 Hoes Lane, P.O. Box 1331, Piscataway, NJ 08855-1331, voice (800)678-IEEE or (908)981-0060, fax (908)981-9667, e-mail email@example.com The USB 1.0 specification is available from http://www.usb.org/present.php. The Open Host Controller Interface (Open HCI) 1.0 specification, which applies to 1394 and USB hosts, is available from http://www.microsoft.com/hwdev/specs/busspecs.php. A wide variety of information on 1394-related products and activities is available from Adaptec Corp.’s site, http://www.adaptec.com, and on Texas Instrument’s IEEE-1394 Web pages, http://www.ti.com/sc/1394.
The IEEE’s Microcomputer Standards Committee commenced in 1986 a unification process for various serial bus implementations of the VME, Multibus II, and Future Bus standards. This effort resulted in the original development of what became the IEEE 1394-1995 standard in Fall 1995. 1394 is based on Apple Computer’s original 1394 bus, which was intended as a low-cost replacement for or supplement to the SCSI bus that is a standard feature of Macintosh and PowerMac computers. Apple and SGS Thomson, which has an UK patent applicable to 1394, license their patents “on reasonable and non-discriminatory terms to anyone wishing to obtain a license.” These licenses apply only to the point of first implementation, which means integrated circuits to implement 1394 connectivity, and thus are of no concern to most adapter card manufacturers or end users. Today’s licensees primarily are 1394 chip manufacturers, such as Texas Instruments, Adaptec and Symbios Logic, plus consumer electronics firms like Sony that incorporate some of the 1394 technology within their own specialized processor chips.
The 1394 standard defines two bus categories: backplane and cable. The backplane bus is designed to supplement parallel bus structures by providing an alternate serial communication path between devices plugged into the backplane. The cable bus, which is the subject of this paper, is a “non-cyclic network with finite branches,” consisting of bus bridges and nodes (cable devices). Non-cyclic meansthat you can’t plug devices together so as to create loops. 16-bit addressing provide for up to 64K nodes in a system. Up to 16 cable hops are allowed between nodes, thus the term finite branches. A bus bridge serves to connect busses of similar or different types; a 1394-to-PCI interface within a PC constitutes a bus bridge, which ordinarily serves as the root device and provides bus master (controller) capability. A bus bridge also would be used to interconnect a 1394 cable and a 1394 backplane bus. Six-bit Node_IDs allow up to 63 nodes to be connected to a single bus bridge; 10 bit Bus_IDs accommodate up to 1,023 bridges in a system. This means, as an example, that the limit is 63 devices connected to a conventional 1394 adapter card in a PC.
Each node usually has three connectors, although the standard provides for 1 to 27 connector per a device’s physical layer or PHY. Up to 16 nodes can be daisy-chained through the connectors with standard cables up to 4.5 m in length for a total standard cable length of 72 m. (Using higher-quality “fatter” cables permits longer interconnections.) Additional devices can be connected in a leaf-node configuration, as shown in figure 1. All 1394 consumer electronic devices announced as of early 1997 have only a single connector; there are no currently are digital camcorders or VCRs that correspond to the devices with ID 3 or ID 5 shown in figure 1. Physical addresses are assigned on bridge power up (bus reset) and whenever a node is added or removed from the system, either by physical connection/disconnection or power up/down. No device ID switches are required and hot plugging of nodes is supported. Thus 1394 truly qualifies as a plug-and-play bus.
Fig. 1. Topology of a typical PC-based 1394 bus system for DV applications.
Note: The topology shown in figure 1 assumes a common audio/video data format for all DV devices. For transmission on a single isochronous channel, devices must share the same data format. The Digital VCR Consortium (DVC) has prepared a standard for DV data formats and related control protocols for 1394, presently titled “General Specification for Consumer-Use Digital Interface.” This standard is pending approval as International Electrotechnical Commission IEC1883, “Digital Interface for Consumer Electronics A/V.”
The 1394 cable standard defines three signaling rates: 98.304, 196.608, and 393.216 Mbps (megabits per second; MBps in this paper refers to megabytes per second.) These rates are rounded to 100, 200, and 400 Mbps, respectively, in this paper and are referred to in the 1394 standard as S100, S200 and S400. Consumer DV gear uses S100 speeds, but most 1394 PC adapter cards support the S200 rate. The signaling rate for the entire bus ordinarily is governed by the slowest active node; however, if a bus master (controller) implements a Topology_Map and a Speed_Map for specific node pairs, the bus can support multiple signaling speeds between individual pairs. The 1394 Trade Association’s 1394.1 working group presently are refining and clarifying the setup requirements for handling interconnected devices with multiple signaling speeds.
Physical, Link, and Transaction Layers
The 1394 protocol is implemented by the three stacked layers shown in figure 2. The three layers perform the following functions:
- The transaction layer implements the request-response protocol required to conform to the ISO/IEC 13213:1994 [ANSI/IEEE Std 1212, 1994 Edition] standard Control and Status Register (CSR) Architecture for Microcomputer Buses (read, write and lock). Conformance to ISO/IEC 13213:1994 minimizes the amount of circuitry required by 1394 ICs to interconnect with standard parallel buses.
- The link layer supplies an acknowledged datagram to the transaction layer. (A datagram is a one-way data transfer with request confirmation.) The link layer handles all packet transmission and reception responsibilities, plus the provision of cycle control for isochronous channels.
- The physical layer provides the initialization and arbitration services necessary to assure that only one node at a time is sending data and to translate the serial bus data stream and signal levels to those required by the link layer. Galvanic isolation may be implemented between the physical layer and the link layer; with isolation, the chip implementing the physical layer is powered by the bus conductors. Isolation should be provided where three-wire power cords are used to prevent ground loops through the green-wire ground; consumer devices, which use two-wire power cords or wall-wart power supplies, ordinarily don’t require galvanic isolation.
Fig. 2. The 1394 Protocol Stack and Serial Bus Management Controller.
Cables and Connectors
Standard bus interconnections are made with a 6-conductor cable containing two separately-shielded twisted pair transmission lines for signaling, two power conductors, and an overall shield (see figure 3). The two twisted pairs are crossed in each cable assembly to create a transmit-receive connection. The power conductors (8 to 40 v, 1.5 a max.) supply power to the physical layer in isolated devices. Transformer or capacitative coupling is used to provide galvanic isolation; transformer coupling provides 500 volts and lower-cost capacitative coupling offers 60 volts of ground potential difference isolation. Connectors are derived from the GameBoy design and use either a friction detent (standard) or the special side-locking tab restraints shown in figure 3.* (You squeeze the sides of the connectors for removal.) 1394 connectors are available from Molex and several other firms.
Fig. 3. 1394 cables and connectors.
*The Sony DCR-VX700 and DCR-VX1000 camcorders and the DHR-1000 DVCR have only a single, non-standard 1394 connector to support DV input/output (output only in European versions). The four-conductor Sony connector, which is smaller than the standard 1394 connector and has only the signaling pairs (no power conductors), is defined in Part 1 of the draft of the proposed IEC standard and a forthcoming IEEE draft standard P1394.1. The Sony VMC-20V DV cable can interconnect two camcorders, but cannot connect to standard 1394 sockets without an adapter cable. These Sony camcorders act as terminating nodes and require a yet-undefined adapter for insertion as a leaf in a standard 1394 chain. DVCRs and other non-miniaturized consumer devices also use P1394.1 connectors.
1394 provides a flexible bus management system that provides connectivity between a wide range of devices, which need not include a PC or other bus controller. Bus management involves the following three services:
- A cycle master that broadcasts cycle start packets (required for isochronous operation)
- An isochronous resource manager, if any nodes support isochronous communication (required for DV and DA applications)
- An optional bus master (a PC or an editing DVCR might act as a bus master)
On bus reset, the structure of the bus is determined, node IDs (physical addresses) are assigned to each node, and arbitration for cycle master, isochronous resource manager, and bus master nodes occurs. Figure 4 illustrates on a timeline the identification and arbitration processes that occur on bus reset. Note that during the 1-second delay isochronous resources that had been allocated before the reset are to be reallocated. Any resources that are not reclaimed will become available for future use. After that delay new resources may be allocated.
Fig. 4. Bus reset timeline.
Isochronous Data Transport
The isochronous data transport of the 1394 bus provides the guaranteed bandwidth and latency required for high-speed data transfer over multiple channels. The isochronous resource manager includes a BANDWIDTH_AVAILABLE register that specifies the remaining bandwidth available to all nodes with isochronous capability. On bus reset or when an isochronous node is added to the bus, the node requests a bandwidth allocation. As an example, a DV device would request approximately 30 Mbps of bandwidth, representing the 25+ Mbps DV data rate plus 3-4 Mbps for digital audio, time code, and packet overhead. Bandwidth is measured in bandwidth allocation units, 6,144 in a 125 ms cycle. (A unit is about 20 ns, the time required to send one data quadlet at 1,600 Mbps, called the S1600 data rate; the S1600 data rate is unlikely be supported in future implementations. A quadlet is a 32-bit word; all bus data is transmitted in quadlets.) 25 ms of the cycle is reserved for asynchronous traffic on the bus, so the default value of the BANDWIDTH_AVAILABLE register on bus reset is 4915 units. In a 100-Mbps system, a DV device would request about 1,800 units; in a 200-Mbps system, about 900 units would be sufficient. If adequate bandwidth is not available, the requesting device is expected to repeat its request periodically.
The isochronous resource manager assigns a channel number (0 to 63) to nodes that request isochronous bandwidth based on values in the manager’s CHANNELS_AVAILABLE register. All isochronous packets are identified by the assigned channel number. When a node no longer requires isochronous resources, it is expected to release its bandwidth and channel number. As an example, the bus manager sends signals to cause a camcorder to commence talking on its channel and a record deck to commence listening on its channel for video data from the bus manager application. Device control is managed by asynchronous communication. Video acquisition for non-linear digital editing is simpler than the camcorder-DVCR example, because it requires only a single isochronous channel, plus an asynchronous path for device control. Timecode is built into the DV data, but asynchronous timecode transmission over the bus is useful when in camcorder or DVCR shuttle mode.
Consumer Electronics Applications for 1394
The majority of the informative illustrations in the 1394 standard show interconnections between consumer video devices, with and without attached PCs. Based on the draft standard, 1394 Trade Association documents, and conversations with members of the Association, following are the primary consumer electronics applications anticipated for the High Performance Serial Bus. The products are listed in the author’s forecast order of their introduction to the retail market.
- Digital camcorders and DVCRs (Sony DCR-VX700, DCR-VX1000, and DCR-PC7 camcorders, Sony DHR-1000 DVCR, Sony DSR-30 DVCAM DVTR, and new Panasonic DV camcorders)
- Digital videoconferencing systems using the Sony CCM-DS250 digital camera, which became generally available in early 1997
- Direct-to-home (DTH) satellite video and audio MPEG-2 data streams *
- Musical synthesizers with MIDI and digital audio capabilities, initially from Yamaha
- Printers for video and computer data
- Fixed and removable PC disk drives, internal and external
- PC-to-PC networking (the 1394 “home PC network”) and PC peripheral component sharing
- Cable TV and MMDS (“wireless cable”) set-top boxes
- Digital video disk (DVD) drives
(*) Thomson/RCA receivers for DirecTV and USSB DSS satellite programming presently have an unused high-speed parallel data port intended to transmit MPEG-encoded video and audio to a digital tape recorder for time-shift recording. A Thomson/Hitachi digital VCR using JVC’s D-VHS 1⁄2-inch bitstream recording format was announced in 1994 for availability in early 1996, together with an upgraded version of the Thomson/RCA DBS receiver. Despite the press releases, this combination didn’t arrive. At the 1997 Winter Consumer Electronics show, Hitachi exhibited a prototype of its DX815 D-VHS recorder, which uses a non-standard implementation of 1394 to connect the recorder to a Hitachi DSS set-top box. Thomson did not display a D-VHS deck, but is expected to announce a similar product later in 1997. The R-4.1 ATV Receiver Interface Subcommittee of the Consumer Electronics Manufacturers Association (CEMA, formerly the Consumer Electronics Group) of the Electronic Industries Association is supporting a proposal to the IEC TC84 committee for a transport layer over fully-compliant 1394 to handle MPEG-2 and other digital data streams associated with Digital (Standard- and High-Definition) TV.
A principal advantage of the use of 1394 to interconnect DV and digital audio (DA) gear is that the 1394 bus is operable without a bus manager, and any “talker” device can arbitrate for assignment as the isochronous resource manager. Thus a DV camcorder, simple DVCR, printer, and DTV set can be connected without the need for a PC or other device to act as a bus manager. Assuming the camcorder is the “talker” and all other devices are “listeners,” only a single, fixed isochronous channel is required. The camcorder starts talking in response to a local or remote control device, and the other DV devices listen or not, depending on their control status. One also could create a low-end equivalent of the $60,000+ Avid/Ikegami fixed-disk camcorder (CamCutter) with a battery-powered 1394 fixed or removable disk drive in a belt-pack, assuming the disk drive has enough built-in “smarts” to handle disk I/O chores and generate unique file names for successively-recorded bitstreams. Such a device would eliminate the need to copy video and audio data from tape to disk in the editing studio, the original objective of the CamCutter. High-capacity fixed disk drives are required; DV content at 3.5 MBps fills 1G in less than 5 minutes.
*Note: Part 1 of the “General Specifications for Consumer-Use Digital Interface” (*Specifications”) defines packet formats, data flow management, and connection management for DV and DA data over the 1394 bus, plus “general transmission rules” for control commands, which are “vendor-unique.” The Specifications define the concept of a logical input or output plug that corresponds to a single physical connector (or set of audio and video connectors) on a camcorder, VCR or related device. Input and output plug control registers determine the properties of plugs. As an example, a DV camcorder could have two logical output plugs, one for camera out and one for tape out, plus a logical input plug for DV dubbing, but only one physical connector. The Specifications also define a broadcast mode, over which an output plug continuously transmits “in the blind” on one channel, rather than to a particular input plug. Part 2 of the Specifications defines the SD-DVCR data stream for 525⁄60 and 625⁄50 systems, and Part 3 covers HD-DVCR streams for 1125⁄60 and 1250⁄50 high-definition formats. The DV recording format is defined by “Proposal for Digital Interface for Consumer Electronic Audio/Video Equipment,” authored by Philips, Matsushita, Thomson Multimedia, and Sony (sometimes called the “Big Four” of the DV standard), and presented at the 1394 Trade Association meeting in October 1995. Implementation of the consumer electronics device control protocol is the subject of “Specifications of AV/C Command and Transaction Set for Digital Interface,” by Sony Corp. and Matsushita Electric Industry Co., Ltd., presented to the January 1996 meeting of the 1394 Trade Association. This specification defines VCR-like commands, such as Play, Record, Rewind, etc.”
"Firewire" redirects here. For other uses, see Firewire (disambiguation).
|Designer||Apple Inc. (1394a/b), IEEE P1394 Working Group|
|Designed||1986; 32 years ago (1986)|
|Superseded by||Thunderbolt and USB 3.0|
|Length||4.5 meters maximum|
|Daisy chain||Yes, up to 63 devices|
|Pins||4, 6, 9|
|Max. voltage||30 V|
|Max. current||1.5 A|
|Bitrate||400–3200 Mbit/s (50–400 MB/s)|
IEEE 1394 is an interface standard for a serial bus for high-speed communications and isochronous real-time data transfer. It was developed in the late 1980s and early 1990s by Apple, which called it FireWire. The 1394 interface is also known by the brands i.LINK (Sony), and Lynx (Texas Instruments).
The copper cable it uses in its most common implementation can be up to 4.5 metres (15 ft) long. Power is also carried over this cable, allowing devices with moderate power requirements to operate without a separate power supply. FireWire is also available in Cat 5 and optical fiber versions.
The 1394 interface is comparable to USB, though USB requires a master controller and has greater market share.
History and development
FireWire is Apple's name for the IEEE 1394 High Speed Serial Bus. It was initiated by Apple (in 1986) and developed by the IEEE P1394 Working Group, largely driven by contributions from Apple, although major contributions were also made by engineers from Texas Instruments, Sony, Digital Equipment Corporation, IBM, and INMOS/SGS Thomson (now STMicroelectronics).
IEEE 1394 is a serial bus architecture for high-speed data transfer. 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 more costly and typically heavier. IEEE 1394 fully supports both isochronous and asynchronous applications.
Apple intended FireWire to be a serial replacement for the parallel SCSI bus, while providing connectivity for digital audio and video equipment. Apple's development began in the late 1980s, later presented to the IEEE, and was completed in January 1995. In 2007, IEEE 1394 was a composite of four documents: the original IEEE Std. 1394-1995, the IEEE Std. 1394a-2000 amendment, the IEEE Std. 1394b-2002 amendment, and the IEEE Std. 1394c-2006 amendment. On June 12, 2008, all these amendments as well as errata and some technical updates were incorporated into a superseding standard, IEEE Std. 1394-2008.
Apple first included on-board FireWire in some of its 1999 Macintosh models (though it had been a build-to-order option on some models since 1997), and most Apple Macintosh computers manufactured in the years 2000 through 2011 included FireWire ports. However, in February 2011 Apple introduced the first commercially available computer with Thunderbolt. Apple released its last computers featuring FireWire late 2012. By 2014, Thunderbolt had become a standard feature across Apple's entire line of computers effectively becoming the spiritual successor to FireWire in the Apple ecosystem.
Sony's implementation of the system, i.LINK, used a smaller connector with only four signal conductors, omitting the two conductors that provide power for devices 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 was commonly used to connect data storage devices and DV (digital video) cameras, but was also popular in industrial systems for machine vision and professional audio systems. Many users preferred it over the more common USB 2.0 for its then greater effective speed and power distribution capabilities. Benchmarks show that the sustained data transfer rates are higher for FireWire than for USB 2.0, but lower than USB 3.0. Results are marked on Apple Mac OS X but more varied on Microsoft Windows.
Implementation of IEEE 1394  is said to require use of 261 issued international patents held by 10 corporations. Use of these patents requires licensing; use without license generally constitutes patent infringement. Companies holding IEEE 1394 IP formed a patent pool with MPEG LA, LLC as the license administrator, to whom they licensed patents. MPEG LA sublicenses these patents to providers of equipment implementing IEEE 1394. Under the typical patent pool license, a royalty of US$0.25 per unit is payable by the manufacturer upon the manufacture of each 1394 finished product; no royalties are payable by users.
A person or company may review the actual 1394 Patent Portfolio License upon request to MPEG LA. Implementors would thereby ordinarily reveal some interest to MPEG LA early in the design process. MPEG LA does not provide assurance of protection to licensees beyond its own patents. At least one formerly licensed patent is known to be removed from the pool, and other hardware patents exist that reference 1394-related hardware and software functions related to use in IEEE 1394. In total, over 1770 patents issued in the 20 years (the WIPO minimum) preceding 2011 contain "IEEE 1394" in their titles alone, placing 1500 unavailable from MPEG LA.[improper synthesis?]
The 1394 High Performance Serial Bus Trade Association (the "1394 TA") was formed to aid marketing of IEEE 1394. Its bylaws prohibit dealing with intellectual property issues. The 1394 Trade Association operates on an individual no cost membership basis to further enhancements to 1394 standards. The Trade Association also is the library source for all 1394 documentation and standards available.
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 and 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 devices implement the ISO/IEC 13213 "configuration ROM" model for device configuration and identification, to provide plug-and-play capability. All FireWire devices are identified by an IEEE EUI-64 unique identifier in addition to well-known codes indicating the type of device and the protocols it supports.
FireWire devices are organized at the bus in a tree topology. Each device has a unique self-ID. One of the nodes is elected root node and always has the highest ID. The self-IDs are assigned during the self-ID process, which happens after each bus resets. The order in which the self-IDs are assigned is equivalent to traversing the tree depth-first, post-order.
FireWire is capable of safely operating critical systems due to the way multiple devices interact with the bus and how the bus allocates bandwidth to the devices. FireWire is capable of both asynchronous and isochronous transfer methods at once. Isochronous data transfers are transfers for devices that require continuous, guaranteed bandwidth. In an aircraft, for instance, Isochronous devices include control of the rudder, mouse operations and data from pressure sensors outside the aircraft. All these elements require constant, uninterrupted bandwidth. To support both elements, FireWire dedicates a certain percentage to isochronous data and the rest to asynchronous data. In IEEE 1394, 80% of the bus is reserved for isochronous cycles, leaving asynchronous data with a minimum of 20% of the bus.
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 NRZ signal sent is fed with the clock signal through an XOR gate, creating a strobe signal. This strobe is then put through another XOR gate along with the data signal to reconstruct the clock. This in turn acts as the bus's Phase-locked loop for synchronization purposes.
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 microseconds. 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 microseconds, with isochronous transfers having priority.
Standards and versions
The previous standards and its three published amendments are now incorporated into a superseding standard, IEEE 1394-2008. The features individually added give a good history on the development path.
FireWire 400 (IEEE 1394-1995)
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/shalf-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). These different transfer modes are commonly referred to as S100, S200, and S400.
Cable length is limited to 4.5 metres (14.8 ft), although up to 16 cables can be daisy chained using active repeaters; external hubs, or internal hubs are often present in FireWire equipment. The S400 standard limits any configuration's maximum cable length to 72 metres (236 ft). The 6-conductor connector is commonly found on desktop computers, and can supply the connected device with power.
The 6-conductor powered connector, now referred to as an alpha connector, adds power output to support external devices. Typically a device can pull about 7 to 8 watts from the port; however, the voltage varies significantly from different devices. Voltage is specified as unregulated and should nominally be about 25 volts (range 24 to 30). Apple's implementation on laptops is typically related to battery power and can be as low as 9 V.
Improvements (IEEE 1394a-2000)
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 1394a offers a couple of advantages over the original IEEE 1394-1995. 1394a is capable of arbitration accelerations, allowing the bus to accelerate arbitration cycles to improve efficiency. It also allows for arbitrated short bus reset, in which a node can be added or dropped without causing a big drop in isochronous transmission.
1394a also standardized the 4-conductor alpha connector developed by Sony and trademarked as "i.LINK", already widely in use on consumer devices such as camcorders, most PC laptops, a number of PC desktops, and other small FireWire devices. The 4-conductor connector is fully data-compatible with 6-conductor alpha interfaces but lacks power connectors.
FireWire 800 (IEEE 1394b-2002)
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/sfull-duplex via a new encoding scheme termed beta mode. It is backwards compatible with 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. A bilingual cable allows the connection of older devices to the newer port. In 2003, Apple was the first to introduce commercial products with the new connector.
The full IEEE 1394b specification supports data rates up to 3200 Mbit/s (i.e., 400 megabytes/s) over beta-mode or optical connections up to 100 metres (330 ft) in length. Standard Category 5eunshielded twisted pair supports 100 metres (330 ft) at S100. The original 1394 and 1394a standards used data/strobe (D/S) encoding (renamed to alpha mode) with the cables, while 1394b added a data encoding scheme called 8B10B referred to as beta mode.
Beta mode is based on 8B/10B (from Gigabit Ethernet, also used for many other protocols). 8B/10B encoding involves expanding an 8 bit data word into 10 bits, with the extra bits after the 5th and 8th data bits. The partitioned data is sent through a Running Disparity calculator function. The Running Disparity calculator attempts to keep the number of 1s transmitted equal to 0s, thereby assuring a DC-balanced signal. Then, the different partitions are sent through a 5B/6B encoder for the 5 bit partition and a 3B/4B encoder for the 3 bit partition. This gives the packet the ability to have at least two 1s, ensuring synchronization of the PLL at the receiving end to the correct bit boundaries for reliable transfer. An additional function of the coding scheme is to support the arbitration for bus access and general bus control. This is possible due to the "surplus" symbols afforded by the 8B/10B expansion. (While 8-bit symbols can encode a maximum of 256 values, 10-bit symbols permit the encoding of up to 1024.) Symbols invalid for the current state of the receiving PHY indicate data errors.
FireWire S800T (IEEE 1394c-2006)
IEEE 1394c-2006 was published on June 8, 2007. It provided a major technical improvement, namely new port specification that provides 800 Mbit/s over the same 8P8C (Ethernet) connectors with Category 5e cable, which is specified in IEEE 802.3 clause 40 (gigabit Ethernet over copper twisted pair) along with a corresponding automatic negotiation that allows the same port to connect to either IEEE Std 1394 or IEEE 802.3 (Ethernet) devices.
Though the potential for a combined Ethernet and FireWire 8P8C port is intriguing, as of November 2008[update], no products or chipsets include this capability.
FireWire S1600 and S3200
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 were further clarified in IEEE Std. 1394-2008. The 1.572864 Gbit/s and 3.145728 Gbit/s devices use the same 9-conductor beta connectors as the existing FireWire 800 and are fully compatible with existing S400 and S800 devices. It competes with USB 3.0.
S1600 (Symwave) and S3200 (Dap Technology) development units have been made, however because of FPGA technology DapTechnology targeted S1600 implementations first with S3200 not becoming commercially available until 2012.
Steve Jobs declared FireWire dead in 2008. As of 2012[update], there were few S1600 devices released, with a Sony camera being the only notable user.
Future enhancements (including P1394d)
A project named IEEE P1394d was formed by the IEEE on March 9, 2009 to add single mode fiber as an additional transport medium to FireWire. The project was withdrawn in 2013.
Other future iterations of FireWire were expected to increase speed to 6.4 Gbit/s and additional connectors such as the small multimedia interface.
Operating system support
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.
In Windows XP, a degradation in performance of 1394 devices may have occurred with installation of Service Pack 2. This was resolved in Hotfix 885222 and in SP3. Some FireWire hardware manufacturers also provide custom device drivers that replace the Microsoft OHCI host adapter driver stack, enabling S800-capable devices to run at full 800 Mbit/s transfer rates on older versions of Windows (XP SP2 w/o Hotfix 885222) and Windows Vista. At the time of its release, Microsoft Windows Vista supported only 1394a, with assurances that 1394b support would come in the next service pack. Service Pack 1 for Microsoft Windows Vista has since been released, however the addition of 1394b support is not mentioned anywhere in the release documentation. The 1394 bus driver was rewritten for Windows 7 to provide support for higher speeds and alternative media. No driver is supplied with Windows 8, 8.1 or 10 but can be downloaded and installed.
In Linux, support was originally provided by libraw1394 making direct communication between user space and IEEE 1394 buses. Subsequently a new kernel driver stack, nicknamed JuJu, has been implemented.
Cable TV system support
Under FCC Code 47 CFR 76.640 section 4, subsections 1 and 2, Cable TV providers (in the US, with digital systems) must, upon request of a customer, have provided a high-definition capable cable box with a functional FireWire interface. This applied only to customers leasing high-definition capable cable boxes from their cable provider after April 1, 2004. The interface can be used to display or record Cable TV, including HDTV programming. In June 2010, the FCC issued an order that permitted set-top boxes to include IP-based interfaces in place of FireWire.
Comparison with USB
While both technologies provide similar end results, there are fundamental differences between USB and FireWire. USB requires the presence of a bus master, typically a PC, which connects point to point with the USB slave. This allows for simpler (and lower-cost) peripherals, at the cost of lowered functionality of the bus. Intelligent hubs are required to connect multiple USB devices to a single USB bus master. By contrast, FireWire is essentially a peer-to-peer network (where any device may serve as the host or client), allowing multiple devices to be connected on one bus.
The FireWire host interface supports DMA and memory-mapped devices, allowing data transfers to happen without loading the host CPU with interrupts and buffer-copy operations. Additionally, FireWire features two data buses for each segment of the bus network, whereas, until USB 3.0, USB featured only one. This means that FireWire can have communication in both directions at the same time (full-duplex), whereas USB communication prior to 3.0 can only occur in one direction at any one time (half-duplex).
While USB 2.0 expanded into the fully backwards-compatible USB 3.0 and 3.1 (using the same main connector type), FireWire used a different connector between 400 and 800 implementations.
IDB-1394 Customer Convenience Port (CCP) was the automotive version of the 1394 standard.
Consumer audio and video
IEEE 1394 was the High-Definition Audio-Video Network Alliance (HANA) standard connection interface for A/V (audio/visual) component communication and control. HANA was dissolved in September 2009 and the 1394 Trade Association assumed control of all HANA-generated intellectual property.
Military and aerospace vehicles
SAE Aerospace standard AS5643 originally released in 2004 and reaffirmed in 2013 establishes IEEE-1394 standards as a military and aerospace databus network in those vehicles. AS5643 is utilized by several large programs, including the F-35 Lightning II, the X-47B UCAV aircraft, AGM-154 weapon and JPSS-1 polar satellite for NOAA. AS5643 combines existing 1394-2008 features like looped topology with additional features like transformer isolation and time synchronization, to create deterministic double and triple fault-tolerant data bus networks.
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.
Mac OS X, Linux, and FreeBSD include support for networking over FireWire.Windows 95, Windows 98, Windows Me,Windows XP and Windows Server 2003 include native support for IEEE 1394 networking.Windows 2000 does not have native support but may work with third party drivers. A network can be set up between two computers using a single standard FireWire cable, or by multiple computers through use of a hub. This is similar to Ethernet networks with the major differences being transfer speed, conductor length, and the fact that standard FireWire cables can be used for point-to-point communication.
On December 4, 2004, Microsoft announced that it would discontinue support for IP networking over the FireWire interface in all future versions of Microsoft Windows. Consequently, support for this feature is absent from Windows Vista and later Windows releases. Microsoft rewrote their 1394 driver in Windows 7 but networking support for FireWire is not present. Unibrain offers free FireWire networking drivers for Windows called ubCore, which support Windows Vista and later versions.
Some models of the PlayStation 2 console had an i.LINK-branded 1394 connector. This was used for networking until the release of an Ethernet adapter late in the console's lifespan, but very few software titles supported the feature.
IIDC (Instrumentation & Industrial Digital Camera) is the FireWire data format standard for live video, and is used by Apple's iSight A/V camera. The system was designed for machine vision systems but is also used for other computer vision applications and for some webcams. Although they are easily confused since they both run over FireWire, IIDC is different from, and incompatible with, the ubiquitous AV/C (Audio Video Control) used to control camcorders and other consumer video devices.
Digital Video (DV) is a standard protocol used by some digital camcorders. All DV cameras that recorded to tape media had a FireWire interface (usually a 4-conductor). All DV ports on camcorders only operate at the slower 100 Mbit/s speed of FireWire. This presents operational issues if the camcorder is daisy chained from a faster S400 device or via a common hub because any segment of a FireWire network cannot support multiple speed communication.
Labelling of the port varied by manufacturer, with Sony using either its i.LINK trademark or the letters 'DV'. Many digital video recorders have a "DV-input" FireWire connector (usually an alpha connector) that can be used to record video directly from a DV camcorder ("computer-free"). The protocol also accommodates remote control (play, rewind, etc.) of connected devices, and can stream time code from a camera.
USB is unsuitable for transfer of the video data from tape because tape by its very nature does not support variable data rates. USB relies heavily on processor support and this was not guaranteed to service the USB port in time. The later move away from tape towards solid state memory or disc media (e.g., SD Cards, optical disks or hard drives) has facilitated moving to USB transfer because file based data can be moved in segments as required.
IEEE 1394 interface is commonly found in frame grabbers, devices that capture and digitize an analog video signal; however, IEEE 1394 is facing competition from the Gigabit Ethernet interface (citing speed and availability issues).
iPod and iPhone synchronization and charging
iPods released prior to the iPod with Dock Connector used IEEE 1394a ports for syncing music and charging, but in 2003, the FireWire port in iPods was succeeded by Apple's dock connector and IEEE 1394 to 30-pin connector cables were made. Apple Inc. dropped support for FireWire cables starting with iPod nano (4th Generation),iPod touch (2nd Generation), and iPhone 3G in favor of USB cables.
Devices on a FireWire bus can communicate by direct memory access (DMA), where a device can use hardware to map internal memory to FireWire's "Physical Memory Space". The SBP-2 (Serial Bus Protocol 2) used by FireWire disk drives uses this capability to minimize interrupts and buffer copies. In SBP-2, the initiator (controlling device) sends a request by remotely writing a command into a specified area of the target's FireWire address space. This command usually includes buffer addresses in the initiator's FireWire Physical Address Space, which the target is supposed to use for moving I/O data to and from the initiator.
On many implementations, particularly those like PCs and Macs using the popular OHCI, the mapping between the FireWire "Physical Memory Space" and device physical memory is done in hardware, without operating system intervention. While this enables high-speed and low-latency communication between data sources and sinks without unnecessary copying (such as between a video camera and a software video recording application, or between a disk drive and the application buffers), this can also be a security or media rights-restriction risk if untrustworthy devices are attached to the bus and initiate a DMA attack. One of the applications known to exploit this to gain unauthorized access to running Windows, Mac OS and Linux computers is the spyware FinFireWire. For this reason, high-security installations typically either use newer machines that map a virtual memory space to the FireWire "Physical Memory Space" (such as a Power Mac G5, or any Sun workstation), disable relevant drivers at operating system level, disable the OHCI hardware mapping between FireWire and device memory, physically disable the entire FireWire interface, or opt to not use FireWire or other hardware like PCMCIA, PC Card, ExpressCard or Thunderbolt, which expose DMA to external components.
An unsecured FireWire interface can be used to debug a machine whose operating system has crashed, and in some systems for remote-console operations. Windows natively supports this scenario of kernel debugging, although newer Windows Insider Preview builds no longer include the ability out of the box. On FreeBSD, the dcons driver provides both, using gdb as debugger. Under Linux, firescope and fireproxy exist.