¿Es posible monitorear las entradas del multiplexor analógico sin cambiar la señal del selector?

0

Si tiene 8 sensores de entrada analógica (o 2 o 9 o 738479) ¿hay un chip / es posible con la programación del microprocesador monitorear activamente todos los canales? Digamos que tenía 8 potenciómetros giratorios conectados a cada pin de E / S en el mux, ¿tendría que cambiar las entradas de selección cada vez que quisiera usar un potenciómetro diferente? Parece que esto haría que un mux sea mucho menos útil de lo que pensaba. Entonces, si quisiera usar el potenciómetro en el pin i / o 1 y luego el potenciómetro en el pin i / o 8 inmediatamente después del primero, tendría que decirle al microcontrolador / procesador que cambie al pin 8 de lectura antes de poder usar el periférico. ¿adjunto a? ¿O hay una manera de hacer que supervise todos los pines de E / S a la vez para que pueda usar el periférico en el pin 1 y luego en el pin 7 y luego en el pin 2 sin tener que hacer nada para cambiar el pin de io que se está leyendo? , siempre y cuando solo use uno a la vez?

CD74HC4051MM96EP es el mux del que ya tengo toneladas, y estoy usando teensyduino (biblioteca de códigos de arduino) / teensy 3.1 para enviar mensajes MIDI. Me gustaría leer todo tipo de sensores de entrada diferentes.

    
pregunta Rumbleklub

2 respuestas

3

La idea detrás de usar un multiplexor es que usted lea todas las entradas en una secuencia muy rápidamente y luego haga un bucle y lo vuelva a hacer. Es un intercambio de ancho de banda y latencia frente a recuento de puertos. Le permite dividir el ancho de banda disponible y la cuenta regresiva del puerto requerido por el mismo factor. Si tiene un ADC que puede muestrear a 10 KSps y un mux de 8 puertos, entonces con 1 entrada puede muestrear a 10 KSps en esa entrada, con 2 entradas puede muestrear a 5 KSps en ambas entradas, con 4 entradas puede muestrear a 2.5 KSps en cada entrada, etc. Un efecto secundario es que las muestras se intercalan en el tiempo, ya que no se pueden ver todas las entradas exactamente al mismo tiempo. Con 2 entradas, habrá un desplazamiento de 1 período de muestra entre las lecturas en canales alternos donde la primera muestra de la entrada 1 ocurrirá en 'T = 0', la segunda muestra provendrá de la entrada 2 y ocurrirá en T = 100us, la tercera muestra provendrá de la entrada 1 y se producirá en T = 200us, etc.

Si solo estás intentando leer desde POTs, deberías estar bien ya que las señales que salen de ellos cambiarán muy lentamente. Todo lo que necesita hacer es escribir un bucle for que recorrerá todos los ajustes de mux y leerá el valor analógico correspondiente.

    
respondido por el alex.forencich
2
  

Supongamos que tiene 8 potenciómetros giratorios conectados a cada pin de E / S en el mux, ¿tendría que cambiar las entradas de selección cada vez que quisiera usar un potenciómetro diferente?

Sí, si desea cambiar qué entrada está conectada a la salida de un mux, debe cambiar las entradas a las señales de selección.

  

O hay una manera de hacer que supervise todos los pines de E / S a la vez para que pueda usar el periférico en el pin 1 y luego en el pin 7 y luego en el pin 2 sin tener que hacer nada para cambiar el io pin que se lee, siempre y cuando solo use uno a la vez?

Podría usar 8 circuitos de monitor diferentes (entradas de ADC?) y no mux en absoluto.

O podría hacer un circuito para sumar las 8 entradas y monitorear la suma de la señal. Eso podría ser útil si desea evitar el sondeo para ver si hay alguna actividad en sus entradas. Pero si dos entradas están activas al mismo tiempo, no podrá distinguir cuál estaba activa.

Usted podría usar un contador para hacer que un bus digital en continuo incremento se aplique a los pines de selección MUX, evitando que la uC use las instrucciones para cambiar esas señales. Pero probablemente querrá sincronizar su actividad de "monitoreo" con el contador para que no realice una medición accidentalmente mientras el mux está cambiando.

    
respondido por el The Photon

Lea otras preguntas en las etiquetas