1.1.4 Charge Pump Oscillator

The Charge Pump Oscillator Selection (CPOS) bit selects the charge pump oscillator source. The CPOS bit allows the user to select between the charge pump’s internal oscillator or the oscillator driving the ADC.

When the CPOS is set (CPOS = 1), the charge pump utilizes its internal oscillator. The charge pump’s internal oscillator provides a very steady output voltage, but at a higher operating current. Charge Pump Oscillator - Internal Oscillator shows how to set the CPOS bit to utilize the internal oscillator of the charge pump.

Charge Pump Oscillator - Internal Oscillator

    CPCONbits.CPOS = 1; 

When CPOS is clear (CPOS = 0), and the ADGO bit is clear (GO = 0), the charge pump is clocked by the ADCRC. When ADGO is set (GO = 1), the charge pump is clocked by a derivative of the Fosc (as determined by the ADCLK register). This allows the charge pump to operate at a lower current when the ADC is not converting, while offering higher performance when the ADC is converting.

Charge Pump Oscillator - ADC Oscillator shows how to set the CPOS bit and the ADCON0 GO bit to utilize the ADC clock.

Charge Pump Oscillator - ADC Oscillator

    CPCONbits.CPOS = 0; 
    ADCON0bits.GO = 0;

Charge Pump Oscillator - Fosc Clock shows how to set the CPOS bit and the ADCON0 Go bit to utilize the Fosc Clock.

Charge Pump Oscillator - Fosc Clock

    CPCONbits.CPOS = 0; 
    ADCON0bits.GO = 1;