The IEEE 1394
standard uses three protocol
layers that operate between the application
and the physical interface
. The physical layer
connects to the 1394 connector, and the link layer
and transaction layer
connect to the application. All three of these layers are connected to a serial bus management
process, a set of protocols, services, and operating procedures
which monitors and controls the protocol layers.
The purpose of the physical layer is to provide physical connections (both electrical and mechanical) between FireWire cables and devices. It is this layer that handles the transmission and reception of data. In addition, the physical layer ensures that all connected devices have a fair amount of access to the bus through a process known as arbitration.
The link layer provides data packet delivery service both asynchronous and isochronous packet delivery. Asynchronous is the conventional transmit-acknowledgment protocol, whereas isochronous is a real-time guaranteed-bandwidth protocol for just-in-time delivery of information, ideal for streaming video. The link layer utilizes the request, indication, response, and confirmation service primitives.
The transaction layer adds services specifically for the asynchronous protocol, and routes isochronous data to the Isochronous Rescource Manager (part of the Serial Bus Management). For asynochronous transfers, the transaction layer determines whether the function to be carried out is “read”, “write”, or “lock”. During a write, data is sent from the originator to the receiver. A read returns the data to the originator. Lock combines the function of the two other commands by producing a round trip routing of data between originator and receiver, including some processing by the receiver.
Serial Bus Management provides a kind of guiding control over all three of the protocol layers. Among it’s functions are optimizing arbitration timing, basic error notification, guarantee of adequate electrical power for all devices on the bus, and assignment of the cycle master and isochronous channel ID. While it may not be the newest technology utilized by FireWire, bus management is in many ways the glue which holds the three protocol layers together.