FireWire
From Wikipedia, the free encyclopedia
FireWire | |
The FireWire icon |
|
Year Created: | 1995 |
Created By: | Apple |
|
|
Width: | 1 bits |
Number of Devices: | 63 |
Speed: | 400/800 Mbit/s |
Style: | Serial |
Hotplugging? | yes |
External? | yes |
FireWire is Apple Inc.'s proprietary name for the IEEE 1394 interface. It is also known as i.Link (Sony’s name) or IEEE 1394 (although the 1394 standard also defines a backplane interface). It is a personal computer (and digital audio/digital video) serial bus interface standard, offering high-speed communications and isochronous real-time data services. 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 component communication and control[citation needed]. FireWire is also available in wireless, fiber optic and coaxial versions using the isochronous protocols.
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 ports including all Apple, Dell (except the Inspiron 1501, Dimension 8300 series, and Latitude 131L) and Sony laptop computers currently produced. It is also widely available on retail motherboards for DIY PCs, alongside USB. FireWire was used with initial models of Apple's iPod, but later models eliminated FireWire support in favor of USB due to space constraints and for wider compatibility.
Contents |
[edit] History and development
FireWire4 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 contributors 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 bus while also providing connectivity for digital audio and video equipment. Apple's development was completed in 1995. As of 2007, IEEE 1394 is currently a composite of three documents: the original IEEE Std. 1394-1995, the IEEE Std. 1394a-2000 amendment, and the IEEE Std. 1394b-2002 amendment (there is a 1394c amendment that provides support for 800 Mbit/sec operation over 100 m of Category 5 unshielded twisted pair cable that will be published soon).
Sony's implementation of the system is known as i.Link, and uses only the four signal pins, discarding the two pins that provide power to the device in favor of a separate power connector on Sony's i.Link products.
The system is commonly used for connection of data storage devices and digital video cameras, but is also popular in industrial systems for machine vision and professional audio systems. It is used instead of the more common USB due to its faster effective speed, higher 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 [1][2], a feature especially important for audio and video editors.
However, the small royalty that 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.
According to Michael Johas Teener, original chair and editor of the IEEE 1394 standards document, and technical lead for Apple's FireWire team from 1990 until 1996:
“ |
The original FireWire project name was "Chefcat", the name of Michael Teener's favorite coffee cup. The standard connectors used for FireWire are related to the connectors on the venerable Nintendo Game Boy. While not especially glamorous, the Game Boy connectors have proven reliable, solid, easy to use and immune to assault by small children. FireWire is a trademark of Apple Computer, Inc. The trademark was filed in 1993. The "FireWire" name was chosen by a group of engineers socializing before Comdex 1993, just before the project was about to go public. IBM, Apple, Texas Instruments, Western Digital, Maxtor and Seagate were all showing drives, systems and other various FireWire support technology. The marketing forces behind the FireWire project had originally considered a name like "Performa". FireWire won the "most significant new technology" award from Byte Magazine at the Comdex 1993 show. During the period they participated with the IEEE p1394 working group, Apple proposed licensing all of their blocking patents for US$3,000, a one time fee only for "the point of first use" or the integrated circuits that implement the protocols. Furthermore, there was a discount if a contribution was made to the IEEE undergraduate scholarship fund. Under that agreement, the IEEE agreed to include the appropriate patents in the standard. Apple never intended to charge for the use of the name "FireWire". It could be used by any party signing an agreement to use the name for a product that was compliant with IEEE 1394-1995, the original version of the standard. Steve Jobs was convinced that Apple should ask for US$1 per port for the patents that became part of the standard. The argument was that it was consistent with the MPEG patent fees. The fallout from charging US$1 per FireWire port was significant, particularly from Intel. Intel had sunk a great deal of effort into the standard with the improved 1394a-2000 standard being partially based on work contributed by Intel. A group within Intel used this as a reason to drop 1394 support and bring out the improved USB 2.0 instead. Simultaneously, Sony and the other backers of the technology noted to Apple that they all had patents too and were entitled to per-port royalties. Under these circumstances, Apple would have to pay roughly US$15 per port to the other FireWire technology developers. The end result was the creation of the "1394 Licensing Authority", a body which charges everyone US$0.25 per end-user system (like a car or computer) that uses any 1394 technology. |
” |
—Micheal Teener, Apple's lead on the IEEE 1394 standards body, [3] |
[edit] Technical specifications
FireWire can connect together up to 63 peripherals in an acyclic 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. Power is provided by a separate power adaptor for each device.
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 protocols it supports.
[edit] Operating system support
Full support for IEEE 1394a and 1394b is available for FreeBSD, Linux and Apple Mac OS 8.6 through Mac OS X operating systems [4]. Microsoft Windows XP supports 1394a and 1394b, but as of Service Pack 2 the default speed for all types of FireWire is S100 (100 Mbit/second). A download and registry modification is available from Microsoft to restore performance to either S400 or S800. A more effective alternative for XPSP2 users is using a FW800 driver developed by Orangeware, Unibrain or Point Grey Research. Microsoft Windows Vista will initially support only 1394a, with 1394b support coming later in a service pack.[5]
[edit] Cable system support
Cable TV providers (in the US, with digital systems) must, upon request of a customer, provide a cable box with a functional FireWire interface. The relevant law is CFR 76.640 Section 4 Subsections i and ii.[6] The interface can be used to display or record Cable TV, including HDTV programming.[7]
[edit] Node hierarchy
FireWire devices are organized on 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 that 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.
[edit] Standards and versions
[edit] FireWire 400
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, ie 12.288, 24.576 and 49.152MBytes per second respectively). These different transfer modes are commonly referred to as S100, S200, and S400. Although USB 2.0 can theoretically operate at 480 Mbits/s, tests indicate that this speed is rarely attained. This is possibly caused by the client-server architecture of USB, as opposed to the peer-to-peer network operation of FireWire, and the support for memory-mapped devices in the latter, which allows high-level protocols to run without forcing numerous interrupts and buffer copy operations on host CPUs.[8]
Cable length is limited to 4.5 metres (about 15 feet), 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. A 4-pin version is used on many laptops and small FireWire devices and do not have any power connectors, although it is fully compatible with 6-pin interfaces. Some laptops use the 6-pin powered connector, such as Apple's recent offerings.
[edit] FireWire 800
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 and corresponding products allow a transfer rate of 786.432 Mbit/s with backwards compatibility to the slower rates and 6-pin connectors of FireWire 400.
The full IEEE 1394b specification supports optical connections up to 100 metres in length and data rates up to 3.2 Gbit/s. Standard category-5 unshielded twisted pair supports 100 metres at S100, and the new p1394c technology goes all the way to S800. 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). With this new technology, FireWire, which was already slightly faster [9], is now substantially faster than Hi-Speed USB.
[edit] MIL-STD-1394B
MIL-STD-1394B is the variant of FireWire utilized for military aircraft, where weight savings are desired; even a four pairs of wires, to permit multiple redundancy, is far lighter than hundreds of discrete wires. Developed for use as the data bus on the F-22 Raptor, MIL-STD-1394B is also used on the F-35 Lightning II.[10] NASA's Space Shuttle also uses MIL-STD-1394B to monitor debris (foam, ice) which may hit the vehicle during launch.[10]
[edit] Networking over FireWire
FireWire, with the help of software, is well-suited for creating 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.
Linux, Windows XP and Mac OS X are popular operating systems that include support for networking over FireWire. A network between two computers can be created without a hub, much like the scanner to printer example above. Using one FireWire cable, data can be transferred quickly between the two computers with minimal networking configuration. Due to "unpopularity", Microsoft has removed support for networking over FireWire[11] in Windows Vista.
[edit] IIDC
IIDC is FireWire data format standard for live video. The system was designed for machine vision systems[12], 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 camcorder protocol.
[edit] 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 use 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 extremely 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 that 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, with using gdb as debugger. Under Linux, firescope[13] and fireproxy[14] exist.
[edit] Hot plugging problems
Many electronic and computer systems should not be connected or disconnected while powered, as this may damage them. FireWire and other hot swappable devices however, have connectors and circuits which are designed to make this safe. Despite this, there have been a few reports of cameras being damaged if the pins of the FireWire port are accidentally shorted while swapping. This was especially true for some early FireWire devices, but modern devices appear to have eliminated this problem. Furthermore, FireWire 800 ensures even greater safety when hot-swapping.
[edit] See also
- HAVI, FireWire to control Audio and Video hardware.
- Universal Serial Bus (USB)
- mLAN Yamaha's FireWire-based music networking system
[edit] References
- ^ 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://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://www.usb-ware.com/firewire-vs-usb.htm
- ^ Heron, Robert. USB 2.0 Versus FireWire. TechTV. Retrieved on 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
- IEEE p1394 Working Group (1995). IEEE Std 1394-1995 High Performance Serial Bus. IEEE. ISBN 0-7381-1203-8.
- IEEE p1394a Working Group (2000). IEEE Std 1394a-2000 High Performance Serial Bus - Amendment 1. IEEE. ISBN 0-7381-1958-X.
- IEEE p1394b Working Group (2002). IEEE Std 1394b-2002 High Performance Serial Bus - Amendment 2. IEEE. ISBN 0-7381-3253-5.
- INCITS T10 Project 1467D (2004). Information technology — Serial Bus Protocol 3 (SBP-3). ANSI INCITS. ANSI INCITS 375-2004.
- Anderson, Don (1999). FireWire System Architecture. MindShare, Inc.. ISBN 0-201-48535-4.
[edit] External links
- 1394 Trade Association
- High Definition Audio-Video Network Alliance (HANA) Standard using IEEE 1394 FireWire for interconnecting A/V components
- IEEE 1394 FireWire over Coaxial Cable
- Wireless FireWire
- 1394 LA MPEG LA administers the rights for patented inventions necessary to implement IEEE 1394.
- Apple FireWire Technology
- FireWire Concepts - Apple developer document showing FireWire 400 and 800 pinouts
- IEEE p1394c Working Group website
- USB 2.0 vs FireWire — performance benchmarks of external drives using Macs
- FireWire host port failures
- Evolution of FireWire White Paper oct '04
- Sequel to Evolution of FireWire White Paper Jan '06
- FireWire Firmware and utilities by FireWireDepot
- FireWire pinouts
- FireWire (IEEE1394) detailed pinout and signals
- FireWire support for Linux
- The 6-pin and 4-pin FireWire connector pinout
- Orangeware and Unibrain drivers improve WindowsXP Service Pack 2 FireWire800
This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.