CLICK ON EITHER SEMINARS OR PROJECTS TO ACCESS IT.



SEMINARS

Firewire

INTRODUCTION

The connection between an I/O module in a computer system and external devices can be either point-to-point or multipoint. A point-to-point interface provides a dedicated line between the I/O module and the external device. On small systems (PCs, workstations), typical point-to-point links include those to the keyboard, printer, and external modem.

Of increasing importance are multipoint external interfaces, used to support external mass storage devices (disk and tape drives) and multimedia devices (CD-ROMs, video, audio). These multipoint interfaces are in effect external buses.

With processor speed reaching GHz and storage devices holding multiple gigabits, the I/O demands for personal computers, workstation and servers are formidable. Yet the high-speed I/O technologies that have been developed for mainframe and supercomputers systems are too expansive and bulky for use on these smaller systems. Accordingly there has been great interest in developing a high-speed alternative to SCSI, USB and other small-system I/O interfaces. The result is the IEEE standard 1394, for a high-speed performance serial bus, commonly known as Firewire.

Firewire has a number of advantages over older I/O interfaces. It is very speed, low cost and easy to implement. In fact Firewire is finding favor not only for computer systems, but also in consumer electronics products such as digital cameras, VCRs, television .In these products Firewire is used to transport video images, which are increasingly coming from digitized sources. One of the strengths of the Firewire interface is that it uses serial transmission rather than parallel. Parallel interface such as SCSI required more wires, which means wider more expensive cables and wider more expensive connectors with more pins to bend or break. A cable with more wires requires shielding to prevent electrical interference between wires. Also, with parallel interface synchronization between the wires become a requirement a problem that gets worse with increased cable length.

In addition computers are getting physically smaller even as they expand in computing power and I/O needs. Handheld and pocketsize computers have little room for connectors yet need high data rates to handle images and video.

The intent of Firewire is to provide a single I/O interface with a simple connectors that can handle numerous device through a single port, so that the mouse, laser printer, external disk drive, sound, and local area network hooks up can be replaced with this single connectors. The connectors is inspired by the one used in the Nintendo Game boy. It is so convenient that the user can reach behind the machine and plug it in without looking.

The Need for a High-Speed Data Transfer Medium

The demand for higher throughput on peripheral devices has become crucial with the

Growing multimedia content in PCs such as real-time color video. Digital devices generate Large volumes of data, especially when high resolution and high quality results are desired—and video makes the heaviest demands on throughput. To handle the huge amounts of data from digital video and audio data streams in real time, a high-performance transport medium such as IEEE 1394 is needed.

Serial interfaces (few wires) typically have advantages over parallel interfaces (many

wires) in applications where the cost of supporting many wires is greater than the cost of the serial interface’s more sophisticated electrical protocol. Issues such as die size, I/O count, connector size and cable routing can be optimized to provide the serial interface with a cost/performance advantage in some high volume applications. Serial interfaces are generally preferred in applications where the distances between devices complicate the use of parallel interfaces. The IEEE 1394 high-speed serial bus hardware and software standard describes a digital interface that enables the interconnection of computers, peripherals, communications equipment and digital consumer electronics devices in any combination. This technology features real-time data transfer at rates of 100 to 400 Mbps, with 1 Gbps and higher expected in future-generation implementations. IEEE 1394 is designed for use in computer and consumer peripheral products such as hard disk devices, printers, scanners, DVDs, camcorders, digital cameras, set-top boxes, stereo systems, TVs and VCRs.

The IEEE 1394 serial bus interface offers scaleable high performance and bridges PC and consumer electronics with one easy-to-use cable. In addition to handling high data rates, 1394 accommodates time-sensitive video and audio data through isochronous data transfers. The 1394 bus needs no central controller or dedicated host computer for the data transfers, but instead operates peer-to-peer to allow any device on the bus to initiate transfers on its own—an important feature for consumer equipment not linked to PCs.

IEEE 1394 improves the performance of consumer video and audio equipment by

Replacing conventional analog connections and the need for costly, imperfect conversions between analog and digital formats that inject loss and distortion. It is also emerging as the key data channel for PCs.

Background/History

In 1986, the IEEE Microcomputer Standards Committee began unifying various serial bus implementations to provide a standard for desktop computer applications. Since 1,393 standards had already been considered, their efforts were called IEEE 1394. Initially the development was largely undertook by Apple Computer, who called it FireWire, in an attempt to provide an inexpensive replacement for the SCSI bus.

In September 1994, the 1394 Trade Association was formed to promote and develop the Interface. This effort resulted in the development of what became the IEEE 1394-1995 Standard in fall 1995. The 1394 Trade Association has members from both the computer and consumer electronics industries, and is still actively developing the 1394 interface.

The IEEE 1394 High Performance Serial Bus standard, informally referred to as 1394, provides the same services as existing IEEE-standard parallel buses at a potentially lower cost. Rather than transferring data via a parallel interface, such as EIDE and SCSI with expensive cables and connectors with as many as 68 pins, 1394 requires only four signal conductors in a low cost interconnecting cable. 1394 also requires considerably fewer I/O pins on host and peripheral silicon.

The first commercial products implementing Firewire technology were Sony's DCR-VX700 and DCR-VX1000 digital video camcorders, introduced in 1995. Nowadays, growing variety of electronic products rely on the Firewire technology.

Key Features

Among the features contributing to the IEEE 1394’s ease of use is its hot plug-in

Capability. Equipment can be connected and disconnected without having to turn the

Power off. External peripherals may be hot-plugged. In contrast, conventional computer ports—those for hard drive, keyboard, mouse, monitor, etc.—are not designed for hot plug-in, and can fail or damage the port if connected while the power is on. The ultimate objective is to make attaching a 1394 device as easy as plugging a cord into an electrical outlet. In addition, unlike conventional buses, IEEE 1394 needs no special terminators along the bus and no special settings to assign device addresses.

A summary of 1394 features includes:

Fast data transfer rates: 100, 200, or 400Mbps

Digital interface: No need to convert digital data into analog and tolerate a loss of data integrity

Physically small: The thin serial cable can replace larger, more expensive interfaces

Easy to use: No need for terminators, device IDs or elaborate setup

Hot plug gable: Users can add or remove 1394 devices with the bus active, using rugged connectors and cables

Scaleable architecture: Able to mix 100, 200, and 400Mbps devices on a bus

Self-configuring: No need for address switches

Flexible topology: Up to 63 devices on up to 1023 buses with a maximum of 16 hops of up to 4.5 meters between each device

Bus management: Is efficient for both large and small configurations

Both asynchronous and isochronous data transfer: Guaranteed bandwidth with low overhead for isochronous data transfer

Three layer architecture: Consistent with IEEE 1212 Control and Status Register Architecture Specification ensuring future architectural compatibility

A fair arbitration system: Allows all nodes appropriate access to the bus

Peer-to-peer communication: Supports daisy chaining and branching

