EasyManua.ls Logo

Philips PDIUSBD12 - Dma Support; Introduction to Protocol Based Dma Operation; Devices DMA States

Philips PDIUSBD12
22 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Interconnectivity Page 20 of 22
Firmware Programming Guide for PDIUSBD12
Philips Semiconductors - Asia Product Innovation Centre
Visit http://www.flexiusb.com
8. DMA Support
8.1 Introduction to Protocol Based DMA Operation
PDIUSBD12 has 6 endpoints, 2 control endpoints, 2 generic endpoints, and 2 main endpoints. The main
endpoints support DMA transfer.
In the protocol based DMA operation, the host application first asks the device's firmware to setup DMA
transfer using vendor request, which is sent through the control endpoint. It then performs actual bulk data
transfer on the main endpoints. After the setup of the DMA controller, the host can transfer up to 64 Kbytes of
data to the device without any firmware intervention.
A complete DMA transfer requires the following two steps:
1. Send a Setup DMA Request through the control pipe, and allow the device to program the DMAC with DMA
transfer direction, start address, and size of transfer.
2. Send or receive data packets on the main endpoint.
8.2 Device's DMA States
The Setup DMA Request is sent from the host as vendor request using control pipe. The device's response and
action depend on its internal states of DMA operation.
The diagram above shows 3 DMA states in the device: IDLE, RUNNING and PENDING. If there is no running
or pending DMA operation, the device is in the IDLE state. The Setup DMA Request will then be responded
with ACK. If the device is in the process of a DMA transfer, it is in the RUNNING state. The Setup DMA
Request will then be responded with NAK and will cause the device to enter the PENDING state, which
indicates that there is a pending Setup DMA Request. If the device receives another Setup DMA Request in the
PENDING state, the new request will overwrite the old one.
Idle
Hold
Running
IOCTL: Start DMA Transfer EOT
IOCTL: Start DMA Transfer
EOT
IOCTL: Start DMA Transfer
ERROR: Command Ignored

Other manuals for Philips PDIUSBD12

Related product manuals