Вы находитесь на странице: 1из 9

The IEEE 1394 interface, developed in the late 1980s and early 1990s by Apple as FireWire, is a serial bus

interface standard for high-speed communications and isochronous real-time data transfer. The 1394 interface is comparable with USB and often those two technologies are considered together, though USB has more market share.[1] Apple first included FireWire in some of its 1999 models, and most Apple computers since the year 2000 have included FireWire ports, though, as of 2013, nothing beyond the 800 version (IEEE-1394b).[2] The interface is also known by the brand 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 the High-Definition Audio-Video Network Alliance (HANA) standard connection interface for A/V (audio/visual) component communication and control.[3] FireWire is also available in wireless, fiber optic, and coaxial versions using the isochronous protocols.

History and development

The 6-conductor and 4-conductor alpha FireWire 400 connectors

A 9-pin FireWire 800 connector

The alternative Ethernet-style cabling used by 1394c

4-conductor (left) and 6-conductor (right) FireWire 400 alpha connectors

A pair of 6-conductor alpha connectors on the edge of an expansion card FireWire is Apple's name for the IEEE 1394 High Speed Serial Bus. It was initiated by Apple (in 1986[4]) 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 much less efficient, more costly, and typically heavier.[5] 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,[6] and was completed in 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.[7] Apple's internal long-time code-name for FireWire was "Chefcat" starting in 1988 as the team sat around a conference table contemplating what to call the project and staring at Kliban's famous artwork on Michael Johas Teener's coffee mug. That was the "aha" moment articulating the goals of the new interconnect, at low cost and ultimate simplicity presented to the user to replace and unify all other PC interconnections and expand beyond that base to enable ultimate miniaturization of electronics. The concept of the current loop electronics that became the now pervasive LVDS was code named "Greyhound" around 1992. 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.[6] 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. Results are marked on Apple Mac OS X but more varied on Microsoft Windows.[8][9]

[edit] Property considerations


IEEE 1394 compliance or implementation[10] is considered infringement[11] of 261 active issued international patents[12] held by 10[13] corporations. To facilitate licensure to designers, a patent pool was formed by those holders to sublicense their patents to a license administrator, MPEG LA, LLC, who sublicenses them in turn to designers. Under the license offered by MPEG LA, a royalty of US$0.25 per unit is payable upon the manufacture of each 1394 finished product.[11] Designers may only review the actual 1394 Patent Portfolio License upon written request to MPEG LA to receive a hardcopy.[14] Designers would thus need to reveal some interest to the Licensor early in the design process, or review patents from 20 countries in 14 languages, to consider compliance. MPEG LA does not provide assurance of protection to licensees beyond its own minority subset of patents[clarify]. At least one formerly licensed patent is known to be removed from the pool,[12] and other extra-pooled hardware patents exist that reference 1394related hardware[15][16][17] and software functions related to use in IEEE 1394.[18] In total, over 1770 patents issued in the 20 years (the WIPO minimum) preceding 2011[19] contain "IEEE 1394" in their titles alone, placing 1500 unavailable from MPEG LA. A trade association exists, the 1394 High Performance Serial Bus Trade Association (the "1394 TA"), formed strictly for marketing functions, with bylaws specifically excluding all intellectual property issues held by members.[20]

[edit] Technical specifications


FireWire can connect up to 63 peripherals in a tree or daisy-chain topology[21] (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,[citation needed] 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.[5] 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.[22]

[edit] Encoding scheme


FireWire uses Data strobe encoding (D/S encoding).[23] 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.[23] This strobe is then put through another XOR gate along with the data signal to reconstruct the clock.[23] This in turn acts as the bus's Phase-locked loop for synchronization purposes.[23]

[edit] Arbitration
The process of the bus deciding which node gets to transmit data at what time is known as arbitration.[24] Each arbitration round lasts about 125 microseconds.[24] During the round, the root node (device nearest the processor) sends a cycle start packet.[24] All nodes requiring data transfer respond, with the closest node winning.[24] 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.[24] Up to 80% of the time can be given to isochronous nodes.[24]

[edit] Standards and versions


The previous standards and its three published amendments are now incorporated into a superseding standard, IEEE 1394-2008.[7] The features individually added give a good history on the development path.

[edit] FireWire 400 (IEEE 1394-1995)

A 6-conductor FireWire 400 alpha connector The original release of IEEE 1394-1995[25] 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).[6] 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 6conductor 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.[26] 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.[26] [edit] Improvements (IEEE 1394a-2000) An amendment, IEEE 1394a, was released in 2000,[27] 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 IEEE 1394. 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.[22] 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.

[edit] FireWire 800 (IEEE 1394b-2002)

A 9-conductor bilingual connector IEEE 1394b-2002[28] 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 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 5e unshielded 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 (Gigabit Ethernet & Fibre Channel). 8B/10B encoding involves expanding an 8 bit data word into 10 bits, with the extra bits after the 5th and 8th data bits.[29]

The partitioned data is sent through a Running Disparity calculator function.[29] The Running Disparity calculator attempts to keep the number of 1s transmitted equal to 0s,[30] 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.[30] 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.

[edit] 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 was further clarified in IEEE Std. 1394-2008.[7] 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. It will compete with the forthcoming USB 3.0.[31] S1600 (Symwave[32]) and S3200 (Dap Technology[33]) development units have been made, however because of FPGA technology DapTechnology targeted S1600 implementations first with S3200 not becoming commercially available until 2012.

[edit] FireWire S800T (IEEE 1394c-2006)


IEEE 1394c-2006 was published on June 8, 2007.[34] 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, there are no products or chipsets which include this capability.

[edit] 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.[35] Other future iterations of FireWire are expected to increase speed to 6.4 Gbit/s and additional connectors such as the small multimedia interface.[36][citation needed]

[edit] Operating system support

Full support for IEEE 1394a and 1394b is available for Microsoft Windows, FreeBSD,[37] Linux,[38][39] Apple Mac OS 8.6 through Mac OS 9,[40] 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[41] and in SP3. 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 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.[42] 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.[43][44][45] The 1394 bus driver was rewritten for Windows 7 to provide support for higher speeds and alternative media.[46] In Linux, support was originally provided by libraw1394 making direct communication between user space and IEEE 1394 buses.[47] Subsequently a new kernel driver stack, nicknamed JuJu, has been implemented.[48]

[edit] Cable TV 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 their cable provider after April 1, 2004. The relevant regulation is 47 CFR 76.640 Section 4 Subsections i and ii.[49] The interface can be used to display or record Cable TV, including HDTV programming.[50]

[edit] 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.[51] 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.[8][52] Additionally, FireWire features two data buses for each segment of the bus network whereas USB only features one. This means that FireWire can have communication in both directions at the same time, whereas USB communication can only occur in one direction at any one time. Thus, while USB 2.0 is quoted as running at a higher signaling rate (480 Mbit/s) than legacy FireWire 400 (400 Mbit/s), data transfers over S400 FireWire interfaces generally outperform similar transfers over USB 2.0 interfaces in real world environments. Few if any USB 2.0 device

implementations are capable of saturating the entire 480 Mbit/s, but this can be achieved with multiple devices on the same bus.

[edit] Alternative uses[clarification needed]


[edit] Automobiles
IDB-1394 Customer Convenience Port (CCP) is the automotive version of the 1394 standard.[53]

Вам также может понравиться