Reduced buffer costs: Guaranteed delivery of time-critical data reduces costly buffer requirements

Non-proprietary: Licensing is not required

• The 1394a extension to the standard improves the efficiency of the data

transfer and arbitration mechanisms while remaining backwards compatible to

the original standard

• The 1394b extension of the standard now being developed will extend the

Signaling rate of the original standard allowing 800Mbps, 1600Mbps and

higher

1394 Architecture

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 means that 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. 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.

Topology

The 1394 protocol is a peer-to-peer network with a point-to-point signaling environment. Nodes on the bus may have several ports on them. Each of these ports acts as a repeater, retransmitting any packets received by other ports within the node. Figure 1 shows what a typical consumer may have attached to their 1394 bus.

Because 1394 is a peer-to-peer protocol, a specific host isn’t required, such as the PC in USB. In Figure 1 , the digital camera could easily stream data to both the digital VCR and the DVD-RAM without any assistance from other devices on the bus.

Configuration of the bus occurs automatically whenever a new device is plugged in. Configuration proceeds fromleaf nodes (those with only one other device attached to them) up through the branch nodes. A bus that has three or more devices attached will typically, but not always, have a branch node become the root node. I’ll discuss configuration in more detail later in this article.

A 1394 bus appears as a large memory-mapped space with each node occupying a certain address range. The memory space is based to the IEEE 1212 Control and Status Register (CSR) Architecture with some extensions specific to the 1394 standard. Each node supports up to 48 bits of address space (256 Terabytes). In addition, each bus can support up to 64 nodes, and the 1394 serial bus specification supports up to 1,024 buses. This gives a grand total of 64 address bits, or support for a whopping total of 16 ExaBytes of memory space—enough for the latest version of your favorite word processor and perhaps even a file or two!

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 Electro technical Commission IEC1883, "Digital Interface for Consumer Electronics A/V."

Physical, Link, and Transaction Layers

The 1394 architecture is consistent with IEEE 1212 Control and Status Register

Architecture Specification, which defines bus functions, address space and registers. The architecture consists of three layers—physical, link and transaction—that correspond to the lowest three layers of ISO’s Open Systems Interconnection (OSI) model. The physical layer connects to the 1394 connector and the other two layers connect to the application. To implement a specific device, additional protocol and application layers must be placed on top of these layers to provide the unique functionality of particular devices that use 1394 as an interconnect medium.

The three-stacked layers shown in figure 2 implement the 1394 protocol. The three layers perform the following functions:

Physical layer

Physical layer of the 1394 protocol includes the electrical signaling, the mechanical connectors and cabling, the arbitration mechanisms, and the serial coding and decoding of the data being transferred or received. The cable media is defined as a three-pair shielded cable. Two of the pairs are used to transfer data, while the third pair provides power on the bus. The connectors are small six-pin devices, although the 1394a also defines a four-pin connector for self- powered leaf nodes. The power signals aren’t provided on the four-pin connector. The baseline cables are limited to 4.5m in length. Thicker cables allow for longer distances.

Configuration

The physical layer plays a major role in the bus configuration and normal arbitration phases of the protocol. Configuration consists of taking a relatively flat physical topology and turning it into a logical tree structure with a root node at its focal point. A bus is reset and reconfigured whenever a device is added or removed. A reset can also be initiated via software. Configuration consists of bus reset and initialization, tree identification, and self-identification.

Reset. A node driving both TPA and TPB to logic 1 signals reset. Because of the “dominant 1s” electrical definition of the drivers, a logic 1 will always be detected by a port, even if its bi-directional driver is in the transmit state. When a node detects a reset condition on its drivers, it will propagate this signal to all of the other ports that this node supports. The node then enters the idle state for a given period of time to allow the reset indication to propagate to all other nodes on the bus. Reset clears any topology information within the node, although isochronous resources are “sticky” and will tend to remain the same during resets.

Tree identification. The tree identification process defines the bus topology. After reset, but before tree identification, the bus has a flat logical topology that maps directly to the physical topology. After tree identification is complete, a single node has gained the status of root node. The tree identification proceeds as follows.

After reset, all leaf nodes present a Parent Notify signaling state on their data and strobe pairs. Note that this is a signaling state, not a transmitted packet. The whole tree identification process occurs in a matter of microseconds. In our example, the digital camera will signal the set-top box, the printer will signal the digital VCR, and the DVD-RAM will signal the PC. When a branch node receives the Parent Notify signal on one of its ports, it marks that port as containing a child, and outputs a Child Notify signaling state on that port’s data and strobe pairs. Upon detecting this state, the leaf node marks its port as a parent port and removes the signaling, thereby confirming that the leaf node has accepted the child designation. The ports marked with a “P” indicate that a device, which is closer to the root node, is attached to that port, while a port marked with a “C” indicates that a node farther away from the root node is attached. The port numbers are arbitrarily assigned during design of the device and play an important part in the self-identification process.

After the leaf nodes have identified themselves, the digital VCR still has two ports that have not received a Parent Notify, while the set-top box and the PC branch node both have only one port with an attached device that has not received a Parent_Notify. Therefore, both the set-top box and the PC start to signal a Parent_Notify on the one port that has not yet received one. In this case, the VCR receives the Parent_Notify on both of its remaining ports, which it acknowledges with a Child_Notify condition. Because the VCR has marked all of its ports as children, the VCR becomes the root node.

Note that two nodes can be in contention for root node status at the end of the process. In this case, a random back-off timer is used to eventually settle on a root node. A node can also force itself to become root node by delaying its participation in the tree identification process for a while. See References 1 and 2 for more details.

Self-identification. Once the tree topology is defined, the self-identification phase begins. Self identification consists of assigning physical IDs to each node on the bus, having neighboring nodes exchange transmission speed capabilities, and making all of the nodes on the bus aware of the topology that exists. The self-identification phase begins with the root node sending an arbitration grant signal to its lowest numbered port. In our example, the digital VCR is the root node and it signals the set-top box. Since the set-top box is a branch node, it will propagate the Arbitration Grant signal to its lowest numbered port with a child node attached. In our case, this port is the digital camera. Because the digital camera is a leaf node, it cannot propagate the arbitration grant signal downstream any farther, so it assigns itself physical ID 0 and transmits a self ID packet upstream. The branch node (set-top box) repeats the self ID packet to all of its ports with attached devices. Eventually the self ID packet makes its way back up to the root node, which proceeds to transmit the self ID packet down to all devices on its higher-numbered ports. In this manner, all attached devices receive the self ID packet that was transmitted by the digital camera. Upon receiving this packet, all of the other devices increment their self ID counter. The digital camera then signals a self ID done indication upstream to the set-top box, which indicates that all nodes attached downstream on this port have gone through the self ID process. Note that the set-top box does not propagate this signal upstream toward the root node because it hasn’t completed the self ID process.

