SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
The source and destination end pointers must be set to the last address for the transfer (inclusive). Because the peripheral pointer does not change, it simply points to the peripheral's data register.
The control word at offset 0x078 must be programmed according to Table 49-10.
Field in DMACHCTL | Bits | Value | Description |
---|---|---|---|
DSTINC | 31:30 | 3 | Destination address does not increment |
DSTSIZE | 29:28 | 0 | 8-bit destination data size |
SRCINC | 27:26 | 0 | 8-bit source address increment |
SRCSIZE | 25:24 | 0 | 8-bit source data size |
reserved | 23:22 | 0 | Reserved |
DSTPROT0(1) | 21 | 0 | Privileged access protection for destination data writes |
reserved | 20:19 | 0 | Reserved |
SRCPROT0(1) | 18 | 0 | Privileged access protection for source data reads |
ARBSIZE | 17:14 | 2 | Arbitrates after 4 transfers |
XFERSIZE | 13:4 | 63 | Transfer 64 items |
NXTUSEBURST | 3 | 0 | N/A for this transfer type |
XFERMODE | 2:0 | 1 | Use Basic transfer mode |
In this example, it is not important if the peripheral makes a single request or a burst request. Because the peripheral has a FIFO that triggers at a level of 4, the arbitration size is set to 4. If the peripheral does make a burst request, then 4 bytes are transferred, which is what the FIFO can accommodate. If the peripheral makes a single request (if there is any space in the FIFO), then one byte is transferred at a time. If it is important to the application that transfers only be made in bursts, then the Channel Useburst SET[7] bit should be set in the DMA Channel Useburst Set (DMAUSEBURSTSET) register.