The dsPIC33F family devices hav e up to 32 A/D input ch ann els . Thes e dev ic es also hav e up to
two ADC modules (ADC x, whe r e x = 1 or 2), ea ch with its own set of Special Func tio n Registers
(SFRs).
The 10-bit or 12-bit Operation Mode (AD12B) bit in the ADCx Control 1(ADxCON1) register
allows each of the ADC modules to be configured by the user application as either a 10-bit, 4
Sample/Hold (S/H) ADC (default configuration) or a 12-bit, 1 Sample/Hold ADC.
Note:The ADC module needs to be disabled before the AD12B bit is modified.
The 10-bit ADC configuration (AD12B = 0) has the following key features:
• Successive Approximation (SAR) conversion
• Conversion speeds of up to 1.1 Msps
• Up to 32 analog input pins
• External voltage reference input pins
• Simultaneous sampling of up to four analog input pins
• Automatic Channel Scan mode
• Selectable conversion trigger source
• Selectable Buffer Fill modes
• DMA support, including Peripheral Indirect Addressing
• Four result alignment options (signed/unsigned, fractional/integer)
• Operation during CPU Sleep and Idle mode s
Depending on the partic ul ar dev ic e pin out, the ADC can have up to 32 analog input pin s, desi g-
nated AN0 through AN31. In addition, there are two analog input pins for external voltage reference connections. These voltage reference inputs can be shared with other analog input pins.
The actual number of analog input pins and external voltage reference input configuration will
depend on the specific device. Refer to the device data sheet for further details.
The analog inputs are multiplexed to four Sample/Hold amplifiers, designated CH0-CH3. One,
two, or four of the Sample/Hold amplifiers can be enabled for acquiring input data. The analog
input multiplexers can be switched between two sets of analog inputs during conversions. Unipolar differential conversions are possible on all channels using certain input pins (see
Figure 16-1).
An Analog Input Scan mode can be enabled for the CH0 Sample/Hold Amplifier. A Control
register specifies which analog input channels are included in the scanning sequence.
The ADC is c onnec ted to a sing le-w ord re sult buffer. Howev er, multiple c onver sion resul ts can
be stored in a DMA RAM buffer with no CPU overhead. Each conversion result is converted to
one of four 16-bit output formats when it is read from the buffer.
The 12-bit ADC configuration (AD12B = 1) supports all the above features, except:
• In the 12-bit configuration, conversion speeds of up to 500 ksps are supported
• There is only one Sample/Hold amplifier in the 12-bit configuration, so simultaneous
sampling of multiple channels is not supported.
Note1: VREF+, VREF- inputs can be multiplexed with other analog inputs. See device data sheet for details.
2: Channels 1, 2 and 3 are not applicable for the 12-bit mode of operation.
3: The ADC1 module can use all 32 analog input pins (AN0-AN31), whereas ADC2 can use only 16
• ADxPCFGL: ADCx Port Configuration Register Low
The ADxCON1, ADxCON2 and ADxCON3 registers control the operation of the ADC module.
The ADxCON4 register s ets u p the numb er of conv ersion resul ts sto red in a D MA buf fer for each
analog input in the Scatter/Gather mode. The ADxCHS123 and ADxCHS0 registers select the
input pins to be connected to the Sampl e/Hold am plifi ers. The ADx PCFGH/ L regist ers conf igure
the analog input pins as ana log inpu ts or as digit al I/O . The ADCSSH/L register s selec t input s to
be sequentially scanned.
Legend:HC = Cleared by hardware HS = Set by hardware
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 15ADON: ADC Operating Mode bit
1 = ADC module is operating
0 =ADC is off
bit 14Unimplemented: Read as ‘0’
bit 13ADSIDL: Stop in Idle Mode bit
1 = Discontinue module operation when device enters Idle mode
0 = Continue module operation in Idle mode
bit 12ADDMABM: DMA Buffer Build Mode bit
1 = DMA buffers are written in the ord er of co nversi on. The mo dule p rovide s an ad dress to th e DM A
channel that is the same as the address used for the non-DMA stand-alone buffer.
0 = DMA buffers are written in Scatter/Gathe r mode. The mo dule provi des a Scatter/ Gather addre ss
to the DMA channel, based on the index of the analog input and the size of the DMA buffer.
bit 11Unimplemented: Read as ‘0’
bit 10AD12B: 10-bit or 12-bit Operation Mode bit
Samples CH0 and CH1 simultaneously (when CHPS<1:0> = 01)
0 = Samples multiple channels individually in sequence
bit 2ASAM: ADC Sample Auto-Start bit
1 = Sampling begins immediately after last conversion. SAMP bit is auto-set.
0 = Sampling begins when SAMP bit is set
bit 1SAMP: ADC Sample Enable bit
1 = ADC Sample/Hold amplifiers are sampling
0 = ADC Sample/Hold amplifiers are holding
If ASAM = 0, software can write ‘1’ to begin sampling. Automatically set by hardware if ASAM = 1.
If SSRC = 000, software can write ‘0’ to end sampling and start conversion. If SSRC ≠ 000,
automatically cleared by hardware to end sampling and start conversion.
bit 0DONE: ADC Conversion Status bit
1 = ADC conversion cycle is completed.
0 = ADC conversion not started or in progress
Automatically set b y hardwar e when A/D co nversion is complete . Software can write ‘0’ to clear DONE
status (software not allowed to write ‘1’). Clearing this bit does NOT affect any operation in
progress. Automatically cleared by hardware at start of a new conversion.
Note 1: The ‘x’ in ADxCON1 and ADCx refers to ADC 1 or ADC 2.
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 15-3Unimplemented: Read as ‘0’
bit 2-0DMABL<2:0>: Selects Number of DMA Buffer Locations per Analog Input bits
111 =Allocates 128 words of buffer to each analog input
110 =Allocates 64 words of buffer to each analog input
101 =Allocates 32 words of buffer to each analog input
100 =Allocates 16 words of buffer to each analog input
011 =Allocates 8 words of buffer to each analog input
010 =Allocates 4 words of buffer to each analog input
001 =Allocates 2 words of buffer to each analog input
000 =Allocates 1 word of buffer to each analog input
Note 1: The ‘x’ in ADxCON4 and ADCx refers to ADC 1 or ADC 2.
Register 16-9:AD1PCFGH: ADC1 Port Configuration Register High
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
PCFG31PCFG30PCFG29PCFG28PCFG27PCFG26PCFG25PCFG24
bit 15
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
PCFG23PCFG22PCFG21PCFG20PCFG19PCFG18PCFG17PCFG16
bit 7
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
16
bit 8
bit 0
bit 15-0PCFG<31:16>: ADC Port Configuration Control bits
(1, 2)
1 = Port pin in Digital mode, port read input enabled, ADC input multiplexor connected to AVSS
0 = Port pin in Analog mode, port read input disabled, ADC samples pin voltage
Note1: On devices wi th less than 3 2 ana log i nput s, al l PC FG bit s are R/W by u ser. However, PCFG bit s are igno red
on ports without a corresponding input on device.
2: ADC2 only supports analog inputs AN0-AN15; therefore, no ADC2 Port Configuration register exists.
Register 16-10: ADxPCFGL: ADCx Port Configuration Register Low
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
PCFG15PCFG14PCFG13PCFG12PCFG11PCFG10PCFG9PCFG8
bit 15
bit 8
R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0
PCFG7PCFG6PCFG5PCFG4PCFG3PCFG2PCFG1PCFG0
bit 7
bit 0
Legend:
R = Readable bitW = Writable bitU = Unimplemented bit, read as ‘0’
-n = Value at POR‘1’ = Bit is set‘0’ = Bit is clearedx = Bit is unknown
bit 15-0PCFG<15:0>: ADC Port Configuration Control bits
(1, 2, 3)
1 = Port pin in Digital mode, port read input enabled, ADC input multiplexor connected to AVSS
0 = Port pin in Analog mode, port read input disabled, ADC samples pin voltage
Note1: On devices wi th less than 1 6 ana log i nput s, al l PC FG bit s are R/W by u ser. However, PCFG bit s are igno red
on ports without a corresponding input on device.
2: On devices with two analog-to-di gi t al modules, both AD1PCF GL and AD2PCFGL a f f ect the configuration of
port pins multiplexed with AN0-AN15.
3: The ‘x’ in ADxPCFGL and ADx refers to ADC 1 or ADC 2
Figure 16-2 shows a ba sic co nv ers ion seq uen ce and the terms that are used. A sa mp ling of the
analog input pin volt age is pe rformed by Sampl e/Hold a mpli fiers (a lso c alled Sam ple/H old cha nnels). The 10-bit ADC configuration can use up to four Sample/Hold channels, designated
CH0-CH3, whereas the 12-bit ADC configuration can use only one Sample/Hold channel, CH0.
The Sample/Hold channels are connected to the analog input pins via the analog input
multiplexer. The analog input multiplexer is controlled by the ADxCHS123 and ADxCHS0 registers. There are two set s of mult ipl ex er co ntro l bits in the ADC channel select registers that function identically. These two sets of control bits allow two different analog input multiplexer
configurations to be programmed (called MUX A and MUX B). The ADC can optionally switch
between the MUX A and M UX B co nfigura tions bet ween c onvers ions. The ADC can al so optio nally scan through a series of analog inputs.
Sample time is the time th at the ADC module ’s Sample/Hold Am plifier is co nnected to the an alog
input pin. The sample time can be started manually by setting the ADC Sample Enable (SAMP)
bit in ADCx Control Register 1 (ADxCON1<1>) or started automatically by the ADC hardware.
The sample time is ended manua lly by clearin g the SAMP cont rol bit in the user softwar e or automatically by a conversion trigger source.
Conversion time i s the tim e requ ired fo r the AD C to c onvert the vo lta ge hel d by the Sam ple/Hol d
Amplifier . Th e ADC is disc onnec ted from th e analo g input pi n at the end of the sam ple time. Th e
ADC requires one A/D clock cycle (T
cycles. A total of 12 T
A total of 14 T
AD cycles are required to perform the complete conversion in 10-bit mode.
AD cycles are required to perform the complete conversion in 12-bit mode. When
the conversion time is complete, the result is loaded into the ADCxBUF0 register, the Sample/Hold Amplifier can be reconnected to the input pin and a CPU interrupt can be generated.
The sum of the sample time and the A/D conversion time provides the total conversion time.
There is a minimum sample time to ensure that the Sample/Hold Amplifier provides the desired
accuracy for the A/D conversion (see 16.15 “A/D Sampling Requirements”). Furthermore,
there are multiple input clock options for the ADC. You must select an input clock option that does
not violate the minimum T
AD specification.
AD) to convert each bit of the result plus two ad ditional cloc k
Figure 16-2:ADC Sample/Conversion Sequence
ADC Total Conversion Time
Sample Time
Sample/Hold Amplifier is connected to the analog input pin for sampling.
ADC Conversion Time
A/D conversion complete,
result is loaded into result buffer.
Optionally generate interrupt.
Sample/Hold Amplifier is disconnected from input and holds signal level .
A/D conversion is started by the conversion trigger source.
The ADC allows many options for spe cifyi ng the sam ple/co nvert se quenc e. The samp le/co nvert
sequence can be very simple, using only one Sample/Hold amplifier. A more elaborate sample/convert sequ ence performs mul tiple conversi ons using mo re than one Samp le/Hold amplif ier .
The 10-bit ADC conf igurati on ca n use t wo Sampl e/Ho ld am plifie rs to pe rform two conv ersion s in
a sample/convert sequence or four Sample/Hold amplifiers with four conversions.
The number of Sample/Hold amplifiers, or channels per sample, used in the sample/convert
sequence is determined by the Channel Select (CHPS<1:0>) control bits in ADCx Control Register 2 (ADxCON2<9:8>).
Note:The 12-bit ADC configuration can only perform one conversion in a single sam-
ple/convert sequence. The CHPS bits are irrelevant in this case.
A sample/convert sequence that uses multiple Sample/Hold channels can be simultaneously
sampled or sequentially sampled, as controlled by the Simultaneous Sample Select (SIMSAM)
bit (ADxCON1<3>). Simultaneously sampling multiple signals ensures that the snapshot of the
analog inputs oc curs at precis ely the same tim e for all input s. Sequenti al sampling t akes a sna pshot of each analog input just before conversion starts on that input. The sampling of multiple
inputs is not correlated.
Figure 16-3:Simultaneous and Sequential Sampling
AN0
AN1
16
AN2
AN3
Simultaneous
Sampling
The start time for sampling can be controlled in software by setting the ADC Sample Enable
(SAMP) control bit (ADxCON1<1>). The start of the sampling time can also be controlled automatically by the hardware . Wh en the ADC mod ule op erates in the Auto-Sa mple mode, the Sam ple/Hold amplifier(s) is reconnected to the analog input pin at the end of the conversion in the
sample/convert sequen ce. The auto-s ample function i s controlled by the ADC Sample Auto -St art
(ASAM) control bit (ADxCON1<2>).
The conversion trigger source ends the sampling time and begins an A/D conversion or a
sample/convert sequence. The conversion trigger source is selected by the Sample Clock
Source Select (SSRC<2:0>) control bits (ADxCON1<7:5>. The conversion trigger can be taken
from a variety of hardware sources, or can be controlled manually in software by clearing the
SAMP control bit. One of th e conversion trigge r sources is an auto -conversion. The tim e between
auto-conversions is s et by a coun ter and the AD C clo ck . The Auto -Sam pl e mo de an d auto -co nversion trigger can be used together to provide endles s automatic conversions w ith out s oftwa r e
intervention.
An interrupt can be generated at the end of each sample/convert sequence or after multiple
sample/convert sequences, as determined by the value of the Samples Per Interrupt
(SMPI<3:0>) control bit s (ADxCON2 <5:2>). The number of sam ple/co nvert seque nces between
interrupts can vary between 1 an d 16. T he tot al num ber of conv ersion resul ts between inter rupt s
is the product of the channels per sample and the SMPI<3:0> value. However, since only one
conversion result is stored in ADCxBUF0, each execution of the interrupt servi ce routi ne c an be
used to read only one conversion result.
If multiple convers ion re sult s ne ed t o be b uff ered, a DMA buffer should be used to store the co nversion results. In this case, the SMPI<3:0> bits are used to select how often the DMA RAM
buffer pointer i s incremented . The freque ncy of incr ementing the D MA RAM buf fer pointer should
not exceed the DMA RAM buffer length.
12. Select the number of samples in DMA buffer for each ADC module input
(ADxCON4<2:0>)
13. Select the data format
14. Configure ADC interrupt (if required)
• Clear ADxIF bit
• Select interrupt priority (ADxIP<2:0)
• Set ADxIE bit
15. Configure DMA channel (if needed)
16. Turn on ADC module (ADxCON1<15>)
The options for these configuration steps are described in the subsequent sections.
16.5 SELECTING THE VOLTAGE REFERENCE SOURCE
The voltage references for A/D conversions are selected using the VCFG<2:0> control bits
(ADxCON2<15:13>). The upper voltage reference (V
REFL) can be the internal AVDD and AVSS voltage rails or the VREF+ and VREF- input pins.
(V
The external vo ltage reference pins can be sha red wit h the AN0 and A N1 input s on l ow pin count
devices. The ADC modu le can still perfo rm conversion s on these pins when they are shared wi th
the Vref+ and Vref- input pins.
The voltages app lied to the external ref erence pins mu st meet certain s pecificatio ns. Refer to the
“Electrical Specifications” section of the device data sheet for details
The ADC module has a maximum rate at which conversions can be completed. An analog
module clock, T
AD) in the 10-bit mode an d 14 clock period s (14 TAD) in the 12-bit mode. The A/D conv ersion
(12 T
clock is derived from either the device instruction clock or an internal RC clock source.
The period of the A/D conversi on cloc k is softwa re selec ted using a 6-bit co unter. There are 256
possible options for T
(ADxCON3<7:0>). Equation 16-1 gives the T
the device instruction cycle clock period, T
Equation 16-1: A/D Conversion Clock Period
AD, controls the conversi on timing. T he A/D conv ersion require s 12 clock peri ods
AD, specified by the ADC Conversion Clock Select (ADCS<7:0>) bits
AD value as a function of the ADCS contro l bit s and
CY.
AD = TCY(ADCS + 1)
T
T
ADCS =
AD
TCY
16
– 1
For correct A/D conversions, the A/D conversion clock (T
minimum T
AD time of 75 nsec.
AD) must be selected to ensure a
The ADC module has a dedicated internal RC clock source that can be used to perform
conversions. The in ternal RC clock s ource should be used when A/D co nversion s are perfo rmed
while the device is in Sle ep mode. The inte rnal RC osci llator is se lected by setti ng the ADC Conversion Clock Source (ADRC) bit (ADxCON3<15>). When the ADRC bit is set, the ADCS<7:0>
bits have no effect on the A/D operation.
Figure 16-4:A/D Conversion Clock Period Block Diagram
All Sample/Hold Amplifiers have analog multiplexers (see Figure 16-1) on both their non-inverting and inverting inputs to select which analog input(s) are sampled. Once the sample/convert
sequence is specified, the ADxCHS0 and ADxCHS123 registers determine which analog inputs
are selected for each sample.
Additionally, the selected inputs can vary on an alternating sample basis or on a repeated
sequence of samples.
The same analog in put can be conn ected to two or more Sa mp le/Hold chann els to impro ve co nversion rates.
Note:Different devices will have different numbers of analog inputs. Verify the analog
input availability against the device data sheet.
16.7.1Configuring Analog Port Pins
The ADPCFGH and ADPCFGL regi sters s pe ci fy th e in put con dit ion of de vic e p ins us ed a s an alog inputs. Along with the Data Direction (TRISx) register in the Parallel I/O Port module, these
registers control the operation of the ADC pins.
A pin is configured as analog input when the corresponding PCFGn bit (ADPCFGH<n> or
ADPCFGL<n>) is clear. The ADPCFGH and ADPCFGL registers are clear at Reset, cau sing the
ADC input pins to be configured for analog input by default at Reset.
When configured for an alog input, the associ ated port I/O digit al input buff er is disabled so it doe s
not consume current.
The port pins that are desire d as analog inp uts must h ave their correspo nding TRIS bit s et, specifying port input. If the I/O pin associated with an A/D input is configured as an output, the TRIS
bit is cleared and the port’s digital output level (V
all TRIS bits are set.
A pin is configured as digital I/O when the corresponding PCFGn bit is set. In this configuration,
the input to the analog multiplexer is connected to AVss.
OH or VOL) is converted. After a device Reset,
Note 1: When the ADC Port register is read, any pin configured as an analog input reads
as a ‘0’.
2: Analog levels on any pin that is defined as a digital input (including the AN15:AN0
pins) may cause the input buffer to consume current that is out of the device’s
specification.
16.7.2Channel 0 Input Selection
Channel 0 is the most flexible of the four Sample/Hold channels in terms of selecting analog
inputs. It allows you to select any of the up to 16 analog inputs as the input to the positive input
of the channel. The Channel 0 Positive Input Select for Sample A (CH0SA<4:0>) bits
(ADxCHS0<4:0>) normally select the analog input for the positive input of channel 0.
You can select either V
(ADxCHS0<7>) normally selects the analog input for the negative input of channel 0.
The Alternate Input Samp le M od e Se lect (ALTS) bit (ADxCON2<0>) causes the AD C m odu le to
alternate between two sets of inputs that are selected during successive samples.
The inputs specified by CH0SA<4:0> (ADxCHS0<4:0>), CH0NA (ADxCHS0<7>), CH123SA
(ADxCHS123<0>) and CH123NA<1:0> (ADxCHS123<2:1>) are collectively called the MUX A
inputs. The inputs specified by CH0SB<4:0> (ADxCHS0<12:8>), CH0NB (ADxCHS0<15>),
CH123SB (ADxCHS0<8>) and CH123NB<1:0> (ADxCHS0<10:9>) are collectively called the
MUX B inputs. When the ALTS bit is ‘1’, the ADC module alternates between the MUX A inputs
on one group of samples and the MUX B inputs on the subsequent group of samples.
REF- or AN1 as the negative input of the channel. The CH0NA bit
For channel 0, if the ALTS bit is ‘0’, only the inputs specified by CH0SA<4:0> and CH0NA are
selected for sampling.
If the ALTS bit is ‘1’, on the first sample/convert sequence for channel 0, the inputs specified by
CH0SA<4:0> and CH0NA are selected for sampling. On the next sample convert sequence for
channel 0, the inputs specified by CH0SB<4:0> and CH0NB are selected for sampling. This
pattern repeats for subsequent sample conversion sequences.
Note that if multiple channels (CHPS = 01 or 1x) and simultane ous s am pli ng (SIM SAM = 1) a re
specified, alternating inputs change every sample because all channels are sampled on every
sample time. If multi ple chann els (CHPS = 01 or 1x) and sequ ential sa mpling (SIM SAM = 0) are
specified, alternating inputs change only on each sample of a particular channel.
16.7.2.2SCANNING THROUGH SEVERAL INPUTS WITH CHANNEL 0
Channel 0 can scan through a selected vector of inputs. The CSCNA bit (ADxCON2<10>)
enables the CH0 chann el inputs to be sca nned across a selected number of analog input s. When
CSCNA is set, the CH0SA<4:0> bits are ignored.
The ADCx Input Scan Select Register High (ADxCSSH) and ADCx Input Scan Select Register
Low (ADxCSSL) registers specify the inputs to be scanned. Each bit in these registers
corresponds to an analog input. Bit 0 corresponds to AN0, bit 1 corresponds to AN1 and so on.
If a particular bit is ‘1’, the corre sponding inpu t is part of the scan sequence. The inputs are
always scanned from low er to higher numbe red input s, starti ng at the first select ed chann el after
each interrupt occurs.
16
Note:If the number of scanned inputs selected is greater than the number of samples
taken per interrupt, the higher numbered inputs will not be sampled.
The ADxCSSH and ADxCSSL bit s only specify the input of the pos itive input of the channel. The
CH0NA bit still selects the input of the negative input of the channel during scanning.
If the ALTS bit is ‘1’, t he sc anni ng onl y appl ies to the MU X A inp ut se lect ion. Th e MUX B in put
selection, as s pecified by the CH0SB<4:0>, still select s the alternatin g channel 0 input. When the
input selections ar e program med in this manner, the channel 0 input alternates between a se t of
scanning inputs specified by the ADxCSSL register and a fixed input specified by the CH0SB
bits.
16.7.3Channel 1, 2 and 3 Input Selection
Channel 1, 2 and 3 c an s ample a subset of the ana log in put pins. Channel 1, 2 and 3 c an se lec t
one of two groups of three inputs.
The CH123SA bit (ADxCHS123< 0>) selects the sourc e for the positive input s of channel 1, 2 and
3. Clearing CH123SA selects AN0, AN1 and AN2 as the analog source to the positive inputs of
channel 1, 2 and 3, respectively. Setting CH123SA selects AN3, AN4 and AN5 as the analog
source.
The CH123NA<1:0> bit s (ADx CHS<2:1 >) selec t the sou rce for the negativ e input s of c hannel 1,
2 and 3. Programming CH12 3NA = 0x selects V
of channels 1, 2 and 3. Programming CH123NA = 10 selects AN6, AN7 and AN8 as the analog
source to the negative inputs of channels 1, 2 and 3 respectively. Programming CH123NA = 11
selects AN9, AN10 and AN11 as the analog source.
REF- as the analog source fo r the negative in puts
16.7.3.1SELECTING MULTIPLE CHANNELS FOR A SINGLE ANALOG INPUT
The analog input multip lexer ca n be conf igu red so that th e sam e inpu t pin i s con necte d to tw o or
more Sample/Hold channels. The ADC converts the value held on one Sample/Hold channel,
while the second Sample/Hold channel acquires a new input sample.
16.7.3.2SPECIFYING ALTERNATING CHANNEL 1, 2 AND 3 INPUT
SELECTIONS
As with the channel 0 inputs, the ALTS bit (ADxCON2<0>) causes the ADC module to alternate
between two sets of inputs that are selected during successive samples for channel 1,2 and 3.
The MUX A inputs specified by CH123SA and CH123NA<1:0> always select the input when
ALTS = 0.
The MUX A inputs alternate with the MUX B inputs specified by CH123SB and CH123NB<1:0>
when ALTS = 1.
16.8 ENABLING THE MODULE
When the ADC Operating Mode (ADON) bit (ADxCON1<15>) is ‘1’, the ADC modul e is i n Active
mode and is fully powered and functional.
When ADON is ‘0’, the ADC module is disab led. The digi tal and an alog portion s of the circuit ar e
turned off for maximum current savings.
In order to return to the Activ e mode f rom th e Of f m ode, th e user must wai t for th e anal og st age s
to stabilize. For the stabilization time, refer to the Electrical Characteristics section of the device
data sheet.
Note:The SSRC<2:0>, SIMSAM, ASAM, CHPS<1:0>, SMPI<3:0>, BUFM and AL TS bits ,
as well as the ADxCON3, ADxCSSH and ADxCSSL registers, should not be written
to while ADON = 1. This would lead to indeterminate results.
16.9 SPECIFYING SAMPLE/CONVERSION CONTROL
The ADC modul e use s fo ur Sa mple /Hol d am plif ie rs an d one A /D C onv erte r in the 10 -b it mode .
The module can perform 1, 2 or 4 input samples and A/D conversions per sample/convert
sequence.
16.9.1Number of Sample/Hold Channels
The CHPS<1:0> control bit s (ADxCON2<9:8> ) are used to select how many Sample/Ho ld amplifiers are used by the ADC module during sample/conversion sequences. The following three
options can be selected:
• CH0 only
• CH0 and CH1
• CH0, CH1, CH2, CH3
The CHPS control bits work in conjunction with the SIMSAM (simultaneous sample) control bit
(ADxCON1<3>). The CHPS and SIMSAM bits are not relevant in 12-bit mode as there is only
one Sample/Hold amplifier.
16.9.2Simultaneous Sampling Enable
Some applications can require that multiple signals be sampled simultaneously. The SIMSAM
control bit (ADxCON1<3>) works in conjunction with the CHPS control bits and controls the sample/convert sequen ce fo r mul tiple chann els a s sh own in Table 16-1. Th e SIMSA M contro l bit has
no effect on the ADC module operat ion if CHPS<1:0> = 00. If more than on e Sample/Hold ampl ifier is enabled by the C HPS con trol bit s and the SI MSAM b it is ‘0’, the two or four selected channels are sampled and converted sequentially with two or four sampling periods. If the SIMSAM
bit is ‘1’, two or four selected channels are sampled simultaneously with one sampling period.
The channels are the n converte d seque ntiall y. The SIMSAM bit is not relevant in 12-bi t mo de as
there is only one S/H.