The root node will then continue to signal an Arbitration Grant signal to its lowest numbered port, which in this case is still the set-top box. Because the set-top box has no other attached devices, it assigns itself physical ID 1 and transmits a self ID packet back upstream. This process continues until all ports on the root node have indicated a self ID done condition. The root node then assigns itself the next physical ID. The root node will always be the highest-numbered device on the bus. If we follow through with our example, we come up with the following physical IDs: digital camera = 0; set-top box = 1; printer = 2; DVD-RAM = 3; PC = 4; and the digital VCR, which is the root node, 5.

Note that during the self ID process, parent and children nodes are also exchanging their maximum speed capabilities. This process also exposes the Achilles heel of the 1394 protocol. Nodes can only transmit as fast as the slowest device between the transmitting node and the receiving node. For example, if the digital camera and the digital VCR are both capable of transmitting at 400Mbps, but the set-top box is only capable of transmitting at 100Mbps, the high-speed devices cannot use the maximum rate to communicate amongst themselves. The only way around this problem is for the end user to reconfigure the cabling so the low-speed set-top box is not physically between the two high-speed devices.

Also during the self ID process, all nodes wishing to become the isochronous resource manager will indicate this fact in their self ID packet. The highest numbered node that wishes to become resource manager will receive the honor.

Normal arbitration

Once the configuration process is complete, normal bus operations can begin. To fully understand arbitration, knowledge of the cycle structure of 1394 is necessary.

A 1394 cycle is a time slice with a nominal 125µs period. The cycle master keeps the 8kHz cycle clock, which is also the root node. To begin a cycle, the cycle master broadcasts a cycle start packet, which all other devices on the bus use to synchronize their time bases.

Immediately following the cycle start packet, devices that wish to broadcast their isochronous data may arbitrate for the bus. Arbitration consists of signaling your parent node that you wish to gain access to the bus. The parent nodes in turn signal their parents and so on, until the request reaches the root node. In our previous example, suppose the digital camera and the PC wish to stream data over the bus. They both signal their parents that they wish to gain access to the bus. Since the PC’s parent is the root node, its request is received first and it is granted the bus. From this scenario, it is evident that the closest device to the root node wins the arbitration.

Because isochronous channels can only be used once per cycle, when the next isochronous gap occurs, the PC will no longer participate in the arbitration. This condition allows the digital camera to win the next arbitration. Note that the PC could have more than one isochronous channel, in which case it would win the arbitration until it had no more channels left. This points out the important role of the isochronous resource manager: it will not allow the allotted isochronous channels to require more bandwidth than available.

When the last isochronous channel has transmitted its data, the bus becomes idle waiting for another isochronous channel to begin arbitration. Because there are no more isochronous devices left waiting to transmit, the idle time extends longer than the isochronous gap until it reaches the duration defined as the sub action (or asynchronous) gap. At this time, asynchronous devices may begin to arbitrate for the bus. Arbitration proceeds in the same manner, with the closest device to the root node winning arbitration.

This point brings up an interesting scenario: because asynchronous devices can send more than one packet per cycle, the device closest to the root node (or the root node itself) might be able to hog the bus by always winning the arbitration. This scenario is dealt with using what is called the fairness interval and the arbitration rest gap. The concept is simple—once a node wins the asynchronous arbitration and delivers its packet, it clears its arbitration enable bit. When this bit is cleared, the physical layer no longer participates in the arbitration process, giving devices farther away from the root node a fair shot at gaining access to the bus. When all devices wishing to gain access to the bus have had their fair shot, they all wind up having their arbitration enable bits cleared, meaning no one is trying to gain access to the bus. This causes the idle time on the bus to go longer than the 10µs sub action gap until it finally reaches 20µs, which is called the arbitration reset gap. When the idle time reaches this point, all devices may reset their arbitration enable bits and arbitration can begin all over again.

Link layer

The link layer is the interface between the physical layer and the transaction layer. The link layer is responsible for checking received CRCs and calculating and appending the CRC to transmitted packets. In addition, because isochronous transfers do not use the transaction layer, the link layer is directly responsible for sending and receiving isochronous data. The link layer also examines the packet header information and determines the type of transaction that is in progress. This information is then passed up to the transaction layer.

The interface between the link layer and the physical layer is listed as an informative (not required) appendix in the IEEE 1394-1995 specification. In the 1394a addendum, however, this interface becomes a required part of the specification. This change was instituted to promote interoperability amongst the various 1394 chip vendors.

The link layer to physical layer interface consists of a minimum of 17 signals that must be either magnetically or capacitive isolated from the PHY.

A typical link layer implementation has the PHY interface, a CRC checking and generation mechanism, transmit and receive FIFOs, interrupt registers, a host interface and at least one DMA channel.

Transaction layer

The transaction layer is used for asynchronous transactions. The 1394 protocol uses a request-response mechanism, with confirmations typically generated within each phase. Several types of transactions are allowed. They are listed as follows:

  • Simple quadlet (four-byte) read
  • Simple quadlet write
  • Variable-length read
  • Variable-length write
  • Lock transactions

Lock transactions allow for atomic swap and compare and swap operations to be performed.

Asynchronous packets have a standard header format, along with an optional data block. The packets are assembled and disassembled by the link layer controller.

Transactions can be split, concatenated, or unified. The split transaction occurs when a device cannot respond fast enough to the transaction request. When a request is received, the node responds with an acknowledge packet. An acknowledge packet is sent after every asynchronous packet. In fact, the acknowledging device doesn’t even have to arbitrate for the bus; control of the bus is automatic after receiving an incoming request or response packet.

The responder node sends the acknowledge back and then prepares the data that was requested. While this is going on, other devices may be using the bus. Once the responder node has the data ready, it begins to arbitrate for the bus, to send out its response packet containing the desired data. The requester node receives this data and returns an acknowledge packet (also without needing to re-arbitrate for the bus).

If the responder node can prepare the requested data quickly enough, the entire transaction can be concatenated. This removes the need for the responding node to arbitrate for the bus after the acknowledge packet is sent.

For data writes, the acknowledgement can also be the response to the write, which is the case in a unified transaction. If the responder can accept the data fast enough, its acknowledge packet can have a transaction code of complete instead of pending. This eliminates the need for a separate response transaction altogether. Note that unified read and lock transactions aren’t possible, and the acknowledge packet can’t return data.

1394a arbitration enhancements

The 1394a addendum adds three new types of arbitration to be used with asynchronous nodes: acknowledged accelerated arbitration, fly-by arbitration, and token-style arbitration.

Acknowledged accelerated arbitration. When a responding node also has a request packet to transmit, the responding node can immediately transmit its request without arbitrating for the bus. Normally the responding node would have to go through the standard arbitration process.

Fly-by arbitration. A node that contains several ports must act as a repeater on its active ports. A multiport node may use fly-by arbitration on packets that don’t require acknowledgement (isochronous packets and acknowledge packets). When a node using this technique is repeating a packet upstream toward the root node, it may concatenate an identical speed packet to the end of the current packet. Note that asynchronous packets may not be added to isochronous packets.

