IEEE 1394 Data Transfers (Windows CE 5.0)
Asynchronous
Devices on the IEEE 1394 bus communicate in asynchronous mode by sending and receiving packets. Devices send read, write, and lock requests to specific addresses in another device's address space. The receiving device sends a response packet back to the sending device, which then sends a response acknowledgment.
A driver can communicate to its device by sending asynchronous I/O requests to the device. The driver can also allocate ranges of addresses in the IEEE 1394 address space of the host computer and receive requests to these addresses. To improve throughput for asynchronous transfers, the sender may continue transmission until 64 transactions are outstanding.
Isochronous
Before drivers can start their IEEE 1394 device, they must complete the following steps to set up isochronous transfer:
- Choose isochronous transfer speed.
- Allocate bandwidth for isochronous transfer.
- Allocate an isochronous channel.
- Allocate a resource handle for isochronous transfer.
- Attach buffers to the resource handle.
- Begin the isochronous data transfer.
Once a device no longer needs to transfer data, the driver must inform the bus that the operation is complete, and then must deallocate the isochronous resources it allocated when setting up.
User applications are responsible for determining how many isochronous channels they need and their required bandwidth.
Send Feedback on this topic to the authors