Tengo PIC18F4455 conectado al chip wifi Spark Core. Envío datos desde PIC18F4455 al núcleo de chispa usando UART. El problema es que los datos de salida de pic18f4455 equivalen a 5v, y el núcleo de chispa acepta solo 3.3V. Mi pregunta, ¿hay alguna forma de convertir estos datos a 3.3v (softwar en el PIC18F4455 o hardware)?
Ali
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:
Dado que UART tiene dos cables (TX y RX), necesitamos dos juegos del convertidor. Hay una placa Sparkfun que tiene 4 pines en el lado alto y 4 pines en el lado bajo. Como es bidireccional, funciona para UART, I2C, etc.
Hubiera sido bueno si hubiera proporcionado alguna hoja de datos.
La mayoría de los microcontroladores modernos tienen algunos o todos los pines tolerantes a 5 V, incluso si se alimentan desde una fuente de 3,3 V. Lo que esto significa es que puede 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 necesita es la hoja de datos.
Genial, ahora sé lo que es el microcontrolador. ¿Pero tiene IO tolerante a 5V? No sé. Encontremos la hoja de datos.
Primera página (esquina inferior izquierda).
Así que casi todos son tolerantes a 5V. ¿Cuáles necesitas? No sé. Puedes buscarlo tú mismo ahora.
Con suerte, puedes ver que un poco de Google ayuda mucho. Incluso si busca mal, si tiene una buena idea de lo que le gustaría hacer, leer las páginas a veces puede guiarlo directamente.
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 haberme dado cuenta de que era tolerante a 5V en la segunda imagen. Todavía necesitaría la hoja de datos completa para averiguar qué pines son tolerantes a 5V y cuáles no.
Necesita emplear cambiadores de nivel de voltaje. Prefiero circuitos integrados 74LVC125, 74HCT125.
http://www.ti.com/lsds/ti/logic/voltage-level-translation-overview.page
Espero que esto ayude,,,,
Intente usar un divisor de resistencia para MCU's Tx. En la mayoría de los casos, la línea Rx del transmisor de 5 V (su MCU) aceptará un nivel de señal de 3,3 V.
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 esquema de ejemplo aquí .
mate joven
Miguel
Transeúnte
Miguel