![Texas Instruments SimpleLink Ethernet MSP432E401Y Скачать руководство пользователя страница 612](http://html1.mh-extra.com/html/texas-instruments/simplelink-ethernet-msp432e401y/simplelink-ethernet-msp432e401y_technical-reference-manual_1095578612.webp)
Functional Description
612
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
Micro Direct Memory Access (µDMA)
8.3.6 Transfer Size and Increment
The µDMA controller supports transfer data sizes of 8, 16, or 32 bits. The source and destination data size
must be the same for any given transfer. The source and destination address can be auto-incremented by
bytes, halfwords, or words, or can be set to no increment. The source and destination address increment
values can be set independently, and it is not necessary for the address increment to match the data size
as long as the increment is the same or larger than the data size. For example, it is possible to perform a
transfer using 8-bit data size, but using an address increment of full words (4 bytes). The data to be
transferred must be aligned in memory according to the data size (8, 16, or 32 bits).
shows the configuration to read from a peripheral that supplies 8-bit data.
Table 8-4. µDMA Read Example: 8-Bit Peripheral
Field
Configuration
Source data size
8 bits
Destination data size
8 bits
Source address increment
No increment
Destination address increment
Byte
Source end pointer
Peripheral read FIFO register
Destination end pointer
End of the data buffer in memory
8.3.7 Peripheral Interface
There are two main classes of µDMA-connected peripherals:
•
Peripherals with FIFOs serviced by the µDMA to transmit or receive data.
•
Peripherals that provide trigger inputs to the µDMA
8.3.7.1
FIFO Peripherals
FIFO peripherals contain a FIFO of data to be sent and a FIFO of data that has been received. The µDMA
controller is used to transfer data between these FIFOs and system memory. For example, when a UART
FIFO contains one or more entries, a single transfer request is sent to the µDMA for processing. If this
request has not been processed and the UART FIFO reaches the interrupt FIFO level set in the UART
Interrupt FIFO Level Select (UARTIFLS) register, another interrupt is sent to the µDMA which is higher
priority than the single-transfer request. In this instance, an ARBSIZ transfer is performed as configured in
the DMACHCTL register. After the transfer is complete, the DMA sends a receive or transmit complete
interrupt to the UART Raw Interrupt Status (UARTRIS) register.
If the FIFO peripheral's SETn bit is set in the DMA Channel Useburst Set (DMAUSEBURSTSET) register,
then the µDMA only performs transfers defined by the ARBSIZ bit field in the DMACHCTL register for
better bus utilization. For peripherals that tend to transmit and receive in bursts, such as the UART, TI
recommends against the use of this configuration, because it could cause the end of transmissions to stick
in the FIFO.
8.3.7.2
Trigger Peripherals
Certain peripherals, such as the general-purpose timer, trigger an interrupt to the µDMA controller when a
programmed event occurs. When a trigger event occurs, the µDMA executes a transfer defined by the
ARBSIZ bit field in the DMACHCTL register. If only a single transfer is needed for a µDMA trigger, then
the ARBSIZ field is set to 0x1.
If the trigger peripheral generates another µDMA request while the prior one is being serviced and that
particular channel is the highest priority asserted channel, the second request is processed as soon as the
handling of the first is complete. If two additional trigger peripheral µDMA requests are generated before
the completion of the first, the third request is lost.