Firewire™ Reference Tutorial (An Informational Guide) January 22
Total Page:16
File Type:pdf, Size:1020Kb
FireWire™ Reference Tutorial (An Informational Guide) January 22, 2010 Abstract This document is a FireWire tutorial aimed at engineers that have no previous exposure or understanding of FireWire. Its purpose is to familiarize the reader with FireWire and to build a sound and complete understanding of how the FireWire bus operates from the experiences of expert members of the 1394 Trade Association. 1394 Trade Association Specifications, Tutorials and Guides are developed within 1394 Trade Working Groups of the 1394 Trade Association, a non-profit industry association devoted Association to the promotion of and growth of the market for IEEE 1394-compliant products. Participants in Working Groups serve voluntarily and without compensation from the Specification Trade Association. Most participants represent member organizations of the 1394 Trade Association. The work product developed within these working groups represent a consensus of the expertise represented by the participants. Use of a 1394 Trade Association document is wholly voluntary. The existence of a 1394 Trade Association document is not meant to imply that there are not other ways to produce, test, measure, purchase, market or provide other goods and services related to the scope of the 1394 Trade Association Specification. Furthermore, the viewpoint expressed at the time a document is accepted and issued is subject to change brought about through developments in the state of the art and comments received from users of the specification. Users are cautioned to check to determine that they have the latest revision of any 1394 Trade Association document. Comments for revision of 1394 Trade Association Documents are welcome from any interested party, regardless of membership affiliation with the 1394 Trade Association. Suggestions for changes in documents should be in the form of a proposed change of text, together with appropriate supporting comments. Interpretations: Occasionally, questions may arise about the meaning of specifications in relationship to specific applications. When the need for interpretations is brought to the attention of the 1394 Trade Association, the Association will initiate action to prepare appropriate responses. Comments on specifications and requests for interpretations should be addressed to: Editor, 1394 Trade Association 315 Lincoln, Suite E Mukilteo, WA 98275 USA 1394 Trade Association Documents are adopted by the 1394 Trade Association without regard to patents which may exist on articles, materials or processes or to other proprietary intellectual property which may exist within a specification. Adoption of a document by the 1394 Trade Association does not assume any liability to any patent owner or any obligation whatsoever to those parties who rely on these documents. Readers of this material are advised to make an independent determination regarding the existence of intellectual property rights, which may be infringed by conformance to this document. Published by 1394 Trade Association 315 Lincoln, Suite E Mukilteo, WA 98275 USA Copyright © 2010 by 1394 Trade Association All rights reserved. Table of Contents Author .................................................................................................................................... 4 Contributors ...................................................................................................................... 4 Copyright Notices .............................................................................................................. 5 IEEE Copyright ................................................................................................................. 5 IEEE 1394 Technological Background ..................................................................................... 6 Introduction ........................................................................................................................... 6 FireWire Applications ........................................................................................................... 7 FireWire Products .................................................................................................................. 8 Host Adapters .................................................................................................................... 9 Cables & Connectors ....................................................................................................... 12 Repeaters ......................................................................................................................... 18 Digital Cameras ............................................................................................................... 23 External Hard Disks ........................................................................................................ 24 Example 1394 Bus ........................................................................................................... 25 Double & Quad Host Adapters ............................................................................................ 27 IEEE1394 Standards ............................................................................................................ 30 IEEE1394 Technology ........................................................................................................ 31 Module Architecture ........................................................................................................ 31 Conceptual Bus Model .................................................................................................... 32 IEEE1394 Backplane VS Cable Environment ................................................................ 35 FireWire Speeds & Backwards Compatibility ................................................................ 36 1394 Addressing Model .................................................................................................. 40 Size Notation & Endianess .............................................................................................. 42 Bus Reset & 1394 Bus Self-Configuration...................................................................... 44 Beta Loops & Redundancy .............................................................................................. 47 1394 Protocol Layering ................................................................................................... 47 1394 Bus Packets ............................................................................................................. 48 The 1394 Cycle - Part 1 ................................................................................................... 52 The 1394 Cycle - Part 2: Cycle Start Packets & the Cycle Master ................................. 53 The 1394 Cycle - Part 3: Cycle Structure & Cycle Drift ................................................. 56 The 1394 Cycle - Part 4: Isochronous & Asynchronous Traffic ..................................... 58 The Essence of Isochronous Traffic ................................................................................ 60 Isochronous Bandwidth ................................................................................................... 62 2 Copyright © 2010, 1394 Trade Association. All rights reserved. Asynchronous Traffic ...................................................................................................... 62 Asynchronous Stream Packets ........................................................................................ 63 Packet Size Restrictions .................................................................................................. 65 Link Layer Operation ...................................................................................................... 66 Transaction types: Read, Write, Lock ............................................................................. 67 The CSR Model ............................................................................................................... 69 Configuration ROM & GUIDs ........................................................................................ 71 Transaction types ............................................................................................................. 72 DMA ................................................................................................................................ 73 DMA Contexts & Context Programs .............................................................................. 75 Serial Bus Management ................................................................................................... 77 3 Copyright © 2010, 1394 Trade Association. All rights reserved. Author: Dimitrios Staikos Codemost Technology Co. Ltd. Contributors: Les Baxter Baxter Enterprises Burke Henehan Henehan Consulting Don Harwood PLX Technologies Eric Anderson Apple All members of the 1394 Trade Association Photos courtesy of Point Grey Research Inc. and IOI Technology Corporation 4 Copyright © 2010, 1394 Trade Association. All rights reserved. Copyright Notices IEEE Copyright Portions of this specification are copied from published IEEE standards, by permission. The source documents are: IEEE Std 1212-2001, Standard for a Control and Status Registers (CSR) Architecture for Microcomputer Buses IEEE Std 1394-2008, Standard for a High-Performance Serial Bus The IEEE copyright policy at http://standards.ieee.org/IPR/copyrightpolicy.html states, in part: Royalty Free Permission IEEE-SA policy