This paper was presented by Gary Hoffman, at COMPCON '95 in San Francisco, CA on March 5 to 9, 1995.
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.
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:
Note: Mbps = megabits per second
To accommodate this magnitude of data, a high-speed transport medium
such as IEEE 1394 is needed.
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.
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.
Cable power is specified to be from 8Vdc to 40Vdc at up to 1.5 amps and is used to:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.