19.5.6 Events

The DMAC can generate the following events:

Table 19-2. DMAC Event Generators
Generator NameDescriptionEvent TypeGenerating Clock DomainLength of Event
PeripheralEvent
DMACCH_nTransfer on channel n is completePulseCLK_DMAC_AHBOne CLK_DMAC_AHB period

Writing a ‘1’ to the Channel Event Output Enable bit in the Channel Control B (CHCTRLB.EVOE) register enables the corresponding event output. Writing a ‘0’ to this bit disables the corresponding event output.

The event output cause is selected by writing to the Event Output Selection bits in the Block Transfer Control (BTCTRL.EVOSEL) register. It is possible to generate events after each block transfer (BTCTRL.EVOSEL = 0x1) or after each beat transfer (BTCTRL.EVOSEL = 0x3). To enable the generation of an event when a transaction is complete, the block event selection must be set only in the last transfer descriptor.

Note: Only the 2 lowest-numbered DMA channels can be configured as event output generators.

Figure 19-12 shows an example where the event output generation is enabled for the first block transfer and disabled for the second block.

Figure 19-12. Event Output Generation

The DMAC can connect to the following events:

Table 19-3. Event Users
User NameDescriptionInput DetectionChannel Path Type
PeripheralInput
DMACCH_nChannel nLevel

Asynchronous
Synchronous
Resynchronized

Writing a ‘1’ to a Channel Event Input Enable bit in the Channel Control B register (CHCTRLB.EVIE) enables the corresponding action on input event. Writing a ‘0’ to this bit disables the corresponding action on input event.

Note: Only the 2 lowest-numbered DMA channels can be configured as event users.

The event users can trigger the following actions:

Table 19-4. Event Actions
Event InputEvent ActionDescription
CH_nTRIG

Normal transfer or conditional transfer on strobe triggered by an event

CTRIGConditional transfer triggered by an event
CBLOCKConditional block transfer triggered by an event
SUSPENDSuspends a channel's operation on event
RESUMEResumes a suspended channel's operation on event
SSKIPSkips the next block suspend action

Refer to the EVSYS - Event System chapter for details on configuring the event system.