UM11029
All information provided in this document is subject to legal disclaimers.
© NXP Semiconductors N.V. 2017. All rights reserved.
User manual
Rev. 1.0 — 16 June 2017
265 of 515
NXP Semiconductors
UM11029
Chapter 16: LPC84x DMA controller
16.5.3 Single buffer
This generally applies to memory to memory moves, and peripheral DMA that occurs only
occasionally and is set up for each transfer. For this kind of operation, only the initial
channel descriptor shown in
is needed.
This case is identified by the Reload bit in the XFERCFG register = 0. When the DMA
channel receives a DMA request or trigger (depending on how it is configured), it performs
one or more transfers as configured, then stops. Once the channel descriptor is
exhausted, additional DMA requests or triggers will have no effect until the channel
configuration is updated by software.
16.5.4 Ping-Pong
Ping-pong is a special case of a linked transfer. It is described separately because it is
typically used more frequently than more complicated versions of linked transfers.
A ping-pong transfer uses two buffers alternately. At any one time, one buffer is being
loaded or unloaded by DMA operations. The other buffer has the opposite operation being
handled by software, readying the buffer for use when the buffer currently being used by
the DMA controller is full or empty.
shows an example of descriptors for
ping-pong from a peripheral to two buffers in memory.
+ 0x4
Source end address. This points to the address of the last entry of the source address
range if the address is incremented. The address to be used in the transfer is calculated
from the end address, data width, and transfer size.
+ 0x8
Destination end address. This points to the address of the last entry of the destination
address range if the address is incremented. The address to be used in the transfer is
calculated from the end address, data width, and transfer size.
+ 0xC
Link to next descriptor. If used, this address must be aligned to a multiple of 16 bytes
(i.e., the size of a descriptor).
Table 297. Reload descriptors
Offset
Description
Table 298. Channel descriptor for a single transfer
Offset
Description
+ 0x0
Reserved
+ 0x4
Source data end address
+ 0x8
Destination data end address
+ 0xC
(not used)