uDMA Controller
23
uDMA Controller
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
23.1
Introduction
The microDMA (uDMA) API provides functions to configure the uDMA (Direct Memory Access) con-
troller. The uDMA controller is designed to work with the ARM Cortex-M4 processor and provides
an efficient and low-overhead means of transferring blocks of data in the system.
The uDMA controller has the following features:
dedicated channels for supported peripherals
one channel each for receive and transmit for devices with receive and transmit paths
dedicated channel for software initiated data transfers
channels can be independently configured and operated
an arbitration scheme that is configurable per channel
two levels of priority
subordinate to Cortex-M4 processor bus usage
data sizes of 8, 16, or 32 bits
address increment of byte, half-word, word, or none
maskable device requests
optional software initiated transfers on any channel
interrupt on transfer completion
The uDMA controller supports several different transfer modes, allowing for complex transfer
schemes. The following transfer modes are provided:
Basic
mode performs a simple transfer when request is asserted by a device. This is ap-
propriate to use with peripherals where the peripheral asserts the request line whenever data
should be transferred. The transfer will stop if request is de-asserted, even if the transfer is
not complete.
Auto-request
mode performs a simple transfer that is started by a request, but will always
complete the entire transfer, even if request is de-asserted. This is appropriate to use with
software initiated transfers.
Ping-Pong
mode is used to transfer data to or from two buffers, switching from one buffer to
the other as each buffer fills. This mode is appropriate to use with peripherals as a way to
ensure a continuous flow of data to or from the peripheral. However, it is more complex to set
up and requires code to manage the ping-pong buffers in the interrupt handler.
Memory scatter/gather
mode is a complex mode that provides a way to set up a list of trans-
fer “tasks” for the uDMA controller. Blocks of data can be transferred to and from arbitrary
locations in memory.
April 8, 2013
271
Содержание Tiva TM4C123GH6PM
Страница 26: ...Boot Loader 26 April 8 2013...
Страница 68: ...Controller Area Network CAN 68 April 8 2013...
Страница 122: ...Hibernation Module 122 April 8 2013...
Страница 136: ...Inter Integrated Circuit I2C 136 April 8 2013...
Страница 152: ...Memory Protection Unit MPU 152 April 8 2013...
Страница 174: ...Pulse Width Modulator PWM Returns None 174 April 8 2013...
Страница 196: ...Synchronous Serial Interface SSI 196 April 8 2013...
Страница 222: ...System Control 222 April 8 2013...
Страница 270: ...UART 270 April 8 2013...
Страница 296: ...uDMA Controller 296 April 8 2013...
Страница 351: ...April 8 2013 351...