There are many good reasons, both economic and technological, for the rapid growth in popularity of the IEEE 1394 high-performance serial bus. The economic reason for 1394's fast acceptance-it was first specified in the early to mid-1990s and introduced into end equipment in 1995-is simple: a large, growing market with room for innovation. The technological reasons that enable those innovations include high performance, peer-to-peer communication, different qualities of delivery service, support for direct memory access, and provisions for supplying power through the cable.
The versatility of 1394 is apparent in the fact that it has been widely accepted by a variety of vendors, which are using it to perform very different sorts of tasks. For example, Sony Corp. envisions i.Link (its version of the 1394 serial bus) as the digital means for connecting current and future generations of digital audio-video consumer electronics equipment. Indeed, both Sony and Intel Corp. also see i.Link as a cornerstone technology in the convergence of computers and consumer electronics. And Apple Computer Inc., in addition to using FireWire (that company's version of the 1394 bus) to further its share of the graphics and desktop publishing markets, is using i.Link as a universal computer peripheral interconnect, a role it performs very effectively.
Because of its wide applications potential, deployment of i.Link technology has increased dramatically in recent years. In June, market research firm In-Stat Inc. (Scottsdale, Ariz.) predicted that in 2003 approximately 185 million i.Link devices will be shipped in electronic systems and computers. Texas Instruments Inc. alone will enable 8 million i.Link computers in 1999. With TI's new i.Link solutions for the PC costing less than $6, next year TI's rate of production will more than double.Dozens of product types, including more than 8 million 1394 camcorders, are already in consumers' hands.
The technical reasons for i.Link's success include high performance. i.Link currently has a data rate of approximately 400 Mbits/second. Early on, that high bandwidth attracted the attention of the consumer electronics industry for use as a transport mechanism for video services. But it will not stop there. In the near future, another iteration of the specification, 1394b, will allow speeds up to 3,200 Mbits/s. Strenuous effort is being made by the committee to safeguard an organization's current investment in software and application hardware for that future transition. Thus, 1394b will be very similar to previous generations of the specification, down to the physical-layer hardware.
Essentially, i.Link provides two general types of data packet delivery service. Isochronous services allow an i.Link node to request a certain amount of bandwidth. Once that bandwidth is granted, it is guaranteed to be available for every isochronous frame transmitted as part of the application.
An isochronous period is defined as 125 microseconds long, with each period framed by a special cycle-start packet that signals the start of isochronous data delivery and writes the value of the cycle master node's timer into every node's local timer. That synchronizes all of the timers on a 1394 bus so that each isochronous node has the same time reference as every other node, with all nodes resynchronized every 125 microseconds.
If it is required, an external clock may be used to establish the master 125-microseconds clock. If an external clock is not available, the cycle master node can generate its own from its internal cycle timer and output a square wave that allows external circuitry to be synchronized with the internally isochronous frame timing.
The approach guarantees bandwidth by allocating a percentage of the 125-microseconds period to each requesting application.
Isochronous communication is a multicast service, meaning any node on the i.Link bus may receive a particular stream of isochronous packets by listening for that stream's isochronous channel number. In addition to isochronous communications service, i.Link supports point-to-point asynchronous communication that includes an automatic hardware acknowledgment from the receiver to sender to ensure the integrity of data. Cyclic redundancy checking (CRC) is performed in the hardware to verify that each packet type is received correctly.
Another valuable capability of i.Link is the ability for any node on the bus to communicate directly with any other node. Each node on the bus is capable of arbitrating for the bus and is also required to have certain identifying information in a standard place in configuration status registers (CSRs). That allows any node to communicate directly with any other node to discover what each node is capable of. No communication with an intermediary node is required.
The direct memory access (DMA) capabilities of i.Link are useful in many different kinds of applications. Every node on an i.Link bus has a standard 64-bit address space. The header of an asynchronous communication packet includes the complete 64-bit address to which the data is to be written or from which it is to be read, as well as the size of the data payload. Isochronous communications supports DMA since it always delivers a packet no larger than the bandwidth allocated every 125 microseconds. Receiving isochronous nodes can allocate enough memory to accept the largest allocated packet.
These capabilities allow nodes to operate in a memory-to-memory fashion, which enables DMA to be implemented in hardware. An example is the interaction between a 1394 host controller in a computer and a 1394 Serial Bus Protocol 2 hard disk drive. (SBP-2 is currently available in hard disk drives.) All that is required of the host CPU is that it set up the DMA structures in its memory and then ring the doorbell of the SBP-2 HDD. The SBP-2 fetches the instructions from CPU memory and, along with the DMA built into the host controller device, transfers the data directly into the CPU memory with little involvement from the host CPU. That frees the CPU for such value-added tasks as video decompression or data-stream modification.
I.Link supports the delivery of up to 60 W of power via the power and ground connections inside the standard six-pin cable. That allows computer peripherals to be designed without requiring large internal power supplies, and provides a significant cost savings for devices that use it.
See related chart