You are on page 1of 4

FireWireTM/IEEE 1394 High Speed Serial Bus

R. Gill

Abstract-The IEEE 1394 is a high performance serial bus protocol, which is becoming the defacto serial bus for the consumer electronics market, PC peripherals, multimedia entertainment systems and home automation systems. The protocol is also being used for interconnecting real time computer systems. This paper describes how the protocol can perform at high data rates and allow such flexibility for when connecting diverse devices.

I INTRODUCTION1
Digital peripheral devices such as camcorders and scanners req uire high data throughput rates for situation such as synchronises audio and video in real time. The FireWire or IEEE 1394 was originally designed to address this kind of need.The IEEE 1394 protocol ( FireWire) is a high speed, low cost digital connection, serial bus which has advantages for real time systems req uiring calculations and samplings to perform within a particular time frame window, in order to guarantee results. FireWire performs this with built in synchronization of communications and processes between devices. FireWire supports two modes of data transfer, asynchronous and isochronous. Isochronous support is important for multimedia applications such as live feed and where audio-video must be synchronized. In such cases, uninterrupted transport of time critical data and j ust-in-time delivery reduces the need for costly buffering. This is an ideal solution for interconnecting real time computer systems. Isochronous transmission provides automatic synchronization of communications and guarantees data transport at a pre determined rate with no extra programming, also eliminating latency and j itter. FireWire uses serial communication allowing for a thin and easy to handle 6 conductor cables used between computers and I/O devices. Each FireWire bus can have a maximum of 64 nodes (devices) connected in peer to peer style, allowing data rates of up to 400Mbs for multiple devices mapped to the same bus. This means that there is no need to manually configure device IDs as the FireWire bus automatically assigns IDs to devices as they are connected. In short FireWire is a protocol allowing flexible

topologies, high speed data rates and easy to use plug and play connections for multiple devices. The rest of this paper is organized as follows. In section 2 a description of FireWire protocol as a conceptual multilayered reference model is provided. Section 3 describes the topology benefits of the protocol, Section 3 describes how the arbitration is done between the bus and connecting and disconnecting nodes, Section 4 compares performance with other protocols, Section 5 describes arbitration for access to bus between networked nodes, Section 6 describes system clock synchronization and Section 7 outlines uniq ue features and limitations of the protocol.

II THE CONCEPTUAL BUS


Here the 1394 protocol is described in terms of a three layered model similar to the OSI reference model. The top of Figure 1 shows the simple bus topology. Nodes maybe connected to the bus at anytime without any req uirement for manual resetting or node address update. The automatic plug and play feature of plugging or unplugging nodes is possible because of the uniq ue three layered protocol model shown in Figure 1. The first two layers correspond to the first two layers of the OSI reference model. The third is a uniq ue FireWire specific layer which functions similar to the bottom four layers of the OSI model. The physical layer receives raw data from the cable and symbolic data from the link layer above it. The physical layer has three primary functions. Firstly, as a translator of data from the cables electrical signals to the link layer, and from symbolic data from the link layer into electrical signals for the cable. Secondly, it defines electrical and mechanical connections to the serial bus. Thirdly, it makes sure all nodes connected to the bus have fair access to the bus by arbitrating to make sure only one node is sending data at any time. The link layer handles packet transmission and reception, including addressing, checking data and formatting data. The link layer delivers packet data by sending and receiving between connected nodes, in asynchronous and isochronous modes. In asynchronous mode a acknowledgement datagram is sent to the transaction layer for confirmation. In asynchronous mode, packets are

formatted and transferred directly to the application, during this operation a cycle signal is generated for timing and sysnchronising asynchronous packets during transfer.

One of the advantages of FireWire is the ease in which

devices can be connected together without the need for any manual setting to either the new device or existing communication network of devices.

Figure 2 Example 8 node FireWire topology

Figure 1 1394 conceptual multilayered reference model

