Texas Instruments CC2650DK Benutzerhandbuch

Seite von 1570
AES Cryptoprocessor Overview
Master clock.
NOTE:
The [IRQSTAT] register should be checked for possible errors if bus errors can occur in the
system, which is typically valid in a debugging phase, or in systems where bus errors can
occur during a DMA operation.
10.1.6.2.2 Interrupting DMA Transfers
If the host wants to stop a DMA transfer to abort the operation, the host can disable a channel using the
[DMACHxCTL] registers. Once the EN bit of this register is set to 0, no new DMA transfer is requested by
this channel and the current active transfer will be finished. Alternatively, all active channels can be
stopped by activating the DMAC soft reset [DMASWRESET].
NOTE:
When stopping the DMAC, the host must stop all active channels.
The state of the DMAC channel must be checked using the [DMASTAT] register. When the CHx_ACTIVE
bit of this register for the disabled channel goes to 0, the DMAC channel is stopped.
To stop the DMAC in combination with the AES engine, the AES engine must be set in idle mode first,
which is done by writing zeroes to the length registers, followed by disabling all modes in the [AESCTL]
register.
Stopping the DMAC channels might leave the master control module in an unfinished state due to pending
events from the engines that will never occur. Therefore, to correctly recover the engine, the master
control soft reset must be issued (by SWRESET) after all active DMAC channels are stopped.
10.1.6.2.3 Interrupts and Harware and Software Synchronization
This section describes the important relation of the RESULT_AVAIL interrupt activation and the data
writing completion of the DMAC inside the crypto core.
The RESULT_AVAIL interrupt is activated when the AHB master finishes the data write transfer from the
crypto core and the internal operation is completed. However, that does not guarantee that data has been
written to the external memory, due to latency from the AHB master to the destination (typically a
memory). This latency might occur in the AHB bus subsystem outside of the crypto core, as this system
possibly contains bridges.
NOTE:
If the latency described above can occur, the host must ensure (using a timeout or other
synchronization mechanisms) that external memory reads are only performed after all
memory write operations are finished.
10.1.6.3 Encryption and Decryption
The crypto engine (AES) transfers data over the following interfaces:
AES accepts input data from two sources: AHB slave interface and DMA. Within one operation, it is
possible to combine data from these two sources: write data from the slave interface, and write data
from the DMA to complete the operation.
Input IV and length must be supplied using the AHB slave interface. The output IV can be read using
the slave interface only.
Result data must be read using the same interface as the input data: either using the slave interface or
DMA.
The result tag for operations with authentication can be read using the slave interface or DMA.
812
SWCU117A – February 2015 – Revised March 2015
Copyright © 2015, Texas Instruments Incorporated