Fire wire

24
FireWire Introduction FireWire is a method of transferring information between digital devices, especially audio and video equipment. Also known as IEEE 1394, FireWire is fast -- the latest version achieves speeds up to 800 Mbps. At some time in the future, that number is expected to jump to an unbelievable 3.2 Gbps when manufacturers overhaul the current FireWire cables. We can connect up to 63 devices to a FireWire bus. Windows operating systems (98 and later) and Mac OS (8.6 and later) both support it. Let's say you have your digital camcorder connected to your home computer. When your computer powers up, it queries all of the devices connected to the bus and assigns each one an address, a process called enumeration. FireWire is plug- and-play, so if you connect a new FireWire device to your computer, the operating system auto-detects it and asks for the driver disc. If you've already installed the device, the computer activates it and starts talking to it. FireWire devices are hot pluggable, which means they can be connected and disconnected at any time, even with the power on. FireWire is the name given to the external wired interface 1

description

 

Transcript of Fire wire

Page 1: Fire wire

FireWire

Introduction

FireWire is a method of transferring information between digital devices,

especially audio and video equipment. Also known as IEEE 1394, FireWire is fast -- the

latest version achieves speeds up to 800 Mbps. At some time in the future, that number is

expected to jump to an unbelievable 3.2 Gbps when manufacturers overhaul the current

FireWire cables.

We can connect up to 63 devices to a FireWire bus. Windows operating systems

(98 and later) and Mac OS (8.6 and later) both support it.

Let's say you have your digital camcorder connected to your home computer.

When your computer powers up, it queries all of the devices connected to the bus and

assigns each one an address, a process called enumeration. FireWire is plug-and-play,

so if you connect a new FireWire device to your computer, the operating system auto-

detects it and asks for the driver disc. If you've already installed the device, the computer

activates it and starts talking to it. FireWire devices are hot pluggable, which means they

can be connected and disconnected at any time, even with the power on. FireWire is the

name given to the external wired interface specified by the IEEE standard 1394. It is also

known as i.Link 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.

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 Macintosh, Dell and Sony computers currently produced.

FireWire was also an attractive feature on the Apple iPod for several years, permitting

new tracks to be uploaded in a few seconds and also for the battery to be recharged

1

Page 2: Fire wire

concurrently with one cable. However, Apple has eliminated FireWire support in favor of

Universal Serial Bus (USB) 2.0 on its newer iPods due to space constraints and for wider

compatibility.

The FireWire icon

The 6-pin and 4-pin FireWire Connectors

History

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

2

Page 3: Fire wire

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

3

Page 4: Fire wire

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.

Standards and versions

A 6-Pin FireWire 400 connector

FireWire is Apple Computer's name for the IEEE 1394 High Speed Serial Bus. It

was 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 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. 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 800Mbit/sec operation over 100m 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

4

Page 5: Fire wire

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 High Speed, has higher sustained data transfer

rates, a feature especially important for audio and video editors.

However, the small royalty that Apple Computer 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.

A 4-Pin FireWire 400 connector. This connector is not powered.

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.

5

Page 6: Fire wire

A 9-pin FireWire 800 (IEEE 1394b) connector.

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, 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. 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

maximum cable length for any configuration is limited to 72 meters in the S400 standard.

