Figure 37-2. TRNG Data Generation Sequence
84 clock cycles
84 clock cycles
84 clock cycles
Read TRNG_ISR
Read TRNG_ODATA
Read TRNG_ISR
Read TRNG_ODATA
Clock
trng_int
trng_cr
enable
37.6.2. Basic Operation
37.6.2.1. Initialization
The following register is enable-protected, meaning that it can only be written when the TRNG is disabled
(CTRLA.ENABLE is zero):
Event Control register (EVCTRL)
Enable-protection is denoted by the Enable-Protected property in the register description.
37.6.2.2. Enabling, Disabling and Resetting
The TRNG is enabled by writing '1' to the Enable bit in the Control A register (CTRLA.ENABLE). The
TRNG is disabled by writing a zero to CTRLA.ENABLE.
37.6.3. Interrupts
The TRNG has the following interrupt source:
•
Data Ready(DATARDY): Indicates that a new random data is available in DATA register and ready
to be read.
This interrupt is a synchronous wake-up source. See
Sleep Mode Controller
for details.
Each interrupt source has an interrupt flag associated with it. The interrupt flag in the Interrupt Flag Status
and Clear (INTFLAG) register is set when the interrupt condition occurs. Each interrupt can be individually
enabled by writing a '1' to the corresponding bit in the Interrupt Enable Set (INTENSET) register, and
disabled by writing a '1' to the corresponding bit in the Interrupt Enable Clear (INTENCLR) 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, or the interrupt is disabled. See
for details on how to clear interrupt flags. All interrupt requests from the peripheral are ORed
together on system level to generate one combined interrupt request to the NVIC. Refer to
Nested Vector
Interrupt Controller
for details. The user must read the INTFLAG register to determine which interrupt
condition is present.
Note that interrupts must be globally enabled for interrupt requests to be generated. Refer to
Nested
Vector Interrupt Controller
for details.
Related Links
on page 191
Nested Vector Interrupt Controller
on page 44
37.6.4. Events
The TRNG can generate the following output event:
Atmel SAM L22G / L22J / L22N [DATASHEET]
Atmel-42402E-SAM L22G / L22J / L22N_Datasheet_Complete-07/2016
879