Data Sheet
852
Atmel | SMART SAM D21 [DATASHEET]
Atmel-42181G–SAM-D21_Datasheet–09/2015
32.6.7 Averaging
Averaging is a feature that increases the sample accuracy, though at the cost of reduced sample rate. This feature is
suitable when operating in noisy conditions. Averaging is done by accumulating m samples, as described in
“Accumulation” on page 851, and divide the result by m. The averaged result is available in the RESULT register. The
number of samples to be accumulated is specified by writing to AVGCTRL.SAMPLENUM as described in Table 32-3.
The division is obtained by a combination of the automatic right shift described above, and an additional right shift that
must be specified by writing to the Adjusting Result/Division Coefficient field in AVGCTRL (AVGCTRL.ADJRES) as
described in Table 32-3. Note that to be able to perform the averaging of two or more samples, the Conversion Result
Resolution field in the Control B register (CTRLB.RESSEL) must be written to one.
Averaging AVGCTRL.SAMPLENUM samples will reduce the effective sample rate by .
When the required average is reached, the INTFLAG.RESRDY bit is set.
Table 32-3. Averaging
8 0x3 15 bits 0 15 bits 0
16 0x4 16 bits 0 16 bits 0
32 0x5 17 bits 1 16 bits 2
64 0x6 18 bits 2 16 bits 4
128 0x7 19 bits 3 16 bits 8
256 0x8 20 bits 4 16 bits 16
512 0x9 21 bits 5 16 bits 32
1024 0xA 22 bits 6 16 bits 64
Reserved 0xB –0xF 12 bits 12 bits 0
Number of
Accumulated Samples
AVGCTRL.
SAMPLENUM
Intermediate
Result Precision
Number of Automatic
Right Shifts
Final Result
Precision
Automatic
Division Factor
1
AVGCTRL.SAMPLENUM
-------------------------------------------------------------------
Number of
Accumulated
Samples
AVGCTRL.
SAMPLENUM
Intermediate
Result
Precision
Number of
Automatic
Right Shifts
Division
Factor
AVGCTRL.
ADJRES
Total
Number
of Right
Shifts
Final
Result
Precision
Automatic
Division
Factor
1 0x0 12 bits 0 1 0x0 12 bits 0
2 0x1 13 0 2 0x1 1 12 bits 0
4 0x2 14 0 4 0x2 2 12 bits 0
8 0x3 15 0 8 0x3 3 12 bits 0
16 0x4 16 0 16 0x4 4 12 bits 0
32 0x5 17 1 16 0x4 5 12 bits 2
64 0x6 18 2 16 0x4 6 12 bits 4
128 0x7 19 3 16 0x4 7 12 bits 8
256 0x8 20 4 16 0x4 8 12 bits 16