FireWire 800 (Apple's name for the 9-pin "S800 bilingual" version of the

IEEE1394b 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 all the way 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

6

Page 7: Fire wire

8B10B (also referred to as beta mode). With this new technology, FireWire, which was

arguably already slightly faster, is now substantially faster than Hi-Speed USB.

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.

How It Works

There are two levels of interface in IEEE 1394, one for the backplane bus within

the computer and another for the point-to-point interface between device and computer

on the serial cable. A simple bridge connects the two environments. The backplane bus

supports 12.5, 25, or 50 megabits per second data transfer. The cable interface supports

100, 200, or 400 megabits per second. Each of these interfaces can handle any of the

possible data rates and change from one to another as needed.

The serial bus functions as though devices were in slots within the computer

sharing a common memory space. A 64-bit device address allows a great deal of

flexibility in configuring devices in chains and trees from a single socket.

IEEE 1394 provides two types of data transfer: asynchronous and isochronous.

Asynchronous is for traditional load-and-store applications where data transfer can be

initiated and an application interrupted as a given length of data arrives in a buffer.

Isochronous data transfer ensures that data flows at a pre-set rate so that an application

can handle it in a timed way. For multimedia applications, this kind of data transfer

reduces the need for buffering and helps ensure a continuous presentation for the viewer.

The 1394 standard requires that a device be within 4.5 meters of the bus socket.

Up to 16 devices can be connected in a single chain, each with the 4.5 meter maximum

(before signal attenuation begins to occur) so theoretically you could have a device as far

away as 72 meters from the computer.

7

Page 8: Fire wire

Another new approach to connecting devices, the Universal Serial Bus (USB),

provides the same "hot plug" capability as the 1394 standard. It's a less expensive

technology but data transfer is limited to 12 Mbps (million bits per second). Small

Computer System Interface offers a high data transfer rate (up to 40 megabytes per

second) but requires address preassignment and a device terminator on the last device in a

chain. FireWire can work with the latest internal computer bus standard, Peripheral

Component Interconnect (PCI), but higher data transfer rates may require special design

considerations to minimize undesired buffering for transfer rate mismatches.

FireWire Specifications

The original FireWire specification, FireWire 400 (1394a), was faster than USB when

it came out. FireWire 400 is still in use today and features:

1. Transfer rates of up to 400 Mbps

2. Maximum distance between devices of 4.5 meters (cable length)

The release of USB 2.0 -- featuring transfer speeds up to 480 Mbps and up to 5

meters between devices -- closed the gap between these competing standards. But in

2002, FireWire 800 (1394b) started showing up in consumer devices, and USB 2.0 was

left in the dust. FireWire 800 is capable of:

1. Transfer rates up to 800 Mbps

2. Maximum distance between devices of 100 meters (cable length)

The faster 1394b standard is backward-compatible with 1394a.

Working Of Firewire Connections

The designers of the Universal Serial Bus (USB) had several particular goals in mind

when they created the USB standard:

1. Low implementation cost, so that USB could be used in cheap peripherals like

mice and game controllers

2. Low cabling cost

8

Page 9: Fire wire

3. Lots of devices on the bus

4. Good speed characteristics for things like printers

The idea was to create a system that would replace all of the different ports on

computers (parallel ports, serial ports, special mouse and keyboard ports, etc.) with a

single standard. USB achieved all of these goals very effectively, and there will come a

day in the not-too-distant future when computers will have nothing but a set of USB

connectors on the back.

FireWire, originally created by Apple and later standardized as IEEE-1394, actually

preceded USB and had similar goals. The difference is that IEEE-1394 was originally

intended for devices working with lots more data -- things like camcorders, DVD players

and digital audio equipment. IEEE-1394 and USB share a number of characteristics and

differ in some important ways. Here's a summary:

1. Like USB, IEEE-1394 is a serial bus that uses twisted-pair wiring to move data

around.

2. However, while USB is limited to 12 megabits per second, IEEE-1394 currently

handles up to 400 megabits per second.

3. USB can handle 127 devices per bus, while IEEE-1394 handles 63.

4. Both USB and IEEE-1394 support the concept of a isochronous device -- a device

that needs a certain amount of bandwidth for streaming data. This mode is perfect

for streaming audio and video data.

5. Both USB and IEEE-1394 allow you to plug and unplug devices at any time.

Most digital video cameras have an IEEE-1394 plug. When you attach a camcorder to

a computer using IEEE-1394, the connection is amazing. With the right software the

computer and the camera communicate, and the computer can download all of the scenes

on the tape automatically and with perfect digital clarity. As prices fall, home video

production will become trivial!

9

Page 10: Fire wire

Sending Data via FireWire

FireWire uses 64-bit fixed addressing, based on the IEEE 1212 standard. There are

three parts to each packet of information sent by a device over FireWire:

1. A 10-bit bus ID that is used to determine which FireWire bus the data came from

2. A 6-bit physical ID that identifies which device on the bus sent the data

3. A 48-bit storage area that is capable of addressing 256 terabytes of information

for each node

The bus ID and physical ID together comprise the 16-bit node ID, which allows for

64,000 nodes on a system. Data can be sent through up to 16 hops (device to device).

Hops occur when devices are daisy-chained together. Look at the example below. The

camcorder is connected to the external hard drive connected to Computer A. Computer A

is connected to Computer B, which in turn is connected to Computer C. It takes four hops

for Computer C to access the camera.

Assuming all of the devices in this setup are equipped with FireWire 800, the camcorder

can be up to 400 meters from Computer C.

Now that we've seen how FireWire works, let's take a closer look at one of its most

popular applications: streaming digital video.

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.

10

Page 11: Fire wire

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 Windows Vista has removed support for

networking over FireWire.

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 (serial bus protocol) used by FireWire disk drives use this capability to

minimize interrupts and buffer copies. In SBP, 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 G5 Macintosh, 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

11

Page 12: Fire wire

driver provides both, with using gdb as debugger. Under Linux, firescope and

fireproxyexist.

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.

Hot Plug precautions

Although FireWire devices can be hot-plugged without powering down

equipment, 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. However, modern FireWire devices have eliminated this

problem. Furthermore, FireWire 800 ensures even greater safety when hot-swapping.

Because any hot-pluggable computer device has a risk of short-circuiting, a user

may wish to power off both the camcorder and computer before connecting a FireWire

cable. Commercial grade equipment is less sensitive to being hot-plugged, although care

should still be taken with any electronic device.

Operating system support

Full support for IEEE 1394a and 1394b is available for FreeBSD, Linux and

Apple Mac OS X operating systems. 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

12

Page 13: Fire wire

restore performance to either S400 or S800. Microsoft Windows Vista will initially

support 1394a, with 1394b support coming later in a service pack.

To use FireWire target disk mode

Description and requirements

FireWire target disk mode allows a Macintosh computer with a FireWire port (the

target computer) to be used as an external hard disk connected to another computer (the

host). Once a target computer is started up as a FireWire hard disk and is available to the

host computer, you can copy files to or from that volume.

Important: The computer will not go into FireWire target disk mode if "Open Firmware

Password" has been enabled.

Host computer requirements

Host computers must meet the following requirements:

Built-in FireWire port, or a FireWire port on a PC card

FireWire 2.3.3 or later

Mac OS 8.6 or later

How to use FireWire target disk mode

Important: Unplug all other FireWire devices from both computers prior to using

FireWire target disk mode. Do not plug in any FireWire devices until after you have

disconnected the two computers from each other, or have stopped using target disk mode.

Tip: If you will be transferring FileVault-protected home directories (Mac OS X 10.3 or

later only), log in as the FileVault-protected user and temporarily turn off FileVault.

13

Page 14: Fire wire

After transferring home directory contents to the target computer, enable FileVault

protection again if desired.

To use FireWire target disk mode

1. Make sure that the target computer is turned off. If you are using a PowerBook or

iBook as the target computer, you should also plug in its AC power adapter.

2. Use a FireWire cable (6-pin to 6-pin) to connect the target computer to a host

computer. The host computer does not need to be turned off.

3. Start up the target computer and immediately press and hold down the T key until

the FireWire icon appears. The hard disk of the target computer should become

available to the host computer and will likely appear on desktop. (If the target

computer is running Mac OS X 10.4 Tiger, you can also open System

Preferences, choose Startup Disk, and click Target Disk Mode. Then restart the

computer and it will start up in Target Disk Mode.)

4. When you are finished copying files, drag the target computer's hard disk icon to

the Trash or select Put Away from the File menu (Mac OS 9) or Eject from the

File menu (Mac OS X).

5. Press the target computer's power button to turn it off.

6. Unplug the FireWire cable.

If the target computer's hard disk does not become available to the host computer,

check the cable connections and restart the host computer. FireWire Target Disk Mode

works on internal ATA drives only. Target Disk Mode only connects to the master ATA

drive on the Ultra ATA bus. It will not connect to Slave ATA, ATAPI or SCSI drives.

FireWire Advantages

FireWire provides many advantages over other peripheral interconnection

technologies. The cables are as simple to connect as a telephone cord--there is no need

for screws or latches. And, unlike SCSI technology, FireWire is autoconfiguring--so it

eliminates SCSI device ID conflicts and the need for terminators. FireWire is also a hot

plug-and-play technology, which means that a device can be disconnected and then

14

Page 15: Fire wire

reconnected without the need to restart the computer. FireWire is fast--it can transfer

digital data at 200 megabits per second, with a planned increase to 400 megabits per

second and beyond. And, the FireWire technology supports expansion--up to 63 devices

can be attached on the same FireWire bus. Finally, FireWire includes support for

isochronous data transfer, which provides guaranteed bandwidth for real-time video and

audio streams.

1. Real-time data transfer for multimedia applications 100, 200, & 400Mbits/s data

rates today; 800 Mbits/s and multi-Gbits/s upgrade path

2. Live connection/disconnection without data loss or interruption

3. Automatic configuration supporting "plug and play"

4. Free form network tool allowing mixing branches and daisy-chains

5. No separate line terminators required.

6. Guaranteed bandwidth assignments for real-time applications

7. Common connectors for different devices and applications

One of the most important uses of FireWire as the digital interface for consumer

electronics and AV peripherals. FireWire is a peer-to-peer interface. This allows dubbing

from one camcorder to another without a computer. It also allows multiple computers to

share a given peripheral without any special support in the peripheral or the computers.

15

Page 16: Fire wire

Conclusion

FireWire is a method of transferring information between digital devices, especially

audio and video equipment. We can connect up to 63 devices to a FireWire bus.

Windows operating systems (98 and later) and Mac OS (8.6 and later) both support it.

FireWire provides many advantages over other peripheral interconnection technologies.

The cables are as simple to connect as a telephone cord--there is no need for screws or

latches.

16