Token-style arbitration. Token-style arbitration requires a group of cooperating nodes. When the cooperating node closest to the root node wins a normal arbitration, it can pass the arbitration grant down to the node farthest from the root. This node sends a normal packet, and all of the cooperating nodes can use fly-by arbitration to add their packets to the original packet as it heads upstream.

Fig. 2. The 1394 Protocol Stack and Serial Bus Management Controller.

Note: The physical (PHY) layer is the bottleneck in 1394 systems. Historically, commercial PHY chips operated at half the potential data rate of link layer (LINK) chips (100 Mbps vs. 200 Mbps, later 200 Mbps vs. 400 Mbps.) Texas Instruments announced in fall 1998 a set of 400-Mbps PHY chips, which conform to the updated 1394a tentative specification and support the Open Host Controller Interface (OHCI) in conjunction with an OHCI-compliant LINK chip.

Cables and Connectors

Firewire serial interface uses a simple cable with two types of small and inexpensive connectors: 4-pin and 6-pin connectors - to carry multiple channels of digital video and video data and control information plus the power.

6-pin to 6-pin cable. This cable draws power from the FireWire bus and is most commonly used for connecting to devices such as FireWire Hard Drives, FireWire CD-RWs and other 1394 computer peripherals.

6-pin to 4-pin cable. This cable does NOT draw power from the FireWire bus it is connected to and is usually used to connect to DV Cameras or other self powered devices.

15-pin to 6-pin adapter. Used to connect to a PCMCIA Cardbus card. The other end of the cable is a standard 6-pin (male) connector for connecting to typical FireWire devices including hard drives and other storage peripherals. Cardbus cards DO NOT provide power to FireWire devices.

15-pin to 4-pin adapter. Used to connect to a PCMCIA Cardbus card. The other end of the cable is a standard 4-pin (male) connector, most often used to connect to a video camera. Cardbus cards DO NOT provide power to FireWire devices.

FireWire cables are available at many electronics stores and may be called IEEE 1394 cables. Cables come in many lengths. Popular lengths are 0.7 meters (m) (2 ft.), 2 m (6.5 ft.), and 4.5 m (15 ft.).

Avoid using cables longer than 4.5 m unless you are using it for a DV camera. Your computer and the FireWire device may not perform reliably with longer cables.

There are two types of FireWire connectors, 4-pin and 6-pin. Cables with 6-pin connectors carry power and data from one device to another. Four-pin cables carry data only and are typically used with self-powered camcorders or other devices.

Before connecting a 4-pin connector to a FireWire port on a device, align the connector and port carefully. Do not force a connector into a port. Make sure you use the right connector with the right port. The same is true with 6 pin connectors. Make certain the orientation of the cable connector is the same as the FireWire port. Never force a cable into an port or your will damage the computer and the FireWire device.

Connecting and disconnecting FireWire devices

You can connect as many as 63 FireWire devices (including computers) together. There are multiple ways to connect FireWire devices to your computer:

· For up to 16 devices, use a chain to connect devices together in a single chain

· For 17 or more devices, set up the devices in a hierarchy, or tree arrangement.

Note: You can also use a FireWire hub to connect multiple FireWire devices to your computer.

To connect a FireWire device to your computer:

1. If the device came with software, install this software on your computer.
For more information, see the documentation that came with the device or contact the device manufacturer.

2. If necessary, connect the FireWire device to a power source.

3. If your FireWire device does not have an attached FireWire cable, connect one end of a FireWire cable to the FireWire port on the device.

4. Connect the other end of the cable to the FireWire port on your computer.6-pin FireWire port and connector Note: Some FireWire cables use latching connectors you must pinch when unplugging the connector. If a latching connector does not fit into a port, replace that cable with one that doesn't have a latching connector.

5. Turn on the device.

For more information, see the documentation that came with the device. You will now be able to use the FireWire device with your computer.

Note: Many devices have a power-on indicator light which lights up to show that the device is properly connected and receiving power. Disconnecting a FireWire device Note: Don't disconnect a FireWire device while the device is being used by an application or you may damage the files on that and other FireWire devices.

To disconnect FireWire devices from your computer and from each other:

1. If you're using files and applications on a FireWire device, save and close the files, then quit all open applications.
If you don't do this before you disconnect the device, you may damage the files on that device.

2. Drag the device's icon to the Trash.
If you don't do this before you disconnect the device, you may damage the files on that device.

3. Unplug the connector from the FireWire port. Pull the connector, not the cable.

Connecting multiple FireWire devices to your computer

To connect up to 16 FireWire devices to your computer, arrange the devices in a chain. The computer can be anywhere in the chain. For best performance, put the slower devices at the end of the chain.

Note: You can use both FireWire ports to connect devices in a chain. However, if you connect all 16 devices to one FireWire port on your computer, you can't attach anything to the other FireWire port.

If you want to connect a digital video (DV) camera to your computer, connect it directly to a FireWire port on your computer, and not as part of a chain. DV cameras only have one FireWire port.

If you want to connect a fast FireWire device such as a video camera, you can avoid data bottlenecks by simply attaching the device to the other FireWire port on your computer.

If you want to connect 17 or more devices to your computer, you can create a hierarchy, or tree arrangement.

During data transfer over the shielded double twisted pair cable, a clock signal is automatically generate from the data signal and the strobe signal. This eliminates the need for the high-speed phase lock loop (PLL) circuits used by other interfaces at both ends of the communication channel. As a result, IEEE 1394 is much less expensive.

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 slowest active node ordinarily governs the signaling rate for the entire bus; 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.

Bus management

Bus management on a 1394 bus involves several different responsibilities that may be distributed among more than one node. Nodes on the bus must assume the roles of cycle master, isochronous resource manager, and bus manager.

Cycle master. The cycle master initiates the 125µs cycles. The root node must be the cycle master; if a node that is not cycle master capable becomes root node, the bus is reset and a node that is cycle master capable is forced to be the root. The cycle master broadcasts a cycle start packet every 125µs. Note that a cycle start can be delayed while an asynchronous packet is being transmitted or acknowledged. The cycle master deals with this by including the amount of time that the cycle was delayed in the cycle start packet.

Isochronous resource manager. The isochronous resource manager must be isochronous transaction capable. The isochronous resource manager must also implement several additional registers. These registers include the Bus Manager ID Register, the Bus Bandwidth Allocation Register, and the Channel Allocation Register. A node that wishes to transmit isochronous packets performs isochronous channel allocation. These nodes must allocate a channel from the Channel Allocation Register by reading the bits in the 64-bit register. Each channel has one bit associated with it. A channel is available if its bit is set to logic 1. The requesting node sets the first available channel bit to a logic 0 and uses this bit number as the channel ID.

