Atmel Xplained Pro Evaluation Kit for the ATSAMD21J18A Microcontroller ATSAMD21-XPRO ATSAMD21-XPRO Data Sheet

Product codes
ATSAMD21-XPRO
Page of 1018
280
Atmel | SMART SAM D21 [DATASHEET]
Atmel-42181C–SAM-D21_Datasheet–07/2014
CRC can be performed on any data by loading them into the CRC module using the CPU and writing the data to the 
 register. Using this method, an arbitrary number of bytes can be written to the register by the CPU, and 
CRC is done continuously for each byte. This means if a 32-bit data is written to the CRCDATAIN register the CRC 
module takes 4 cycles to calculate the CRC. The CRC complete is signaled by the CRCBUSY bit in the 
register. New data can be written only when CRCBUSY flag is not set.
19.6.4 DMA Operation
Not applicable. 
19.6.5 Interrupts
The DMAC has the following interrupt sources: 
z
Transfer Complete (TCMPL): Indicates that a block transfer is completed on the corresponding channel. Refer to 
z
Transfer Error (TERR): Indicates that a bus error has occurred during a burst transfer, or that an invalid descriptor 
has been fetched. Refer to 
 for details.
z
Channel Suspend (SUSP): Indicates that the corresponding channel has been suspended. Refer to 
Each interrupt source has an interrupt flag associated with it. The interrupt flag in the Channel Interrupt Flag Status and 
Clear (
) register is set when the interrupt condition occurs. Each interrupt can be individually enabled by 
writing a one to the corresponding bit in the Channel Interrupt Enable Set (
) register, and disabled by 
writing a one to the corresponding bit in the Channel Interrupt Enable Clear (
) register. An interrupt request 
is generated when the interrupt flag is set and the corresponding interrupt is enabled. The interrupt request remains 
active until the interrupt flag is cleared, the interrupt is disabled, the DMAC is reset or the corresponding DMA channel is 
reset. See 
 for details on how to clear interrupt flags. All interrupt requests are ORed together on system 
level to generate one combined interrupt request to the NVIC. Refer to 
 
for details.
The user must read the Channel Interrupt Status (
) register to identify the channels with pending interrupts 
and must read the Channel Interrupt Flag Status and Clear (
) register to determine which interrupt condition 
is present for the corresponding channel. It is also possible to read the Interrupt Pending register (
), which 
provides the lowest channel number with pending interrupt and the respective interrupt flags.
Note that interrupts must be globally enabled for interrupt requests to be generated. Refer to 
19.6.6 Events
The DMAC can generate the following output events:
z
Channel (CH): Generated when a block transfer for a given channel has been completed, or when a beat transfer 
within a block transfer for a given channel has been completed. Refer to 
details.
Writing a one to the Channel Control B Event Output Enable bit (
.EVOE) enables the corresponding output 
event configured in the Event Output Selection bit group in the Block Transfer Control register (
.EVOSEL). 
Writing a zero to 
.EVOE disables the corresponding output event. Refer to 
 for details on configuring the event system. 
The DMAC can take the following actions on an input event:
z
Transfer and Periodic Transfer Trigger (TRIG): normal transfer or periodic transfers on peripherals are enabled
z
Conditional Transfer Trigger (CTRIG): conditional transfers on peripherals are enabled
z
Conditional Block Transfer Trigger (CBLOCK): conditional block transfers on peripherals are enabled
z
Channel Suspend Operation (SUSPEND): suspend a channel operation
z
Channel Resume Operation (RESUME): resume a suspended channel operation