seleccione cualquiera de las 2 entradas múltiples

0

Estoy tratando de ingresar cualquiera dos de las seis salidas de sensor a un microcontrolador que solo tiene dos puertos compatibles.

Mi primera idea fue utilizar dos IC de 8: 1 MUX de 74hc4051 pero requeriría 3 + 3 = 6 pines de selección.

Sinembargo,dadoqueestoyintentandoseleccionardosdeseis,hay30posibilidadesy,porlotanto,5pinesdeseleccióndeberíansersuficientes(lógicamente).

¿Estábienusardostiposde"en paralelo" de 74hc4051? ¿Hay alguna manera de resolver este problema usando solo 5 pines de selección?

Gracias.

    
pregunta engiz

3 respuestas

1

Algunas formas de abordar este problema:

  1. Consigue un microcontrolador más grande.

  2. Usa el micro que tienes de manera más inteligente. Aparentemente tienes un total de 7 conexiones disponibles para el micro, ya que dices que dos entradas y 5 salidas seleccionadas funcionarían.

    Simplemente conecte las 6 señales directamente a 6 micro pins, luego haga la selección que desee realizar en el firmware. Es muy probable que los 5 pines de salida que utilizarías para seleccionar la selección se puedan configurar como entradas digitales.

  3. Retrocede y piensa en esto en un nivel superior. Considere lo que realmente está tratando de lograr, sin asumir una forma particular de lograrlo. Su pregunta huele fuertemente a ser sobre los detalles de una manera particular de abordar el problema, cuando la solución correcta es abordar el problema de una manera diferente en primer lugar.

  4. Para responder a esta pregunta (más bien elaborada), tiene 30 configuraciones mux posibles, por lo que es posible codificarlas en 5 bits. Sin embargo, la decodificación de los 5 bits a las 6 líneas de control mux separadas puede ser más complicada de lo que está dispuesto a hacer.

    En el caso arbitrario, esto se puede hacer con una tabla de búsqueda (memoria) que tiene al menos 5 líneas de dirección y palabras de 6 bits. Ahora tiene el problema adicional de obtener los datos en esta memoria de alguna manera.

    Otra opción es multiplexar los 6 bits en los dos muxes. Podría hacer esto con un bus de datos de 3 bits y dos líneas de reloj separadas para bloquear el valor del bus de datos frente a cada una de las entradas de selección de mux.

    También puede ser posible encontrar muxes con una interfaz en serie como SPI y IIC, pero no he buscado y nunca he usado tales chips.

    Las 6 líneas de control de mux podrían provenir de un registro de desplazamiento con un pestillo de salida. Eso solo requeriría 3 líneas de datos desde el micro: Data, Clock, and Latch.

respondido por el Olin Lathrop
0

Una forma es alimentar las entradas de selección de un mux de 8 a 1 con 3 líneas de selección.

Luego, use un sumador de 3 bits con el arrastre establecido en 1 y aliméntelo con las 3 líneas de selección originales, agregándolas a otras 2 líneas de selección. Alimente las salidas del sumador a un segundo mux de 8 a 1.

Ahora puede enrutar a través de cualquiera de las dos entradas con 5 bits seleccionados.

    
respondido por el rioraxe
0

En realidad, el número de combinaciones válidas es de 6x6 = 36, si las condiciones son CUALQUIER 2 de 6. Esto incluye duplicados, por lo tanto, el 6 extra sobre tus 30.

Sin embargo, si se elimina la restricción de doble y de "par inverso", en realidad solo hay 15 combinaciones únicas. Solo un poco de alimento para el pensamiento.

Además, sería útil saber qué son estas señales y cómo se están utilizando. Sobre esta base, se podría descubrir algún método completo (es decir, simplificado).

Y por último, si nada de lo anterior es válido, entonces la solución propuesta por Dave Tweed (shifter's) es probablemente la más simple.

    
respondido por el Kripacharya

Lea otras preguntas en las etiquetas