2 – When the tamper controller is configured for CAPTURE while the
RTC is disabled, a noisy pin can trigger the following once the RTC is
enabled:
- the timestamp capture
- the tamper interrupt if enabled
- the DMA trigger if enabled.
Errata reference: 15092
Fix/Workaround:
(1) Set the tamper interrupt enable only when the RTC is enabled:
- Clear the tamper interrupt flags & ID registers (INTFLAG.TAMPER &
TAMPID.TAMPIDx registers).
- Enable RTC (CTRLA.ENABLE = 1).
- Enable the tamper interrupt (INTEN.TAMPER = 1)
To disable the RTC, first disable the Tamper interrupts before disabling the
RTC.
- Disable Tamper interrupts (INTEN.TAMPER=0)
- Disable the RTC (CTRLA.ENABLE=0).
(2) Issue a CPU read of the TIMESTAMP register immediately after the RTC
is enabled. This releases the register lock allowing the capture of the next
(and valid) tamper. This releases the DMA trigger of the erroneous capture
tamper.
3 – When the tamper controller is configured for ACTL, the mismatch
signal used to qualify the DMA and interrupt triggers produces
different results. The DMA implements a level-detection whereas the
interrupt implements an edge-detection. The result is that the DMA may
trigger frequently from the same mismatch compared to the interrupt
which will only trigger once.
Errata reference: 14692
Fix/Workaround:
If no other tamper configurations are implemented (i.e. other
TAMPCTRL.INxACT != WAKE/CAPTURE and EVCTRL.EVEI=0), do not
enable the DMA if possible to prevent performance degradation.
4 – When the tamper controller is configured for timestamp capture,
the RTC tamper interrupt occurs before the TIMESTAMP register is
updated.
Errata reference: 14654
Fix/Workaround:
Two workarounds are available.
- Use the DMA trigger to determine when the TIMESTAMP value is
registered. The DMA trigger sets after the TIMESTAMP register update.
- Implement a wait loop to create a delay when the tamper interrupt handler
routine begins to when the TIMESTAMP register is read. The delay must be
long enough to wait for 3x CLK_RTC period. Example:
* If CLK_RTC frequency is 1KHz, the delay must be at least 3ms.
* If CLK_RTC frequency is 32KHz, the delay must be at least 92us.
5 – When the tamper controller is configured for active layer mode, the
RTC tamper interrupt occurs before the TIMESTAMP register is
updated.
Errata reference: 14810
Fix/Workaround:
Atmel SAM L22G / L22J / L22N [DATASHEET]
Atmel-42402E-SAM L22G / L22J / L22N_Datasheet_Complete-07/2016
1208