IEEE 1394 Bus Driver Development Concepts (Windows CE 5.0)
The IEEE 1394 bus driver provides a hardware-independent interface to the IEEE 1394 bus. The bus driver handles some I/O request packets (IRPs), and forwards some IRPs to the port driver for the host controller on the motherboard. A bus driver services a bus controller. There is one bus driver for each type of bus on a machine. Microsoft provides a standard port driver for host controllers that satisfy the Open Host Controller Interface (OHCI) specification.
The following table shows how the 64-bit address space for the IEEE 1394 bus driver breaks up.
Bit region | Description |
---|---|
10 bits | Bus number. |
6 bits | Node number. |
48 bits | Address offset within a node. |
The initial node space for configuration ROM and IEEE 1212 Control and Status Registers (CSRs) is in the top 256 MB of the node's address space.
The cable itself supplies power. The cable contains two power conductors, and two twisted pairs for data signaling. Each signal pair is shielded and the entire cable is shielded.
Cable power is specified to be from 8 Vdc to 40 Vdc 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. This is important for a serial topology, and also to provide power for devices connected to the bus. This does not apply to the 4-pin cables because they do not have any pins for peripheral power.
The following table shows the three IEEE 1394 protocol layers.
Layer | Description |
---|---|
Physical layer | The physical layer connects to the IEEE 1394 connector and the other layers connect to the application. It provides the electrical and mechanical connection between the IEEE 1394 device and the IEEE 1394 cable. It also provides arbitration to ensure all devices have fair access to the bus. |
Link layer | The link layer provides data packet delivery service for asynchronous and isochronous packet delivery. Asynchronous is the conventional transmit-acknowledgment protocol. Isochronous is a real-time guaranteed-bandwidth protocol for just-in-time delivery of information. |
Transaction layer | The transaction layer supports the asynchronous protocol write, read, and lock commands described in the following list:
|
The following list shows what serial bus management provides:
- Connects to all three protocol layers.
- Provides the overall configuration control of the serial bus in the form of optimizing arbitration timing.
- Guarantees adequate electrical power for all devices on the bus.
- Assigns which IEEE 1394 device is the cycle master, assigns the isochronous channel identifier, and controls basic notification of errors.
See Also
IEEE 1394 Driver Thread Priorities | IEEE 1394 Data Transfers | IEEE 1394 Sample Communication
Send Feedback on this topic to the authors