In addition, the requesting node must examine the Bandwidth Available Register to determine how much bandwidth it can consume. The total amount of bandwidth available is 6,144 allocation units. One allocation unit is the time required to transfer one quadlet at 1,600Mbps. A total of 4,915 allocation units are available for isochronous transfers if any asynchronous transfers are used. Nodes wishing to use isochronous bandwidth must subtract the amount of bandwidth needed from the Bandwidth Available Register.

Bus manager. A bus manager has several functions, including publishing the topology and speed maps, managing power, and optimizing bus traffic. Nodes with a sophisticated user interface that could instruct the end user on the optimum connection topology to enable the highest throughput between nodes may use the topology map. Nodes to determine what speed it can use to communicate with other nodes use the speed map.

The bus manager is also responsible for determining whether the node that has become root node is cycle master capable. If it isn’t, the bus manager searches for a node that is cycle master capable and forces a bus reset that will select that node as root node. The bus manager might not always find a capable node; in this case, at least the isochronous resource manager performs some of the bus management functions.

Hardware and software support

Hardware. Several manufacturers offer components for engineers designing systems to support IEEE 1394. Integrated circuit providers typically provide a chipset that includes a link layer controller and a physical layer controller. One of the goals of the 1394a addendum is to provide interoperability between the various link layer and physical layer controllers.

Complete PCI-based cards that plug into a PC back plane are available from companies such as Adaptec, Sony, and Texas Instruments.

Hard Drive Specifications

Most hard drive-specific work has been invested in the development of the additional

Protocol and application layers required supporting mass storage functions. The IEEE

Sanctioned working group responsible for 1394 support for mass storage devices

Developed three specifications that enable mass storage to use the 1394 serial bus:

The Serial Bus Protocol-2 (SBP-2) specification defines the protocol for

command and data transfer of mass storage devices using the 1394 bus. It

describes the basic transport protocol for mass storage devices, and specifies the

data structures and operations above the transaction layer that provide efficient

mechanisms for this class of devices. Western Digital was a key contributor to this

standard.

The Reduced Block Command (RBC) specification defines the actual commands that hard drives must support. Hard drives use a subset of this specification, which includes commands for removable storage and other forms of storage such as optical disks.

The 1394 to EIDE Bridge Controller (Tailgate) specification defines the

requirements for a low-cost bridge device that allows existing legacy EIDE/ATAPI

devices to be connected to the 1394 bus using EIDE protocol.

Software. IEEE 1394 is directly supported in the new Windows Driver Model (WDM), which is used in Windows 98 and will be available in Windows NT 5.0. For chipsets and devices to support the drivers provided in the new versions of Windows, several members of the 1394 Trade Association have banded together to create the 1394 Open Host Controller Interface (OHCI) Specification. The OHCI provides a link layer controller, as well as bus management functionality. In addition, the OHCI defines several DMA controllers for asynchronous and isochronous transactions. These controllers provide registers that a standard 1394 driver, provided by Microsoft, can use to configure the controller and schedule transactions.

Microsoft provides WDM streaming drivers to support audio and video devices such as DVD players, MPEG decoders, tuners, and audio codes. These streaming drivers permit low-latency support for isochronous channels. The drivers minimize the transitions between user mode and kernel mode, which significantly reduces the overhead for driver calls and data movement.

For storage devices, printers, and scanners, Windows NT 5.0 supports the Serial Block Protocol (SBP-2). Microsoft recommends that devices be written to support the SCSI command set so the device can use the existing SCSI class driver that sits on top of the SBP-2 driver. If the vendor doesn’t support the SCSI protocol, they will need to write their own class driver to support their own command set.

In addition to the SBP-2 specification for storage devices, other standard data formats that ride on top of 1394 are in various stages of completion. These include the Tailgate specification, which defines a method for adapting ATA/ATAPI controllers to 1394, a digital video (DV) standard, and a printer protocol. The Digital Still Image Working Group and an industrial control and instrumentation group are also working on related standards.

Embedded systems designers have also seen some RTOS vendors add support for 1394, including Integrated Systems and Wind River. These vendors typically support a third-party protocol stack that has been ported to their RTOS. Zayante, Award Software, and Technology Rendevous each have a 1394 stack that they claim is OS-independent. Windows CE doesn’t currently have native support for 1394, but it will undoubtedly support it in the near future. Third-party support fills the existing gap.

FIREWIRE Vs USB

What's so good about USB?

Several things. First, it's "hot swappable," eliminating the need to reboot or restart your Mac when attaching a device. You attach peripherals through interconnected external hubs. When your Mac's ports fill up, just attach a "hub" that provides additional ports (usually four or seven), and keep on plugging in more peripherals and hubs as needed.

With USB, there's no need for terminators, memory addresses or ID numbers with USB devices. There's only one kind of cable (USB A-B), which has different connectors at each end, so you can't connect an USB device incorrectly. Various sorts of devices can plug into a USB port: digital cameras, printers, Zip drives, Super Disk drives, floppy drives, mice, keyboards and lots of other peripherals.

Which brings us to USB 2.0. In February of 1999, Intel announced that they were creating a consortium of companies to bring USB to faster speeds, and allow it to compete with IEEE-1394 FireWire. This USB 2.0 spec, is supposed to allow USB to utilize the full range of devices including cameras, drives and other things that USB was never intended to work with. This is quite a shift from the original goal of USB, which was to provide connectivity for low to medium speed devices. Intel and its USB 2.0 consortium buddies plan to ramp up USB speeds 40 fold or more, going from 12 Mbps to 480 Mbps.

Despite the fact that there are still technical hurdles to leap, USB 2.0 won't be supported by motherboard chipsets -- in other words, appearing on a computer near you -- for probably another year, at least. Then it will be longer still until peripheral manufacturers jump aboard.

FireWire: WHAT’S THAT?

FireWire is a high-performance connection standard for personal computers and consumer electronics that makes USB look sluggish. FireWire can move large amounts of data between computers and peripheral devices at transfer rates of 100, 200 and 400 Mbps (12.5, 25 and 50 megabytes per second, respectively). In simpler terms, it's a heck of a lot faster than USB.

At such speeds, you could, for instance, plug in a digital camcorder and transfer video data into your Mac as a pure digital signal without going through the usual digital-to-analog and analog-to-digital conversion process. FireWire also supports device-to-device transfers for which you'd not even need your computer. Want to transfer digital video data from your digital camera or camcorder to a digital VCR? No problem -- if the manufacturers of such devices build them to take advantages of FireWire's capabilities.

Like USB, FireWire is hot pluggable; up to 63 devices (using cable lengths up to 14 feet) can be attached to a single bus and connected and disconnected as needed. FireWire cables are easy to connect because there's no need for device IDs, jumpers, DIPswitches, screws, latches, or terminators.

FireWire speeds up the movement of multimedia data and large files and enables the connection of digital consumer products -- including digital camcorders, digital videotapes, digital videodisks, set-top boxes and music systems -- directly to your computer. The technology allows for video capture directly from both new DV camcorders with built-in FireWire ports, and from older analog-only equipment using A/V to FireWire converters.

