# Conversor 3.3V/5V



## fxs (Nov 13, 2007)

Hola, quisiera saber si alguien conoce un chip que haga tal conversión, como el max232 pero de 3.3V/5V (para comunicar un pic con un dsp). Gracias por adelantado.


----------



## gabrielg (Nov 14, 2007)

Hola fxs
Esta es la respuesta. 
http://www.fairchildsemi.com/an/AN/AN-996.pdf
Suerte.


----------



## gabrielg (Nov 14, 2007)

Este circuito es sencillo y funciona bien. Se debe hacer uno para cada señal.


----------



## Ardogan (May 5, 2008)

Una cosa que no quiero dejar de notar es que si queremos manejar con una salida 3.3V una entrada TTL no hace falta poner nada, porque el umbral para un 1 en TTL es 2V.

También ví hace un tiempo que para manejar entradas 3.3V por salidas TTL utilizaban una resistencia serie y nada más (10 Kohm), si alguno experimentó con eso que lo confirme o descarte.

Se podrían usar transistores para efectuar las traslaciones?: salida -> resistencia limitadora-> transistor con emisor a tierra y colector con pull-up a 3.3V o 5V según se quiera -> entrada del otro dispositivo conectada al colector del transistor.
La resistencia limitadora estaría si se usa transistor bipolar (salida puede entregar corriente necesaria), y no estaría si por ejemplo quisiéramos convertir de CMOS a 3.3V: usaría un transistor NMOS o FET en ese caso.

Claro que también hay integrados que hacen la conversión, uno pone un chip y se olvida. Cualquier fabricante (Fairchild, Maxim, Analog, Texas etc) tiene una línea de "logic level translators".

Una solución intermedia entre usar un integrado o transistorse podría ser usar un buffer de entrada TTL o CMOS (según nuestros requerimientos) con salidas a colector abierto.

Dejo unos links que ví por ahí:

Adaptador de niveles 5V/3.3V bidireccional

http://www.standardics.nxp.com/support/documents/logic/pdf/an240.pdf

http://www.sparkfun.com/commerce/present.php?p=Sensor-Interfacing


----------



## gabrielg (May 5, 2008)

