COMPCON '95

This paper was presented by Gary Hoffman, at COMPCON '95 in San Francisco, CA on March 5 to 9, 1995.

IEEE 1394: A Ubiquitous Bus

Gary Hoffman and Daniel Moore

Abstract

The IEEE 1394 high-speed serial bus promises to revolutionize the transport of digital data for computers and for professional and consumer electronics products. By providing an inexpensive non-proprietary high-speed method of interconnecting digital devices, IEEE 1394 is a truly universal I/O connection. Its scalable architecture and flexible peer-to-peer topology make 1394 ideal for connecting devices from computers and hard drives, to digital audio and video hardware. Isochronous, just in time delivery, allows low-cost implementations of time-critical multimedia interfaces. This paper examines this IEEE 1394 bus and provides a glimpse into its future potential.

1: Why another interface?

Have you looked behind your computer lately? At first it was simple - a parallel port to connect a printer, a serial port to connect a modem, and cables for a display, a keyboard, and possibly a mouse. SCSI added access to external storage devices, a large cable connector, manually set SCSI ID's, and the dreaded terminator. Multimedia added audio and MIDI connectors. Video added a cable for image capture from a video camera or recorder. Besides requiring a great deal of space for the connectors, the growing number of cables overwhelms many users.

Legacy I/O interfaces monopolize portable electronics surface space though they are typically only used at a home desk. Notebook computer and Personal Digital Assistants are defined by their connector bulkhead.

A new interface is needed by the analog world migrating to a fully digital environment. Audio began the transition with the compact disc and digital audio tape. Yet, when data is transferred between media, the data is first converted to analog by the sender and then again digitized by the receiver. Broadcast and cable television are migrating to digital transport. CCD video cameras are already digital devices.

Digital devices generate a large volumes of data, especially when high-resolution, quality results are desired - consider the following parameters of multimedia devices:

Multimedia Bandwidth Requirements

High Quality Video
Digital Data = (30 frames / second) (640 x 480 pels) (24-bit color / pel) = 221 Mbps
Reduced Quality Video
Digital Data = (15 frames / second) (320 x 240 pels) (16-bit color / pel) = 18 Mbps
High Quality Audio
Digital Data = (44,100 audio samples / sec) (16-bit audio samples) (2 audio channels for stereo) = 1.4 Mbps
Reduced Quality Audio
Digital Data = (11,050 audio samples / sec) (8-bit audio samples) (1 audio channel for monaural) = 0.1 Mbps

Note: Mbps = megabits per second

To accommodate this magnitude of data, a high-speed transport medium such as IEEE 1394 is needed.

2: IEEE 1394 high-speed serial bus

IEEE 1394 is a hardware and software standard for transporting data at 100, 200, or 400 megabits per second (Mbps). 100 Mbps chips were available in 4Q94, with 200 Mbps chips expected in late 1995. Market demand may drive availability of 400 Mbps chips in late 1996.

The IEEE 1394 serial bus satisfies all of these previously mentioned needs and more. It is:

a digital interface - there is no need to convert digital data into analog and tolerate a loss of data integrity,

physically small - the thin serial cable can replace larger and more expensive interfaces,

easy to use - there is no need for terminators, device IDs, or elaborate setup,

hot pluggable - users can add or remove 1394 devices with the bus active,

inexpensive - priced for consumer products,

scalable architecture - may mix 100, 200, and 400 Mbps devices on a bus,

flexible topology - support of daisy chaining and branching for true peer-to-peer communication,

fast - even multimedia data can be guaranteed its bandwidth for just-in-time delivery, and

non-proprietary - there is no licensing problem adopting it for your products.

Broad markets for 1394 digital data transport include:

computers,

audio, image, and video products for multimedia,

printer and scanner products for imaging,

hard disks, especially hard disk Raid arrays, and

digital video camera, displays, and recorders.

A simple 1394 video conference system is assembled from two 15 fps audio/video channels and will consume about one-third of 100Mbps 1394 interface. Ten 15 fps audio/video channels may be carried on a 400 Mbps 1394 interface.

3: The 1394 cable

A 1394 cable contains two power conductors, and two twisted pairs for data signalling. Each signal pair is shielded and the entire cable is shielded.

IEEE 1394 Cable Cross Section