FireWire was developed with streaming digital media in mind. The technology allows for isynchronous transport, meaning that any two devices on the bus can have guaranteed bandwidth through which to pass data.

Besides the aforementioned products, you can also get FireWire-savvy scanners, storage devices, printer interface cards, A/V converters, digital audio mixers and printers. Of course, you may not have the time, desire, or, most importantly, money to indulge in such extravagances, but, hey, it's possible.

FireWire versus USB

While FireWire sounds like USB on steroids, the technologies serve different purposes. FireWire -- a much cleaner and more advanced spec than USB -- is for peripherals that need maximum bandwidth. USB is a medium bandwidth connection for peripherals such as digital still cameras, monitors, keyboards and mice.

But with USB 2.0 looming on the horizon, will FireWire wilt and fade? Possibly, but not likely. The prediction (that is, the prognosis of Yours Truly) is that, even if version 2.0 does what's being promised -- and that's probably not going to happen anytime soon -- it and FireWire will coexist peacefully. It seems doubtful that USB 2.0 will encroach too much on digital video and audio territory that FireWire has slowly but surely conquered.

Why? FireWire can transfer data point-to-point (one device to another) while USB requires the computer to server as a go-between. In other words, moving data with USB means you have to move it from one doohickey to your computer, then transfer it from the computer to the other doohickey. FireWire can move data directly from one device to another. Plus, as we mentioned, FireWire will soon hit speeds of 800 Mbps, late this year or early in 2001. And there's speculation of speeds of up to 1.6 Gbps a year or two down the road. So expect USB and FireWire to live together, if not in harmony, at least in some sort of truce.

Topology

The topology of 1394, known as a tree topology, is shown in figure 1 below. Any device can be connected to any other device, so long as there are no loops. A 1394 network can support up to 63 devices. The devices can be hot swapped. If a device is added or removed, the bus will reset, reconfigure, and continue operation. If the bus is broken, the two pieces will reset, reconfigure, and resume operation as two independent busses. 1394 also offers peer-to-peer connectivity, so peripherals can talk to one another without intervention from the PC. The PC acts as the host. Each device is connected to a hub, which provides sockets and power and acts as a repeater. Hubs can be either self-powered or bus powered. They can also be cascaded. The USB topology supports up to 127 devices.

Speed

USB offers speeds ranging from 1 Mbits per second to 12 Mbits per second. In contrast, the current IEEE specification 1394-1995 offers speeds starting at 100 Mbits per second and going up to 400 Mbits per second. P1394b will start at 800 Mbits per second and is defining speeds of up to 3200 Mbits per second. P1394b is expected to be fully backward compatible with the 100-400 Mbits per second specification, - connector cable and software.

Application

As mentioned previously, 1394 and USB are complimentary technologies. USB is a medium bandwidth connection for telephony products, digital still cameras, monitors, keyboards, mice, and other similar I/O devices. In contrast, 1394 is a high-speed bus designed for digital video cameras, DVD players, mass storage devices, and other peripherals that require greater bandwidth.

Cost

USB is a very low-cost interconnects technology. Low-speed USB implementations for devices such as mice and keyboards typically cost less than $1 in OEM quantities, and even the medium-speed implementations for devices like scanners and modems are in the $1-2 range in OEM quantities. Due to relatively lower volumes and higher complexity, 1394 implementations are currently in the $15 range. This cost is expected to decrease as volume builds over the next few years.

Meeting the Needs of Tomorrow's PC

Figure 3 below summarizes the differences between USB and 1394. Tomorrow's PC will have a need for low-cost, low-bandwidth devices like mice, keyboards, and modems. USB provides a good fit for these devices. Tomorrow's PC will also need a high-speed interface for connecting to high-speed printers, hard drives, and camcorders. 1394 is the technology that will allow these devices to interoperate with the PC. Both USB and 1394 will coexist on future PC platforms to meet a wide range of growing peripheral interconnectivity needs.

FIREWIRE 400 & FIREWIRE 800

With more than 30 times the bandwidth of the popular USB 1.1 peripheral standard, FireWire 400 has been the gold standard for high-speed data transfer. Apple was the first computer manufacturer to include FireWire across its entire product line. And now Apple has upped the ante yet again, effectively doubling data throughput with its implementation of the IEEE 1394b standard, FireWire 800, available on the 17 -inch PowerBook G4 and the Power Mac G4.

Twice as fast

With its high data-transfer speed, FireWire is the interface of choice for today’s digital audio and video devices, as well as external hard drives and other high-speed peripherals. Now transferring data at up to 800 Mbps, FireWire 800 delivers more than double the effective bandwidth of the USB 2.0 peripheral standard. That means you can send more than a CD’s worth of data every ten seconds.

Twenty times as far

FireWire 400 delivers data over cables of up to 4.5 meters in length. Using professional-grade glass optical fiber, FireWire 800 can burst data across 100-meter cables. So you could toss that CD more than the length of a football field — every ten seconds. What’s more, you don’t even have to have a new computer or device to gain the length. As long as both devices are connected to a FireWire 800 hub, you can connect them via super-efficient glass optical cable. That means you could put a camera on the field — connected directly to a Mac in the press box. Or set up a killer digital audio studio with Macs in one room and recording interfaces in another with no latency loss from the extra cable length. The short — about 5 meters — cable distance and the lack of peer-to-peer connectivity of USB 2.0 limits its usefulness in deployments that require long haul cabling, such as sound stages and studios.

Differences between FireWire 400 and FireWire 800

With the development of FireWire 800, the question on everyone’s mind is, what is going to happen to your legacy devices? Existing peripherals and devices are going to continue to operate. The performance will remain the same for your legacy FireWire devices operating at the original FireWire 400 speed.

Essentially, the main difference between FireWire 800 and FireWire 400 can be summed up in one word – speed. FireWire 800 offers impressive results, with speeds up to 100MB/s, though current drive technology limits this to 55MB/s (maximum sustained throughput) for a single drive, and up to 100MB/s (maximum sustained throughput) per bus in RAID 0 configurations.

Other key advancements include the support of increased cabling distances and newly enhanced arbitration architecture. Utilizing cables constructed of professional-grade glass optical fiber, when both devices are connected via a FireWire 800 hub, FireWire 800 can burst data across 100 meters of cable.

The new arbitration scheme greatly improves on the existing architecture by incorporating advanced 8B10B data encoding (based on codes used by Gigabit Ethernet and Fiber Channel), which reduces signal distortion, and also improves the arbitration time by prepping while the current data is being sent, allowing the data to be sent as soon as the current transmission is completed.

Legacy and Beta Devices Working Together

The new standard was designed to be backwards compatible, meaning that FireWire 800 devices will still operate via the original FireWire 400 port. To connect a FireWire 800 device to a FireWire 400 port, a specific adapter cable must be used. There are two types of FireWire 400 ports: 6-pin and 4-pin. For FireWire 800 devices to work, placing the 9-pin end of the FireWire cable into the FireWire 800 port of the device, and the opposite 6-pin or 4-pin end into the FireWire 400 port must connect them.

