Instances
| Instance | Domain | Base address | Description |
|---|---|---|---|
| SAADC | GLOBAL | 0x400D5000 |
Successive approximation analog-to-digital converter SAADC |
Configuration
| Instance | Domain | Configuration |
|---|---|---|
| SAADC | GLOBAL |
CURRENTAMOUNT register not included. |
Register overview
| Register | Offset | 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. This task requires that SAADC has started, i.e. EVENTS_STARTED was set and EVENTS_STOPPED was not. |
| TASKS_STOP | 0x008 |
Stop the ADC and terminate any on-going 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[m] |
| CH[n].PSELN | 0x514 |
Input negative pin selection for CH[m] |
| CH[n].CONFIG | 0x518 |
Input configuration for CH[m] |
| CH[n].LIMIT | 0x51C |
High/low limits for event monitoring a channel |
| BURST | 0x5E8 |
Enable burst mode |
| 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 bytes to transfer |
| RESULT.AMOUNT | 0x634 |
Number of buffer bytes transferred since last START, updated after the END or STOPPED events |
| RESULT.CURRENTAMOUNT | 0x638 |
Number of buffer bytes transferred since last START, continuously updated |