El empleo del circuito propuesto es generalmente cuanto el puerto es bidireccional. En el caso de que solo se requiera en una direccion, se puede utilizar un simple divisor resistivo (caso 5V a 3V3.
Para el caso de 3V3 a 5V con un transistor, pero te invierte la señal si empleas un npn. sludos


----------



## Ardogan (May 5, 2008)

Cierto, no hice la distinción bidireccional/unidireccional


----------



## mikepic (Mar 21, 2011)

gabrielg dijo:


> Este circuito es sencillo y funciona bien. Se debe hacer uno para cada señal.



Me ha impresionado esta configuración, y aunque sólo la quiero unidireccional, la voy a probar.
En mi caso es para la comunicación entre un pic 18F4550 y una tarjeta SD, concretamente la línea DO de la SD. Ya sé que teóricamente con el nivel de salida de la misma es suficiente para la entrada TTL del PIC, pero cuando trabajo a máxima velocidad, de vez en cuando me falla, y una de las sospechas es que en la transición de nivel de esta linea, no se llegue a la tensión mínima esperada por el PIC. Voy a probar si adaptando los niveles funciona mejor. El resto de líneas (DI, CLK y CS) las tengo adaptadas con divisores resistivos.

Os mantendré informados


----------



## lmezah (Sep 6, 2011)

mikepic dijo:


> Me ha impresionado esta configuración, y aunque sólo la quiero unidireccional, la voy a probar.
> En mi caso es para la comunicación entre un pic 18F4550 y una tarjeta SD, concretamente la línea DO de la SD. Ya sé que teóricamente con el nivel de salida de la misma es suficiente para la entrada TTL del PIC, pero cuando trabajo a máxima velocidad, de vez en cuando me falla, y una de las sospechas es que en la transición de nivel de esta linea, no se llegue a la tensión mínima esperada por el PIC. Voy a probar si adaptando los niveles funciona mejor. El resto de líneas (DI, CLK y CS) las tengo adaptadas con divisores resistivos.
> 
> Os mantendré informados



Eso yo lo hice hace 2 años, mi solucion fue poner un AND, como una ventana de tiempo (5V en una entrada), en la otra entrada el DO y la salida al PIC por ende si al AND llega un 1 (3.3V), entonces envia un 1 de su fuente (5V) al PIC y este ya lo puede reconocer como 1, y ya que con el valor enviado de 3.3V de la señal de la memoria SD el PIC a veces reconocia y a veces no.


----------



## pandacba (Feb 13, 2018)

Bien he buscado y todos los temas tratados son bien antiguos, y en los casos que proveyeron alguna indicación al ser links a otras páginas hoy no hay nada, por lo que me gustaria que quede en foro para que sea de utilidad a todos, sirvase moderación a mejor interpretación colocarlo donde más útil pueda ser.
En el mundo de hoy se nos presenta la disyuntiva dispositivos que trabajan a 3.3 y que debemos interactuar con otros que trabajan a 5V
Existe desde hace tiempo una buena cantidad de CI que no resuelven tal problema
Por ejemplo el TXS0108E que es un 8-Bit Bidirectional Voltage-Level Translator
For Open-Drain And Push-Pull Applications
También esta el YF08E que cumple la mismas funciones y tiene patillaje compatible
En todos estos es necesario tener 3.3V y los 5V para alimentarlo.
Hoy por hoy y gracias el auge de arduino se nos presentas las cosas solucionadas a muy buen precio al menos para probar y experimentar
Un ejemplo

Dejo el pdf para una mejor comprensión

En esta imagen se aprecia como es por dentro


Lo bueno es que lo puedo utilizar como quiero no deben ser todas entradas o salidas, utilizo lo que necesito y lo combino a conveniencia lo que da gran flexibilida a la hora del diseño


También esta esta otra


----------



## chclau (Feb 15, 2018)

Muy buena reseña, una sola observación, la corriente que el TXS0108 es capaz de entregar es muy reducida, del orden de los cientos de uA en estado alto, y la que puede recibir en estado bajo es más reducida aún, del orden de las decenas de uA.

Hay que tener en cuenta esto, para muchas aplicaciones será necesario un buffer adicional en el lado que deba comandar salidas, ya sea el A, o el B.


----------



## pandacba (Feb 15, 2018)

No es tan así ya que el dispositivo maneja tranquilamente -+50mA como si nada, consume muy poca corriente para las entradas y tine el nivel adecuado para salida
El que piense que esto le permite manejar potencia en la salida de un micro, no entendio el concepto del dispositivo, si necesito potencia ya sea con 3.3V o 5V no necesito convertir nada, un simple transistor, un optoacoplador son suficientes, esto es para comunicar perifericos que trabajan a 3.3V con un micro que lo tengo trabajando a 5V o a la inversa, yo los he utilizado como se debe y no he tenido que observar absolutamente nada funcionan perfectamente, puse estos porque son los que se consiguen

Hay muchos modelos, incluso para otros usos, pero son muy dificiles de conseguir, tengo muestras pero nunca los pude comprar en el mercado normal.

Lo que se intenta es que sea información útil de las cosas que se pueden conseguir normalmente y sin dificultad, también por eso puse el otro con transistores por si alguno desea hacer su propio diseño ya que es muy pero muy sencillo.
Cada quien eligira lo que más le conviene para su trabajo.

Un ejemplo real:
Hacemos proyectos para una diversidad de industrias

Una de ellas hacen tratamientos térmicos de diversas indole, con hornos de inducción y con hornos a gas.
El problema en este tipo de industria si falta el suministro de gas, las piezas a mediococinar generalmene quedan inutilizadas(depende de que material se trate y el tipo de tratamiento)

Para evitar esto la empresa dispuso de contenedores de gas en su planta, que le permitan terminar un proseso completo.
Nosotros trabajamos con lógica a 5V de manera standard, pero para activar alarmas por ejemplo como que la presión de la tubería cayo por debajo de cierto valor hace que la valvula de seguridad se cierre y cuando retorna no hay gas, por seguridad estos dispositivos se resetean manualmente.
Cuando se dispara esta contingencia entra en acción una serie de dispositivos entre ellos utilizamos unos micros que permanecen "dormidos" y el evento los "despierta" todos estos dispositivos trabajan a 3.3V por lo que necesitamos algunas veces "adaptar", los niveles lógicos, allí los hemos utilizado con gran suceso y simplicidad.
A muchos les servira y a otros no, cada quien vea si le sirve o no


----------



## chclau (Feb 15, 2018)

Casualmente en estos dias un cumpa del trabajo se encontro con ese problema de la corriente por eso lo comento. Y todo lo que queria era comandar un opto, que no necesita 50mA sino menos de 3mA y tampoco eso te entrega el dispositivo que estamos comentando.

Yo en la datasheet vi corrientes de sink del orden de decenas de uA, si vos decis que viste 50mA me gustaria que me indiques donde.

Como tuvimos este problema (y como el tema de la corriente del dispositivo, para mi, en el datasheet no esta NADA claro), estuve buscando este tema en la Internet y esto es lo que contestaron en el foro E2E sobre esos dispositivos:

https://e2e.ti.com/support/interface/voltage_level/f/391/t/497983

"Most LEDs require several mA worth of forward current. The TXB0108 and TXS0108E are intended to drive high-impedance (i.e. very low current) loads. The datasheet specifies that the VOH and VOL levels are guaranteed only if the load is pulling just 20 uA. There is no way that either device can drive a proper VOH and VOL if the LED requires mA worth of current"

"La mayoria de los LEDs requieren varios mA... y la hoja de datos especifica que los niveles de Voh y Vol estan garantizados solo para cargas de 20uA"


----------