The same holds true for FireWire 400 devices being connected to a FireWire 800 host

Port. The 4-pin or 6-pin end of the FireWire cable must be connected to the FireWire 400 port of the device, and the 9-pin end must be connected to the FireWire 800 port.

When FireWire 400 and FireWire 800 devices are mixed, all transfer rates revert to

the original FireWire 400 speed.

Optimum use for FireWire 800

FireWire 800 is not ideal for every device, but due to its high bandwidth and support of both isochronous and asynchronous data delivery, FireWire has found a very successful place in both the computer and consumer electronic industries. In the past year, we have seen disk drive performance bump into the limits of 400 Mbps FireWire, with most implementations in the range of 35-40 Mbytes/sec. Users should see better than 40 Mbytes per second for single drives and up to 80-90 Mbytes per second for striped drives.

FireWire 800 is ideal for hard drives, video, digital audio and digital cameras to name a few, but is overkill for tape drives and CD/DVD burners.

ADVANTAGES OF FIREWIRE

FireWire 800 verses SCSI

The SCSI based system has a number of disadvantages to FireWire 800. SCSI based

systems have a parallel interface, which cases it to have very limited connect ability, unlike FireWire that can connect to almost all computer peripherals. SCSI is still a very expense route for computer speed and has a maximum capacity per drive of 146GB compared to 500GB for LaCie’s Big Disk. FireWire devices are truly plug and play, unlike SCSI devices which require a device ID, FireWire devices can be plugged or unplugged without the need to restart your computer.

FireWire 800 verses USB 2.0

USB 2.0 has a maximum throughput of 480 Mbps, so in theory it is faster than the 400 Mbps performance of FireWire 400. Due to transfer protocol differences, this isn’t necessarily true depending on the peripheral. However, FireWire 800 clearly doubles the theoretical speed and immediately delivers better performance with modern drive technology. Additionally, FireWire is more suitable for time-critical isochronous data transfers that will be necessary for high definition video.

What to expect from FireWire 800 devices

FireWire 800 is ideal for anyone dealing with bandwidth-intensive projects, such as

high-speed data storage or professional video capture and editing. For high-speed data storage, users will see double the transfer rate that they did with original FireWire and two times the usable bandwidth of USB 2.0. Users will also enjoy true plug and play connectivity, real-time data delivery and the ability to power external devices through the bus.

For those working with digital video, the new standard will enable new bandwidth-intensive applications, such as multiple-stream content. FireWire 800 will provide the speed that digital users require to quickly download digital video and digital images from your digital camera. It will also allow for additional flexibility for users because of its long-distance capability of up to 100 meters.

DRAWBACKS OF FIREWIRE

FIREWIRE FAILURE SCENARIO

A typical failure scenario is as follows: The user attaches a FireWire storage device to the computer. The user expects the device to mount on the desktop, but this does not occur. Repeated attempts to mount the storage device (usually by connecting and disconnecting the FireWire cable) produce the same results. Ultimately, the user attempts to mount other FireWire devices on the same port without success, and consequently verifies that the port is no longer functional. Various attempts to resolve the situation may be attempted, all without success. This may include machine rebooting, Parameter RAM resetting, power disconnection for extended periods of time, etc.

It’s worth noting that the host FireWire port may be on the motherboard (as is the case for most Apple computers) or it may be on a PCI FireWire host adapter card. The result is the same; the particular port no longer works. The port may still be capable of supplying power to the attached FireWire device, but the device is no longer seen on the desktop or in the various disk management utilities.

The failure of the host’s FireWire port can produce a very bad day for the user. The knowledge of possible damage (and consequential repair cost / hassle) to the computer is compounded by the frustrating inability to mount and use external storage devices.

FAILURE CAUSES

LOSS OF POWER FROM THE PORT

What went wrong to cause the failure of the FireWire port?

In order to answer the question, let’s consider the two main functional components of the FireWire interface: the Data lines and the Power lines. A failure mode is the loss of Power through the FireWire port. A second failure mode (which the author believes to be far more likely) is a failure of the port’s ability to supply Data to the FireWire device.

These failure modes cause us to consider: why would a port lose the ability to supply either Power or Data?

In the testing and development of FireWire storage devices, manufacturers accidentally shorted the FireWire Power / ground lines together many times. This can cause a variety of results: the immediate shutdown of the entire computer system; the shutdown of an individual port; etc.

LOSS OF DATA TRANSMISSION FROM THE PORT

The second failure mode is the failure of the port’s ability to supply Data to the FireWire device. As previously stated, it believes this to be the most common failure mode when FireWire ports fail.

FireWire ports within most peripherals are composed of two devices: the FireWire bridge, which connects to the drive and to the FireWire “PHY”, and the “PHY”, which connects from the FireWire cable to the FireWire bridge. The PHY receives nearly no mention in most discussion of FireWire devices, but it is actually responsible for the electrical connection to the FireWire cable, and ultimately, the host device. The host devices’ FireWire connection is very similar, using a PHY to connect the motherboard electronics to the FireWire port.

The manufacturers have direct experience observing the failure of FireWire ports in peripheral devices under developmental test conditions. This experience shows that most port failures occur within the PHY, not in the FireWire Bridge, and not in the power supply portion of the port.

Post mortem examination of the decapped (plastic removed) failed PHY shows gross failure of the circuitry, which attaches the Data lines. After removing the plastic package from the integrated circuit, an examination of the integrated circuit under a microscope shows clear evidence of electrical damage to the part.

In other words, something zapped the PHY. How is this possible?

It really wasn’t supposed to be possible for the PHY to fail. However, there are at many different events, which can cause the PHY to fail. Some of these are very easy to understand, while others are a bit more difficult to understand.

FAILURE BY ELECTROSTATIC DISCHARGE (ESD)

The failure scenario is as follows: The user inserts a FireWire cable into the host. The user then picks up the other end to attach to the FireWire device, and inadvertently discharges ESD through one of the Data lines to the host port. Part destruction occurs.

In the real world, this does not (or at least should not) happen frequently. The user is far more likely to discharge through the Shield of the FireWire cable, which will dissipate the discharge directly to a ground within the host computer, without damaging internal circuitry.

PORT FAILURE BY BAD CABLE OR BAD INSERTION

This failure scenario actually has three sub-scenarios, each of which will be described in turn.

PORT FAILURE BY REVERSE INSERTION

In this scenario, the user inserts the cable with the connector twisted 180 degrees. An examination of the FireWire six pin ports suggests that this is not possible, but it has actually been done many times. It is more likely to happen when the port is worn, or when the port easily “spreads” when reverse inserted. Some FireWire ports are built with the metal seam at the narrow end of the port, making it much easier to reverse insert the cable. The resulting (errant) electrical connections cause Power lines to be directly connected to Data lines. This invariably fries the PHY attached to that port.

