¿Cuál es la diferencia entre el tiempo de muestreo y el intervalo de muestreo y la tasa de muestreo?

Entiendo que el tiempo de muestreo del ADC son los ciclos de reloj del ADC para los cuales el capacitor de muestreo y retención se carga hasta el voltaje de entrada del canal. Este es un parámetro configurable y su valor oscila entre ns y us.

Digamos que quiero leer muestras de ADC para el procesamiento de señales digitales y quiero adquirir muestras a una velocidad muy específica, digamos 100 Hz. Llamo a esto la tasa de muestreo. En este caso, ¿sería suficiente si configuro el tiempo de muestreo del ADC en 100 Hz para obtener una frecuencia de muestreo de 100 Hz?

Tengo entendido que debería configurar un temporizador a 100 Hz y usarlo para activar la conversión ADC, pero en este caso, ¿no es el tiempo real entre dos muestras, es decir, el intervalo de muestreo sería (10 ms (100 Hz de la frecuencia de muestreo) + X ns(del tiempo de muestreo))?

Estoy usando el ADC de una placa Discovery STM32F4, pero mi confusión sigue siendo la misma para cualquier otro controlador.

¿Qué significan realmente el tiempo de muestreo, la frecuencia de muestreo y el intervalo de muestreo?

Hay un mux. Por lo tanto, debe permitir que la señal de entrada pase a través de él y actualizar la muestra antes de la conversión. Para saber cuánto tiempo debe durar, debe leer la hoja de datos de los valores internos del condensador y la resistencia del proceso, así como conocer sus propias impedancias de fuente para lo que sea que esté impulsando el pin ADC. Y luego querrá esperar un número suficiente de τ s que puede satisfacer sus necesidades de precisión. No creo que haya proporcionado suficiente información para su caso. Pero supongo que en cambio estás pidiendo una educación.
@jonk: Sí, pedí aclarar mi confusión. Necesito estar absolutamente seguro sobre el intervalo de muestreo entre 2 puntos de muestra para mi aplicación DSP. La respuesta de Tirdad aclara esto.

Respuestas (2)

Para el caso que mencionaste, una frecuencia de muestreo de 100 Hz usando un disparador y el tiempo de muestreo de 100 ns:

TIMER: TRIG--------------------TRIG----------------
ADC  : SMPL---/DONE------------SMPL---/DONE

El tiempo entre 2 /DONEseñales consecutivas (por ejemplo, interrupción de conversión completa) es el mismo que la señal TRIG porque el tiempo de muestreo agregado es fijo. siempre que el intervalo TRIG sea mayor que el tiempo de muestreo (+ tiempo perdido en el procesamiento de instrucciones).

El tiempo de muestreo generalmente se usa como un valor límite (o un ajuste fino):

  • (leer el comentario del jonk). si la corriente proporcionada por la señal no es mucha, el condensador de muestreo y retención tarda más en cargarse hasta el mismo nivel de voltaje que la señal. por lo tanto, cuanto más tiempo le dé al ADC para muestrear y procesar, mayor precisión obtendrá. el mejor tiempo de muestreo para la precisión es el más alto.
  • ¿Qué pasaría si quisiéramos muestrear una señal con un intervalo de 80 ns? los tiempos anteriores causarían problemas por lo que tenemos que reducir el tiempo de muestreo. perdemos precisión (al menos en los LSbits) pero obtenemos una tasa de muestreo más rápida. por lo tanto, hay una compensación que el diseñador debe decidir.

EDITAR: aquí hay algunos tiempos de acuerdo con la hoja de datos STM32F0 , características de ADC:

Características y tiempos del ADC STM32

Muchos de ellos están casi fijos para algunas configuraciones determinadas. el tiempo de muestreo que se marca, es configurado por el usuario. en base a esta configuración se proporciona la lluvia máxima:Lluvia máxima para varios tiempos de muestreo

los tiempos de muestreo parecen estar lo suficientemente fijos siempre que no use ese reloj ADC de 14MHz dedicado.

Muchas gracias. Me había perdido el punto de que el tiempo entre 2 señales consecutivas / HECHO es el mismo. Ahora me queda claro.
Sí, he usado este método de activación por temporizador en un STM32F0 para el procesamiento de voz. el temporizador activa ADC en un intervalo sin ninguna intervención de software, el ADC activa DMA al final de la conversión y DMA lo vuelca en un bloque de memoria o uart.
¿Está realmente fijo el tiempo entre el "inicio del muestreo" y el "resultado disponible"?
@SimonRichter Edité la respuesta y agregué algunas tablas. siempre que tenga un reloj estable y no use ese reloj dedicado de ADC de 14 MHz, las entradas de la tabla son fijas.

Estás un poco fuera de lugar. Utiliza una interrupción de temporizador para activar la adquisición. El temporizador no "marca" a 100 Hz, el temporizador marca más rápido que eso, digamos 10 kHz (usted puede configurar todo esto), y la interrupción del temporizador ocurre cuando el temporizador interrumpe. Precarga el contador para que se desborde a la velocidad adecuada.

La clave de todo esto es que el temporizador nunca deja de contar. Sí, la adquisición finaliza con delta de tiempo después del disparo, pero mientras esto ocurre, el contador precarga el número de inicio nuevamente y sigue contando, no espera a que finalice la adquisición, por lo que sus muestras están en la tasa correcta.

Cuanta más precisión necesite, más rápido configurará el tictac de su temporizador. Es posible que necesite una palabra grande, como 32 bits, para que se desborde a una velocidad lo suficientemente lenta, pero hay contadores de 32 bits en muchos microcontroladores.

Algunos temporizadores STM32 tienen una capacidad de activación que activa ADC en un evento periódico de desbordamiento/actualización, sin ninguna intervención de software (por ejemplo, interrupciones).
seis de uno... no cambia los principios.