SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The channel chaining capability for the EDMA allows the completion of an EDMA channel transfer to trigger another EDMA channel transfer. The purpose is to allow the ability to chain several events through one event occurrence.
Chaining is different from linking (Section 16.2.4.3.7 Linking Transfers). The EDMA link feature reloads the current channel parameter set with the linked parameter set. The EDMA chaining feature does not modify or update any channel parameter set. It provides a synchronization event to the chained channel (see Section 16.2.4.4.1.3 Chain-Triggered Transfer Request).
Chaining is achieved at either final transfer completion or intermediate transfer completion, or both, of the current channel. Consider a channel m (DMA/QDMA) required to chain to channel n. Channel number n (0-63) needs to be programmed into the EDMA_TPCC_OPT_n[17:12] TCC bit-field of channel m channel options parameter (OPT) set.
Table 16-65 illustrates the number of chain event triggers occurring in different synchronized scenarios. Consider channel 31 programmed with EDMA_TPCC_ABCNT_n[15:0] ACNT = 3, EDMA_TPCC_ABCNT_n[31:16] BCNT = 4, EDMA_TPCC_CCNT_n[15:0] CCNT = 5, and EDMA_TPCC_OPT_n[17:12] TCC = 30.
(Number of chained event triggers on channel 30) | ||
---|---|---|
Options | A-Synchronized | AB-Synchronized |
EDMA_TPCC_OPT_n[22] TCCHEN = 1, EDMA_TPCC_OPT_n[23] ITCCHEN = 0 | 1 (Owing to the last TR) | 1 (Owing to the last TR) |
EDMA_TPCC_OPT_n[22] TCCHEN = 0, EDMA_TPCC_OPT_n[23] ITCCHEN = 1 | 19 (Owing to all but the last TR) | 4 (Owing to all but the last TR) |
EDMA_TPCC_OPT_n[22] TCCHEN = 1, EDMA_TPCC_OPT_n[23] ITCCHEN = 1 | 20 (Owing to a total of 20 TRs) | 5 (Owing to a total of 5 TRs) |