42.7.3 Control Register C (ADC)

Table 42-9. 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: CTRLC
Offset: 0x8
Reset: 0x00000000
Property: Write-Protected, Enable-Protected

Bit 3130292827262524 
  COREINTERLEAVED[2:0]     
Access R/WR/WR/W 
Reset 000 
Bit 2322212019181716 
          
Access  
Reset  
Bit 15141312111098 
 CNT[15:8] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 
Bit 76543210 
 CNT[7:0] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 

Bits 30:28 – COREINTERLEAVED[2:0]

This bit-field selects the ADC modules to be interleaved.
Number of

Interleaved

ADCs Used

Interleaved

ADC

Modules

CTRLC.

CORINTERLEAVED

12-bit Msps (Max)

[Min. Trigger rate]

10-bit Msps (Max)

[Min. Trigger rate]

8-bit Msps (Max)

[Min. Trigger rate]

6-bit Msps (Max)

[Min. Trigger rate]

21,2=0b0011 / (8 * TAD)

[8 TAD]

1/ (7 * TAD)

[7 TAD]

1/ (6 * TAD)

[6 TAD]

1 / (4.5 * TAD)

[4.5 TAD]

0,1=0b1001 / (10 * TAD)

[10 TAD]

1/ (8.5 * TAD)

[8.5 TAD]

1/ (7,5 * TAD)

[7.5 TAD]

1 / (6.5 * TAD)

[6.5 TAD]

31,2,3=0b0101 / (5.5 * TAD)

[5.5 TAD]

1/ (5 * TAD)

[5 TAD]

1 / (4 *TAD)

[4 TAD]

1 / (3 * TAD)

[3 TAD]

0,1,2=0b1011 / (6.5 * TAD)

[6.5 TAD]

1 / (6 * TAD)

[6 TAD]

1 / (5 * TAD)

[5 TAD]

1 / (4.5 * TAD)

[4.5 TAD]

40,1,2,3=0b0111 / (5 * TAD)

[5 TAD]

1 / (4.5 * TAD)

[4.5 TAD]

1 / (4 *TAD)

[4 TAD]

1 / (3.5 * TAD)

[3.5 TAD]

Minimum CORCTRLn.SAMC sample time values for 12/10/8/6-bit resolution

  • ADC0: CORCTRL0.SAMC = 4 (i.e., = 6 TAD sample time)
  • ADC1: CORCTRL1.SAMC = 1 (i.e., = 3 TAD sample time)
  • ADC2: CORCTRL2.SAMC = 1 (i.e., = 3 TAD sample time)
  • ADC3: CORCTRL3.SAMC = 1 (i.e., = 3 TAD sample time)
  • Conversion Time = (#bits resolution + 1)
Important: When interleaving ADC modules, the user must use the same worst case CORCTRLn.SAMC value of the slowest ADC for all the active interleaved ADC’s SAMC values. All ADC must use the same SAMC sample time. In this case ADC0, 6 TAD is the minimum sample time and ADC1/2/3 must be the same if used together in interleaved mode with ADC0 for the fastest configuration. ADC0 is the slowest as reflected in the maximum Msps values shown in the table above.
Note:
  1. The table above assumes event trigger source GCLK is 2x GCLK_ADC. This is what allows 0.5 TAD increments. If not, and trigger source GCLK is equal to GCLK_ADC, then maximum throughput rate and minimum trigger rate must be rounded up to next whole integer TAD value.
  2. TAD is the ADC_CLOCK period time in nano seconds, refer to the ADC Electrical Specifications.

    ADCn TAD = GLK_ADC / [(CTRLB.CTLCKDIV +1) * (CORCTRLn.ADCDIV * 2)]

  3. Assumes EVSYS trigger peripheral clock = (2 / TAD) = (2 * GCLK_ADC).
  4. Must use the same analog input AINx on ADCn modules being interleaved.
  5. These bits are Enabled Protected, and rites are ignored when CTRLA.ENABLE = 1 and will return a bus error.
  6. ADC0, due to the higher number of analog inputs it services have a higher minimum CORCTRLn.SAMC sample time that the user must consider since the slowest ADC affects the maximum combination of ADC interleaved through put rate. ADC 1, 2, and 3 have an identical CORCTRLn.SAMC minimum sample time.
Important: It is important that all ADCs used in an ADC interleaved group use the same CORCTRLn.ADCDIV and CORCTRLn.SAMC settings, and the same singular peripheral for the Event System (EVSYS) and ADC trigger source to minimize clock skew and phase shifts between ADC modules to maintain a consistent and coherent sample or conversion timing between all the linked interleaved ADC’s.
ValueDescription
000Interleaving off
100Interleaving cores 0,1
001 Interleaving cores 1,2
101Interleaving cores 0,1,2
010Interleaving cores 1,2,3
011Interleaving cores 0,1,2,3
100-111Reserved

Bits 15:0 – CNT[15:0] This bit-field selects an alternate trigger source delay counter

Free-running counter based on CTL_CLK times out when it reaches this value. At time out, the STRIG synchronous trigger will fire.

Important:
  1. This register is not valid unless either [CORCTRLn.STRGSRC = 0x4 plus CHNCFG4/5n.TRGSRCx = 0x3 plus CHNCFG2n.CSSx = 1] or [CHNCFG4n.TRGSRCx = 0x4 plus CTRLB.SWCNVEN = 0] for Synchronous Trigger from CTRLC.CNT.
  2. CTL_CLK = GCLK_ADC / (CTRLD.CTLCKDIV+1).
  3. This bit is Enabled Protected (writes are ignored when CTRLA.ENABLE = 1 and return a bus error).