Tengo entradas de 40 x 5V que quiero leer usando pines GPIO de 3V en el beaglebone black. Estoy planeando usar 5 multiplexores (como el 74HC151 o el 74HC251) que compartirán las 3 líneas seleccionadas.
No estoy seguro de cuál sería la mejor estrategia para cambiar de nivel:
Realmente espero poder hacer (1). La hoja de datos dice que el voltaje de entrada debe estar entre GND y VCC. ¿Qué tan malo será alimentarlo con 3V y dejar las entradas a 5V?
¡Gracias!
¿Por qué no usar simplemente un multiplexor de colector abierto alimentado por 5V y tirado hasta 3, como el 74LS156?
Puede usar un divisor de voltaje en cada señal. Por ejemplo, 18K + 33K le darán aproximadamente 3,2 V de salida por 5 V de entrada.
Eso ralentizará un poco las señales, pero si no le preocupan las frecuencias de MHz, no hará mucha diferencia.
Si tiene frecuencias altas, utilice un chip de cambio de nivel.
Otra opción es utilizar buffers/inversores CMOS de la familia LVC. Pueden alimentarse a 3,3 V, pero su entrada es tolerante a 5 V, es decir, manejarán y reconocerán niveles lógicos TTL en sus entradas. Lamentablemente, solo se proporcionan en paquetes SMT, por lo que no hay piezas de orificio pasante en esa familia.
Por ejemplo, consulte la hoja de datos del inversor 74LVC04 (NXP) o la hoja de datos del búfer de línea 74LVC244 (NXP) .
Un extracto de la primera página (énfasis mío en amarillo):
¡Gracias por las respuestas!
Terminaré usando un solo búfer octal (74LV245) para cambiar las 3 líneas de selección compartidas y las 5 líneas de datos individuales. Un solo IC adicional es más fácil y rápido que 40 divisores de voltaje, y también será mejor enviar las 3 líneas de selección compartidas a los 5 multiplexores cuando se pasa por un búfer en lugar de hacerlo directamente desde los pines GPIO.
Spehro Pefhany