¿Cómo convertir el voltaje UART de 5v a 3.3v? [duplicar]

1

Tengo un PIC18F4455 conectado a un chip wifi con núcleo de chispa. Envío datos desde PIC18F4455 al núcleo de chispa utilizando UART. El problema es que los datos de salida de pic18f4455 son iguales a 5v, y el núcleo de chispa solo acepta 3.3V. Mi pregunta es ¿hay alguna forma de convertir estos datos a 3.3v (software en el PIC18F4455 o hardware)?

Ali

    
pregunta Micheal

5 respuestas

5

UART es unidireccional, por lo que puede usar un convertidor de nivel unidireccional como este:

Alternativamente, puede usar un convertidor de nivel bidireccional de 5v a 3.3v. Para cada cable, debe construir el convertidor como este:

Como UART tiene dos cables (TX y RX), necesitamos dos conjuntos del convertidor. Hay una placa sparkfun con 4 pines en el lado alto y 4 pines en el lado bajo. Como es bidireccional, funciona para UART, I2C, etc.

    
respondido por el Oka
1

Hubiera sido bueno si hubieras proporcionado alguna hoja de datos.

La mayoría de los microcontroladores modernos tienen algunos o todos los pines que son tolerantes a 5V, incluso si se suministran desde una fuente de 3.3V. Lo que esto significa es que puedes enviar 5V al GPIO y estará bien.

A veces solo tienes que gastar el trabajo extra para encontrar la respuesta (y tampoco es tan difícil).

Lo primero que necesitas es la hoja de datos.

Genial,ahoraséloqueeselmicrocontrolador.¿Perotiene5VtoleranteaIO?Nolosé.Permitebuscarlahojadedatos.

Primerapágina(esquinainferiorizquierda).

Así que casi todos son tolerantes a 5V. ¿Cuáles necesitas? No lo sé. Puedes buscarlo tú mismo ahora.

Espero que puedas ver, que un poco de Google va un largo camino. Incluso si busca mal, si tiene una buena idea de lo que le gustaría hacer, leer a través de las páginas, a veces puede dirigirlo en la dirección correcta.

Derp Si hubiera leído más lento, habría visto que la segunda captura de pantalla era el mismo resumen (aunque no la hoja de datos completa), por lo que podría haber descubierto que era de 5 V tolerante por la segunda imagen. Todavía necesitaría la hoja de datos completa para saber qué pines son tolerantes a 5 V y cuáles no.

    
respondido por el efox29
1

Necesita emplear desplazadores de nivel de voltaje. Prefiero 74LVC125, 74HCT125 ICs.

enlace

Espero que esto ayude ,

    
respondido por el Lokanath
0

Puede usar un convertidor de nivel lógico para traducir la señal de 3.3 voltios a 5 voltios y viceversa. Puede hacer esto con dos MOSFET (2n7000, por ejemplo) y 4 resistencias de 10k.

Puede encontrar un ejemplo del esquema aquí .

    
respondido por el dylanweber
0

Intente usar el divisor de resistencia para Tx de MCU. En la mayoría de los casos, la línea Rx del transmisor 5V (su MCU) aceptará un nivel de señal de 3.3V.

    
respondido por el Looongcat

Lea otras preguntas en las etiquetas