5.4.1 Analog-to-Digital Converter (ADC)
The PIC16F, PIC18F and PIC32CM MCUs provide ADCs that convert analog signals to digital values, supporting a range of resolutions and input channels. All ADCs offer features suitable for applications requiring sensor interfacing, analog signal monitoring, and precise measurement.
There are different variations of the ADC peripheral for specific family of devices of each architecture. These variations include the PIC16F/PIC18F’s ADCC and ADC3 ADCs and PIC32CM’s Sigma-Delta ADCs (SDADC). ADCC is an enhanced ADC module that adds built-in computation features; ADC3 also includes context switching features. SDADC provides higher resolution and better noise performance for precision applications. Table 5-14 provides a comparison of features between PIC16F, PIC18F and PIC32CM.
| Feature | PIC16F ADC/ADCC | PIC18F ADC/ADCC/ADC3 | PIC32CM ADC/SDADC |
|---|---|---|---|
| Variants |
Standard ADC ADC with Computation (ADCC) |
Standard ADC ADC with Computation (ADCC) ADC with Computation and Context Switching (ADC3) |
Standard ADC Sigma-Delta ADC |
| Resolution |
8–10 bits (standard) 12 bits (ADCC) |
8–10 bits (standard) 12 bits (ADCC and ADC3) 16-bit (through decimation) |
8–12 bits (SAR) 16 bits (SDADC) |
| Input Channels | Up to 45, varies per device | Up to 45, varies per device | Up to 32, varies per device |
| Max Sampling Rate | Up to 300 ksps (typical) | Up to 1 Msps |
Up to 4.5 Msps SDADC: Up to 1.5 Msps |
| Computation Features | ADCC: filtering, averaging, threshold, etc. |
ADCC: filtering, averaging, threshold, etc. ADC3: improved computation engine, faster sampling, etc. |
Window comparator Event triggers Oversampling |
| Differential Inputs | Supported in some families | Supported in some families | Supported (SDADC) |
| Programmable Gain | Requires external op amp or FVR | Requires external op amp or FVR | Supported (SDADC) |
| Reference Options | VDD, FVR, or external VREF | VDD, FVR, or external VREF | VDD, INTREF, or external VREF |
| Internal Inputs |
Varies per device family: Temp indicator, DAC output, FVR, VDDCORE, op amp |
Varies per device family: Temp indicator, DAC output, FVR, VDDCORE, VBAT/2 |
Varies per device family: Temperature sensor, Band gap, VREF, DAC Scaled supplies |
| Accumulation | Up to 256 samples | Up to 256 samples | Up to 1024 samples |
| Window Comparator | Supported | Supported | Supported |
| Conversion Modes | Single, Continuous, and Double Sample (for hardware CVD) | Single, Continuous, Basic, Accumulate, Average, Burst Average, Low-Pass Filter | Single, Continuous, Pin-Scan, and Sequencing |
| Auto-Trigger/Event System | Supported (ADCC) | Supported (ADCC) | Supported (EVSYS, advanced triggering) |
| Low Power | Supported (ADCC) | Supported (ADCC, Deep Sleep ADC) | Supported (sleepwalking, event-driven) |
| Self-Calibration | Supported (ADCC) | Supported (ADCC) | Supported (auto-calibration) |
