En el módulo A/D tenemos 2 pasos importantes, los cuales en conjuntos se podrían denominar Tiempo de Muestreo.
a) Tiempo de Adquisición
b) Tiempo de Conversión
a) El conversor A/D tiene un capacitor de SAMPLE/HOLD (muestreo y retención) el cual se debe cargar a la tensión de la señal presente en el canal A/D elegido. Hay entonces que darle un tiempo para que dicho capacitor se cargue. Este tiempo depende de varias cuestiones.
. La diferencia de tensión entre la tensión presente actualmente y la última tensión que tenía el capacitor.
. La impedancia de la entrada que cuanto mas grande sea más lento será la carga/descarga del capacitor. Carga será cuando la tensión del PIN en el canal A/D sea mayor a la presente en el capacitor. Descarga será cuando la tensión en el PIN en el canal A/D sea menor a la presente en el capacitor.
b) Es el tiempo que le lleva al módulo A/D, convertir el dato del capacitor de SAMPLE/HOLD en un valor digital.
El tiempo de adquisición, está sugerido en el datasheet cómo debiera ser, pero uno puede darse "un margen" para tener valores más precisos.
El tiempo de conversión es deseable que sea lo más rápido posible para que el conversor funcione con mayor precisión.
El tiempo de conversión del módulo A/D a 10 bits son 11.5TAD. Donde cada TAD durará diferente en función del clock que tenga el pic y del valor de prescaler que le hayamos configurado. El tiempo de 1.6useg es el mínimo tiempo TAD posible. Puede ser mayor, pero nunca menor. Elegirlo menor daría como resultado que la conversión sea imprescisa.
También es importante tener en cuenta que no podemos disparar el A/D ni bien acabamos de convertir,se deben esperar 2TAD, de todas formas esto lo podemos dejar de lado.
No importa si usamos clock de 20MHz o de 5MHz, lo que importa es que ese clock vs el prescaler del A/D nos de un tiempo mayor o igual a 1.6useg. Cuanto más cerca de 1.6useg más veloz será la conversión.
Por ejemplo con un clock de 5Mhz y un prescaler de 8TOsc logramos 1.6useg.
Con un clock de 20MHz y un prescaler de 32TOsc, también logramos 1.6useg
EL CALCULO
Yendo a los números, el tiempo total entre conversión y conversión será el Tiempo de Muestreo que será:
Condiciones
Temperatura = 50 °C
Rs = 1K ohm
Tmuestreo = Tadquisicion + Tconversión
Tadquisicion = Tamp + Tc + Tcoef
donde
Tamp = Tiempo de establecimiento del Amplificador
Tc = Tiempo de carga del capacitor = CHold
Tcoef = Coeficiente de temperatura
Tamp = 2 u[seg]
Tcoef = (Temperatura - 25°C)*(0.05useg/°C) = (50-25)*(0.05useg) = 1,25 u[seg]
Tc = - Chold * (Ric + Rss + Rs) * ln (1/2047) =
= -120 pF * (1K + 7K + 1K) * (-7.62) = 8,23 u[seg]
Tadquisicion = Tamp + Tc + Tcoef = 2 + 8,23 + 1,25 = 11,48 useg
Si TAD = 1.6 useg (en el mejor de los casos)
Tmuestreo = 11.5 TAD = 18.4 u[seg]
Finalmente
Tmuestreo = Tadquisicion + Tconversion = 18.4 u [seg] + 11.48 u [seg] = 29.88 u [seg]
Esto es solo ejemplificador y como bien te ha dicho Carlos depende de la frecuencia del oscilador. El TAD será el que cambie.
Por último solo quiero aclarar que como recomendación, no se valgan de la "espera" para la conversión, la espera debe ser en la parte de adquisición pero no de conversión. En la conversión una vez disparado el A/D conviene leer directamente el bit GO/DONE o el flag ADIF (ubicado en el registro PIR1).