IEEE 1394 火线协议标准
1394 Open Host Controller Interface or IEEE 1394 火线协议标准
Specification Release 1.1 January 6, 2000
The following documents may be useful in understanding the terms and concepts used in this specification. The documents
are for general background purposes only and are not incorporated into and do not form a part of this specification.
[A] IEEE 1394-1995 High Performance Serial Bus
IEEE, 1995
[B] ISO/IEC 13213:1994 Control and Status Register Architecture for Microcomputer Busses
International Standards Organization, 1994
[C] IEEE 1394a-2000
IEEE Standard for a High Performance Serial bus (Supplement)
All references to 1394 in this document refer to IEEE 1394-1995 ([A] above) unless otherwise specified.
Following IEEE conventions, the term “quadlet” is used throughout this document to specify a 32-bit word.
1.2 Overview
The 1394 Open Host Controller Interface (Open HCI) is an implementation of the link layer protocol of the 1394 Serial
Bus, with additional features to support the transaction and bus management layers. The 1394 Open HCI also includes
DMA engines for high-performance data transfer and a host bus interface.
IEEE 1394 (and the 1394 Open HCI) supports two types of data transfer: asynchronous and isochronous. Asynchronous
data transfer puts the emphasis on guaranteed delivery of data, with less emphasis on guaranteed timing. Isochronous data
transfer is the opposite, with the emphasis on the guaranteed timing of the data, and less emphasis on delivery.
1.2.1 Asynchronous functions
The 1394 Open HCI can transmit and receive all of the defined 1394 packet formats. Packets to be transmitted are read
out of host memory and received packets are written into host memory, both using DMA. The 1394 Open HCI can also
be programmed to act as a bus bridge between host bus and 1394 by directly executing 1394 read and write requests as
reads and writes to host bus memory space.Isochronous functions
The 1394 Open HCI is capable of performing the cycle master function as defined by 1394. This means it contains a cycle
timer and counter, and can queue the transmission of a special packet called a “cycle start” after every rising edge of the
8 kHz cycle clock. The 1394 Open HCI can generate the cycle clock internally (required) or use an external reference
(optional). When not the cycle master, the 1394 Open HCI keeps its internal cycle timer synchronized with the cycle
master node by correcting its own cycle timer with the reload value from the cycle start packet.
Conceptually, the 1394 Open HCI supports one DMA controller each for isochronous transmit and isochronous receive.
Each DMA controller may be implemented to support up to 32 different DMA channels, referred to as DMA contexts
within this document.
The isochronous transmit DMA controller can transmit from each context during each cycle. Each context can transmit
data for a single isochronous channel.