Interfaces MCU

Desplazador de nivel bidireccional I2C de 3,3 V a 5 V con BSS138

Traductor de nivel de tensión bidireccional para bus I2C que interconecta dominios lógicos de 3,3 V y 5 V mediante dos MOSFET de canal N onsemi BSS138 con resistencias pull-up y desacoplo de alimentación.

Alimentación de baja tensión (VDD1)
+3,3 V CC nominal (rango operativo de +1,65 V a +3,6 V)
Componentes
8
Fórmulas
4
Trampas
4
Abrir en Web CAD
Fuente verificada

Mesa de trabajo del esquema

BSS138 Bidirectional I2C Level ShifterExported from CircuitBaseC1100nFC2100nFR110kR210kR310kR410kQ1BSS138Q2BSS138+3.3VGND+5.0VGND+3.3V+3.3V+5.0V+5.0VSDA (3.3V)+3.3VSDA (5V)SCL (3.3V)+3.3VSCL (5V)

Resumen del circuito

Alimentación de baja tensión (VDD1)
+3,3 V CC nominal (rango operativo de +1,65 V a +3,6 V)
Componentes
8
Fórmulas
4
Trampas
4

Haz clic en cualquier componente del esquema para ver sus especificaciones eléctricas y función.

Resumen del circuito

Este traductor de nivel lógico bidireccional implementa la topología clásica de NXP Semiconductors AN10441 / Philips Semiconductor AN97055 para la traducción bidireccional del bus I2C entre un dominio de baja tensión de 3,3 V (VDD1) y un dominio de alta tensión de 5,0 V (VDD2). El circuito maneja las líneas de datos serie (SDA) y reloj serie (SCL) mediante dos MOSFET discretos de enriquecimiento de canal N (Q1 y Q2, onsemi BSS138 en encapsulado SOT-23). Las puertas de ambos MOSFET están conectadas permanentemente al carril de menor tensión (+3,3 V), mientras que las fuentes se orientan hacia el lado de 3,3 V y los drenadores hacia el lado de 5,0 V. Resistencias pull-up discretas (R1 a R4, 10 kΩ 1%) polarizan cada línea a su respectivo carril en estado de reposo. El circuito opera de forma autónoma en tres estados sin requerir señal de control direccional: en reposo, ambas líneas están a nivel alto y VGS = 0 V mantiene los transistores en corte; cuando un dispositivo de 3,3 V conmuta a nivel bajo, VGS sube a +3,3 V (superando el umbral de 1,5 V) y enciende el transistor conduciendo la línea de 5 V a nivel bajo; y cuando un dispositivo de 5 V conmuta a nivel bajo, la corriente circula a través del diodo intrínseco de sustrato hasta que la tensión de fuente cae bajo el umbral, activando la conducción del canal para llevar la línea de 3,3 V a nivel bajo limpio. Condensadores cerámicos de desacoplo local C1 y C2 de 100 nF suprimen las fluctuaciones de alimentación durante las transiciones simultáneas.

Especificaciones técnicas clave

Alimentación de baja tensión (VDD1)+3,3 V CC nominal (rango operativo de +1,65 V a +3,6 V)
Alimentación de alta tensión (VDD2)+5,0 V CC nominal (rango operativo de +2,7 V a +5,5 V)
Protocolos de bus compatiblesI2C modo estándar (100 kHz), modo rápido (400 kHz), SMBus y 1-Wire
Resistencias pull-up (R1, R2, R3, R4)10 kΩ 1% estándar (reducir a 2,2 kΩ para alta capacitancia de bus)
Resistencia de encendido MOSFET (RDS(on))≤ 3,5 Ω a VGS = 10 V, ≤ 6,0 Ω a VGS = 4,5 V (onsemi BSS138)
Tensión umbral de puerta (VGS(th))0,8 V mínimo a 1,5 V máximo (onsemi BSS138)
Desacoplo de alimentación (C1, C2)100 nF 25 V cerámico MLCC X7R por cada dominio de alimentación
Tensión de salida a nivel bajo (VOL)≤ 0,40 V (conforme a la especificación I2C Fast-mode)

Principio de funcionamiento y análisis teórico

01

Topología del circuito y polarización de puerta fija

El circuito opera como un traductor de nivel de tensión bidireccional de dos canales para el bus serie I2C de drenador abierto, interconectando una sección de baja tensión (VDD1 = +3,3 V) con una sección de mayor tensión (VDD2 = +5,0 V). Cada línea del bus (SDA y SCL) utiliza un único MOSFET discreto de enriquecimiento de canal N (Q1 para SDA, Q2 para SCL). Las puertas de ambos MOSFET están conectadas permanentemente a la tensión de alimentación inferior VDD1 (+3,3 V). Los terminales de fuente se conectan al lado de 3,3 V y los drenadores al lado de 5,0 V. Las resistencias pull-up R1 y R2 (10 kΩ) polarizan las líneas de 3,3 V a VDD1, mientras que R3 y R4 (10 kΩ) polarizan las líneas de 5,0 V a VDD2. Los condensadores de desacoplo C1 y C2 (100 nF cerámicos X7R) proporcionan bypass de alta frecuencia y baja impedancia en cada dominio de alimentación.

02

Estado 1: Reposo y bus en alta impedancia (ambos lados en HIGH)

Cuando ningún dispositivo del bus (maestro o esclavo) transmite un nivel bajo, las líneas de drenador abierto en ambas secciones se mantienen en nivel alto por sus respectivas resistencias pull-up: las líneas de 3,3 V se sitúan en +3,3 V y las de 5,0 V en +5,0 V. Para ambos transistores Q1 y Q2, la puerta está a +3,3 V y la fuente a +3,3 V, dando una tensión puerta-fuente exactamente nula (VGS = VG - VS = 3.3V - 3.3V = 0 V). Dado que VGS está muy por debajo de la tensión umbral (VGS(th) = 0.8\dots 1.5 V), los MOSFET permanecen completamente en corte. La sección de mayor tensión de 5,0 V queda aislada de la sección de 3,3 V, evitando sobretensiones y corrientes de fuga hacia las entradas del microcontrolador de 3,3 V.

03

Estado 2: Dispositivo de baja tensión conmuta a nivel bajo (traducción LOW de 3,3 V a 5 V)

Cuando un dispositivo activo en la sección de 3,3 V conmuta a nivel bajo, lleva la fuente del MOSFET hacia masa (VS ≈ 0 V). Como la puerta se mantiene fijada a +3,3 V, la tensión puerta-fuente aumenta bruscamente a VGS = 3.3V - 0V = 3.3 V, muy por encima del umbral máximo de 1,5 V. El MOSFET se enciende completamente, presentando un canal de conducción de baja resistencia (RDS(on) ≤ 6.0 Ω). La corriente de la resistencia pull-up de 5,0 V fluye a través del canal conductor hacia masa mediante el driver de 3,3 V, situando la línea de 5,0 V en el nivel bajo correspondiente (VOL2 = VOL1 + Ipull-up · RDS(on) ≤ 0.4 V).

04

Estado 3: Dispositivo de alta tensión conmuta a nivel bajo (traducción LOW de 5 V a 3,3 V)

Cuando un dispositivo activo en la sección de 5,0 V conmuta a nivel bajo, lleva el drenador del MOSFET hacia masa. Inicialmente, el canal del MOSFET no conduce. Sin embargo, el diodo intrínseco de sustrato del MOSFET de canal N tiene su ánodo en la fuente (lado de 3,3 V) y su cátodo en el drenador (lado de 5,0 V). Al caer la tensión de drenador por debajo de aproximadamente 2,6 V, el diodo de sustrato queda polarizado en directo y empieza a conducir, reduciendo la tensión de fuente mediante su caída de tensión directa (VS = VD + VSD ≈ 0.7 V). Cuando la tensión de fuente desciende por debajo de 3.3V - VGS(th) ≈ 1.8 V, VGS supera el umbral y el canal de inversión se activa. Una vez que el canal conduce, cortocircuita la caída del diodo, llevando la línea de 3,3 V a un nivel bajo limpio que coincide con el nivel del excitador de 5,0 V.

05

Estado 4: Liberación del bus y dinámica de subida con pull-up pasivo

Cuando el excitador de nivel bajo en cualquier lado libera el bus, ambas líneas comienzan a ascender hacia sus respectivos carriles de alimentación. Inicialmente, mientras la tensión de la línea es inferior a VDD1 - VGS(th), el MOSFET en conducción mantiene ambos lados acoplados, subiendo al unísono. Una vez que la línea de baja tensión supera VDD1 - VGS(th) ≈ 1.8 V, VGS cae por debajo del umbral y el MOSFET se apaga. A partir de ese instante, las dos secciones del bus se cargan de forma independiente: la sección de 3,3 V a través de R1/R2 con constante de tiempo \tau1 = Rp · Cb1, y la de 5,0 V a través de R3/R4 con \tau2 = Rp · Cb2. Esto desacopla eléctricamente la capacitancia del bus de alta tensión de la sección de baja tensión, mejorando la integridad global de la señal.

