IEEE 1394
File:Firewire Icon.svg | |
Year created | 1990 |
---|---|
Created by | Apple |
Width in bits | 1 |
No. of devices | 63 |
Speed | 400/800/3200 Mbit/s |
Style | Serial |
Hotplugging interface | Yes |
External interface | Yes |
FireWire is Apple Inc.'s brand name for the IEEE 1394 interface (although the 1394 standard also defines a backplane interface). It is also known as i.LINK (Sony's name). It is a serial bus interface standard, for high-speed communications and isochronous real-time data transfer, frequently used in a personal computer (and digital audio/digital video).
FireWire has replaced Parallel SCSI in many applications, due to lower implementation costs and a simplified, more adaptable cabling system. IEEE 1394 has been adopted as the High Definition Audio-Video Network Alliance (HANA) standard connection interface for A/V (audio/visual) component communication and control[1]. FireWire is also available in wireless, fiber optic, and coaxial versions using the isochronous protocols. Wireless FireWire is being integrated into the WiMedia Alliance's WiMedia Ultra-Wideband (UWB) standard.
Almost all modern digital camcorders have included this connection since 1995. Many computers intended for home or professional audio/video use have built-in FireWire/i.LINK ports, including all Sony computers, all but one of Apple's computers, and most Dell and HP models currently produced. It is also available on many retail motherboards for do-it-yourself PCs.
History and development
FireWire is Apple Inc.'s name for the IEEE 1394 High Speed Serial Bus. It was initiated by Apple 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).
Apple intended FireWire to be a serial replacement for the parallel SCSI (Small Computer System Interface) bus while also providing connectivity for digital audio and video equipment. Apple's development was completed in 1995. As of 2007, IEEE 1394 is 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. Work is underway to incorporate all four of those documents into new revision of the 1394 standard.
Sony's implementation of the system is known as "i.LINK", and uses only the four signal pins, omitting the two pins which provide power to the device in favor of a separate power connector on Sony's i.LINK products. The ports are sometimes labeled "S100" or "S400" to indicated speed in Mbps.
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, and because it does not need a computer host. Perhaps more importantly, FireWire makes full use of all SCSI capabilities and, compared to USB 2.0 Hi-Speed, has higher sustained data transfer rates, especially on Apple Mac OS X (with more varied results on Windows, presumably since USB2 is Intel's answer to FireWire on Windows machines)[2][3], a feature especially important for audio and video editors.
However, the royalty which Apple Inc. and other patent holders have initially demanded from users of FireWire (US$0.25 per end-user system) and the more expensive hardware needed to implement it (US$1–$2) has prevented FireWire from displacing USB in low-end mass-market computer peripherals, where cost of product is a major constraint.[4]
Technical specifications
FireWire can connect up to 63 peripherals in a tree 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. Its six-wire cable is more flexible than most Parallel SCSI cables and 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. (As noted earlier, the Sony-branded i.LINK usually omits the power wiring of the cables and uses a 4-pin connector. Devices have to get their power by other means.)
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 (an extension of the 48-bit Ethernet MAC address format) in addition to well-known codes indicating the type of device and the protocols it supports.
Operating system support
Full support for IEEE 1394a and 1394b is available for FreeBSD, Linux, Apple Mac OS 8.6 through to Mac OS 9[5], and Mac OS X as well as NetBSD and Haiku. Microsoft Windows XP supports both, but as of Service Pack 2, each FireWire device will run at S100 (100 Mbit/second) speed. A download is available from Microsoft which enables devices rated at S400 or S800 speeds to operate at their rated speed.[6] Some FireWire hardware manufacturers also provide custom device drivers which replace the Microsoft OHCI host adapter driver stack, enabling S800-capable devices to run at full 800 Mbit/s transfer rates. Microsoft Windows Vista currently supports only 1394a, with 1394b support coming later in a service pack. (Vista SP1 RC1 is available from mid December 2007, with full release expected during Q1 2008)[7]
Cable system support
Cable TV providers (in the US, with digital systems) must, upon request of a customer, provide a high-definition capable cable box with a functional FireWire interface. This applies only to customers leasing high-definition capable cable boxes from said cable provider after April 1, 2004. The relevant law is CFR 76.640 Section 4 Subsections i and ii.[8] The interface can be used to display or record Cable TV, including HDTV programming.[9]
Node hierarchy
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 reset. The order in which the self-ids are assigned is equivalent to traversing the tree in a depth-first, post-order manner.
Standards and versions
FireWire 400 (IEEE 1394)
FireWire 400 can transfer data between devices at 100, 200, or 400 Mbit/s 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 often present in FireWire equipment. The S400 standard limits any configuration's maximum cable length to 72 meters. The 6-pin connector is commonly found on desktop computers, and can supply the connected device with power.
The 6-pin powered 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.[10] 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 and more likely about 12 V.
Enhancements (IEEE 1394a)
An amendment IEEE 1394a was released in 2000, which both clarified and enhanced the original specification. It added in support for asynchronous streaming, quicker bus reconfiguration, packet concatenation, and a power saving suspend mode.
1394a also standardized the 4 pin connector already widely in use. The 4-pin version is used on many consumer devices such as camcorders, some laptops and other small FireWire devices. Though fully data compatible with 6-pin interfaces, it lacks power connectors.
FireWire 800 (IEEE 1394b)
FireWire 800 (Apple's name for the 9-pin "S800 bilingual" version of the IEEE 1394b standard) was introduced commercially by Apple in 2003. This newer 1394 specification (1394b) and corresponding products allow a transfer rate of 786.432 Mbit/s via a new encoding scheme termed beta mode. It is backwards compatibility to the slower rates and 6-pin connectors of FireWire 400. However, while the IEEE 1394a and IEEE 1394b standards are compatible, FireWire 800's connector is different from FireWire 400's connector, making the legacy cables incompatible. A bilingual cable allows the connection of older devices to the newer port.
The full IEEE 1394b specification supports data rates up to 3200 Mbit/s over beta-mode or optical connections up to 100 metres in length. Standard Category 5e unshielded twisted pair supports 100 metres at S100. The original 1394 and 1394a standards used data/strobe (D/S) encoding (called legacy mode) on the signal wires, while 1394b adds a data encoding scheme called 8B10B (also referred to as beta mode).
FireWire S3200
In December 2007, the 1394 Trade Association announced the products will soon be available using S3200 mode which was already (mostly) defined in 1394b. They will use the same 9-pin connectors as the existing FireWire 800 and will be fully compatible with existing S400 and S800 devices. The future products are intended to compete with the forthcoming USB 3.0.[11]
FireWire S800T (IEEE 1394c)
IEEE 1394c-2006 was published on June 8 2007.
It provides the following improvements
- A new port specification which provides 800 Mb/s over the same RJ45 connectors with Category 5e cable which is specified in IEEE 802.3 clause 40 (gigabit ethernet over copper twisted pair)
- An automatic negotiation which allows the same port to connect to either IEEE Std 1394 or IEEE 802.3 (ethernet) devices.
- Various minor updates to IEEE 1394b
Though the potential for a combined Ethernet and FireWire RJ45 port is intriguing, as of December 2007, there are no products or chipsets which include this capability.
Future enhancements
Besides the short term shoring up of S3200 over the beta connector already discussed, future iterations of FireWire should bring a bump in speed to 6.4 Gb/s, use of single-mode fiber, and additional connectors such as the small multimedia interface.[12]
Comparison to USB
Although high-speed USB 2.0 runs at a higher signaling rate (480 Mbit/s) than FireWire 400, typical USB PC-hosts rarely exceed sustained transfers of 35 MB/s (280 Mb/s), with 30 MB/s (240 Mb/s) being more typical (the theoretical limit for a USB 2 high-speed bulk transfer is 53.125 MB/s). This is likely due to USB's reliance on the host-processor to manage low-level USB protocol, whereas FireWire automates the same tasks in the interface hardware. For example, the FireWire host interface supports memory-mapped devices, which allows high-level protocols to run without loading the host CPU with interrupts and buffer-copy operations.[13]
FireWire 800 is substantially faster than Hi-Speed USB.[14]
Alternative uses for IEEE 1394
Aircraft
IEEE 1394b is used in military aircraft, where weight savings are desired; even four pairs of wires, to permit multiple redundancy, are far lighter than hundreds of discrete wires. Developed for use as the data bus on the F-22 Raptor, it is also used on the F-35 Lightning II.[15] NASA's Space Shuttle also uses IEEE 1394b to monitor debris (foam, ice) which may hit the vehicle during launch.[15] This standard should not be confused with the unrelated MIL-STD-1394B.
Automobiles
IDB-1394 Customer Convenience Port (CCP) is the automotive version of the 1394 standard. [1]
Networking over FireWire
FireWire can be used for ad-hoc (terminals only, no routers) 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, FreeBSD, and Windows XP include support for networking over FireWire. 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, wire length, and the fact that standard FireWire cables can be used for point-to-point communication.
Note that this feature is not supported in Windows Vista.[16]
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 was poorly supported by software.
IIDC
IIDC (Instrumentation & Industrial Digital Camera) is the FireWire data format standard for live video, and what Apple's iSight A/V camera uses. The system was designed for machine vision systems,[17] 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 ordinary DV (Digital Video) camcorder protocol.
DV
Digital Video (DV) is a standard protocol used by nearly all digital camcorders. Nearly all DV cameras have a FireWire interface (usually a 4-pin). Labeling of the port varies by manufacturer, with Sony always using its i.LINK trademark. Many digital video recorders have a "DV-input" FireWire connector (usually a 6-pin connector) which can be used to record video from a directly-connected DV camcorder ("computer-free").
The protocol also allows remote control (play, rewind, etc.) of connected devices.
Security issues
Devices on a FireWire bus can communicate by direct memory access, 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 Macintoshes 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 risk if untrustworthy devices are attached to the bus. For this reason, high-security installations will typically either purchase newer machines which map a virtual memory space to the FireWire "Physical Memory Space" (such as a Power Macintosh G5, or any Sun workstation), disable the OHCI hardware mapping between FireWire and device memory, physically disable the entire FireWire interface, or do not have FireWire at all.
This feature can also be used to debug a machine whose operating system has crashed, and in some systems for remote-console operations. On FreeBSD, the dcons driver provides both, using gdb as debugger. Under Linux, firescope[18] and fireproxy[19] exist.
See also
- High Definition Audio-Video Network Alliance aka HANA
- HAVI, FireWire to control Audio and Video hardware.
- Universal Serial Bus (USB)
- mLAN Yamaha's FireWire-based music networking system
- List of device bandwidths
References
- ^ http://www.hanaalliance.org/docs/whitepaper121405.php
- ^ http://www.usb-ware.com/firewire-vs-usb.htm
- ^ http://www.tomshardware.com/2004/04/02/go_external/
- ^ http://www.teener.com/
- ^ http://docs.info.apple.com/article.html?artnum=86020
- ^ http://support.microsoft.com/kb/885222
- ^ http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=187002039
- ^ http://www.fcc.gov/mb/engineering/part76.pdf page 145
- ^ http://www.avsforum.com/avs-vb/printthread.php?t=386740
- ^ http://developer.apple.com/documentation/HardwareDrivers/Conceptual/HWTech_FireWire/Articles/FireW_implementation.html#//apple_ref/doc/uid/TP40003892-SW1
- ^ "1394 Trade Association Announces 3.2 Gigabit per Second Speed for FireWire". 1394 Trade Association. 2007-12-12. Retrieved 2007-12-17.
{{cite web}}
: Check date values in:|date=
(help) - ^ Baxter, Les (2007-11-01). "New developments in IEEE 1394 (a.k.a. FireWire)". Lightwave. Retrieved 2007-12-19.
{{cite web}}
: Check date values in:|date=
(help) - ^ http://www.usb-ware.com/firewire-vs-usb.htm
- ^ Heron, Robert. "USB 2.0 Versus FireWire". TechTV. Retrieved 2006-12-04.
- ^ a b "The Electric Jet." Philips, E. H. Aviation Week & Space Technology. February 5, 2007.
- ^ http://www.microsoft.com/whdc/system/bus/1394/IP_1394.mspx
- ^ http://damien.douxchamps.net/ieee1394/libdc1394/iidc_specifications.php
- ^ http://lkml.org/lkml/2006/4/3/301
- ^ http://www.suse.de/~bk/firewire
Other sources
- IEEE p1394 Working Group (1996-08-30). IEEE Std 1394-1995 High Performance Serial Bus. IEEE. ISBN 1-5593-7583-3.
{{cite book}}
: CS1 maint: numeric names: authors list (link) - IEEE p1394a Working Group (2000-06-30). IEEE Std 1394a-2000 High Performance Serial Bus - Amendment 1. IEEE. ISBN 0-7381-1958-X.
{{cite book}}
: CS1 maint: numeric names: authors list (link) CS1 maint: year (link) - IEEE p1394b Working Group (2002-12-14). IEEE Std 1394b-2002 High Performance Serial Bus - Amendment 2. IEEE. ISBN 0-7381-3253-5.
{{cite book}}
: CS1 maint: numeric names: authors list (link) - IEEE p1394c Working Group (2007-06-08). IEEE Std 1394c-2006 High Performance Serial Bus - Amendment 3. IEEE. ISBN 0-7381-5237-4.
{{cite book}}
: CS1 maint: numeric names: authors list (link) - INCITS T10 Project 1467D (2004). Information technology — Serial Bus Protocol 3 (SBP-3). ANSI INCITS. ANSI INCITS 375-2004.
{{cite book}}
: CS1 maint: numeric names: authors list (link) - Anderson, Don (1999). FireWire System Architecture. MindShare, Inc. ISBN 0-201-48535-4.
External links
- 1394 Trade Association
- High Definition Audio-Video Network Alliance (HANA) Standard using IEEE 1394 FireWire for interconnecting A/V components
- Apple FireWire Technology
This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.