UM10503
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2012. All rights reserved.
User manual
Rev. 1.3 — 6 July 2012
408 of 1269
NXP Semiconductors
UM10503
Chapter 19: LPC43xx General Purpose DMA (GPDMA) controller
1. Program and enable the DMA channel.
2. Wait for a DMA request.
3. The DMA Controller starts transferring data when:
–
The DMA request goes active.
–
The DMA stream has the highest pending priority.
–
The DMA Controller is the bus master of the AHB bus.
4. If an error occurs while transferring the data, an error interrupt is generated and
disables the DMA stream, and the flow sequence ends.
5. Decrement the transfer count if the DMA Controller is performing the flow control.
6. If the transfer has completed (indicated by the transfer count reaching 0, if the DMA
Controller is performing flow control, or by the peripheral sending a DMA request, if
the peripheral is performing flow control):
–
The DMA Controller responds with a DMA acknowledge.
–
The terminal count interrupt is generated (this interrupt can be masked).
–
If the CLLI Register is not 0, then reload the CSRCADDR, CDESTADDR, CLLI,
and CCONTROL registers and go to back to step 2. However, if CLLI is 0, the DMA
stream is disabled and the flow sequence ends.
19.8.2.2 Peripheral-to-peripheral DMA flow
For a peripheral-to-peripheral DMA flow, the following sequence occurs:
1. Program and enable the DMA channel.
2. Wait for a source DMA request.
3. The DMA Controller starts transferring data when:
–
The DMA request goes active.
–
The DMA stream has the highest pending priority.
–
The DMA Controller is the bus master of the AHB bus.
4. If an error occurs while transferring the data an error interrupt is generated, the DMA
stream is disabled, and the flow sequence ends.
5. Decrement the transfer count if the DMA Controller is performing the flow control.
6. If the transfer has completed (indicated by the transfer count reaching 0 if the DMA
Controller is performing flow control, or by the peripheral sending a DMA request if the
peripheral is performing flow control):
–
The DMA Controller responds with a DMA acknowledge to the source peripheral.
–
Further source DMA requests are ignored.
7. When the destination DMA request goes active and there is data in the DMA
Controller FIFO, transfer data into the destination peripheral.
8. If an error occurs while transferring the data, an error interrupt is generated, the DMA
stream is disabled, and the flow sequence ends.
9. If the transfer has completed it is indicated by the transfer count reaching 0 if the DMA
Controller is performing flow control, or by the sending a DMA request if the peripheral
is performing flow control. The following happens: