Me gusta tu solución. Como la pregunta es sobre soluciones simples, tengo algunas alternativas (algunas soluciones proporcionadas por Microchip AQUÍ ):
1) Conexión directa: Si Voh (tensión de salida de alto nivel) de su lógica de 3,3V es mayor que Vih (tensión de entrada de alto nivel), todo lo que necesita es una conexión directa. (también es necesario para esta solución que Vol (tensión de salida de bajo nivel) de la salida de 3,3V sea menor que Vil (tensión de entrada de bajo nivel) de la entrada de 5V).
2) Si las condiciones anteriores se acercan, a menudo se puede aumentar ligeramente la tensión de salida de alto nivel con una resistencia de pull-up (a 3,3V) y conectar directamente las señales.
3) La resistencia de pull-up puede proporcionar una pequeña cantidad de aumento de tensión de alto nivel. Para más, puede utilizar diodos y pull-up a 5V. El circuito que se muestra no hará un pull-up claro a 5V, pero aumentará el voltaje de entrada de alto nivel a la lógica de 5V por la cantidad de una caída de voltaje del diodo (appx 0.7v). Hay que tener cuidado con este método para que todavía tenga un nivel bajo válido, ya que también se eleva por una caída de diodo. Los diodos Schottky se pueden utilizar para un ligero aumento de la tensión de alto nivel, minimizando el aumento indeseado de la tensión de bajo nivel. Consulte la nota de aplicación mencionada anteriormente para obtener más información sobre este circuito.:
![schematic]()
simular este circuito - Esquema creado con CircuitLab
4) Si puedes lidiar con una inversión lógica (y no necesitas un pull-up activo), se puede utilizar un mosfet y una resistencia de pull-up:
![schematic]()
simular este circuito
5) Sé que no estás buscando una solución de ic lógica, pero para completar mencionaré una (de probablemente muchas). El MC74VHC1GT125 es un "Buffer no inversor / CMOS Logic Level Shifter con entradas compatibles con LSTTL" en un encapsulado SOT23-5 o SOT-353. Pequeño, sencillo y barato.
Al parecer, este tema también se debatió el otro día: Paso de 3,3V a 5V para E/S digitales aunque la solución allí es incorrecta (gracias Dave Tweed).
1 votos
Bueno, para empezar, una entrada de 0V da una salida de 0,7V con este diseño.
6 votos
@medivh Daría Vce(sat) como la tensión de salida a 0 voltios de entrada - y para muchos transistores de pequeña señal, Vce(sat) es mucho menor que la caída del diodo, por ejemplo, 0,3 voltios como máximo para el 2n2222 .
1 votos
@AnindoGhosh Cierto. Aunque todavía no es igual a 0.
1 votos
@medivh Acabo de simularlo con un modelo de spice 2n2222, y el voltaje va de 0,14 voltios a 4,92 voltios. Un nivel bajo perfecto de 0 voltios no es realmente necesario para la mayoría de las entradas digitales.
4 votos
Ug. Deberías dibujar tus esquemas de forma más sensata, sobre todo si pides a otros que los miren. Lo que tienes es un circuito sencillo, pero he tenido que inclinar la cabeza y pensar en él para darme cuenta de lo que realmente está haciendo. Con un diseño adecuado habría sido inmediatamente obvio, y podría ayudarte a ver lo que realmente está pasando en el circuito también. (Para más información ver electronics.stackexchange.com/a/28255/4512 . )
16 votos
El esquema me parece bastante claro..
7 votos
El esquema también me parece bastante bueno. Olin puede ser un poco exigente. Le falta un punto de unión en la parte inferior de R2, y el designador de Q1 debería estar al lado del transistor. Además, debería aparecer el número de pieza del transistor (por ejemplo, 2N2222). Tiene la entrada a la izquierda y la salida a la derecha, lo cual es correcto.
1 votos
Algo así es mejor con un FET: electronics.stackexchange.com/questions/97889/
7 votos
Además, has redescubierto bastante Patente estadounidense 3283180 de la década de 1960.
0 votos
Encontré su solución en una nota de aplicación algo confusa: silabs.com/Support%20Documents/TechnicalDocs/AN883.pdf En realidad hacen una traducción bidireccional (en su línea SDA), con una dirección (de bajo a alto) exactamente igual que la tuya. Ellos midieron sólo 150mV de saturación con un MMBT3904 al hacer la traducción 1.8V->3.3V.
0 votos
@RespawnedFluff ¡gracias por la bibliografía! Estaba bastante seguro de que estaba mal o era una tecnología muy antigua. Ahora sé que funciona y tengo las referencias, ¡qué bien!
0 votos
Se puede utilizar un desplazador de nivel bidireccional utilizando un mosfet de canal n sin inversión lógica. Ver este hilo - electronics.stackexchange.com/questions/313869/