1394 Standards and Specifications Summary Michael D
Total Page:16
File Type:pdf, Size:1020Kb
1394 Standards and Specifications Summary Michael D. Johas Teener Chief Technical Officer Zayante, Inc. 269 Mt. Herman Rd. #201 Scotts Valley, CA 95066-4000 [email protected] Introduction With the quickening introduction of products based on IEEE 1394 (Firewire or iLink depending on your religious preferences) has come a proliferation of specifications, standards, architectures, and guidelines for these products. This article is intended to be a guidebook to those various documents, with an emphasis on how they should be applied to design and build products. There are two parts to this paper: a summary of the standards and some idea of their relationship with each other, and a detailed listing of the standards themselves along with appropriate references. This detailed listing is maintained by Burke Henehan, the 1394 HW Engineering Lead at Texas Instruments ([email protected]), with help from the author of this paper. Any corrections to this paper are gratefully solicited, and should be sent to both the author and Mr. Henehan. Why so many 1394 specifications? At last count, there were over 70 documents that attempt to define the characteristics of 1394-based devices. This is not necessarily an indication of complexity, it is instead an indication of the vast number of applications of 1394. There are, in fact, only a few specifications that all designers must be aware of: the original IEEE 1394-1995 document and its “a”, “b”, and “dot one” extensions as well as IEEE 1212-1991 (ISO 13213) and its revision. The other 60-odd specifications cover the various applications of 1394, particularly in the consumer electronics and PC product spaces. HAVi, UPnP content protection, “5C” VHS AV/C panel AV/C AVC audio DVD AVC tuner DV D8 MD CD HD PC 99, MacOS platform specs Device Bay Open HCI DPP IP/1394 RBC PWG AV/C tape AV/C disk recorder SBP-2 AV/C general IEC 61882 1-5 IEEE 1394-1995, P1394.1 P1394a, P1394b IEEE 1212, p1212r Figure 1 Overview 1394 specification structure – note that many more specs exist © 1999 Zayante, Inc. Permission to copy granted so long as this notice is retained Page 1 General specifications The primary specification for 1394 is the original IEEE 1394-1995 document. It specifies the architecture and fundamental transport services, along with a host of lower-level details including physical specifications of the standard 6-pin connector, test specifications, detailed timing and signal levels, and bus management. This document is over 400 pages long, and is largely self-contained. The one exception is the addressing and common register architecture, which is ISO 13212 (but largely known by its previous name, IEEE 1212-1991). Some of the 1394 concepts depend on 1212, particularly the addressing and configuration ROM (used by bus management) architecture. These two documents were the basis of the first actual implementations, but a number of shortcomings and inconsistencies were discovered in both (particularly in 1212), and so a small number of follow-on projects were started shortly after 1394 became an official standard in 1995. P1394a: basic improvements The first of these documents is known as “P1394a” (the “P” means that it is a project, not a completed standard). This is a supplement to the original –1995 document, with both improvements and corrections. The improvements include: 1. Arbitration accelerations which greatly improve efficiency of the bus, particularly in smaller systems (fewer than 63 nodes). 2. Reset improvements which greatly reduce the disruption caused when nodes are added and removed from the bus. 3. Support for fine-grained power management which is particularly useful in portable computing applications. A number of other important changes are part of the p1394a document, including specification of the 4-pin connector and vastly improved specification of the PHY-Link interface (most 1394 implementations have separate PHY and Link Ics, and interoperability between PHYs and Links of different vendors was viewed as an important feature). The IEEE is about to start second ballot of the draft document, and we expect it to be approved this year. P1394b: new technology Shortly after the P1394a project started, a number of companies in both the consumer and PC space stated their desire to improve both the speed and reach of a 1394 interconnect. The P1394b working group was formed to address those requirements. The existing P1394b draft specifies the following features: 1. Speeds up to 1.6 Gbit/sec, with architectural changes that allow future specifications to go over 3.2 Gbit/sec. 2. Node-to-node distances to over 100m using various media. 100 Mbit/sec is supported for category 5 unshielded twisted pair (CAT-5 UTP), 200 Mbit/sec over plastic optical fiber, and a full 3.2 Gbit/sec using 50 µm multimode glass fiber. 3. Cost reductions over the existing 1394-1995 and p1394a implementations are possible since the new “pure beta” mode specified by P1394b allow simple galvanic isolation, greatly reducing the complexity of the analog circuitry and allowing simple integration of the PHY and Link components. 4. The “pure beta” copper connector is almost as small as the existing 4-pin connector, yet is capable of carrying power, indicating speed capabilities of the media, and is capable of carrying a full 3.2 Gbit/sec signal. The current draft (0.70) is quite stable, and the working group expects to forward the document to the IEEE for balloting early next year. There are already a number of test implementations of quite high sophistication. Lucent has demonstrated a “bilingual PHY” at 800 Mbit/sec (“bilingual” means that it will © 1999Zayante, Inc. Permission to copy granted so long as this notice is retained. Page 2 connect both in the existing data-strobe signaling method used in the existing specs and in the “beta mode” signaling method invented for P1394b, Omneon Video Networks has demonstrated a 300 meter 800 Mbit/sec connection using multimode glass fiber, and NEC has shown a plastic optical fiber system as well. Almost-production-ready systems will be demonstrated later this year and early the next, with full production of both home-network-based S100 and S200 systems and professional 800 Mbit/sec and 1.6 Mbit/sec versions a year later. P1394.1: networks! Another in the series of fundamental specification upgrades is P1394.1, which specifies the connection between multiple 1394 busses. This allows more than 63 nodes to be communicating with each other, and also allows high-bandwidth subnets to be clustered together without affect the performance of the overall interconnect. Another nice attribute of P1394.1 is that bus resets and other management traffic tends to be isolated within a single bus. The basic model for P1394.1 is a “two portal” bridge, where multiport bridges appear to be multiple two portal bridges from a protocol point of view. There is a lot of work left to do on P1394.1, so we do not expect stability until late 2000! P1212r: fixing the foundation One of the major difficulties with building a 1394-based product using existing standards is that the 1212 document is wrong in some details and, more importantly, conflicts with both IEEE 1394-1995 and existing practice. This has led to a number of misinterpretations, which has slowed the introduction of several products, including the 1394 support for the major computer platforms. To address these concerns, the IEEE reconstituted the 1212 working group to make a major revision to that document. These revisions include: 1. Configuration ROM updates with improved functional descriptions, using feature and instance directories and extended keys. These allow many of the application-based specifications to extend the configuration ROM formats without confusion. The configuration ROM descriptions have also been vastly improved for readability. 2. Many of the specifications for standardized registers have been updated to match existing practice, both in the various 1394x drafts and products in the field. Application-based specs The other broad category of specifications are those that are particular to a single application area. In 1394, there are two major applications: consumer electronics and computers. Most of the rest of this section discusses those areas, but there are a number of new applications that may become important in their own right, and will be lightly covered at the end of this paper. Consumer-based The initial high volume applications of 1394 were in consumer digital video, and most of the consumer- based specifications can be traced back to the original “DVC blue book” which defined how the first DV camcorders were controlled using 1394, and the format of the data packets transmitted on 1394. This large group of specifications is known as the “AV/C” specs (for “Audio/Video Compatibility”). Also needed in much of the consumer space are the content protection specifications. With the advent of digital media, perfect copies are now readily possible, unless a combination of technical and legal safeguards are provided. One of the original planned applications for 1394 was the direct connection between imaging devices, such as cameras and printers, and scanners and printers. The “Direct Printing Protocol” (DPP) has been invented to meet that requirement. © 1999Zayante, Inc. Permission to copy granted so long as this notice is retained. Page 3 Finally, there is are attempts to unify all of the consumer devices in a true distributed processing system. HAVi and Universal Plug and Play fall into this category. AV/C is world of its own! In the AV/C world, there are 30 specs so far, and the end is not in sight! Most of this is due to the vast number of planned 1394 consumer devices, but this is still and extremely large number! How are we going to test all this for interoperability? Fortunately, some work is going on to converge on device classes… for example, all the various camcorders and VCRs are being combined into a “tape recorder” class along with possible future audio recorders, and the various mass storage devices such as CDs, DVDs, MDs, and hard disks have been combined into a “disk” class.