
UM10800
All information provided in this document is subject to legal disclaimers.
© NXP Semiconductors N.V. 2016. All rights reserved.
User manual
Rev. 1.2 — 5 October 2016
166 of 487
NXP Semiconductors
UM10800
Chapter 12: LPC82x DMA controller
12.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.
12.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.
Table 150. Reload descriptors
Offset
Description
+ 0x0
Transfer configuration.
+ 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 151. Channel descriptor for a single transfer
Offset
Description
+ 0x0
Reserved
+ 0x4
Source data end address
+ 0x8
Destination data end address
+ 0xC
(not used)