Hi,
OK, I did the test.
For this I was using a 18F25K20 running at 64MHz and 3.3V. Vref set to VDD/VSS and measured at 2.999V.
Actual voltages measured with a FLUKE189
The test program cycles thru all the available clock selections and all the available acquisition times (49 combinations). For each selection it takes 8 readings on AN0. Between each reading it makes a dummy conversion of another (floating) channel. After 8 readings it calculates the averages and presents the result.
The test was conducted at 3 different input voltages (25mV, 1.65V, 3.285V) with 3 different source impedences (1k, 10k, 39k). For the 18F25K20 10k is the max recommended source impedence.
Here's the code if anyone wants to repeat the test.
Please note the ADC clock and acquisition time may be different on other devices, this matches the 25K20 that I used:
Code:
'****************************************************************
'* Name : ADC Test.PBP *
'* Author : Henrik Olsson *
'* Notice : Copyright (c) 2015 Henrik Olsson *
'* : All Rights Reserved *
'* Date : 2015-07-23 *
'* Version : 1.0 *
'* Notes : Test program for verifying ADC clock selection *
'* : and acquisition times. *
'* : For 18F25K20. *
'****************************************************************
DEFINE OSC 64
DEFINE LOADER_USED 1 ' We're using a bootloader.
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_CLROERR 1 ' Clear overflow automatically
DEFINE HSER_SPBRG 138 ' 115200 Baud @ 64MHz, -0,08%
SPBRGH = 0
BAUDCON.3 = 1 ' Enable 16 bit baudrate generator
ADCON0 = %00000001 ' Enable the ADC, select AN0
ADCON1 = %00000000 ' Vref is Vdd/Vss respectively
ADCON2 = %10001000 ' Right justified result, 2TAD, FOosc/2
TRISA.0 = 1 ' RA0/AN0 is input
ANSEL.0 = 1 ' Digital buffer disabled, analog enabled
Samples VAR BYTE
ACQT VAR BYTE
ADCS VAR BYTE
RESULT VAR WORD
Accumulator VAR WORD
GODONE VAR ADCON0.1
PAUSE 1000
HSEROUT["Start",10,13]
For ACQT = 1 to 7 ' We have 7 different TAD settings ranging from 2TAD to 20TAD
For ADCS = 0 to 6 ' We hace 7 different conversion clock selections
ADCON2 = 128 + (ACQT * 8) + ADCS ' "Build the ADCON2 word by combining the two settings.
PAUSE 25
Accumulator = 0
For samples = 0 to 7 ' Take 8 samples
' First make a dummy conversion of a channel we're not really interested in
ADCON0.2 = 1
GODONE = 1
WHILE GODONE : WEND
' Then switch to AN0 and make a conversion.
ADCON0.2 = 0
GODONE = 1
WHILE GODONE : WEND
' Get the result and add it to the accumulator
Result.HighByte=ADRESH
Result.LOWBYTE=ADRESL
Accumulator = Accumulator + Result
NEXT
' Divide accumulated result by 8 to get the average of our 8 readings.
Result = Accumulator >> 3
' These selections matches the 18F25K20
Select CASE ADCS
CASE 0
HSEROUT["FOSC/2 "]
CASE 1
HSEROUT["FOSC/8 "]
CASE 2
HSEROUT["FOSC/32 "]
CASE 3
HSEROUT["FRC "]
CASE 4
HSEROUT["FOSC/4 "]
CASE 5
HSEROUT["FOSC/16 "]
CASE 6
HSEROUT["FOSC/64 "]
END Select
SELECT CASE ACQT
CASE 1
HSEROUT["2 TAD "]
CASE 2
HSEROUT["4 TAD "]
CASE 3
HSEROUT["6 TAD "]
CASE 4
HSEROUT["8 TAD "]
CASE 5
HSEROUT["12 TAD "]
CASE 6
HSEROUT["16 TAD "]
CASE 7
HSEROUT["20 TAD "]
END SELECT
' Report the result.
HSEROUT[" Result: ", #RESULT, 13]
NEXT
NEXT
PAUSE 100
END
And here are the results:
Code:
*****************************************************
*****************************************************
VRef is VDD/VSS measured to 3.299V
1k resistor in series with input
*****************************************************
*****************************************************
Input voltage 25.7mV
FOSC/2 2 TAD Result: 8
FOSC/8 2 TAD Result: 8
FOSC/32 2 TAD Result: 7
FRC 2 TAD Result: 7
FOSC/4 2 TAD Result: 8
FOSC/16 2 TAD Result: 7
FOSC/64 2 TAD Result: 7
FOSC/2 4 TAD Result: 9
FOSC/8 4 TAD Result: 7
FOSC/32 4 TAD Result: 7
FRC 4 TAD Result: 7
FOSC/4 4 TAD Result: 8
FOSC/16 4 TAD Result: 7
FOSC/64 4 TAD Result: 7
FOSC/2 6 TAD Result: 8
FOSC/8 6 TAD Result: 7
FOSC/32 6 TAD Result: 7
FRC 6 TAD Result: 7
FOSC/4 6 TAD Result: 7
FOSC/16 6 TAD Result: 7
FOSC/64 6 TAD Result: 7
FOSC/2 8 TAD Result: 8
FOSC/8 8 TAD Result: 7
FOSC/32 8 TAD Result: 6
FRC 8 TAD Result: 7
FOSC/4 8 TAD Result: 7
FOSC/16 8 TAD Result: 7
FOSC/64 8 TAD Result: 7
FOSC/2 12 TAD Result: 8
FOSC/8 12 TAD Result: 8
FOSC/32 12 TAD Result: 7
FRC 12 TAD Result: 7
FOSC/4 12 TAD Result: 7
FOSC/16 12 TAD Result: 7
FOSC/64 12 TAD Result: 7
FOSC/2 16 TAD Result: 8
FOSC/8 16 TAD Result: 7
FOSC/32 16 TAD Result: 7
FRC 16 TAD Result: 7
FOSC/4 16 TAD Result: 7
FOSC/16 16 TAD Result: 7
FOSC/64 16 TAD Result: 7
FOSC/2 20 TAD Result: 8
FOSC/8 20 TAD Result: 7
FOSC/32 20 TAD Result: 7
FRC 20 TAD Result: 7
FOSC/4 20 TAD Result: 7
FOSC/16 20 TAD Result: 7
FOSC/64 20 TAD Result: 7
Input Voltage: 1.650V
FOSC/2 2 TAD Result: 497
FOSC/8 2 TAD Result: 509
FOSC/32 2 TAD Result: 511
FRC 2 TAD Result: 511
FOSC/4 2 TAD Result: 508
FOSC/16 2 TAD Result: 511
FOSC/64 2 TAD Result: 511
FOSC/2 4 TAD Result: 504
FOSC/8 4 TAD Result: 511
FOSC/32 4 TAD Result: 511
FRC 4 TAD Result: 511
FOSC/4 4 TAD Result: 512
FOSC/16 4 TAD Result: 511
FOSC/64 4 TAD Result: 511
FOSC/2 6 TAD Result: 507
FOSC/8 6 TAD Result: 511
FOSC/32 6 TAD Result: 511
FRC 6 TAD Result: 511
FOSC/4 6 TAD Result: 512
FOSC/16 6 TAD Result: 511
FOSC/64 6 TAD Result: 511
FOSC/2 8 TAD Result: 509
FOSC/8 8 TAD Result: 511
FOSC/32 8 TAD Result: 511
FRC 8 TAD Result: 511
FOSC/4 8 TAD Result: 512
FOSC/16 8 TAD Result: 511
FOSC/64 8 TAD Result: 511
FOSC/2 12 TAD Result: 511
FOSC/8 12 TAD Result: 511
FOSC/32 12 TAD Result: 511
FRC 12 TAD Result: 512
FOSC/4 12 TAD Result: 512
FOSC/16 12 TAD Result: 511
FOSC/64 12 TAD Result: 511
FOSC/2 16 TAD Result: 511
FOSC/8 16 TAD Result: 511
FOSC/32 16 TAD Result: 511
FRC 16 TAD Result: 511
FOSC/4 16 TAD Result: 512
FOSC/16 16 TAD Result: 511
FOSC/64 16 TAD Result: 511
FOSC/2 20 TAD Result: 511
FOSC/8 20 TAD Result: 511
FOSC/32 20 TAD Result: 511
FRC 20 TAD Result: 511
FOSC/4 20 TAD Result: 512
FOSC/16 20 TAD Result: 512
FOSC/64 20 TAD Result: 511
Input Voltage: 3.286V
FOSC/2 2 TAD Result: 511
FOSC/8 2 TAD Result: 1013
FOSC/32 2 TAD Result: 1019
FRC 2 TAD Result: 1019
FOSC/4 2 TAD Result: 995
FOSC/16 2 TAD Result: 1018
FOSC/64 2 TAD Result: 1019
FOSC/2 4 TAD Result: 511
FOSC/8 4 TAD Result: 1019
FOSC/32 4 TAD Result: 1019
FRC 4 TAD Result: 1020
FOSC/4 4 TAD Result: 1011
FOSC/16 4 TAD Result: 1020
FOSC/64 4 TAD Result: 1019
FOSC/2 6 TAD Result: 1006
FOSC/8 6 TAD Result: 1019
FOSC/32 6 TAD Result: 1019
FRC 6 TAD Result: 1020
FOSC/4 6 TAD Result: 1016
FOSC/16 6 TAD Result: 1019
FOSC/64 6 TAD Result: 1019
FOSC/2 8 TAD Result: 1014
FOSC/8 8 TAD Result: 1020
FOSC/32 8 TAD Result: 1019
FRC 8 TAD Result: 1019
FOSC/4 8 TAD Result: 1018
FOSC/16 8 TAD Result: 1019
FOSC/64 8 TAD Result: 1019
FOSC/2 12 TAD Result: 1017
FOSC/8 12 TAD Result: 1019
FOSC/32 12 TAD Result: 1019
FRC 12 TAD Result: 1019
FOSC/4 12 TAD Result: 1020
FOSC/16 12 TAD Result: 1019
FOSC/64 12 TAD Result: 1019
FOSC/2 16 TAD Result: 1019
FOSC/8 16 TAD Result: 1019
FOSC/32 16 TAD Result: 1019
FRC 16 TAD Result: 1019
FOSC/4 16 TAD Result: 1020
FOSC/16 16 TAD Result: 1019
FOSC/64 16 TAD Result: 1019
FOSC/2 20 TAD Result: 1020
FOSC/8 20 TAD Result: 1020
FOSC/32 20 TAD Result: 1019
FRC 20 TAD Result: 1019
FOSC/4 20 TAD Result: 1020
FOSC/16 20 TAD Result: 1020
FOSC/64 20 TAD Result: 1019
*****************************************************
*****************************************************
VRef is VDD/VSS measured to 3.299V
10k resistor in series with input
*****************************************************
*****************************************************
Input voltage 25.7mV
FOSC/2 2 TAD Result: 9
FOSC/8 2 TAD Result: 8
FOSC/32 2 TAD Result: 7
FRC 2 TAD Result: 7
FOSC/4 2 TAD Result: 8
FOSC/16 2 TAD Result: 7
FOSC/64 2 TAD Result: 7
FOSC/2 4 TAD Result: 8
FOSC/8 4 TAD Result: 7
FOSC/32 4 TAD Result: 7
FRC 4 TAD Result: 7
FOSC/4 4 TAD Result: 8
FOSC/16 4 TAD Result: 7
FOSC/64 4 TAD Result: 7
FOSC/2 6 TAD Result: 8
FOSC/8 6 TAD Result: 7
FOSC/32 6 TAD Result: 7
FRC 6 TAD Result: 7
FOSC/4 6 TAD Result: 7
FOSC/16 6 TAD Result: 7
FOSC/64 6 TAD Result: 7
FOSC/2 8 TAD Result: 8
FOSC/8 8 TAD Result: 7
FOSC/32 8 TAD Result: 7
FRC 8 TAD Result: 7
FOSC/4 8 TAD Result: 7
FOSC/16 8 TAD Result: 7
FOSC/64 8 TAD Result: 7
FOSC/2 12 TAD Result: 8
FOSC/8 12 TAD Result: 7
FOSC/32 12 TAD Result: 7
FRC 12 TAD Result: 7
FOSC/4 12 TAD Result: 7
FOSC/16 12 TAD Result: 7
FOSC/64 12 TAD Result: 7
FOSC/2 16 TAD Result: 8
FOSC/8 16 TAD Result: 8
FOSC/32 16 TAD Result: 7
FRC 16 TAD Result: 7
FOSC/4 16 TAD Result: 8
FOSC/16 16 TAD Result: 7
FOSC/64 16 TAD Result: 7
FOSC/2 20 TAD Result: 8
FOSC/8 20 TAD Result: 7
FOSC/32 20 TAD Result: 7
FRC 20 TAD Result: 7
FOSC/4 20 TAD Result: 7
FOSC/16 20 TAD Result: 7
FOSC/64 20 TAD Result: 7
Input voltage 1.650V
FOSC/2 2 TAD Result: 445
FOSC/8 2 TAD Result: 471
FOSC/32 2 TAD Result: 508
FRC 2 TAD Result: 511
FOSC/4 2 TAD Result: 448
FOSC/16 2 TAD Result: 494
FOSC/64 2 TAD Result: 511
FOSC/2 4 TAD Result: 457
FOSC/8 4 TAD Result: 493
FOSC/32 4 TAD Result: 511
FRC 4 TAD Result: 511
FOSC/4 4 TAD Result: 470
FOSC/16 4 TAD Result: 507
FOSC/64 4 TAD Result: 511
FOSC/2 6 TAD Result: 461
FOSC/8 6 TAD Result: 503
FOSC/32 6 TAD Result: 511
FRC 6 TAD Result: 511
FOSC/4 6 TAD Result: 485
FOSC/16 6 TAD Result: 510
FOSC/64 6 TAD Result: 511
FOSC/2 8 TAD Result: 472
FOSC/8 8 TAD Result: 507
FOSC/32 8 TAD Result: 511
FRC 8 TAD Result: 511
FOSC/4 8 TAD Result: 494
FOSC/16 8 TAD Result: 511
FOSC/64 8 TAD Result: 511
FOSC/2 12 TAD Result: 478
FOSC/8 12 TAD Result: 510
FOSC/32 12 TAD Result: 511
FRC 12 TAD Result: 511
FOSC/4 12 TAD Result: 510
FOSC/16 12 TAD Result: 511
FOSC/64 12 TAD Result: 511
FOSC/2 16 TAD Result: 493
FOSC/8 16 TAD Result: 511
FOSC/32 16 TAD Result: 511
FRC 16 TAD Result: 511
FOSC/4 16 TAD Result: 512
FOSC/16 16 TAD Result: 511
FOSC/64 16 TAD Result: 511
FOSC/2 20 TAD Result: 503
FOSC/8 20 TAD Result: 511
FOSC/32 20 TAD Result: 511
FRC 20 TAD Result: 511
FOSC/4 20 TAD Result: 512
FOSC/16 20 TAD Result: 511
FOSC/64 20 TAD Result: 511
Input voltage 3.286V
FOSC/2 2 TAD Result: 511
FOSC/8 2 TAD Result: 929
FOSC/32 2 TAD Result: 1012
FRC 2 TAD Result: 1019
FOSC/4 2 TAD Result: 880
FOSC/16 2 TAD Result: 981
FOSC/64 2 TAD Result: 1019
FOSC/2 4 TAD Result: 511
FOSC/8 4 TAD Result: 980
FOSC/32 4 TAD Result: 1018
FRC 4 TAD Result: 1019
FOSC/4 4 TAD Result: 926
FOSC/16 4 TAD Result: 1011
FOSC/64 4 TAD Result: 1019
FOSC/2 6 TAD Result: 511
FOSC/8 6 TAD Result: 1001
FOSC/32 6 TAD Result: 1019
FRC 6 TAD Result: 1020
FOSC/4 6 TAD Result: 959
FOSC/16 6 TAD Result: 1017
FOSC/64 6 TAD Result: 1019
FOSC/2 8 TAD Result: 511
FOSC/8 8 TAD Result: 1010
FOSC/32 8 TAD Result: 1019
FRC 8 TAD Result: 1019
FOSC/4 8 TAD Result: 979
FOSC/16 8 TAD Result: 1019
FOSC/64 8 TAD Result: 1019
FOSC/2 12 TAD Result: 511
FOSC/8 12 TAD Result: 1017
FOSC/32 12 TAD Result: 1020
FRC 12 TAD Result: 1020
FOSC/4 12 TAD Result: 1000
FOSC/16 12 TAD Result: 1019
FOSC/64 12 TAD Result: 1019
FOSC/2 16 TAD Result: 923
FOSC/8 16 TAD Result: 1019
FOSC/32 16 TAD Result: 1019
FRC 16 TAD Result: 1019
FOSC/4 16 TAD Result: 1010
FOSC/16 16 TAD Result: 1019
FOSC/64 16 TAD Result: 1019
FOSC/2 20 TAD Result: 990
FOSC/8 20 TAD Result: 1019
FOSC/32 20 TAD Result: 1019
FRC 20 TAD Result: 1020
FOSC/4 20 TAD Result: 1015
FOSC/16 20 TAD Result: 1019
FOSC/64 20 TAD Result: 1019
*****************************************************
*****************************************************
VRef is VDD/VSS measured to 3.299V
39k resistor in series with input
*****************************************************
*****************************************************
Input voltage: 25.7mV
FOSC/2 2 TAD Result: 11
FOSC/8 2 TAD Result: 7
FOSC/32 2 TAD Result: 7
FRC 2 TAD Result: 7
FOSC/4 2 TAD Result: 8
FOSC/16 2 TAD Result: 7
FOSC/64 2 TAD Result: 7
FOSC/2 4 TAD Result: 9
FOSC/8 4 TAD Result: 7
FOSC/32 4 TAD Result: 7
FRC 4 TAD Result: 7
FOSC/4 4 TAD Result: 7
FOSC/16 4 TAD Result: 7
FOSC/64 4 TAD Result: 7
FOSC/2 6 TAD Result: 8
FOSC/8 6 TAD Result: 8
FOSC/32 6 TAD Result: 7
FRC 6 TAD Result: 7
FOSC/4 6 TAD Result: 8
FOSC/16 6 TAD Result: 7
FOSC/64 6 TAD Result: 7
FOSC/2 8 TAD Result: 8
FOSC/8 8 TAD Result: 7
FOSC/32 8 TAD Result: 7
FRC 8 TAD Result: 7
FOSC/4 8 TAD Result: 8
FOSC/16 8 TAD Result: 7
FOSC/64 8 TAD Result: 7
FOSC/2 12 TAD Result: 9
FOSC/8 12 TAD Result: 7
FOSC/32 12 TAD Result: 7
FRC 12 TAD Result: 7
FOSC/4 12 TAD Result: 7
FOSC/16 12 TAD Result: 8
FOSC/64 12 TAD Result: 7
FOSC/2 16 TAD Result: 8
FOSC/8 16 TAD Result: 7
FOSC/32 16 TAD Result: 7
FRC 16 TAD Result: 7
FOSC/4 16 TAD Result: 7
FOSC/16 16 TAD Result: 7
FOSC/64 16 TAD Result: 7
FOSC/2 20 TAD Result: 8
FOSC/8 20 TAD Result: 7
FOSC/32 20 TAD Result: 7
FRC 20 TAD Result: 7
FOSC/4 20 TAD Result: 7
FOSC/16 20 TAD Result: 7
FOSC/64 20 TAD Result: 7
Input voltage: 1.650V
FOSC/2 2 TAD Result: 406
FOSC/8 2 TAD Result: 420
FOSC/32 2 TAD Result: 470
FRC 2 TAD Result: 507
FOSC/4 2 TAD Result: 407
FOSC/16 2 TAD Result: 441
FOSC/64 2 TAD Result: 496
FOSC/2 4 TAD Result: 408
FOSC/8 4 TAD Result: 439
FOSC/32 4 TAD Result: 495
FRC 4 TAD Result: 511
FOSC/4 4 TAD Result: 418
FOSC/16 4 TAD Result: 469
FOSC/64 4 TAD Result: 509
FOSC/2 6 TAD Result: 415
FOSC/8 6 TAD Result: 457
FOSC/32 6 TAD Result: 505
FRC 6 TAD Result: 511
FOSC/4 6 TAD Result: 428
FOSC/16 6 TAD Result: 485
FOSC/64 6 TAD Result: 511
FOSC/2 8 TAD Result: 418
FOSC/8 8 TAD Result: 469
FOSC/32 8 TAD Result: 509
FRC 8 TAD Result: 512
FOSC/4 8 TAD Result: 442
FOSC/16 8 TAD Result: 495
FOSC/64 8 TAD Result: 511
FOSC/2 12 TAD Result: 427
FOSC/8 12 TAD Result: 486
FOSC/32 12 TAD Result: 511
FRC 12 TAD Result: 511
FOSC/4 12 TAD Result: 456
FOSC/16 12 TAD Result: 506
FOSC/64 12 TAD Result: 511
FOSC/2 16 TAD Result: 450
FOSC/8 16 TAD Result: 496
FOSC/32 16 TAD Result: 511
FRC 16 TAD Result: 512
FOSC/4 16 TAD Result: 469
FOSC/16 16 TAD Result: 509
FOSC/64 16 TAD Result: 511
FOSC/2 20 TAD Result: 453
FOSC/8 20 TAD Result: 502
FOSC/32 20 TAD Result: 511
FRC 20 TAD Result: 511
FOSC/4 20 TAD Result: 478
FOSC/16 20 TAD Result: 510
FOSC/64 20 TAD Result: 511
Input voltage: 3.286V
FOSC/2 2 TAD Result: 768
FOSC/8 2 TAD Result: 826
FOSC/32 2 TAD Result: 931
FRC 2 TAD Result: 1010
FOSC/4 2 TAD Result: 801
FOSC/16 2 TAD Result: 873
FOSC/64 2 TAD Result: 986
FOSC/2 4 TAD Result: 511
FOSC/8 4 TAD Result: 867
FOSC/32 4 TAD Result: 984
FRC 4 TAD Result: 1019
FOSC/4 4 TAD Result: 824
FOSC/16 4 TAD Result: 929
FOSC/64 4 TAD Result: 1014
FOSC/2 6 TAD Result: 511
FOSC/8 6 TAD Result: 904
FOSC/32 6 TAD Result: 1006
FRC 6 TAD Result: 1019
FOSC/4 6 TAD Result: 847
FOSC/16 6 TAD Result: 963
FOSC/64 6 TAD Result: 1019
FOSC/2 8 TAD Result: 511
FOSC/8 8 TAD Result: 930
FOSC/32 8 TAD Result: 1014
FRC 8 TAD Result: 1019
FOSC/4 8 TAD Result: 874
FOSC/16 8 TAD Result: 985
FOSC/64 8 TAD Result: 1019
FOSC/2 12 TAD Result: 511
FOSC/8 12 TAD Result: 963
FOSC/32 12 TAD Result: 1019
FRC 12 TAD Result: 1019
FOSC/4 12 TAD Result: 901
FOSC/16 12 TAD Result: 1006
FOSC/64 12 TAD Result: 1019
FOSC/2 16 TAD Result: 847
FOSC/8 16 TAD Result: 985
FOSC/32 16 TAD Result: 1019
FRC 16 TAD Result: 1019
FOSC/4 16 TAD Result: 927
FOSC/16 16 TAD Result: 1015
FOSC/64 16 TAD Result: 1019
FOSC/2 20 TAD Result: 847
FOSC/8 20 TAD Result: 999
FOSC/32 20 TAD Result: 1019
FRC 20 TAD Result: 1019
FOSC/4 20 TAD Result: 950
FOSC/16 20 TAD Result: 1017
FOSC/64 20 TAD Result: 1019
I haven't analyzed any of it yet and I don't have any more time just now but I wanted to post the results. If anyone wants to graph the results in Excel or whatever to better see what's going on, please feel free to do so.
/Henrik.
Bookmarks