EasyManuals Logo

Maxim Integrated MAX32665 User Manual

Maxim Integrated MAX32665
457 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #431 background imageLoading...
Page #431 background image
MAX32665-MAX32668 User Guide
Maxim Integrated Page 431 of 457
Figure 23-2. DMA Block Diagram
WORD
ALIGN
WORD 0
(CRYPTO_DIN_0)
WORD 1
(CRYPTO_DIN_1)
WORD 2
(CRYPTO_DIN_2)
WORD 0
(CRYPTO_DIN_3)
WDATA
RDATA
ADDR
READ FIFO
WORD 0
(CRYPTO_DOUT_0)
WORD 1
(CRYPTO_DOUT_1)
WORD 2
(CRYPTO_DOUT_2)
WORD 0
(CRYPTO_DOUT_3)
WRITE FIFO
DMA_DEST
DMA_SRC
DMA_CNT
CRYPTOGRAPHIC
DMA CONTROL LER
AHB BUS
CRYPTOGRAPHIC
ENGINES
WORD
ALIGN
23.1.1 FIFOs
The read FIFO and write FIFO have programmable sources as shown in Table 23-1 to allow flexibility in their operation.
Table 23-1. Cryptographic Accelerator DMA Sources
READ FIFO SOURCES
WRITE FIFO SOURCES
Read FIFO
APB
AHB DMA
Random Number Generator
Write FIFO
None
Cipher output
During cryptographic operations, a typical setup is to use the AHB DMA as the read FIFO source and the cipher output as
the write FIFO source. Data written to the write FIFO is always written out to the AHB DMA. This setup reads data from
memory and writes the encrypted or decrypted result back to memory.
A Cipher-based Message Authentication Code (CMAC) is similar to a digital signature or a Keyed-Hash Message
Authentication Code (HMAC). CMACs use a cipher in a block-chaining mode to form a cryptographic checksum. In this
mode, the AHB DMA is the read FIFO source, but the cipher output is not written back to memory. Only the final cipher
block is of interest, so set the write FIFO source to none.
You can use DMA to copy memory, similar to the memcpy standard C function, by setting the write FIFO source to the read
FIFO. If the Hamming ECC generator is enabled, you can copy flash memory pages to memory while simultaneously
calculating the error correction code.
You can fill memory with a block of data similar to the memset() standard C function by pointing the write FIFO source to
the read FIFO and setting the read FIFO to the APB. Similarly, you can fill memory with random data by pointing the read
FIFO source to the random number generator and the write FIFO source to the read FIFO.
To decrypt or encrypt data, set the write FIFO source to the cipher output. To implement memcpy() or memset() functions,
or to fill memory with random data, you should set the write FIFO source to the read FIFO. When calculating a hash or
CMAC, disable the write FIFO.

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Maxim Integrated MAX32665 and is the answer not in the manual?

Maxim Integrated MAX32665 Specifications

General IconGeneral
BrandMaxim Integrated
ModelMAX32665
CategoryMotherboard
LanguageEnglish