Considerando el ADC de Delta Sigma. Cómo establecer una frecuencia de muestreo arbitraria con ADS1675

3

He estado leyendo sobre qué es ADC (DSADC) delta sigma y si pueden ayudarme en mi proyecto y creo que lo harán.

El sobremuestreo reduce los requisitos en el filtro de suavizado analógico y las DSADC tienen muy buena resolución.

He estado leyendo en un DSADC de Texas Instruments, ADS1675, pero no entiendo cómo puedo controlar la frecuencia de muestreo con una mejor resolución que las opciones ya integradas. Supongo que si el oscilador de cristal tiene una frecuencia variable, ¿de alguna manera puedo establecer una frecuencia de muestreo arbitraria?

Si es así, ¿qué tipo de oscilador de cristal tiene un rango entre 1 kHz y 32 MHz? Quiero poder establecer una frecuencia de muestreo de aproximadamente 1kHz a 1MHz.

Entonces, ¿cómo puedo lograr esto? ¿Es posible o está restringido a las tasas de muestreo incorporadas?

Nota al margen: Estoy usando un microcontrolador con reloj de 72MHz.

Aquí hay un enlace directo a la hoja de datos: Hoja de datos ADS1675

    
pregunta iQt

2 respuestas

1

El jitter mencionado en la hoja de datos (p. 25) solo se aplica al pin jitter CLK: el uso del pin de inicio para determinar la frecuencia de muestreo no afecta al jitter CLK.

La parte difícil de configurar "una frecuencia de muestreo de aproximadamente 1kHz a 1MHz" es ajustar el filtro de suavizado analógico que controla la entrada del ADC. (Si bien ese filtro es difícil para los ADC sigma-delta, es aún más difícil para los ADC SAR y cualquier otro tipo de ADC).

Así que pasaré por alto eso y saltaré a la parte fácil de configurar "una frecuencia de muestreo de aproximadamente 1kHz a 1MHz": Si tiene suerte, hay un temporizador / contador en su microcontrolador que puede configurar para expulsar el pulso de algún pin a una velocidad programable. Si no tiene tanta suerte, hay muchos chips de temporizador / contador listos para usar con un pin de salida de pulsos de este tipo; conecte ese chip entre su microcontrolador y el ADC de tal manera que permita que el microcontrolador ajuste la frecuencia del pulso sobre la marcha.

En tu lugar, consideraría las siguientes opciones:

Opción A: CLK de frecuencia variable. Podría conectar ese pin de salida de frecuencia programable a la entrada CLK del ADS1675. Luego, configure el pin de inicio en + 3V para seleccionar el modo de "conversión múltiple" para generar automáticamente una serie de conversiones a varias velocidades en la hoja de datos (p. 17). Para obtener 1 mega muestra / segundo (1 MS / s) en esta disposición, aparentemente se requieren pulsos a exactamente 8 MHz. (Por desgracia, muchos temporizadores / contadores no pueden ir tan rápido).

Opción B: CLK de frecuencia fija, frecuencia de muestreo variable. Es posible que conecte ese pin de salida de frecuencia programable a la entrada de inicio del ADS1675, usando el modo de "conversión única" para generar una nueva conversión única en cada pulso (p. 17). Para obtener 1 mega muestra / segundo (1 MS / s) en esta disposición se requieren pulsos en el pin de inicio exactamente a 1 MHz, y un oscilador de frecuencia fija que controla el pin CLK en cualquier lugar de 8 MHz a 32 MHz, tal vez algo que se genera fácilmente a partir del reloj de 72 MHz que ya está usando. (Por desgracia, este enfoque es más vulnerable al aliasing).

La hoja de datos (pág. 25) también dice

  

"Se recomienda que el pin START esté alineado con el borde descendente   de CLK para garantizar una sincronización correcta porque la señal de INICIO está   bloqueado internamente por el ADS1675 en el borde ascendente de CLK ".

así que configuraría el CLK de entrada de temporizador / contador para que sea manejado por lo mismo que el CLK ADS1675.

Opción C: tasa de muestreo fija. Podría conectar el ADS1675 para muestrear a una frecuencia de muestreo fija (quizás 1 MS / s o 2 MS / s o 4 MS / s). Quizás la forma más sencilla de hacer esto es conducir el pin CLK con un oscilador de cristal de frecuencia fija (8 MHz o 16 MHz o 32 MHz), configurar el pin de inicio a + 3V para seleccionar el modo de "conversión múltiple" y configurar SCLK_SEL a GND para seleccionar el modo "SCLK interno". Luego configure el microcontrolador como un "esclavo SPI" para recibir los datos. Luego, una vez que tenga datos en la RAM, use el software para diezmar o promediar o generar una serie de valores a una velocidad de muestreo más lenta. (Debido a que tiene una frecuencia de muestreo de hardware fija, este enfoque tiene el filtro anti-aliasing más simple y no requiere hardware de contador / temporizador). (Por desgracia, este enfoque utiliza la mayor potencia).

    
respondido por el davidcary
0

En la página 15 dice: Un pin START dedicado permite un control de conversión preciso; alternar el pin para comenzar el proceso de conversión.

Por lo tanto, se requiere que el reloj que usa para tomar conversiones de calidad, pero la frecuencia de muestreo (hasta 4MSPS) está controlada por el pin de inicio y la interfaz serial. El tiempo es controlado por el microcontrolador.

    
respondido por el Bob

Lea otras preguntas en las etiquetas