UM10208_2
© NXP B.V. 2007. All rights reserved.
User manual
Rev. 02 — 1 June 2007
265 of 362
NXP Semiconductors
UM10208
Chapter 20: LPC2800 DAO
channel to transfer words, and enable LOVER or ROVER for interrupt in the SAO1
Mask register. If the SAO’s DMA request is based on the FIFO being not-full, write the
address of the L16OUT1 or R16OUT1 register to the DMA channel’s Destination
Address register, program the channel to transfer halfwords, and enable LOVER or
ROVER for interrupt in the SAO1 Mask register.
•
Values wider than 16 bits for only one channel are available. In this case, write the
address of the L24OUT1 or R24OUT1 register to the DMA channel’s Destination
Address register, program the channel to transfer words, and enable LOVER or
ROVER for interrupt in the SAO1 Mask register.
Two GP DMA channels are needed if values from both channels are to be stored, and
either:
•
Values wider than 16 bits are available for both channels. In this case they must be
available in separate buffers for the L and R channels. Write the address of the
L24OUT1 register to the Destination Address register of one DMA channel, and the
address of the R24OUT1 register to the other channel’s Destination Address register,
and program both channels to transfer words.
•
16-bit values are available for both channels, in separate buffers. If the SAO’s DMA
request is based on the FIFO being half-empty, write the address of the L32OUT1
register to the Destination Address register of one DMA channel, and the address of
the R32OUT1 register to the other channel’s Destination Address register, and
program both channels to transfer words. If the SAO’s DMA request is based on the
FIFO being not-full, write the address of the L16OUT1 register to the Destination
Address register of one DMA channel, and the address of the R16OUT1 register to
the other channel’s Destination Address register, and program both channels to
transfer halfwords.
Whenever two DMA channels are used with the SAO1 and DAO, enable both LUNDER
and RUNDER for interrupt in the SAO1 Mask register.
6.4 Dynamic DMA channel assignment
If GP DMA channels can be dedicated to the SAO1 and DAO, they can be configured (as
described in the previous section) by system initialization code.
Otherwise, DMA channels can be selected and configured (as described in the previous
section) when I
2
S output is to be done.
Before software searches the DMA channels for an inactive channel, it should disable all
interrupts that might lead to a similar search, then program the DMA channel, then
re-enable the interrupts it disabled.