Autor Tema: Como usar correctamente las entradas/salidas tolerantes de 5V de un microcontr.  (Leído 3377 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Hola.

Estoy haciendo un proyecto con un PIC32 que funciona con 3.3V y que tiene algunos terminales que toleran niveles de 5V.

Necesito administrar otro dispositivo que tenga una UART a niveles de voltaje TTL (5v).

El terminal que estaría transmitiendo datos desde el microcontrolador estaría configurado como una salida de drenaje abierto y usaría una resistencia pull up. Mientras que el terminal receptor de datos del microcontrolador, creo que debería conectarme directamente al terminal transmisor del otro dispositivo, de la siguiente manera:



Esta configuración me da un poco de inseguridad. Creo que podría haber daños en los terminales del microcontrolador debido a una sobretensión,

Creo que debería agregar algunas resistencias adicionales para tratar de limitar la corriente de alguna manera similar al diagrama a continuación.




Obviamente, estas resistencias adicionales podrían ser un problema si quiero transmitir y recibir datos a altas velocidades, pero a velocidades moderadas, creo que eso no sería un problema.

Mi pregunta es: ¿Es necesario las resistencias adicionales o es correcto el primer diseño?

Cualquier comentario o sugerencia será bienvenida

Saludos.

ACTUALIZACIÓN

Hay un error en los diagramas con respecto a la resistencia de pull up, debe estar conectada a 5V, no a 3.3V. perdón por la equivocación.



« Última modificación: 27 de Abril de 2022, 15:58:38 por DominusDRR »
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Como usar correctamente las entradas/salidas tolerantes de 5V de un microcontr.
« Respuesta #1 en: 14 de Abril de 2022, 11:14:30 »
Me contesto a mi mismo.

En las hojas de datos del microcontrolador se menciona a los terminales que soportan hasta 5V configurados como entradas, que mientras el voltaje aplicado al microcontrolador sea menor a 2.1V, el terminal de entrada no puede superar los 3.2V.

Esto puede suceder mientras se energiza el sistema, y el voltaje sobre el microcontrolador en VDD empieza a subir hasta alcanzar los 3.3V.

El fabricante indica que si hay garantía de que mientras VDD en el MCU sea menor a 2.1V y que en el terminal configurado como entrada, el voltaje sea menor a 3.2V, se puede conectar directamente. Una vez que VDD sea mayor o igual a 2.1V, la entrada puede operar hasta 5.5V sin problemas.

Si no se cumple la anterior condición, se recomienda utilizar un aislador de voltaje digital.

El problema puede ser debido a que utilizo una fuente de 5V que alimenta a un regulador LDO de 3.3V. Me imagino que posiblemente la fuente de 5V llega a su nivel nominal antes que la salida del regulador LDO supere los 2.1V.

Lo que no menciona es si mediante una resistencia se podría proteger a la entrada del microcontrolador durante ese periodo de tiempo crítico.

Respecto a si un terminal configurado como salida, no hay alguna mención, o por lo menos no encuentro algo relacionado.



Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re:Como usar correctamente las entradas/salidas tolerantes de 5V de un microcontr.
« Respuesta #2 en: 14 de Abril de 2022, 15:31:59 »
Y qué tal un divisor de tensión?
Que divida la tensión de 5v hasta los 3.3V que toleran las entradas.
Para bajas velocidades funciona bien.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Como usar correctamente las entradas/salidas tolerantes de 5V de un microcontr.
« Respuesta #3 en: 14 de Abril de 2022, 15:39:10 »
Y qué tal un divisor de tensión?
Que divida la tensión de 5v hasta los 3.3V que toleran las entradas.
Para bajas velocidades funciona bien.

hola. Gracias por escribir.

Claro, eso se haría cuando las entradas no soportan 5V de entrada y es lo que alguna vez hice.

Lo malo de un divisor es que se crea un filtro RC entre el divisor y las capacitancias parásitas del circuito. Y disminuyen la eficiencia al transmitir a grandes velocidades, pero es funcional a velocidades nominales, digamos 9600 bpms

Pero al tener terminales que si pueden soportar 5V de entrada, creo que sería una buena opción para aprovecharlo, y con una resistencia limitante en lugar de un divisor de tensión, el efecto de las capacitancias parásitas disminuye.

Levanté un ticket en el soporte de MCHP para conocer la opinión de ellos. Cuando respondan, escribiré aquí cual es su sugerencia.



« Última modificación: 14 de Abril de 2022, 17:41:02 por DominusDRR »
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado uZYNQ

  • PIC16
  • ***
  • Mensajes: 123
Re:Como usar correctamente las entradas/salidas tolerantes de 5V de un microcontr.
« Respuesta #4 en: 14 de Abril de 2022, 17:19:17 »
 Bueno yo lo he conectado sin resistencia de pull-up. Si es un dispositivo TTL, acepta los 3.3V como uno lógico. y por el otro lado como el MCU es tolerante a 5V de entrada no hace falta tampoco reducir ese voltaje.

Saludos.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Como usar correctamente las entradas/salidas tolerantes de 5V de un microcontr.
« Respuesta #5 en: 14 de Abril de 2022, 17:34:49 »
y por el otro lado como el MCU es tolerante a 5V de entrada no hace falta tampoco reducir ese voltaje.

Saludos.

Podría ser que funcione "correctamente" tal vez un tiempo, pero podría existir un daño permanente luego, lo digo por la advertencia durante el apagado o el encendido de los equipos.

Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado uZYNQ

  • PIC16
  • ***
  • Mensajes: 123
Re:Como usar correctamente las entradas/salidas tolerantes de 5V de un microcontr.
« Respuesta #6 en: 14 de Abril de 2022, 17:52:13 »
Normalmente las comunicaciones se habilitan cuando ya tienes el dispositivo encendido! pero si quieres asegurarte puedes poner el diodo externo a los 3.3V, o colocar el un integrado para cambiar el nivel de 5V a 3.3V

Desconectado Eduardo2

  • PIC24H
  • ******
  • Mensajes: 1004
Re:Como usar correctamente las entradas/salidas tolerantes de 5V de un microcontr.
« Respuesta #7 en: 14 de Abril de 2022, 17:55:22 »
Con una salida de 3.3V a una entrada TTL 5V  se conecta directo, porque el nivel TTL para el '1' logico es con tensi'on superior a 2.2V

Lo de no usar resistencia de pullup es porque una entreda TTL ya tiene una.

En general, salvo cosas especiales, las entradas de un MCU tienen dos diodos de proteccion conectados a Vdd y Vss,  por lo que si se superan esos limites te van a conducir los diodos.  Mientras la corriente sea baja no hay problema, pero si no es tan baja va desde riesgo de errorres a destruccion.

A baja velocidad con una Resistencia entre salida 5V y entrada 3.3 es suficiente, pero si es alta ya te tenes que pasar a un circuito activo.  Lo mas simple es con un mosfet y dos resistencias

 

* bss138.jpg
(18.6 kB, 400x297 - visto 436 veces)


Incluso te venden los modulitos conversores para 2, 4 y 8 pines.

https://articulo.mercadolibre.com.ar/MLA-767062693-convertidor-adaptador-niveles-logicos-5v-3v3-arduino-ttl-_JM

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Como usar correctamente las entradas/salidas tolerantes de 5V de un microcontr.
« Respuesta #8 en: 14 de Abril de 2022, 17:57:25 »
Normalmente las comunicaciones se habilitan cuando ya tienes el dispositivo encendido! pero si quieres asegurarte puedes poner el diodo externo a los 3.3V, o colocar el un integrado para cambiar el nivel de 5V a 3.3V

Podría ser, es decir que el terminal TX del dispositivo de 5V (TTL o CMOS), inicialmente esté configurado como entrada, y luego de un instante se configura como salida y con un valor de 5V.

Podría utilizar un osciloscopio para verificar si sucede eso y determinar en que tiempo aparece los 5V en dicho terminal.

Lo malo es que aun no arriban los dispositivos y debo tratar de terminar el PCB antes que lleguen al país esos equipos.



Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Como usar correctamente las entradas/salidas tolerantes de 5V de un microcontr.
« Respuesta #9 en: 14 de Abril de 2022, 18:01:13 »
Con una salida de 3.3V a una entrada TTL 5V  se conecta directo, porque el nivel TTL para el '1' logico es con tensi'on superior a 2.2V

Lo de no usar resistencia de pullup es porque una entreda TTL ya tiene una.

En general, salvo cosas especiales, las entradas de un MCU tienen dos diodos de proteccion conectados a Vdd y Vss,  por lo que si se superan esos limites te van a conducir los diodos.  Mientras la corriente sea baja no hay problema, pero si no es tan baja va desde riesgo de errorres a destruccion.

A baja velocidad con una Resistencia entre salida 5V y entrada 3.3 es suficiente, pero si es alta ya te tenes que pasar a un circuito activo.  Lo mas simple es con un mosfet y dos resistencias

  - Tienes que ingresar para ver archivos adjuntos -  

Incluso te venden los modulitos conversores para 2, 4 y 8 pines.

https://articulo.mercadolibre.com.ar/MLA-767062693-convertidor-adaptador-niveles-logicos-5v-3v3-arduino-ttl-_JM

Estoy asumiendo que es TTL, posiblemente y lo más seguro es que es CMOS

Alguna vez me pasó que con 3.3V no se reconoce como 1 lógico.

Y poner más componentes sería una última opción, sobre todo si no existirían terminales con capacidad de 5V.

Voy a esperar al soporte de MCHP y leer cual es su opinión.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado uZYNQ

  • PIC16
  • ***
  • Mensajes: 123
Re:Como usar correctamente las entradas/salidas tolerantes de 5V de un microcontr.
« Respuesta #10 en: 14 de Abril de 2022, 18:05:39 »
Con mosfet discretos también se puede cambiar el nivel y de forma bidireccional.

 

* Level_5-3.3.jpg
(55.33 kB, 816x718 - visto 460 veces)

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Como usar correctamente las entradas/salidas tolerantes de 5V de un microcontr.
« Respuesta #11 en: 27 de Abril de 2022, 12:01:03 »
Normalmente las comunicaciones se habilitan cuando ya tienes el dispositivo encendido!

Hola.

El soporte técnico de MCHP ha respondido.

Existe de un posible deterioro del terminal configurado como entrada cuando el voltaje del micro es aun menor que 2.1V y en la entrada hay un voltaje mayor a 3.2V.

La única manera de evitar eso es con una resistencia.

Sin embargo mencionan lo que tu ya dijiste. Los dispositivos no configuran inmediatamente como salida los terminales que poseen, existe una latencia. En mi caso ya han arribado las GLCD y he visto que el terminal TX de ese dispositivo aparece 5V aproximadamente 200 ms luego de energizar al sistema.

Con ese tiempo, el voltaje en el LDO alcanza los 3.3V mucho antes que los 200 ms y en ese caso no es necesario colocar la resistencia y se puede conectar directamente al terminal del microcontrolador.

« Última modificación: 27 de Abril de 2022, 15:58:24 por DominusDRR »
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32