. The transaction layer supports read, write and lock commands asynchronously. A write command sends data from the data source to the data receiver, and a read command returns data from the receiver to the data source. The lock command combines write and read commands by a round trip routing of data between source and receiver, the round trip routing includes processing by the data receiver. Bus management controls bus functions at the physical, link and transaction layers for hardware or software at each individual connected node. Bus management has three levels of management control, depending on the bus itself, called non-managed, limited managed and fully managed. At the non-managed bus management level only asynchronous data is managed, for example from a scanner to a hard drive using a cycling method. Here no intervening node such as a PC is present. A bus with limited management can support asynchronous and 8 to 64 channels of isochronous data transfer, plus some power management ability. A fully managed bus includes a device such as a PC to act as the bus manager. A fully managed bus enables asynchronous data transfer and 64 channels of isochronous data transfer. At this level full power management and bus optimization, as well as mapping of bus topology and data transfer speed is administered.

The topology is tree like with a root node (device) and branching out into logical nodes. A device maybe plugged into an existing network (typically a FireWire device has up to 3 ports) whether it is self powered or not. The limitation on the topology pattern is that no loops maybe formed. In Figure 2, N1 is the root node which controls arbitration of the network this is called the root node. The root node is the first live node from which the network is built upon, the root node could j ust as well be any of the other nodes, as long as it meets this req uirement. The root is node is automatically designated as root on initialization and will remain root as long as it remains connected. When connecting or disconnecting a node the bus reconfigures itself automatically to the network. A FireWire topology can have up to 63 nodes and each topology can in turn be connected to other topologies using bridges to form an overall maximum topology network of 1023 buses. Thus allowing up to 64,449 (1023 buses x 63 nodes) nodes connected to the same network. FireWire topology has certain limitations both netword and physical. Network limitations include a maximum of 16 hops between any two nodes, and no loops can be formed. Physically, cable length between nodes should not be more than 4.5 metres. PHY SICAL CONNECTION FireWire connector is small and compact with only 6 connector pins connected to 6 cable wires. Of the cable wires 2 connect to cable power wires and the other 4 connect to two pairs of twisted signal wires. The power wires carry up to 1.5A at 8-40V, enabling nodes without power supply to be connected in a plug and play manner to the FireWire bus.

III TOPOLOGY

the conceptual framework reference (see Figure 1) in which the Transaction Layer is responsible for asynchronous reading and writing operations only.

B. Resetting Network Topology


On connecting or disconnecting a node and prior to arbitration, any network topology is cleared from all node registers and a new network topology is built. At the physical layer connection status of each port is checked to see if the node is either isolated a leaf node or branch node of the existing topology. Identify each node status builds the topology and a root node is designated. Root designation is usually the last node to be checked as the tree is built from furthest nodes first and built backwards from leaf, branch, and then root. Once the tree topology is known, each node is assigned a physical address ID to identify itself to the bus manager and for asynchronous traffic. As the new topology is built, nodes on the bus arbitrate for bus management roles. The role of cycle master is played by the designated root node. The cycle master contains a common clock source and synchronises all nodes to that clock, so that isochronous data can be transmitted. Another important toll is that of the isochronous resource manager and bus manager. The isochronous resource manager allocates time slots to nodes. The resource manager then tells it whether that channel is free. If the channel is free, then that channel is assigned to the node making the req uest. If the channel is in use, the node will try other channels until one found which is free. During this bus reconfiguration process, assigned channels prior to reconfiguration are re assigned before new ones are assigned. If there are to few time slots for a req uesting node, the node will periodically repeat the req uest until a time slot is found. This is normally when an existing isochronous node releases its resources. Actual allocation of the role of isochronous resource manager and bus manager can depend on hardware and software being used at the time, or the most q ualified node, if two or more nodes are eq ually q ualified then the highest numbered node will be assigned the role. Once the bus reconfiguration management roles are assigned, arbitration for access between nodes begins. The mode in which the node transfers data (asynchronous or isochronous) is also important for access rights to the bus, because different data transfer rights have different access rights. The main decision maker is this arbitration process is the root, in its cycle master role, which transmits a timing message called a cycle start at intervals of 125 , this is the actual start of access to bus arbitration for nodes. The first 80% of the cycle start cycle is reserved for isochronous data access, the remaining 20% for asynchronous data.

Figure 3 FireWire connector and cable wire configuration

