The AASRC mode of the PDMA is similar to the X-Y mode in that X specifies the sample
width, any Y specifies the number of FIFO samples to transfer per DMA request, but
in addition to this, a programmable FIFO list is supplied that allows a single PDMA
channel to transfer data to multiple FIFOs. The FIFO list specifies which FIFOS to
access, and in which order to access them. Both AASRC 'stream' and 'group' modes are
supported in terms of DMA signalling and the FIFO memory map. When in AASRC mode,
the entire PDMA operates exclusively in this mode. AASRC channels to not share the
same PDMA as do XY and MCAN channels.
The following additional details apply to the PDMA in AASRC mode.
Main Features:
- Up to 16 independent RX channels and 16 TX channels
- Each channel represents a different data stream to either the
UDMA-P-P or a McASP PDMA
- Each channel can be configured to read or write any of the AASRC FIFOs in
any order
- Packing support for 1, 2, 3, and 4 byte samples
- Can directly talk to a McASP using any McASP data format
- Packing sample size is fixed for a given channel
- Supports both Group and Stream AASRC signaling and FIFO memory maps
- There is a single stream/group mode setting for each PDMA
channel
Additional details:
- Each channel has a 'mask' of which DMA requests must fire to activate the
channel
- In stream mode, the mask specifies the all the FIFO DMA requests
that must fire
- In group mode, the mask specifies the one group DMA request that
must fire
- Each channel specifies an ordered list of how FIFOs should be accessed
- All channels use a common list, specifying a range of entry indices
within that list. This lets each channel use a varying number of
list elements.
- The order list can be processed multiple times per DMA request. The
number of samples to be transferred per request must match the
configured threshold for the DMA request in the AASRC.
- All FIFOs are specified by index only
- In the TX ordering table, the indices are assumed to be TX
FIFOs
- In the RX ordering table, the indices are assumed to be RX
FIFOs
- If a DMA channel is in 'Group Mode', the PDMA assumes the indices
referenced by that channel represent Group Mode FIFOs; otherwise, it
assumes Stream Mode FIFOs.
- The PDMA has configured base addressed and inter-FIFO spans such that is can
always convert from a FIFO index to the proper Stream or Group mode FIFO
address