Interconexión de líneas seriales CMOS y TTL

0

Quiero conectar dos MCU, uno está a 3.3V y el otro a 5V. El problema es que el dispositivo de 3.3 V es sensible y no puede manejar señales de 5 V, por lo que necesito reducir la línea RX en el dispositivo de 3.3 V desde 5 V a 3.3 V. ¿Es posible usar un divisor de voltaje en una línea serie u otra forma sencilla de lograr esto sin usar un convertidor de nivel IC?

ACTUALIZACIÓN No he intentado usar un divisor todavía. He implementado un convertidor TTL de Adafruit, y funciona, a 9600 baudios, pero no a velocidades más altas. Tengo una cierta cantidad de ruido en mi sistema, del que me cuesta deshacerme, y sospecho que esa es la razón. Sospecho que un divisor será peor en este caso.

    
pregunta Pål Thingbø

2 respuestas

1

Un divisor de voltaje funciona bien para convertir señales de 5 V a señales de 3.3 V. He usado 2 kΩ en series seguidas de 3.9 kΩ a tierra para exactamente este propósito. En este caso, la velocidad fue de 115.2 kBaud, y el retraso introducido por las resistencias fue pequeño en comparación con un poco de tiempo.

El problema real es la otra dirección, ya que la señal probablemente tiene que ser amplificada. A menos que el chip de 5 V tenga niveles de entrada "TTL", 3.3 V puede no estar por encima de su nivel de entrada alto garantizado. Algunas partes utilizan el 20% y el 80% de Vdd para los niveles garantizados. Si el suyo hace eso, la señal debe exceder los 4 V para que se pueda recoger de manera confiable como alta. Los convertidores de nivel son pequeños y baratos y existen solo para este propósito. Otro truco es usar una compuerta HCT (realmente cualquier compuerta con niveles de entrada TTL) alimentada desde 5 V para hacer la conversión. Eso solo tiene sentido si tiene una puerta sobrante, de lo contrario, un convertidor de nivel deliberado tiene más sentido.

    
respondido por el Olin Lathrop
0

Yo usaría una compuerta CMOS conectada a los 3.3v mcu y un transistor conectado a los 5v mcu. Usted conecta las entradas y salidas de los 3.3v mcu a las puertas cmos. Luego, conduzca estas puertas con un transistor que tenga el colector conectado a 3.3v y una resistencia de 10k en el cable del emisor. La unión del emisor y la resistencia están conectadas a la entrada de la puerta cmos. La salida de la puerta cmos está conectada a la entrada de los 3.3v mcu. Conecta la base a la salida de 5v mcu.

Usted conduce el 5v mcu conectando el colector a 5v y aún pone la resistencia en el cable del emisor. Se conecta desde la unión de la resistencia del emisor a la entrada del 5v mcu y la base se conecta a la salida de la puerta cmos. La entrada de la puerta cmos se conecta a la salida de los 3.3v mcu. Esto es mucho más difícil de describir que lo que es conectar. Esta configuración manejará varios 10s de MHz sin ningún problema.

Yo usaría 2n4401 transistores. El consumo de corriente está en el rango bajo de ma para cada pin. Para 8 entradas y 8 salidas, necesitarías 16 transistores y tres inmersiones de cmos que son buffers hexadecimales. Esta configuración es lógica positiva. Al conectarse a la unión de la resistencia del emisor con la resistencia conectada a tierra, la resistencia se tira completamente a 0 voltios si los transistores son buenos. La señal de salida alta es 5 o 3.3v menos unos 0.6 voltios. Estos valores están en la especificación para una lógica baja y una lógica alta. Los buffers le dan otro grado de aislamiento si algo saliera mal.

    
respondido por el Richard R. Pope

Lea otras preguntas en las etiquetas