26.3.1 Clock Selection
The ADC logic is partitioned into two clock domains: HFPERCLK and ADC_CLK. The HFPERCLK domain contains the register inter-
face logic, APORT request logic and portions of FIFO read logic. The HFPERCLK is the default clock for the ADC peripheral. The rest
of the ADC is clocked by the ADC_CLK domain. The ADC_CLK is chosen by ADCCLKMODE bit in the ADCn_CTRL register.
The ADC_CLK is the main clock for the ADC engine. If the ADCCLKMODE is set to SYNC, the ADC_CLK is equal to the HFPERCLK
and the ADC operates in synchronous mode. If the ADCCLKMODE is set to ASYNC, the ADC_CLK is ASYNCCLK and the ADC oper-
ates in asynchronous mode. This distinction is important to understand as there are additional system restrictions and benefits to run-
ning the ADC in asynchronous mode detailed in
26.3.15 ASYNC ADC_CLK Usage Restrictions and Benefits
.
Note:
Whenever ADC is being used in asynchronous mode, then HFPERCLK must be at least 1.5 times higher than the ADC_CLK.
The ADC has an internal clock prescaler, controlled by PRESC bits in ADCn_CTRL, which can divide the ADC_CLK by any factor be-
tween 1 and 128 to generate the conversion clock (adc_clk_sar) for the ADC. This adc_clk_sar is also used to generate acquisition
timing. Note that the maximum clock frequency for adc_clk_sar is 16 MHz. The ADC warmup time is determined by ADC_CLK and not
by adc_clk_sar.
ASYNCCLK is a clock source from the CMU which is considered asynchronous to HFPERCLK. The CMU_ADCCTRL register can be
programmed to request and use ASYNCCLK. It has multiple choices for its source, including AUXHFRCO, HFXO and HFSRCCLK, and
can optionally be inverted. If the chosen source for ASYNCCLK is not active at the time of request, the CMU enables the source oscilla-
tor upon receiving the request, and shuts down the oscillator when the ADC stops requesting the clock. Consult the CMU chapter for
details of how to program the clock sources for the ASYNCCLK and oscillator start-up time details.
Software may choose a clock request generation scheme by programming the ASYNCCLKEN and WARMMODE of the ADCn_CTRL
register. If the ASYNCCLKEN is set to ASNEEDED with WARMMODE set to NORMAL, the ADC requests ASYNCCLK only when a
conversion trigger is activated. The ASYNCCLK request is withdrawn after the conversion is complete. All other options keep the
ASYNCCLK request "ON" until software programs these fields otherwise or changes the ADCCLKMODE to SYNC.
For EM2 Deep Sleep or EM3 Stop operation of the ADC, the ADC_CLK must be configured for AUXHFRCO as this is the only available
option during EM2 Deep Sleep or EM3 Stop. The ADC_CLK source should not be changed as the system enters or exits various ener-
gy modes, otherwise measurement inaccuracies will result.
Reference Manual
ADC - Analog to Digital Converter
silabs.com
| Building a more connected world.
Rev. 1.1 | 847