Datasheet

Table Of Contents
The following figure shows an example where triggers are used with two linked block descriptors.
Figure 22-7. Trigger Action and Transfers
CHENn
Trigger
PENDCHn
BUSYCHn
Data Transfer
CHENn
Trigger
PENDCHn
BUSYCHn
Data Transfer
CHENn
Trigger
PENDCHn
BUSYCHn
Data Transfer
Block Transfer
Block Transfer
Block Transfer
Block Transfer
Block Transfer
Block Transfer
Trigger Lost
Trigger Lost
Trigger Lost
Transaction Trigger Action
Block Trigger Action
Beat Trigger Action
BEAT
BEAT
BEAT
BEAT
BEATBEAT
BEAT
BEAT
BEAT
BEAT
BEATBEAT
BEAT
BEAT
BEAT
BEAT
BEATBEAT
If the trigger source generates a transfer request for a channel during an ongoing transfer, the new
transfer request will be kept pending (CHSTATUSn.PEND=1), and the new transfer can start after the
ongoing one is done. Only one pending transfer can be kept per channel. If the trigger source generates
more transfer requests while one is already pending, the additional ones will be lost. All channels pending
status flags are also available in the Pending Channels register (PENDCH).
When the transfer starts, the corresponding Channel Busy status flag is set in Channel n Status register
(CHSTATUSn.BUSY). When the trigger action is complete, the Channel Busy status flag is cleared. All
channel busy status flags are also available in the Busy Channels register (BUSYCH) in DMAC.
22.6.2.7 Addressing
Each block transfer needs to have both a source address and a destination address defined. The source
address is set by writing the Transfer Source Address (SRCADDR) register, the destination address is set
by writing the Transfer Destination Address (SRCADDR) register.
The addressing of this DMAC module can be static or incremental, for either source or destination of a
block transfer, or both.
SAM D5x/E5x Family Data Sheet
DMAC – Direct Memory Access Controller
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 385