330
8331B–AVR–03/12
Atmel AVR XMEGA AU
26.5
CRC on DMA Data
CRC-16 or CRC-32 calculations can be performed on data passing through any DMA channel.
Once a DMA channel is selected as the source, the CRC module will continuously generate the
CRC on the data passing through the DMA channel. The checksum is available for readout once
the DMA transaction is completed or aborted. A CRC can be performed not only on communica-
tion data, but also on data in SRAM or I/O memory by passing these data through a DMA
channel. If the latter is done, the destination register for the DMA data can be the data input
(DATAIN) register in the CRC module. Refer to
”DMAC - Direct Memory Access Controller” on
for more details on setting up DMA transactions.
26.6
CRC using the I/O Interface
CRC can be performed on any data by loading them into the CRC module using the CPU and
writing the data to the DATAIN 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. New data can
be written for each cycle. The CRC complete is signaled by writing the BUSY bit in the STATUS
register.