¿La frecuencia de señal de entrada ADC más alta para atmega8?

Estoy tratando de hacer un proyecto simple que implica adquirir algunos datos del adc del chip atmega8 y luego enviar esos datos a UART. Pero no puedo descifrar cuál sería el límite máximo de la frecuencia de la señal de entrada para que sea una adquisición de señal confiable. Estoy usando adc de 10 bits, pero realmente no me importa una precisión de 8 bits. También debo tener en cuenta el tiempo necesario para transferir mis datos a través del puerto serie. La hoja de datos dice

De forma predeterminada, el circuito de aproximación sucesiva requiere una frecuencia de reloj de entrada entre 50 kHz y 200 kHz para obtener la máxima resolución. Si se necesita una resolución inferior a 10 bits, la frecuencia de reloj de entrada al ADC puede ser superior a 200 kHz para obtener una frecuencia de muestreo más alta.

¿Significa eso que el muestreo está ocurriendo a 200kHz? Todo esto es muy confuso para mí.

electrónica relacionada.stackexchange.com/questions/758/…

Respuestas (3)

¿Qué es el reloj ADC?

La sección que está viendo es para el reloj utilizado para el ADC. Sin embargo, este reloj no está directamente relacionado con la frecuencia máxima de muestreo. El reloj es lo que en realidad se está alimentando al módulo ADC, que debe ser más rápido que su muestreo para que pueda manejar algo de magia por usted.

¿Cómo se relaciona el reloj Max con la frecuencia de muestreo máxima?

Lo que dice la hoja de datos es que para obtener una resolución de 10 bits, su reloj no puede ser más rápido que 200 KHz. Cuando su reloj esté a esa velocidad, podrá muestrear su señal a 15,000 muestras por segundo.

Si no necesita los 10 bits de resolución, puede proporcionar al ADC un reloj más rápido y obtendrá una frecuencia de muestreo más rápida, pero la hoja de datos no es clara en cuanto a qué tan rápido puede ir y aún así obtener una resolución de 8 bits.

Asumiría que la relación entre el reloj y la frecuencia de muestreo es fija, por lo que 200K/15K = 13,33, lo que significa que puede bajar hasta 50 KHz de reloj, lo que da como resultado 3,75 kSPS.

¿Por qué un reloj mínimo para obtener una muestra de 10 bits?

El módulo ADC está realizando un muestreo y retención en el que el voltaje se mantiene esencialmente en un capacitor. Si reduce demasiado la velocidad del reloj, el voltaje puede comenzar a desvanecerse del capacitor antes de que se realice una muestra completa. Este cambio en el voltaje hace que no pueda obtener los 10 bits con precisión.

Entonces, ¿qué significa todo esto?

De acuerdo con el teorema de muestreo de Nyquist-Shannon, su frecuencia de muestreo debe ser al menos el doble de la frecuencia máxima de su señal. Puede obtener más información sobre por qué al mirar esta pregunta: Desconcertado por la frecuencia de Nyquist

Entonces, para obtener 10 bits de resolución, el máximo que puede tener su señal es 7.5 KHz, pero si necesita muestrear una señal más rápido que eso, puede hacerlo, pero la hoja de datos no menciona qué tan alto puede llegar o cuánto lastima tu resolución.

Se necesitan 14 ciclos de reloj para realizar una medición con su módulo ADC particular en modo de ejecución libre (Fig. 101 en la hoja de datos). El máximo. El reloj ADC es de 1MHz (3LSB o 3/2^8=1.2% de error), dando 71428 SPS y 35714 Hz.
@tyblu: esa debería ser una respuesta, especialmente si la mejoró al proporcionar una referencia para su afirmación de que el reloj ADC máximo es de 1 MHz.

Creo que encontrará muy útil el siguiente artículo, describe el efecto de una frecuencia de muestreo más alta (más alta que la recomendación del fabricante) en la resolución ADC en AVR

http://www.openmusiclabs.com/learning/digital/atmega-adc/

Una línea en la hoja de datos, en letras grandes y en negrita, dice:

Hasta 15 kSPS a máxima resolución

Así que 15.000 muestras por segundo.

Como necesita el doble de muestras que su frecuencia para muestrear con precisión*, está limitado a 7,5 KHz.

* Según la teoría de Nyquist - Gracias chicos.

¿podría ser Nyquist?
Frecuencia de Nyquist, creo
para agregar a eso, está limitado a 7.5 khz con un filtro de pared de ladrillo, que no existe, por lo que podría conectar en cascada dos filtros de amplificador operacional activos de un solo polo que le brindan 40 db por década (100 menos). Entonces, para una resolución dada de 19 mV (8 bits a/d) y un rango de entrada de 0-5 V, necesita una reducción de 48 dB en fnygquist. Entonces, para obtener eso, probablemente necesitará configurar su fc a 675 hz de su circuito de filtro antialais
Tenga en cuenta que si logra 15 ksps, deberá enviar 2 bytes por muestra para conservar una precisión de 10 bits o un byte/muestra para 8 bits. Una palabra de datos asíncrona a través de UART necesita un mínimo de 10 bits, y un poco más es una buena idea si desea recuperar la sincronización fácilmente, digamos 11 bits con 2 bits de parada, por lo que necesita un mínimo de 15,000 x 10 bits x 2 = 300,000 baudios para Datos de 16 bits y 150.000 baudios para datos de 8 bits. Eso es "moderadamente rápido". Dependiendo de lo que esté utilizando para recibir datos, esta tasa puede o no ser un problema. A 15 kbps x 10 bits, obtiene alrededor de 33 uS para manejar cada byte entrante.
Nyquist no dice que no pueda muestrear con precisión señales por encima de FS/2, lo que dice es que no puede hacerlo sin ambigüedades . Una vez que tiene la posibilidad de energía en ese rango, no puede distinguirla de la energía en una frecuencia complementaria de la frecuencia de muestreo. La frecuencia máxima real (más parecida a una caída) que se puede muestrear está determinada por el ancho de banda analógico del muestreador, en lugar de la frecuencia de muestreo.