Ecuaciones y fórmulas de cálculo de diseño

Resistencia pull-up máxima para el tiempo de subida I2C

Rp(max) = tr0.8473 · Cb

Calcula la resistencia pull-up máxima permisible para satisfacer el requisito de tiempo de subida en el bus I2C (tr <= 1000 ns para Standard-mode, tr <= 300 ns para Fast-mode) en función de la carga capacitiva Cb.

SímboloParámetroValor típico
Rp(max)Resistencia pull-up máxima3.54kΩ
trTiempo de subida máximo admisible en el bus300ns
CbCapacitancia total del bus por línea100pF

Resistencia pull-up mínima por límite de absorción de corriente

Rp(min) = VDD − VOLIOL

Calcula el límite inferior de resistencia pull-up para no superar la capacidad máxima de absorción de corriente del excitador de drenador abierto (típicamente 3 mA en I2C Standard y Fast-mode).

SímboloParámetroValor típico
Rp(min)Resistencia pull-up mínima1.53kΩ
VDDTensión del carril de alimentación del bus5.00V
VOLTensión máxima de salida a nivel bajo0.40V
IOLCorriente máxima de absorción en drenador abierto3.00mA

Tensión de nivel bajo en traducción de alta a baja tensión

VOL1 = VOL2 + Ipull − up · RDS(on)

Calcula la tensión real de nivel bajo presente en el lado de 3,3 V cuando un dispositivo de 5 V conmuta la línea a masa mediante el canal MOSFET en conducción.

SímboloParámetroValor típico
VOL1Tensión de salida a nivel bajo en el bus de 3,3 V0.12V
VOL2Tensión de nivel bajo del excitador en el bus de 5,0 V0.10V
Ipull − upCorriente pull-up a través de la resistencia de 3,3 V0.32mA
RDS(on)Resistencia estática del canal encendido del MOSFET6.00Ω

Margen de tensión de sobremando de puerta

VGS(drive) = VDD1 − Vin(LV) ≥ VGS(th)

Cuantifica la tensión de sobremando puerta-fuente disponible para activar el canal del MOSFET cuando el lado de baja tensión conmuta a masa.

SímboloParámetroValor típico
VGS(drive)Sobremando puerta-fuente disponible3.30V
VDD1Carril de alimentación de baja tensión3.30V
Vin(LV)Nivel de excitación de entrada en baja tensión0.00V
VGS(th)Tensión umbral máxima del MOSFET1.50V

Lista de materiales (BOM)

Todas las piezas necesarias para montar este circuito. Selecciona una referencia para inspeccionarla en el esquema.

Ref.ComponenteValorEncapsuladoFunción en el circuitoReferencia
MOSFET de nivel lógico de canal N

onsemi BSS138; 50 V VDSS, 220 mA ID, RDS(on) <= 3,5 Ω a 10 V, VGS(th) de 0,8 V a 1,5 V

BSS138SOT-23 (TO-236AB)Desplazador de nivel bidireccional SDAMOSFET de nivel lógico de canal N: pinout y hoja de datos
MOSFET de nivel lógico de canal N

onsemi BSS138; 50 V VDSS, 220 mA ID, RDS(on) <= 3,5 Ω a 10 V, VGS(th) de 0,8 V a 1,5 V

BSS138SOT-23 (TO-236AB)Desplazador de nivel bidireccional SCLMOSFET de nivel lógico de canal N: pinout y hoja de datos
Resistencia chip SMD

Yageo RC0805FR-0710KL; 10 kΩ 1% 1/8 W película gruesa

10kΩ0805 SMDResistencia pull-up de 3,3 V para SDA—
Resistencia chip SMD

Yageo RC0805FR-0710KL; 10 kΩ 1% 1/8 W película gruesa

10kΩ0805 SMDResistencia pull-up de 3,3 V para SCL—
Resistencia chip SMD

Yageo RC0805FR-0710KL; 10 kΩ 1% 1/8 W película gruesa

10kΩ0805 SMDResistencia pull-up de 5,0 V para SDA—
Resistencia chip SMD

Yageo RC0805FR-0710KL; 10 kΩ 1% 1/8 W película gruesa

10kΩ0805 SMDResistencia pull-up de 5,0 V para SCL—
Condensador cerámico multicapa

Murata GRM21BR71E104KA01L; 100 nF 25 V X7R cerámico 10%

100nF0805 SMDCondensador de desacoplo de alimentación de 3,3 V—
Condensador cerámico multicapa

