SAADC — Successive approximation analog-to-digital converter

SAADC is a differential successive approximation register (SAR) analog-to-digital converter (ADC).

The main features of SAADC are the following:

Shared resources

The ADC can coexist with COMP and other peripherals using one of AIN0-AIN7, provided these are assigned to different pins.

It is not recommended to select the same analog input pin for both modules.

Overview

The ADC supports up to eight external analog input channels. It can be operated in One-shot mode with sampling under software control, or Continuous mode with a programmable sampling rate.

The analog inputs can be configured as eight single-ended inputs, four differential inputs, or a combination of these. Each channel can be configured to select one of the following:
  • AIN0 to AIN7 pins
  • VDD pin
  • VDDHDIV5 (through VDDH pin)
Channels can be sampled individually in One-shot or Continuous sampling modes. Using Scan mode, multiple channels can be sampled in sequence. Channels can also be oversampled to improve noise performance.
Figure 1. Simplified ADC block diagram

Simplified ADC block diagram

Internally, the ADC is always a differential analog-to-digital converter, but by default it is configured with single-ended input SE in the MODE field of the CH[n].CONFIG register. In Single-ended (SE) mode, the negative input will be shorted to ground internally.

In Single-ended mode, the assumption is that the internal ground of the ADC is the same as the external ground that the measured voltage is referred to. The ADC is thus sensitive to ground bounce on the PCB. This can be reduced by configuring SAADC to use differential measurent setting the MODE field of the CH[n].CONFIG register to Diff (differential).

Digital output

The output result of the ADC depends on the settings in the CH[n].CONFIG and RESOLUTION registers as shown in the following equation.

RESULT = [V(P) – V(N) ] * GAIN/REFERENCE * 2(RESOLUTION - m)
Table 1. Equation variables
Variable Description
V(P) Voltage at input P
V(N) Voltage at input N
GAIN Selected gain setting
m Mode setting (Use m=0 if CONFIG.MODE=SE, or m=1 if CONFIG.MODE=Diff)
REFERENCE Selected reference voltage

The result generated by the ADC will deviate from the expected due DC errors like offset, gain, differential non-linearity (DNL), and integral non-linearity (INL). See Electrical specification for details on these parameters. The result can also vary due to AC errors like non-linearities in the GAIN block, settling errors due to high source impedance and sampling jitter. For battery measurement, the DC errors are most noticeable.

The ADC has a wide selection of gains controlled in the GAIN field of the CH[n].CONFIG register. If CH[n].CONFIG.REFSEL=0, the input range of the ADC core is nominally ±0.6 V differential, and the input must be scaled accordingly.

The ADC has a temperature dependent offset. If the ADC is to operate over a large temperature range, it is recommended to run CALIBRATEOFFSET at regular intervals. The CALIBRATEDONE, DONE, and RESULTDONE events will be generated when the calibration has completed.

Analog inputs and channels

Up to eight analog input channels, CH[n](n=0..7), can be configured.

See Shared resources for shared input with comparators.

Any of the available channels can be enabled for the ADC to operate in One-shot mode. If more than one CH[n] is configured, the ADC enters Scan mode.

An analog input is selected as a positive converter input if CH[n].PSELP is set, setting CH[n].PSELP also enables the particular channel.

An analog input is selected as a negative converter input if CH[n].PSELN is set. The CH[n].PSELN register will have no effect unless Differential mode is enabled, see MODE field in the CH[n].CONFIG register.

If more than one of the CH[n].PSELP registers is set, the device enters Scan mode. Input selections in Scan mode are controlled by the CH[n].PSELP and CH[n].PSELN registers, where CH[n].PSELN is only used if the particular scan channel is specified as differential, see MODE field in the CH[n].CONFIG register.

Note: Channels selected for COMP cannot be used at the same time for ADC sampling, though channels not selected for use by these blocks can be used by the ADC.

Operation modes

The ADC input configuration supports One-shot mode, Continuous mode, and Scan mode.

The ADC indicates a single ongoing conversion via the register STATUS. During Scan mode, oversampling, or Continuous modes, more than a single conversion take place in the ADC. As a consequence, the value reflected in the STATUS register will toggle at the end of each single conversion.

Note: Scan mode and oversampling cannot be combined.

One-shot mode

One-shot operation is configured by enabling only one of the available channels defined by the CH[n].PSELP, CH[n].PSELN, and CH[n].CONFIG registers.

Once a SAMPLE task is triggered, the ADC starts to sample the input voltage. The CH[n].CONFIG.TACQ controls the acquisition time.

A DONE event signals that one sample has been taken.

In this mode, the RESULTDONE event has the same meaning as DONE when no oversampling takes place. Both events may occur before the actual value has been transferred into RAM by EasyDMA. For more information, see EasyDMA.

Continuous mode

Continuous sampling can be achieved by using the internal timer in the ADC, or triggering the SAMPLE task from one of the general purpose timers through the PPI system.