PORT FAILURE BY BAD CABLE

Any internal failure of a FireWire cable which results in Power being shorted to a Data line within the cable usually will result in the failure of the port to which it is attached.

The author was directly told of a typical experience at a major computer company. An employee observed that his FireWire drive would not mount. Suspecting trouble and wanting to verify it, the employee tested the device on three more computers. The device wouldn’t mount on any of the four computers. The ultimate cause of the problem was a bad cable which fried four host ports on the four computers. The FireWire drive was not at fault. The author assumes that each of the four PHYs was destroyed.

PORT FAILURE BY FIREWIRE CABLE TWISTING

In this scenario, the user correctly attaches the FireWire cable to the computer and the storage device. A rotational twisting force is applied to either connector at either end of the cable, in relationship to the port in which it is inserted. As the connectors are pushed out of position by the rotational torque, a short occurs between the Data lines and a Power line, resulting in port failure.

PORT FAILURE BY INDUCED UNDER/OVER VOLTAGE CONDITION

This is the scenario which is most difficult to understand. Essentially, the PHY creates or experiences a damaging voltage on one of the Data lines. This error condition is very transient in nature and is caused at startup time of bus powered FireWire devices by a bump or droop on a power supply within the FireWire device. The bump or droop is understood through a detailed analysis of the actual circuit of the FireWire device, cable, and host port as current starts to flow through the Power lines at startup time. Equivalent circuitry must be considered: IE, inductance within power lines, etc. (The engineering analysis is far beyond the scope of this paper.)

As a result, the external FireWire device may briefly experience or transmit a damaging voltage to the host computer’s FireWire port, resulting in the destruction of the port.

This failure mode is the one most likely to have created the impression that bus powered devices cause FireWire host port failures.

PREVENTING FIREWIRE PORT FAILURE

OBVIOUS PREVENTATIVES

Certain preventive measures seem obvious:

  • Always use high quality FireWire cables.
  • If a cable is worn out, replace it immediately. (Cables used at WiebeTech are used heavily throughout every business day; they are generally replaced every month, if not more frequently.)
  • Never insert a cable backwards into a port. If this happens before the cable is also attached to the host (or to the peripheral device), get the port repaired prior to further use of the device (or host). Discard the cable and use a new one.
  • If a device does not mount, attempt mounting it with a new cable on the same port. Always suspect the cable before suspecting a failure of the device. Try powering the host down; rebooting; etc. Port failures on machines tend to follow the cable.

OTHER METHODS OF RESOLVING HOST PORT FAILURES

REPAIR THE MACHINE

If the user has a computer under warranty, it is likely that the manufacturer will repair the damaged port without charge of any kind. It may be worthwhile checking with the manufacturer, even if the computer is out of warranty.

ADD AN INEXPENSIVE FIREWIRE HOST CARD

If the machine is out of warranty and has available PCI slots, the simplest way to repair the computer is to add a FireWire PCI card. They are inexpensive and very easy to install. Most operating systems do not require the installation of any additional software drives to support FireWire usage through a PCI card.

CONCLUSIONS

Most of the failure modes of FireWire ports are believed to be caused by low quality or worn out FireWire cables, operator error during device and cable insertion, inadequate PHY port protection, and improper design of external FireWire devices which causes voltage surges to the host port.

CABLE PREVENTATIVES

  • Users are encouraged to use high quality FireWire cables.
  • Users are encouraged to replace worn out FireWire cables.
  • Never plug a FireWire cable in backwards (although it seems impossible; it’s been done many times.)
  • Don’t apply twisting torque to cables that are inserted into sockets.
  • If a device doesn’t mount, do not test the cable on another machine.

HOST PORTS

  • Older computers may not have FireWire port protection built into them. This appears to place them at higher risk of failure.
  • Recently manufactured computers are likely to have enhanced port protection.
  • If your port fails while the computer is within warranty, you won’t have any problems getting it repaired.
  • If your port fails while the computer is out of warranty, an inexpensive solution is to use a low cost PCI FireWire host card. (assuming you have open slots).

FIREWIRE PERIPHERALS

  • FireWire Peripherals should have a transient limiting circuitry on the Data lines at power up time, in order to prevent transients from causing damage to the host’s PHY.
  • An alternative method is to use FireWire devices that are turned on via switch after attachment to the FireWire cable.
  • Another method is to use FireWire peripherals with built in inrush current limiting on the Power lines.
  • Always follow the attachment and power up recommendations of your host and peripheral manufacturer!

Looking to the Future

Here is currently an effort underway in IEEE working groups to extend the capabilities of the original 1394-1995 standard. The effort, known as 1394b, will extend the standard by improving the signaling protocol to allow for more efficient transfer of data. The second, known as 1394b, will extend the standard further by permitting operating speeds of 800 Mbps and beyond. These rates will exceed the transfer rates of the EIDE and SCSI

parallel interfaces.

Because the pending 1394b standard provides data transfer rates higher than existing low

cost interfaces, it is currently in the running to become the successor to EIDE for storage peripherals. As such, 1394 is receiving strong backing from technology leaders such asMicrosoft, Intel, and Apple. Storage companies such as Western Digital, Seagate, Quantum, Maxtor and others have invested time and resources towards creating the necessary standards to enable attachment of storage peripherals via the 1394 interface. The hard drive companies have taken a leadership role in these efforts since the interfacecould become the standard for hard drive attachment in the PC industry.

The move from analog to digital functionality in consumer electronics will spur the move

to IEEE 1394 in the near future. Confirming the industry consensus, 1999 has been theyear that 1394 became established in consumer applications. Based on the initial success of the Sony camcorders, other audio/visual products have been introduced. These

introductions include: DVD for television using the MPEG-2 format, DVD as a CDROM,

desktop cameras and color printers.

Ultimately ATM (Asynchronous Transfer Mode) and IEEE 1394 will drive each other's markets. ATM will become the worldwide voice/video/data public switched networks.However; ATM is too expensive for devices such as hard disk drives, cameras and desktop computers. Therefore IEEE 1394 is a complementary device interface for ATM.

Built on a base of inexpensive implementations, IEEE 1394 will become a high volume

consumer electronics interface. Consumer electronics interfaces tend to be long lived—

plain old telephone service (POTS) is over 100 years old, and audio/video coaxial

interfaces date from World War II. Therefore, with ability to span media and maintain

software compatibility, IEEE 1394 should enjoy a very long life. If ATM, the next

telephone system, lasts at least 100 years, then IEEE 1394 could be there as well.

Such a high volume interface will enable many new applications. Not only will audio/visual data be available for computers to manipulate, but a user-friendly command-and-control interface will span home, vehicle, office and factory products. Existing barriers will gradually be shattered by the expected growth of IEEE 1394.



TO DOWN LOAD REPORT AND PPT

DOWNLOAD