42.7.4 Control Register D (ADC)

Table 42-10. Register Bit Attribute Legend
SymbolDescriptionSymbolDescriptionSymbolDescription
RReadable bitHCCleared by Hardware(Grey cell)Unimplemented
WWritable bitHSSet by HardwareXBit is unknown at Reset
KWrite to clearSSoftware settable bit
Name: CTRLD
Offset: 0x10
Reset: 0x00000000
Property: Write-Protected, Enable-Protected

Bit 3130292827262524 
  VREFSEL[2:0]WKUPCLKCNT[3:0] 
Access R/WR/WR/WR/WR/WR/WR/W 
Reset 0000000 
Bit 2322212019181716 
 ANLEN3ANLEN2ANLEN1ANLEN0CHNEN3CHNEN2CHNEN1CHNEN0 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 
Bit 15141312111098 
   CTLCKDIV[5:0] 
Access R/WR/WR/WR/WR/WR/W 
Reset 000000 
Bit 76543210 
          
Access  
Reset  

Bits 30:28 – VREFSEL[2:0] VREF Input Selection

VREFSEL[2:0]ADREF+ADREF-
000AVDDAVSS
001External VREFHAVSS
010-111ReservedReserved
Note:
  1. This bit is Enabled Protected. Writes are ignored when CTRLA.ENABLE = 1 and return a bus error.

Bits 27:24 – WKUPCLKCNT[3:0] Wake-Up TAD Clock Count bits

These bits represent the number of ADC TAD clocks required to warm-up the ADC module before it can perform conversion. Although the clocks are specific to each ADC, the WKUPCLKCNT bit is common to all ADC modules.

1111 = 215 = 32,768 TAD clocks

* * *

* * *

0110 = 26 = 64 TAD clocks

0101 = 25 = 32 TAD clocks

0100 = 24 = 16 TAD clocks

0011 = 24 = 16 TAD clocks

0010 = 24 = 16 TAD clocks

0001 = 24 = 16 TAD clocks

0000 = 24 = 16 TAD clocks

Note:
  1. Minimum required ADCx warm-up time (i.e., WKUPCLKCNT) is 50 μs. (i.e., TAD * WKUPCLKCNT).
  2. TAD = [1 / ((GCLK_ADCx Freq / (CTRLD.CTLCKDIV+1)) / (2 * CORCTRLn.ADCDIV)) ] or

    (GCLK_ADCx Period * (CTRLD.CTLCKDIV+1)) * (2 * ADCDIV).

  3. These bits are Enabled Protected. Writes are ignored when CTRLA.ENABLE = 1 and return a bus error.
  4. After enabling the Analog and Bias Circuitry for the ADC Module x, CTRLD.ANLENx = 1, the user must poll the CTLINTFLAG.CRRDYx flag and wait for it to be set before allowing any ADC trigger events or ADC sample/conversions to begin. Failure to do so will yield inaccurate results for up to 50 us.
  5. After enabling the CTRLD.CHNENn ADC module digital logic it only requires one TAD clock before the digital logic is ready.

Bits 20, 21, 22, 23 – ANLENx Analog and Bias Circuitry Enable for the ADC module x

Note:
  1. The CALCTRL0 register must be initialized by the user software to the factory-provided values in the Calibration Configuration Register FCCFG65 before setting ANLENx = 1. This applies to every ADC module that will be used by
  2. CTRLA.ANAEN = 1 must be set prior to setting ANLENx = 1.
  3. This bit is Enabled Protected. Writes are ignored when CTRLA.ENABLE = 1 and return a bus error.
ValueDescription
0ADC3 Analog and bias circuitry powered down and clocks suspended. Analog logic power saving mode.
1Analog and bias circuitry enabled. Once the analog and bias circuit is enabled CTRLA.ANLEN = 1 and ANLENx, the ADC module needs a warm-up time, as defined by the WKUPCLKCNT<3:0> bits.

Bits 16, 17, 18, 19 – CHNENn ADC Module n Digital Enable

Note:
  1. This bit is Enabled Protected. Writes are ignored when CTRLA.ENABLE = 1 and return a bus error.
  2. ANLENn qualifies CHNENn: If ANLENn = 0, then digital logic is also disabled.
ValueDescription
0ADCn digital logic disabled. No trigger, sample or conversion events will be processed. (power-saving mode with fast 2 TAD clock wakeup provided ANLENn = 1).
1ADCn digital logic enabled (required for active operation).

Bits 13:8 – CTLCKDIV[5:0] A/D Clock Source to Control Clock Divider

The CTLCKDIV bit field divides the GCLK_ADC input clock into the ADC Module control clock CTL_CLK scaled by CTRLD.CTLCKDIV with period TQ.

Note: This bit is Enabled Protected. Writes are ignored when CTRLA.ENABLE = 1 and returns a bus error.
ValueDescription
111111TGCLK_ADCx·(CTLCKDIV[5:0]+1) = 64·TGCLK_ADCx = TQ
111110TGCLK_ADCx·(CTLCKDIV[5:0]+1) = 63·TGCLK_ADCx = TQ
......
000100TGCLK_ADCx·(CTLCKDIV[5:0]+1) = 5·TGCLK_ADCx = TQ
000011TGCLK_ADCx·(CTLCKDIV[5:0]+1) = 4·TGCLK_ADCx = TQ
000010TGCLK_ADCx·(CTLCKDIV[5:0]+1) = 3·TGCLK_ADCx = TQ
000001TGCLK_ADCx·(CTLCKDIV[5:0]+1) = 2·TGCLK_ADCx = TQ
000000TGCLK_ADCx·(CTLCKDIV[5:0]+1) = 1·TGCLK_ADCx = TQ