Care shall be taken to ensure that the sample rate fulfills the following criteria, depending on how many channels are active.
fSAMPLE < 1/(tACQ + tconv)
The SAMPLERATE register can be used as a local timer instead of triggering individual SAMPLE tasks. When SAMPLERATE.MODE is set to Timers, it is sufficient to trigger SAMPLE task only once in order to start the SAADC and triggering the STOP task will stop sampling. The SAMPLERATE.CC field controls the sample rate.

The SAMPLERATE timer mode cannot be combined with Scan mode, and only one channel can be enabled in this mode.

A DONE event signals that one sample has been taken.

In this mode, the RESULTDONE event has the same meaning as DONE when no oversampling takes place. Both events may occur before the actual value has been transferred into RAM by EasyDMA.

Oversampling

An accumulator in the ADC can be used to average noise on the analog input. In general, oversampling improves the signal-to-noise ratio (SNR). Oversampling, however, does not improve the integral non-linearity (INL), or differential non-linearity (DNL).

Oversampling and Scan mode should not be combined, since oversampling and scan will average over input channels.

The accumulator is controlled in the OVERSAMPLE register. The SAMPLE task must be set 2OVERSAMPLE number of times before the result is written to RAM. This can be achieved by the following:

  • Configuring a fixed sampling rate using the local timer or a general purpose timer and the PPI system to trigger a SAMPLE task
  • Triggering SAMPLE 2OVERSAMPLE times from software
  • Enabling BURST mode

CH[n].CONFIG.BURST can be enabled to avoid setting SAMPLE task 2OVERSAMPLE times. With BURST = 1 the ADC will sample the input 2OVERSAMPLE times as fast as it can (actual timing: <(tACQ+tCONV)×2OVERSAMPLE). Thus, for the user it will just appear like the conversion took a bit longer time, but other than that, it is similar to One-shot mode.

A DONE event signals that one sample has been taken.

In this mode, the RESULTDONE event signals that enough conversions have taken place for an oversampled result to get transferred into RAM. Both events may occur before the actual value has been transferred into RAM by EasyDMA.

Scan mode

A channel is considered enabled if CH[n].PSELP is set. If more than one channel, CH[n], is enabled, the ADC enters Scan mode.

In Scan mode, one SAMPLE task will trigger one conversion per enabled channel. The time it takes to sample all channels is given by the following equation:

Total time < Sum(CH[x].tACQ+tCONV), x=0..enabled channels

A DONE event signals that one sample has been taken.

In this mode, the RESULTDONE event signals has the same meaning as DONE when no oversampling takes place. Both events may occur before the actual values have been transferred into RAM by EasyDMA.

The following figure shows an example of the placement of results in Data RAM, with an even RESULT.MAXCNT. In this example, channels 1, 2, and 5 are enabled, all others are disabled.

Figure 2. Example of RAM placement (even RESULT.MAXCNT), channels 1, 2 and, 5 enabled
Example of RAM placement (even RESULT.MAXCNT), channels 1, 2 and, 5 enabled

The following figure shows an example of the placement of results in Data RAM, with an odd RESULT.MAXCNT. In this example, channels 1, 2 and, 5 are enabled, all others are disabled. The last 32-bit word is populated only with one 16-bit result.

Figure 3. Example of RAM placement (odd RESULT.MAXCNT), channels 1, 2 and, 5 enabled
Example of RAM placement (odd RESULT.MAXCNT), channels 1, 2 and, 5 enabled

EasyDMA

After configuring RESULT.PTR and RESULT.MAXCNT, the ADC resources are started by triggering the START task. The ADC is using EasyDMA to store results in a Result buffer in RAM.

The Result buffer is located at the address specified in the RESULT.PTR register. The RESULT.PTR register is double-buffered and it can be updated and prepared for the next START task immediately after the STARTED event is generated. The size of the Result buffer is specified in the RESULT.MAXCNT register and the ADC will generate an END event when it has filled up the Result buffer, see ADC. Results are stored in little-endian byte order in Data RAM. Every sample will be sign extended to 16 bit before stored in the Result buffer.

The ADC is stopped by triggering the STOP task. The STOP task will terminate an ongoing sampling. The ADC will generate a STOPPED event when it has stopped. If the ADC is already stopped when the STOP task is triggered, the STOPPED event will still be generated.

Figure 4. ADC
ADC

If the RESULT.PTR is not pointing to a RAM region accessible from the peripheral, an EasyDMA transfer may result in a HardFault and/or memory corruption. See Memory for more information about the different memory regions.

The EasyDMA will have finished accessing the RAM when the END or STOPPED event has been generated.

The RESULT.AMOUNT register can be read following an END event or a STOPPED event to see how many results have been transferred to the Result buffer in RAM since the START task was triggered.

In Scan mode, SAMPLE tasks can be triggered once the START task is triggered. The END event is generated when the number of samples transferred to memory reaches the value specified by RESULT.MAXCNT. After an END event, the START task needs to be triggered again before new samples can be taken. By specifying RESULT.MAXCNT ≥ number of channels enabled, the size of the Result buffer should be large enough for a minimum of one result from each of the enabled channels. See Scan mode for more information.

Resistor ladder

The ADC has an internal resistor string for positive and negative input.

