Functional Description
1188
SPRUHE8E – October 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
M3 Micro Direct Memory Access ( µDMA)
16.3.1 Channel Assignments
µDMA channels 0-31 are assigned to different peripherals according to the following table. The DMA
Channel Map (DMACHMAPx) registers can be used to specify the first, second, or third channel mapping
assignment.primary or secondary assignment.
NOTE:
Channels noted in the table as "Available for software" may be assigned to peripherals in the
future. However, they are currently available for software use. Channel 30 is dedicated for
software use.
The USB endpoints mapped to µDMA channels 0-3 can be changed with the USBDMASEL
register.
Because of the way the
μ
DMA controller interacts with peripherals, the
μ
DMA channel for the
peripheral must be enabled in order for the
μ
DMA controller to be able to read and write the
peripheral registers, even if a different
μ
DMA channel is used to perform the
μ
DMA transfer.
To minimize confusion and chance of software errors, it is best practice to use a peripheral's
μ
DMA channel for performing all
μ
DMA transfers for that peripheral, even if it is processor-
triggered and using AUTO mode, which could be considered a software transfer. Note that if
the software channel is used, interrupts occur on the dedicated
μ
DMA interrupt vector. If the
peripheral channel is used, then the interrupt occurs on the interrupt vector for the peripheral.
Table 16-1. µDMA Channel Assignment Mapping
DMACHALT Encoding
0
1
DMACHMAPx Encoding
0
1
2
µDMA Channel
First Assignment
Second Assignment
Third Assignment
0
USB Endpoint 1 Receive
UART2 Receive
Reserved
1
USB Endpoint 1 Transmit
UART2 Transmit
Reserved
2
USB Endpoint 2 Receive
General-Purpose Timer 3A
Reserved
3
USB Endpoint 2 Transmit
General-Purpose Timer 3B
Reserved
4
USB Endpoint 3 Receive
General-Purpose Timer 2A
Reserved
5
USB Endpoint 3 Transmit
General-Purpose Timer 2B
Reserved
6
Ethernet Receive
General-Purpose Timer 2A
Reserved
7
Ethernet Transmit
General-Purpose Timer 2B
Reserved
8
UART0 Receive
UART1 Receive
Reserved
9
UART0 Transmit
UART1 Transmit
Reserved
10
SSI0 Receive
SSI1 Receive
Reserved
11
SSI0 Transmit
SSI1 Transmit
Reserved
12
Available for software
UART2 Receive
SSI2 Receive
13
Available for software
UART2 Transmit
SSI2 Transmit
14
Reserved
General-Purpose Timer 2A
SSI3 Receive
15
Reserved
General-Purpose Timer 2B
SSI3 Transmit
16
Reserved
Available for software
UART3 Receive
17
Reserved
Available for software
UART3 Transmit
18
General-Purpose Timer 0A
General-Purpose Timer 1A
UART4 Receive
19
General-Purpose Timer 0B
General-Purpose Timer 1B
UART4 Transmit
20
General-Purpose Timer 1A
Adv GPIO / EPI0RX (EPI
Non-blocking read FIFO)
Reserved
21
General-Purpose Timer 1B
Adv GPIO / EPI0TX (EPI
Write FIFO)
Reserved
22
UART1 Receive
Available for software
Reserved
23
UART1 Transmit
Available for software
Reserved
24
SSI1 Receive
Reserved
Reserved
25
SSI1 Transmit
Reserved
Reserved