SPRUHM8K December 2013 – May 2024 TMS320F28374D , TMS320F28375D , TMS320F28376D , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28378D , TMS320F28379D , TMS320F28379D-Q1
The uPP internal DMA controller uses a simplified programming model similar to 2D transfers performed by any other DMA at system level. Each DMA channel may be configured with four parameters: window address, byte count, line count, and line offset address.
Figure 24-9 shows a typical DMA window defined by these parameters.
Certain values of the line offset address have special implications on the structure of the data buffer:
To program a DMA transfer, write the appropriate fields in the DMA channel descriptor registers for DMA Channel I or for DMA Channel Q. If the associated I/O channel is initialized and idle, the DMA transfer and I/O transaction begins immediately. Section 24.4.10 describes a step-by-step process for configuring the I/O channel and DMA channels to start a uPP transfer.
Each DMA channel allows a second descriptor to be queued while the previously programmed DMA transfer is still running. The PEND status bit in channel status register reports whether a new set of DMA parameters may be written to the DMA descriptor registers. Each DMA channel can have at most one active transfer and one queued transfer. This allows each I/O channel to perform uninterrupted, consecutive transactions across DMA transfer boundaries.
This DMA controller does not support automatically reloading DMA transfer descriptors. Each successive descriptor set must be explicitly written to the configuration registers by software. All uPP interrupt events originate in the internal DMA controller. Section 24.4.6 lists and explains all uPP interrupt events.
The internal DMA controller always writes data in bursts of 64 bytes. However, DMA read operations have configurable burst size, which may be set per channel using the RDSIZEI and RDSIZEQ bits in the uPP threshold configuration register. A DMA channel waits until the specified number of bytes leaves its internal buffer before performing another burst read from memory.
Note that the TXSIZEA bit in threshold configuration register is not DMA parameters; instead, it control transmit thresholds for the uPP interface channel.