Compared to parallel connectors such as SCSI which req uire up to 25 or 50 connector pins, FireWire is much less. The reason for this is that data is transferred serially using FireWire instead of broken up into parallel transfer.

IV PERFORMANCE
The FireWire standard supports data rates of 100,200 and 400Mb/s. The flexibility of FireWire protocol allows devices to communicate at different throughput rates on the same bus. Table 1 shows comparable figures for FireWire, USB and Ethernet Ramamurthy[1], File Size (Mbytes) Type of Network Average Data Transfer Time (sec) 1.03 11.83 15.01 3.58 34.16 48.66 7.56 49.76 121.95 Average Data Transfer Speed (Mbits/sec) 106.4 9.26 7.30 95.41 10.00 7.02 102.43 15.56 6.35

13.7 42.7 96.8

FireWire Ethernet USB FireWire Ethernet USB FireWire Ethernet USB

Table 1(a) FireWire data rates compared to USB and Ethernet

V ARBITRATION

A. Data Transfer
FireWire operates in two modes, asynchronous and isochronous mode. Asynchronous req uires acknowledgement from specific addresses when sending packets and has longer packet length to accommodate acknowledgements than isochronous. Asynchronous transfer rates are lower than isochronous. Isochronous mode broadcasts variable packet lengths to all nodes addresses in the bus at fixed intervals without req uiring acknowledgements. Asynchronous transfer is managed by

Access hierarchy is, first rights go to nodes with reserved isochronous channels arbitrate. As soon as a node receives a cycle start, it sends its req uest for access to the root. The first req uest will gain access. After a node has been given access a gap called isochronous gap occurs, in which arbitration restarts, and the next closest node is granted access. This access-gap-access seq uence continues for until all nodes wishing to transmit isochronous data have accessed. Second in the hierarchy is the asynchronous data in which a longer gap called a sub action gap occurs, and asynchronous arbitration begins. This is similar to isochronous arbitration, except gaps between messages are longer to allow for asynchronous acknowledgements. During asynchronous arbitration, a fairness interval allows all asynchronous nodes to transmit once, after this fairness interval an arbitration reset gap occurs in the cycle, after which arbitration between all nodes continues.

VII FEATURES AND LIMITATIONS2


Performance, although not as fast as fibre channel, the performance ability to simultaneously send data rates of 100Mbs. 200Mbs and 400Mbs, out performing USB and Ethernet. Topology, the plug and play feature allows flexible topology without the need to manually reset anything when nodes are connected or disconnected from a network because bus reconfiguration is done on the fly. Modes of Data Transfer, both asynchronous and isochronous transfer are supported. Isochronous communication enables fixed bandwidth and therefore system predictability.

VI PHY SICAL OPERATION


At the physical level, the data is sent over the two twisted pairs called TPA and TPB, in the FireWire cable. Of the two twisted pair cables one is used for data and one is used for a strobe. The data twisted pair sends a non return to zero (NRZ ) data and the strobe changes state whenever two consecutive NRZ bits have been transmitted In that way either the strobe or the data signal changes state on each bit period. Combining the data and strobe signals with an EX CLUSIVE.OR gate generates a clock whose freq uency is the base freq uency of the entire system (see Figure 5).

Limitations are for permanent long distance connections IEEE 1394 is unsuitable as the maximum per hop length between nodes is 4.5 m and maximum end to end limit of 72m. (The 72m end to end limit does not include the whole network, for example in a star topology total length would be more) Although a uniq ue feature, the topology flexibility is limited no loops.

REFERENCES
[1] Ramamurthy, G.; Ashenayi, K., C o m parat iv e st udy o f t he FireWire IEEE- 1394 pro t o c o l w it h t he U n iv ersal Serial Bus an d Et hern et , C irc u it s a n d S y s t em s , MWSCAS-2002. The 2002 45th Midwest Symposium on Volume 2, 4-7 Aug. 2002 Page(s):II-509 - II-512 vol.2 [2] Wickelgren, I.J; The f ac t s ab o ut FireWire [ serial c o m m un ic at io n b us] , S p ec t ru m I E E E , Volume 34, Issue 4, April 1997 Page(s):19 - 25

Figure 5 Setting Clock Freq uency

You might also like