Murata GRM21BR71E104KA01L; 100 nF 25 V X7R cerámico 10%

100nF0805 SMDCondensador de desacoplo de alimentación de 5,0 V—

Aplicaciones prácticas y casos de uso

Interconexión de microcontroladores de 3,3 V (ARM Cortex, ESP32, RP2040) con periféricos y sensores I2C de 5,0 V
Traducción de nivel lógico bidireccional de drenador abierto para enlaces de comunicación SMBus, PMBus y 1-Wire
Circuito de traducción base para módulos breakout (SparkFun BOB-12009, Adafruit 757, Pololu 2595)
Aislamiento de bus con referencia galvánica común que protege el silicio de 3,3 V de sobretensiones de 5,0 V

Trampas críticas de diseño y precauciones de ingeniería

Trampas encontradas en montajes reales, con la solución de cada una.

Crítico

Orientación invertida de fuente-drenador y conducción del diodo de sustrato

Conectar el drenador del MOSFET al carril de 3,3 V y la fuente al de 5,0 V invierte el diodo intrínseco de sustrato. El ánodo del diodo (ahora a 5 V) conduce permanentemente en directo hacia el carril de 3,3 V, provocando un grave sobrecalentamiento del transistor y alimentando inversamente el microcontrolador a niveles destructivos de sobretensión.

Mitigación

Conecte siempre la fuente del MOSFET al dominio de baja tensión (3,3 V) y el drenador al de alta tensión (5,0 V). Verifique que el cátodo del diodo intrínseco esté orientado hacia el lado de 5,0 V.

Advertencia

Capacitancia excesiva en el bus y transgresión del tiempo de subida

Las resistencias pull-up estándar de 10 kΩ forman un filtro paso bajo RC con la capacitancia parásita del bus (pistas, longitud de cable, pines de dispositivos). Cuando la capacitancia total supera 100 pF, el tiempo de subida excede el límite de 300 ns exigido por I2C Fast-mode (400 kHz), provocando errores de trama y pérdida de bits de reconocimiento ACK.

Mitigación

Calcule el valor de pull-up mediante la ecuación Rp <= tr / (0.8473 * Cb). Para operación Fast-mode (400 kHz) con múltiples esclavos, sustituya las resistencias de 10 kΩ por valores de 2,2 kΩ o 4,7 kΩ.

Crítico

Sobremando de puerta insuficiente con niveles lógicos inferiores a 3,3 V

Utilizar este circuito discreto con BSS138 en tensiones ultrabajas (1,8 V o 1,2 V) falla porque la tensión umbral VGS(th) puede alcanzar hasta 1,5 V. Con VDD1 = 1,8 V, la tensión de sobremando efectiva (VGS - VGS(th)) es de solo 0,3 V, lo que genera una resistencia de canal muy elevada (decenas de ohmios) e incumple el límite VOL de I2C (0,4 V).

Mitigación

Para traducción de 1,8 V a 3,3 V o 5,0 V, seleccione MOSFET diseñados para sublógica con VGS(th) <= 0,8 V garantizada y baja RDS(on) a 1,8 V (como DMN2004K o SSM3K339R), o use traductores integrados con detección automática de dirección (como TI TXS0102).

Advertencia

Ausencia de masa común entre dominios de alimentación

Alimentar las secciones de 3,3 V y 5,0 V con fuentes independientes sin unir sus líneas de masa de 0 V (0V) produce diferencias de potencial en modo común flotante. El rebote de masa y los desajustes de CC desplazan la tensión VGS efectiva, causando bloqueos de bus (latch-up), conmutaciones erráticas o ruptura del dieléctrico de puerta.

Mitigación

Asegure un retorno de masa sólido y de baja impedancia que conecte los planos de tierra de ambos sistemas (3,3 V y 5,0 V) justo al lado del circuito desplazador de nivel.

Fuentes primarias

Ayuda a mantener esta página correcta

¿Montaste, simulaste o revisaste este circuito? Confírmalo o informa de una pieza, un valor o una conexión incorrectos.

Abre un formulario público en GitHub con esta página ya indicada; necesitas una cuenta gratuita de GitHub. Cómo funcionan los informes y las confirmaciones

Código HTML

<iframe src="https://circuitbase.tech/embed/schematic/bss138-bidirectional-i2c-level-shifter?theme=paper" width="100%" height="500" frameborder="0" loading="lazy" style="border: 1px solid #e5e7eb; border-radius: 6px; max-width: 100%;" title="Desplazador de nivel bidireccional I2C de 3,3 V a 5 V con BSS138 — CircuitBase Interactive Schematic"></iframe>