SAADC offers multiple techniques to improve accuracy. Noise shaping modes provide the highest performance by enabling a delta-sigma configuration with analog filtering, oversampling, and digital filtering. Pure oversampling is also supported.
Oversampling
Oversampling can improve the signal-to-noise ratio (SNR) by approximately 10log(OSR), where OSR is the oversampling ratio. Each oversampled result is obtained by acquiring 2OVERSAMPLE samples and combining them in an accumulate-and-average filter.
Oversampling and scanning can only be combined with BURST mode enabled. Without BURST mode, oversampling and scanning will average across multiple input channels.
- Use the built-in SAADC local timer and the SAMPLERATE register to perform sampling.
- Use the TIMER peripheral and DPPI to trigger the SAADC SAMPLE task, to sample 2OVERSAMPLE times at a fixed rate.
- Trigger the SAMPLE task 2OVERSAMPLE times from software.
- Enable BURST mode and trigger the SAMPLE task once.
BURST mode can be enabled to avoid manually triggering the SAMPLE task 2OVERSAMPLE times. When BURST is enabled, the ADC automatically samples the input 2OVERSAMPLE times consecutively, with an approximate timing of (tACQ + tCONV) × 2OVERSAMPLE. Apart from extending the conversion time, it otherwise behaves like one-shot mode.
A DONE event indicates that a single sample has been acquired, while a RESULTDONE event indicates that enough samples have been gathered to transfer an oversampled result to RAM.
Noise shaping
Noise shaping is implemented using the successive approximation ADC within a first-order delta-sigma loop. The output is decimated and subsequently filtered with FIR filters. In the noisehaping modes, the sampling rate is 1 MS/s, and high-resolution settings (RESOLUTION ≥ 12) are recommended. Enable noise shaping by configuring the NOISESHAPE register. Depending on the selected mode, the input signal must be bandwidth limited. See Electrical specification parameters fBW,NS for details.
- 0: Disabled: Disable noise shaping.
- NS1: Noise shaping and decimation by 8, giving a samplerate of 125 kS/s.
- NS2: Noise shaping and decimation by 32, giving a samplerate of 31.25 kS/s. Recommended resolution setting is 14 bits.