Cable power is specified to be from 8Vdc to 40Vdc at up to 1.5 amps and is used to:

  • maintain a device's physical layer continuity when the device is powered down or malfunctioned - very important for a serial topology, and
  • provide power for devices connected to the bus.
  • IEEE 1394 provides data transport and power - a great convenience for the users.

    IEEE 1394 cable connectors are constructed with the electrical contacts inside the structure of the connector thus preventing any shock to the user or contamination to the contacts by the user's hands.

    IEEE 1394 Cable Connector

    These connectors are derived from the Nintendo GameBoy(tm) connector. Field tested by children of all ages, this small and flexible connector is very durable. These connectors are easy to use even when the user must blindly insert them into the back of machines. There are no terminators required, or manual IDs to be set.

    As 1394 evolves, new cable designs will allow longer distances without repeaters and with more bandwidth.

    4: Topology

    4.1: IEEE 1394 Cable

    IEEE 1394 devices are designed to have multiple connectors, allowing daisy-chain and tree topologies. Consider the following layout of two separate work areas connected with a 1394 bridge.

    Two Work Groups Connected with a 1394 Bridge

    Work area #1 has a video camera, computer, and video recorder interconnected with IEEE 1394. This computer is also connected to a physically distant printer via a 1394 repeater; the repeater extends the inter-device distance by redriving the 1394 signals. Up to sixteen hops may be made between any two devices on a 1394 bus. A 1394 splitter is used between the bridge and the printer to provide another port to attach a 1394 bus bridge. Splitters provide more topology flexibility for users.

    Work area #2 contains only a computer and printer on a 1394 bus segment, plus a connection to the bus bridge. The 1394 bus bridge isolates data traffic within each work area. Computer #1 uses much of a 100 Mbps 1394 cable bandwidth when working with video images. Computer #2 will have complete use of its bus segment bandwidth without regard to the video data on the work area #1 bus segment.

    IEEE 1394 bus bridges allow selected data to be passed from one bus segment to another. Therefore computer #2 can request image data from the video recorder in work area #1. Since the 1394 cable is powered, the PHY signalling interface is always powered, and video data is transported even if the computer #1 is powered off.

    Each IEEE 1394 bus segment may have up to 63 devices attached to it. Currently each device may be up to 4.5 meters apart; longer distances are possible with and without repeater hardware. Improvements to the current cabling are being specified to allow longer distance cables. Over 1000 bus segments may be connected by bridges thus providing a large growth potential.

    A 1394 device may be hot-plugged - added to or removed from the bus - even with the bus in full operation. Upon altering the bus configuration, topology changes are automatically recognized. This "plug and play" feature eliminates the need for address switches or other user intervention to reconfigure the bus.

    There are two types of IEEE 1394 data transfer: asynchronous and isochronous. Asynchronous transport is the traditional method of transmitting data between computers and peripherals. Data is sent in one direction followed by acknowledgment to the requestor.

    Isochronous data channels provide guaranteed data transport at a pre-determined rate. This is especially important for time-critical multimedia data where just-in-time delivery eliminates the need for costly buffering.

    4.2: IEEE 1394 Backplane

    In addition to a cable specification, there is a backplane specification that extends the serial bus internally to a device. The internal 1394 bus may be used alone, or incorporated into another backplane bus. For example, two pins are reserved for a serial bus by various ANSI and IEEE bus standards. Implementation of the backplane specification lags the development of the cable environment, but one could imagine internal 1394 hard disks in one computer being directly accessed by a another 1394 connected computer.

    5: A Video Application

    Consider the example of a digital video camera sending data to a digital monitor and to a computer; which in turn are connected to a digital VCR and a printer.

    Since the video data is digital, each 1394 device can process the video without the expense and image quality loss from digitization. There is no need for a video capture card or any analog-to-digital video conversion within the computer - the entire data path is digital. The monitor, computer, and VCR accepts the digital data and displays or store the data as is appropriate. Given the large amount of data involved, the computer might only retain a specific still image or short video clip. A video frame could simultaneously be sent to the printer for a hard copy.

    Video Hardware Interconnected by a 1394 Cable

    A 1394 printer may be radically different from those currently on the market. Given the great increase in speed for sending data from the computer to the printer, a 1394 printer could be less complex and less expensive than printers on slower interfaces.

    6: Protocol

    6.1: Layers

    IEEE 1394 involves the low three ISO protocol layers: the Physical Layer, the Link Layer, and the Transaction Layer, plus a Serial Bus Management process that connects to all three layers. The Physical Layer connects to the 1394 connector and the other layers connect to the application.

    IEEE 1394 ISO Layers

    The Physical Layer provides the electrical and mechanical connection between the 1394 device and the 1394 cable. Besides the actual data transmission and reception tasks, the Physical Layer provides arbitration to insure all devices have fair access to the bus.

    The Link Layer provides data packet delivery service for the two types of packet delivery: asynchronous and isochronous. As mentioned before, asynchronous is the conventional transmit-acknowledgment protocol and isochronous is a real-time guaranteed-bandwidth protocol for just-in-time delivery of information.

    The Transaction Layer supports the asynchronous protocol write, read, and lock commands. A write sends data from the originator to the receiver and a read returns the data to the originator. Lock combines the function of the write and read commands by producing a round trip routing of data between sender and receiver including processing by the receiver.

    Serial Bus Management provides overall configuration control of the serial bus in the form of optimizing arbitration timing, guarantee of adequate electrical power for all devices on the bus, assignment of which 1394 device is the cycle master, assignment of isochronous channel ID, and basic notification of errors. Bus management is built upon IEEE 1212 standard register architecture.

    6.2: Operation

    To transmit data, a 1394 device first requests control of the physical layer. With asynchronous transport, the address of both the sender and the receiver is transmitted followed by the actual packet data. Once the receiver accepts the packet, a packet acknowledgment is returned to the original sender. To improve throughput, the sender may continue transmission until 64 transactions are outstanding. If a negative acknowledgment should be returned, error recovery is initiated.

    With isochronous transport, the sender requests an isochronous channel with a specific bandwidth. Isochronous channel IDs are transmitted followed by the packet data. The receiver monitors the incoming data's channel ID and accepts only data with the specified ID.

    User applications are responsible for determining how many isochronous channels are needed and their required bandwidth. Although up to 64 isochronous channels may be defined, this diargram shows 2 channels.

    IEEE 1394 Packet Frame

    The bus is configured to send a start of frame timing indicator in the form of a timing gap. This is followed by the time slots for isochronous channels #1 and #2. What time remains may be used for any pending asynchronous transmission. Since the slots for each of the isochronous channels have been established, the bus can guarantee their bandwidth and thus their successful delivery.

    7: Productization

    7.1: Interoperability

    IEEE 1394 is a standard, platform-independent solution. Its features represent an evolutionary improvement over current I/O interfaces and provide connectivity solutions for many markets. Legacy I/O bridges attach serial and parallel interfaces to 1394. ANSI SCSI-3 provides a migration path for parallel SCSI to move to IEEE 1394.

    IEEE 1394 can interface with the higher layers of the new parallel port standard, IEEE 1284. Although IEEE 1284's 4 to 32 Mbps transfer rate is lower than that of 1394, 1284 finds application in printer connectivity since it is backward compatible with the existing Centronics parallel port.

    IEEE 1394 devices of differing transport rates may be interconnected, allowing backward compatibility with devices having slower transport rates. This feature allows 100 Mbps devices purchased today to operate properly in future bus configurations involving 200 and 400 Mbps devices.

    7.2: Non-computer application

    Although much of this discussion has included a computer, there are many situations where a computer is not involved. IEEE 1394 is going to be the interface for connecting handy-cams and VCRs, settop boxes and televisions. If a computer is needed later, it would involve nothing more than adding a 1394 cable to the computer - it's that easy.

    7.3: Fall Comdex '94

    At the recent Fall 1994 COMDEX, my company, Skipstone, worked with Texas Instruments to offer a 1394 demonstration of a simple video conference system. A prototype 1394 digital video camera from the Sony Corporation sent video data over a 1394 bus to a computer for display. A second computer was also connected by a 1394 bus to show the video data realtime bandwidth usage.

    The application that measured the video bandwidth was implemented using software written with Skipstone's 1394 API. This API is part of our 1394 Developer's Toolkit that for developers to implement and test 1394 applications. This API is portable across chipsets and operating systems.

    7.4: The 1394 Trade Association

    The 1394 Trade Association was formed in September 1994 to accelerate the market adoption of IEEE 1394. Of special importance are the technical working groups that focus on refining the 1394 specification. The Trade Association steering committee is currently composed of representatives from Adaptec, AMD, Apple, IBM, Lexmark, Microsoft, National Semiconductor, NCR, Philips, Seagate, Skipstone, Sony, TI, and Toshiba.

    For more information on the trade association or to be kept informed on the progress of IEEE 1394, please contact me as I am the trade association's current chairperson. I can be reached at Skipstone's Internet address listed on the title page of this paper.

    8: IEEE 1394 future

    1394 is currently defined by IEEE draft standard P1394. The IEEE Standards subgroup concerned with 1394 successfully closed its ballot on 1394 in December 1994 with formal 1394 approval anticipated in the second quarter of 1995.

    It is my belief that IEEE 1394 products will readily be available by Fall 1995; such as a commodity Sony digital video camera. A wider range of products will be available by the beginning of 1996 and there will be significant volume by year end 1996.

    In addition to the 1394 Developer's Toolkit mentioned before, my company, Skipstone, plans to introduce several IEEE 1394 products - such as bus splitters, bus bridges, video, and communications. Skipstone provides OEM products so that manufacturers can quickly introduce 1394 products.

    So, if digital information is important to your product line, you should have your IEEE 1394 enabled prototype available by the Fall 1995 COMDEX and into the marketplace by the Spring 1996 COMDEX.


    Return to the home page.