The resistors in the following figure are controlled in the CH[n].CONFIG.RESP and CH[n].CONFIG.RESN registers.

Figure 5. Resistor ladder for positive input
Resistor ladder for positive input (negative input is equivalent, using RESN instead of RESP

Reference

The ADC can use the following two references, controlled in the REFSEL field of the CH[n].CONFIG register.

  • Internal reference
  • VDD as reference

The internal reference results in an input range of ±0.6 V on the ADC core. VDD as reference results in an input range of ±VDD/4 on the ADC core. The gain block can be used to change the effective input range of the ADC.

Input range = (+- 0.6 V or +-VDD/4)/Gain

For example, choosing VDD as reference, single ended input (grounded negative input), and a gain of 1/4 the input range is the following:

Input range = (VDD/4)/(1/4) = VDD

With internal reference, single ended input (grounded negative input), and a gain of 1/6 the input range is the following:

Input range = (0.6 V)/(1/6) = 3.6 V

The AIN0 - AIN7 inputs cannot exceed VDD, or be lower than VSS.

Acquisition time

To sample the input voltage, the ADC connects a capacitor to the input.

The acquisition time indicates how long the capacitor is connected, see TACQ field in register CH[n].CONFIG (n=0..7). The required acquisition time depends on the source (Rsource) resistance. For high source resistance, the acquisition time should be increased. See the following table for more information.

Figure 6. Simplified ADC sample network
Simplified ADC sample network: Rsource, TACQ, ADC

Table 2. Acquisition time
TACQ [µs] Maximum source resistance [kOhm]
3 10
5 40
10 100
15 200
20 400
40 800

When using VDDHDIV5 as input, the acquisition time needs to be 10 µs or higher.

Limits event monitoring

A channel can be event monitored by configuring limit register CH[n].LIMIT.

If the conversion result is higher than the defined high limit, or lower than the defined low limit, the appropriate event will get fired.

Figure 7. Example of limits monitoring on channel 'n'
Example of limits monitoring on channel 'n'

The CH[n].LIMIT.HIGH shall always be higher than or equal to CH[n].LIMIT.LOW . In other words, an event can be generated only when the input signal has been sampled outside of the defined limits. It is not possible to generate an event when the input signal is inside a defined range by swapping high and low limits.

The comparison to limits always takes place, there is no need to enable it. If comparison is not required on a channel, the software shall simply ignore the related events. In that situation, the value of the limits registers is irrelevant, so it does not matter if CH[n].LIMIT.LOW is lower than CH[n].LIMIT.HIGH or not.

Registers

Table 3. Instances
Base address Domain Peripheral Instance Secure mapping DMA security Description Configuration

0x5000E000
0x4000E000

APPLICATION SAADC

SAADC : S
SAADC : NS

US

SA

Successive approximation analog-to-digital converter

   
Table 4. Register overview
Register Offset Security Description
TASKS_START 0x000  

Start the ADC and prepare the result buffer in RAM

 
TASKS_SAMPLE 0x004  

Take one ADC sample, if scan is enabled all channels are sampled

 
TASKS_STOP 0x008  

Stop the ADC and terminate any ongoing conversion

 
TASKS_CALIBRATEOFFSET 0x00C  

Starts offset auto-calibration

 
SUBSCRIBE_START 0x080  

Subscribe configuration for task START

 
SUBSCRIBE_SAMPLE 0x084  

Subscribe configuration for task SAMPLE

 
SUBSCRIBE_STOP 0x088  

Subscribe configuration for task STOP

 
SUBSCRIBE_CALIBRATEOFFSET 0x08C  

Subscribe configuration for task CALIBRATEOFFSET

 
EVENTS_STARTED 0x100  

The ADC has started

 
EVENTS_END 0x104  

The ADC has filled up the Result buffer

 
EVENTS_DONE 0x108  

A conversion task has been completed. Depending on the mode, multiple conversions might be needed for a result to be transferred to RAM.

 
EVENTS_RESULTDONE 0x10C  

A result is ready to get transferred to RAM

 
EVENTS_CALIBRATEDONE 0x110  

Calibration is complete

 
EVENTS_STOPPED 0x114  

The ADC has stopped

 
EVENTS_CH[n].LIMITH 0x118  

Last results is equal or above CH[n].LIMIT.HIGH

 
EVENTS_CH[n].LIMITL 0x11C  

Last results is equal or below CH[n].LIMIT.LOW

 
PUBLISH_STARTED 0x180  

Publish configuration for event STARTED

 
PUBLISH_END 0x184  

Publish configuration for event END

 
PUBLISH_DONE 0x188  

Publish configuration for event DONE

 
PUBLISH_RESULTDONE 0x18C  

Publish configuration for event RESULTDONE

 
PUBLISH_CALIBRATEDONE 0x190  

Publish configuration for event CALIBRATEDONE

 
PUBLISH_STOPPED 0x194  

Publish configuration for event STOPPED

 
PUBLISH_CH[n].LIMITH 0x198  

Publish configuration for event CH[n].LIMITH

 
PUBLISH_CH[n].LIMITL 0x19C  

Publish configuration for event CH[n].LIMITL

 
INTEN 0x300  

Enable or disable interrupt

 
INTENSET 0x304  

Enable interrupt

 
INTENCLR 0x308  

Disable interrupt

 
STATUS 0x400  

Status

 
ENABLE 0x500  

Enable or disable ADC

 
CH[n].PSELP 0x510  

Input positive pin selection for CH[n]

 
CH[n].PSELN 0x514  

Input negative pin selection for CH[n]

 
CH[n].CONFIG 0x518  

Input configuration for CH[n]

 
CH[n].LIMIT 0x51C  

High/low limits for event monitoring a channel

 
RESOLUTION 0x5F0  

Resolution configuration

 
OVERSAMPLE 0x5F4  

Oversampling configuration. OVERSAMPLE should not be combined with SCAN. The RESOLUTION is applied before averaging, thus for high OVERSAMPLE a higher RESOLUTION should be used.

 
SAMPLERATE 0x5F8  

Controls normal or continuous sample rate

 
RESULT.PTR 0x62C  

Data pointer

 
RESULT.MAXCNT 0x630  

Maximum number of buffer words to transfer

 
RESULT.AMOUNT 0x634  

Number of buffer words transferred since last START

 

TASKS_START

Address offset: 0x000

Start the ADC and prepare the result buffer in RAM

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A W

TASKS_START

   

Start the ADC and prepare the result buffer in RAM

     

Trigger

1

Trigger task

TASKS_SAMPLE

Address offset: 0x004

Take one ADC sample, if scan is enabled all channels are sampled

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A W

TASKS_SAMPLE

   

Take one ADC sample, if scan is enabled all channels are sampled

     

Trigger

1

Trigger task

TASKS_STOP

Address offset: 0x008

Stop the ADC and terminate any ongoing conversion

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A W

TASKS_STOP

   

Stop the ADC and terminate any ongoing conversion

     

Trigger

1

Trigger task

TASKS_CALIBRATEOFFSET

Address offset: 0x00C

Starts offset auto-calibration

Do not trigger when the ADC has been started

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A W

TASKS_CALIBRATEOFFSET

   

Starts offset auto-calibration

Do not trigger when the ADC has been started

     

Trigger

1

Trigger task

SUBSCRIBE_START

Address offset: 0x080

Subscribe configuration for task START

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                               A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

CHIDX

 

[255..0]

DPPI channel that task START will subscribe to

B RW

EN

     

     

Disabled

0

Disable subscription

     

Enabled

1

Enable subscription

SUBSCRIBE_SAMPLE

Address offset: 0x084

Subscribe configuration for task SAMPLE

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                               A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

CHIDX

 

[255..0]

DPPI channel that task SAMPLE will subscribe to

B RW

EN

     

     

Disabled

0

Disable subscription

     

Enabled

1

Enable subscription

SUBSCRIBE_STOP

Address offset: 0x088

Subscribe configuration for task STOP

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                               A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

CHIDX

 

[255..0]

DPPI channel that task STOP will subscribe to

B RW

EN

     

     

Disabled

0

Disable subscription

     

Enabled

1

Enable subscription

SUBSCRIBE_CALIBRATEOFFSET

Address offset: 0x08C

Subscribe configuration for task CALIBRATEOFFSET

Do not trigger when the ADC has been started

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                               A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

CHIDX

 

[255..0]

DPPI channel that task CALIBRATEOFFSET will subscribe to

B RW

EN

     

     

Disabled

0

Disable subscription

     

Enabled

1

Enable subscription

EVENTS_STARTED

Address offset: 0x100

The ADC has started

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

EVENTS_STARTED

   

The ADC has started

     

NotGenerated

0

Event not generated

     

Generated

1

Event generated

EVENTS_END

Address offset: 0x104

The ADC has filled up the Result buffer

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

EVENTS_END

   

The ADC has filled up the Result buffer

     

NotGenerated

0

Event not generated

     

Generated

1

Event generated

EVENTS_DONE

Address offset: 0x108

A conversion task has been completed. Depending on the mode, multiple conversions might be needed for a result to be transferred to RAM.

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

EVENTS_DONE

   

A conversion task has been completed. Depending on the mode, multiple conversions might be needed for a result to be transferred to RAM.

     

NotGenerated

0

Event not generated

     

Generated

1

Event generated

EVENTS_RESULTDONE

Address offset: 0x10C

A result is ready to get transferred to RAM

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

EVENTS_RESULTDONE

   

A result is ready to get transferred to RAM

     

NotGenerated

0

Event not generated

     

Generated

1

Event generated

EVENTS_CALIBRATEDONE

Address offset: 0x110

Calibration is complete

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

EVENTS_CALIBRATEDONE

   

Calibration is complete

     

NotGenerated

0

Event not generated

     

Generated

1

Event generated

EVENTS_STOPPED

Address offset: 0x114

The ADC has stopped

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

EVENTS_STOPPED

   

The ADC has stopped

     

NotGenerated

0

Event not generated

     

Generated

1

Event generated

EVENTS_CH[n].LIMITH (n=0..7)

Address offset: 0x118 + (n × 0x8)

Last results is equal or above CH[n].LIMIT.HIGH

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

LIMITH

   

Last results is equal or above CH[n].LIMIT.HIGH

     

NotGenerated

0

Event not generated

     

Generated

1

Event generated

EVENTS_CH[n].LIMITL (n=0..7)

Address offset: 0x11C + (n × 0x8)

Last results is equal or below CH[n].LIMIT.LOW

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

LIMITL

   

Last results is equal or below CH[n].LIMIT.LOW

     

NotGenerated

0

Event not generated

     

Generated

1

Event generated

PUBLISH_STARTED

Address offset: 0x180

Publish configuration for event STARTED

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                               A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

CHIDX

 

[255..0]

DPPI channel that event STARTED will publish to.

B RW

EN

     

     

Disabled

0

Disable publishing

     

Enabled

1

Enable publishing

PUBLISH_END

Address offset: 0x184

Publish configuration for event END

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                               A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

CHIDX

 

[255..0]

DPPI channel that event END will publish to.

B RW

EN

     

     

Disabled

0

Disable publishing

     

Enabled

1

Enable publishing

PUBLISH_DONE

Address offset: 0x188

Publish configuration for event DONE

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                               A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

CHIDX

 

[255..0]

DPPI channel that event DONE will publish to.

B RW

EN

     

     

Disabled

0

Disable publishing

     

Enabled

1

Enable publishing

PUBLISH_RESULTDONE

Address offset: 0x18C

Publish configuration for event RESULTDONE

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                               A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

CHIDX

 

[255..0]

DPPI channel that event RESULTDONE will publish to.

B RW

EN

     

     

Disabled

0

Disable publishing

     

Enabled

1

Enable publishing

PUBLISH_CALIBRATEDONE

Address offset: 0x190

Publish configuration for event CALIBRATEDONE

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                               A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

CHIDX

 

[255..0]

DPPI channel that event CALIBRATEDONE will publish to.

B RW

EN

     

     

Disabled

0

Disable publishing

     

Enabled

1

Enable publishing

PUBLISH_STOPPED

Address offset: 0x194

Publish configuration for event STOPPED

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                               A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

CHIDX

 

[255..0]

DPPI channel that event STOPPED will publish to.

B RW

EN

     

     

Disabled

0

Disable publishing

     

Enabled

1

Enable publishing

PUBLISH_CH[n].LIMITH (n=0..7)

Address offset: 0x198 + (n × 0x8)

Publish configuration for event CH[n].LIMITH

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                               A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

CHIDX

 

[255..0]

DPPI channel that event CH[n].LIMITH will publish to.

B RW

EN

     

     

Disabled

0

Disable publishing

     

Enabled

1

Enable publishing

PUBLISH_CH[n].LIMITL (n=0..7)

Address offset: 0x19C + (n × 0x8)

Publish configuration for event CH[n].LIMITL

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B                                               A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

CHIDX

 

[255..0]

DPPI channel that event CH[n].LIMITL will publish to.

B RW

EN

     

     

Disabled

0

Disable publishing

     

Enabled

1

Enable publishing

INTEN

Address offset: 0x300

Enable or disable interrupt

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                     V U T S R Q P O N M L K J I H G F E D C B A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

STARTED

   

Enable or disable interrupt for event STARTED

     

Disabled

0

Disable

     

Enabled

1

Enable

B RW

END

   

Enable or disable interrupt for event END

     

Disabled

0

Disable

     

Enabled

1

Enable

C RW

DONE

   

Enable or disable interrupt for event DONE

     

Disabled

0

Disable

     

Enabled

1

Enable

D RW

RESULTDONE

   

Enable or disable interrupt for event RESULTDONE

     

Disabled

0

Disable

     

Enabled

1

Enable

E RW

CALIBRATEDONE

   

Enable or disable interrupt for event CALIBRATEDONE

     

Disabled

0

Disable

     

Enabled

1

Enable

F RW

STOPPED

   

Enable or disable interrupt for event STOPPED

     

Disabled

0

Disable

     

Enabled

1

Enable

G RW

CH0LIMITH

   

Enable or disable interrupt for event CH0LIMITH

     

Disabled

0

Disable

     

Enabled

1

Enable

H RW

CH0LIMITL

   

Enable or disable interrupt for event CH0LIMITL

     

Disabled

0

Disable

     

Enabled

1

Enable

I RW

CH1LIMITH

   

Enable or disable interrupt for event CH1LIMITH

     

Disabled

0

Disable

     

Enabled

1

Enable

J RW

CH1LIMITL

   

Enable or disable interrupt for event CH1LIMITL

     

Disabled

0

Disable

     

Enabled

1

Enable

K RW

CH2LIMITH

   

Enable or disable interrupt for event CH2LIMITH

     

Disabled

0

Disable

     

Enabled

1

Enable

L RW

CH2LIMITL

   

Enable or disable interrupt for event CH2LIMITL

     

Disabled

0

Disable

     

Enabled

1

Enable

M RW

CH3LIMITH

   

Enable or disable interrupt for event CH3LIMITH

     

Disabled

0

Disable

     

Enabled

1

Enable

N RW

CH3LIMITL

   

Enable or disable interrupt for event CH3LIMITL

     

Disabled

0

Disable

     

Enabled

1

Enable

O RW

CH4LIMITH

   

Enable or disable interrupt for event CH4LIMITH

     

Disabled

0

Disable

     

Enabled

1

Enable

P RW

CH4LIMITL

   

Enable or disable interrupt for event CH4LIMITL

     

Disabled

0

Disable

     

Enabled

1

Enable

Q RW

CH5LIMITH

   

Enable or disable interrupt for event CH5LIMITH

     

Disabled

0

Disable

     

Enabled

1

Enable

R RW

CH5LIMITL

   

Enable or disable interrupt for event CH5LIMITL

     

Disabled

0

Disable

     

Enabled

1

Enable

S RW

CH6LIMITH

   

Enable or disable interrupt for event CH6LIMITH

     

Disabled

0

Disable

     

Enabled

1

Enable

T RW

CH6LIMITL

   

Enable or disable interrupt for event CH6LIMITL

     

Disabled

0

Disable

     

Enabled

1

Enable

U RW

CH7LIMITH

   

Enable or disable interrupt for event CH7LIMITH

     

Disabled

0

Disable

     

Enabled

1

Enable

V RW

CH7LIMITL

   

Enable or disable interrupt for event CH7LIMITL

     

Disabled

0

Disable

     

Enabled

1

Enable

INTENSET

Address offset: 0x304

Enable interrupt

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                     V U T S R Q P O N M L K J I H G F E D C B A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

STARTED

   

Write '1' to enable interrupt for event STARTED

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

B RW

END

   

Write '1' to enable interrupt for event END

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

C RW

DONE

   

Write '1' to enable interrupt for event DONE

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

D RW

RESULTDONE

   

Write '1' to enable interrupt for event RESULTDONE

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

E RW

CALIBRATEDONE

   

Write '1' to enable interrupt for event CALIBRATEDONE

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

F RW

STOPPED

   

Write '1' to enable interrupt for event STOPPED

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

G RW

CH0LIMITH

   

Write '1' to enable interrupt for event CH0LIMITH

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

H RW

CH0LIMITL

   

Write '1' to enable interrupt for event CH0LIMITL

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

I RW

CH1LIMITH

   

Write '1' to enable interrupt for event CH1LIMITH

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

J RW

CH1LIMITL

   

Write '1' to enable interrupt for event CH1LIMITL

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

K RW

CH2LIMITH

   

Write '1' to enable interrupt for event CH2LIMITH

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

L RW

CH2LIMITL

   

Write '1' to enable interrupt for event CH2LIMITL

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

M RW

CH3LIMITH

   

Write '1' to enable interrupt for event CH3LIMITH

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

N RW

CH3LIMITL

   

Write '1' to enable interrupt for event CH3LIMITL

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

O RW

CH4LIMITH

   

Write '1' to enable interrupt for event CH4LIMITH

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

P RW

CH4LIMITL

   

Write '1' to enable interrupt for event CH4LIMITL

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

Q RW

CH5LIMITH

   

Write '1' to enable interrupt for event CH5LIMITH

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

R RW

CH5LIMITL

   

Write '1' to enable interrupt for event CH5LIMITL

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

S RW

CH6LIMITH

   

Write '1' to enable interrupt for event CH6LIMITH

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

T RW

CH6LIMITL

   

Write '1' to enable interrupt for event CH6LIMITL

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

U RW

CH7LIMITH

   

Write '1' to enable interrupt for event CH7LIMITH

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

V RW

CH7LIMITL

   

Write '1' to enable interrupt for event CH7LIMITL

     

Set

1

Enable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

INTENCLR

Address offset: 0x308

Disable interrupt

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                     V U T S R Q P O N M L K J I H G F E D C B A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

STARTED

   

Write '1' to disable interrupt for event STARTED

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

B RW

END

   

Write '1' to disable interrupt for event END

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

C RW

DONE

   

Write '1' to disable interrupt for event DONE

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

D RW

RESULTDONE

   

Write '1' to disable interrupt for event RESULTDONE

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

E RW

CALIBRATEDONE

   

Write '1' to disable interrupt for event CALIBRATEDONE

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

F RW

STOPPED

   

Write '1' to disable interrupt for event STOPPED

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

G RW

CH0LIMITH

   

Write '1' to disable interrupt for event CH0LIMITH

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

H RW

CH0LIMITL

   

Write '1' to disable interrupt for event CH0LIMITL

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

I RW

CH1LIMITH

   

Write '1' to disable interrupt for event CH1LIMITH

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

J RW

CH1LIMITL

   

Write '1' to disable interrupt for event CH1LIMITL

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

K RW

CH2LIMITH

   

Write '1' to disable interrupt for event CH2LIMITH

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

L RW

CH2LIMITL

   

Write '1' to disable interrupt for event CH2LIMITL

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

M RW

CH3LIMITH

   

Write '1' to disable interrupt for event CH3LIMITH

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

N RW

CH3LIMITL

   

Write '1' to disable interrupt for event CH3LIMITL

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

O RW

CH4LIMITH

   

Write '1' to disable interrupt for event CH4LIMITH

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

P RW

CH4LIMITL

   

Write '1' to disable interrupt for event CH4LIMITL

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

Q RW

CH5LIMITH

   

Write '1' to disable interrupt for event CH5LIMITH

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

R RW

CH5LIMITL

   

Write '1' to disable interrupt for event CH5LIMITL

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

S RW

CH6LIMITH

   

Write '1' to disable interrupt for event CH6LIMITH

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

T RW

CH6LIMITL

   

Write '1' to disable interrupt for event CH6LIMITL

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

U RW

CH7LIMITH

   

Write '1' to disable interrupt for event CH7LIMITH

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

V RW

CH7LIMITL

   

Write '1' to disable interrupt for event CH7LIMITL

     

Clear

1

Disable

     

Disabled

0

Read: Disabled

     

Enabled

1

Read: Enabled

STATUS

Address offset: 0x400

Status

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A R

STATUS

   

Status

     

Ready

0

ADC is ready. No ongoing conversion.

     

Busy

1

ADC is busy. Single conversion in progress.

ENABLE

Address offset: 0x500

Enable or disable ADC

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

ENABLE

   

Enable or disable ADC

     

Disabled

0

Disable ADC

     

Enabled

1

Enable ADC

When enabled, the ADC will acquire access to the analog input pins specified in the CH[n].PSELP and CH[n].PSELN registers.

CH[n].PSELP (n=0..7)

Address offset: 0x510 + (n × 0x10)

Input positive pin selection for CH[n]

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                       A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

PSELP

   

Analog positive input channel

     

NC

0

Not connected

     

AnalogInput0

1

AIN0

     

AnalogInput1

2

AIN1

     

AnalogInput2

3

AIN2

     

AnalogInput3

4

AIN3

     

AnalogInput4

5

AIN4

     

AnalogInput5

6

AIN5

     

AnalogInput6

7

AIN6

     

AnalogInput7

8

AIN7

     

VDD

9

VDD

     

VDDHDIV5

0xD

VDDH/5

CH[n].PSELN (n=0..7)

Address offset: 0x514 + (n × 0x10)

Input negative pin selection for CH[n]

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                       A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

PSELN

   

Analog negative input, enables differential channel

     

NC

0

Not connected

     

AnalogInput0

1

AIN0

     

AnalogInput1

2

AIN1

     

AnalogInput2

3

AIN2

     

AnalogInput3

4

AIN3

     

AnalogInput4

5

AIN4

     

AnalogInput5

6

AIN5

     

AnalogInput6

7

AIN6

     

AnalogInput7

8

AIN7

     

VDD

9

VDD

     

VDDHDIV5

0xD

VDDH/5

CH[n].CONFIG (n=0..7)

Address offset: 0x518 + (n × 0x10)

Input configuration for CH[n]

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID               G       F   E E E   D   C C C     B B     A A
Reset 0x00020000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

RESP

   

Positive channel resistor control

     

Bypass

0

Bypass resistor ladder

     

Pulldown

1

Pull-down to GND

     

Pullup

2

Pull-up to VDD

     

VDD1_2

3

Set input at VDD/2

B RW

RESN

   

Negative channel resistor control

     

Bypass

0

Bypass resistor ladder

     

Pulldown

1

Pull-down to GND

     

Pullup

2

Pull-up to VDD

     

VDD1_2

3

Set input at VDD/2

C RW

GAIN

   

Gain control

     

Gain1_6

0

1/6

     

Gain1_5

1

1/5

     

Gain1_4

2

1/4

     

Gain1_3

3

1/3

     

Gain1_2

4

1/2

     

Gain1

5

1

     

Gain2

6

2

     

Gain4

7

4

D RW

REFSEL

   

Reference control

     

Internal

0

Internal reference (0.6 V)

     

VDD1_4

1

VDD/4 as reference

E RW

TACQ

   

Acquisition time, the time the ADC uses to sample the input voltage

     

3us

0

3 µs

     

5us

1

5 µs

     

10us

2

10 µs

     

15us

3

15 µs

     

20us

4

20 µs

     

40us

5

40 µs

F RW

MODE

   

Enable differential mode

     

SE

0

Single-ended, PSELN will be ignored, negative input to ADC shorted to GND

     

Diff

1

Differential

G RW

BURST

   

Enable burst mode

     

Disabled

0

Burst mode is disabled (normal operation)

     

Enabled

1

Burst mode is enabled. SAADC takes 2^OVERSAMPLE number of samples as fast as it can, and sends the average to Data RAM.

CH[n].LIMIT (n=0..7)

Address offset: 0x51C + (n × 0x10)

High/low limits for event monitoring a channel

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID B B B B B B B B B B B B B B B B A A A A A A A A A A A A A A A A
Reset 0x7FFF8000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

LOW

 

[-32768 to +32767]

Low level limit

B RW

HIGH

 

[-32768 to +32767]

High level limit

RESOLUTION

Address offset: 0x5F0

Resolution configuration

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                           A A A
Reset 0x00000001 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
ID R/W Field Value ID Value Description
A RW

VAL

   

Set the resolution

     

8bit

0

8 bit

     

10bit

1

10 bit

     

12bit

2

12 bit

     

14bit

3

14 bit

OVERSAMPLE

Address offset: 0x5F4

Oversampling configuration. OVERSAMPLE should not be combined with SCAN. The RESOLUTION is applied before averaging, thus for high OVERSAMPLE a higher RESOLUTION should be used.

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                         A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

OVERSAMPLE

   

Oversample control

     

Bypass

0

Bypass oversampling

     

Over2x

1

Oversample 2x

     

Over4x

2

Oversample 4x

     

Over8x

3

Oversample 8x

     

Over16x

4

Oversample 16x

     

Over32x

5

Oversample 32x

     

Over64x

6

Oversample 64x

     

Over128x

7

Oversample 128x

     

Over256x

8

Oversample 256x

SAMPLERATE

Address offset: 0x5F8

Controls normal or continuous sample rate

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                       B   A A A A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

CC

 

[80..2047]

Capture and compare value; sample rate is 16 MHz/CC

B RW

MODE

   

Select mode for sample rate control

     

Task

0

Rate is controlled from SAMPLE task

     

Timers

1

Rate is controlled from local timer (use CC to control the rate)

RESULT.PTR

Address offset: 0x62C

Data pointer

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

PTR

   

Data pointer

See the Memory chapter for details about which memories are available for EasyDMA.

RESULT.MAXCNT

Address offset: 0x630

Maximum number of buffer words to transfer

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                   A A A A A A A A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A RW

MAXCNT

   

Maximum number of buffer words to transfer

RESULT.AMOUNT

Address offset: 0x634

Number of buffer words transferred since last START

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                   A A A A A A A A A A A A A A A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID R/W Field Value ID Value Description
A R

AMOUNT

   

Number of buffer words transferred since last START. This register can be read after an END or STOPPED event.

Electrical specification

SAADC Electrical Specification

Symbol Description Min. Typ. Max. Units
DNL10

Differential non-linearity, 10-bit resolution

-0.9 <1 LSB10b
INL10

Integral non-linearity, 10-bit resolution

±1 LSB10b
VOS

Differential offset error (calibrated), 10-bit resolution 1

±2 LSB10b
DNL12

Differential non-linearity, 12-bit resolution

-0.9 1.3 LSB12b
INL12

Integral non-linearity, 12-bit resolution

3.7 LSB12b
EVDDHDIV5

Error on VDDHDIV5 input

±1 %
CEG

Gain error temperature coefficient

0.02 %/◦C
fSAMPLE

Maximum sampling rate

200 kHz
tACQ,10k

Acquisition time (configurable), source Resistance ≤ 10 kΩ

3 µs
tACQ,40k

Acquisition time (configurable), source Resistance ≤ 40 kΩ

5 µs
tACQ,100k

Acquisition time (configurable), source Resistance ≤ 100 kΩ

10 µs
tACQ,200k

Acquisition time (configurable), source Resistance ≤ 200 kΩ

15 µs
tACQ,400k

Acquisition time (configurable), source Resistance ≤ 400 kΩ

20 µs
tACQ,800k

Acquisition time (configurable), source Resistance ≤ 800 kΩ

40 µs
tCONV

Conversion time

2 µs
EG1/6

Error2 for Gain = 1/6

-3 3 %
EG1/4

Errorb for Gain = 1/4

-3 3 %
EG1/2

Errorb for Gain = 1/2

-3 4 %
EG1

Errorb for Gain = 1

-3 4 %
CSAMPLE

Sample and hold capacitance at maximum gain3

2.5 pF
RINPUT

Input resistance

>1
ENOB

Effective number of bits, differential mode, 12-bit resolution, 1/1 gain, 3 µs acquisition time, HFXO, 32 ksps, Fin = 3 kHz

9.8 Bit
SNDR

Peak signal to noise and distortion ratio, differential mode, 12-bit resolution, 1/1 gain, 3 µs acquisition time, HFXO, 32 ksps, Fin = 3 kHz

61 dB
SFDR

Spurious free dynamic range, differential mode, 12-bit resolution, 1/1 gain, 3 µs acquisition time, HFXO, 32 ksps, Fin = 3 kHz

73 dBc
RLADDER

Ladder resistance

160

Performance factors

Clock jitter, affecting sample timing accuracy, and circuit noise can affect ADC performance.

Jitter can be between START tasks or from START task to acquisition. START timer accuracy and startup times of regulators and references will contribute to variability. Sources of circuit noise may include CPU activity and the DC/DC regulator. The best ADC performance is achieved using START timing based on the TIMER module, HFXO clock source, and Constant Latency mode.

1 Digital output code at zero volt differential input.
2 Temperature drift is not included.
3 Maximum gain corresponds to highest capacitance.

This document was last updated on
2023-12-04.
Please send us your feedback about the documentation! For technical questions, visit the Nordic Developer Zone.