32.3.3.1 Operation Modes
The ADC supports four different operation modes, with single-ended conversions possible for each mode. This is configured in the Command (ADCn.COMMAND) register.
The operation modes can be split into three groups:
- Single mode - Single conversion per trigger, with 8- or 10-bit conversion output
- Series Accumulation mode - One conversion per trigger, with an accumulation of n samples
- Burst Accumulation mode - A burst with n samples accumulated as fast as possible after a single trigger
Series and Burst modes utilize 10-bit conversions and can be configured with the accumulated result. The number of samples to accumulate is controlled by the SAMPNUM bit field in the Control F (ADCn.CTRLF) register. The accumulator is always reset to zero when a new Series or Burst accumulation is started.
The table below shows an overview of the available operation modes.
Operation Mode | COMMAND Mode | Conversions Per Trigger | Accumulation Type | RESULT Update |
---|---|---|---|---|
Single 8-bit | 0 | 1 | N/A | Every conversion |
Single 10-bit | 1 | |||
Series Accumulation | 2 | 1 | Full | After SAMPNUM conversions |
Burst Accumulation | 3 | SAMPNUM | Full | After SAMPNUM conversions |
Operation Mode | START/Trigger | FREERUN | LOWLAT | Behavior |
---|---|---|---|---|
Series | IMMEDIATE/ MUX_WRITE/ EVENT_TRIGGER | X | 0 | Trigger one conversion in a series. ADC warm-up is required before each conversion, and the ADC is not kept warm after the conversion is complete. |
X | 1 | Trigger one conversion in a series. The ADC is kept warm between conversions and after the series accumulation has been completed.(1) | ||
Burst | IMMEDIATE/ MUX_WRITE/ EVENT_TRIGGER | 0 | 0 | Start a burst accumulation. ADC warm-up is required before the first conversion and the ADC is not kept warm after completing the burst accumulation. |
0 | 1 | Start a burst accumulation. ADC warm-up is required before the first conversion and the ADC is kept warm after completing the burst accumulation. | ||
1 | X | Start a burst accumulation. No ADC warm-up is required before the
first conversion if LOWLAT is set to ‘1 ’ and the ADC
has had time to warm up. A new trigger is automatically issued when a
burst accumulation is complete such that a new burst accumulation is
started immediately, always keeping the ADC warm.(1) |
Note:
- There may be an ADC warm-up on the first conversion if the ADC was cold at that point. Enabling LOWLAT does not force the main clock to run when the ADC is not converting. The main clock source will stop if no other peripheral is requesting it. Therefore, a clock source startup time delay may be experienced when triggering a conversion even though LOWLAT is enabled. The main clock must be kept running even if the ADC is not requesting it to avoid this delay. This can be achieved by either enabling RUNSTDBY in the clock controller, using the IDLE sleep mode, or ensuring that another peripheral is requesting the clock.