Interfaz de Niveles Lógicos

Conectando diferentes familias lógicas y dominios de voltaje - cambio de nivel, fan-out, colector abierto y resistencias pull-up.

Los sistemas modernos frecuentemente mezclan diferentes niveles de voltaje - un microcontrolador de 3.3V comunicándose con un sensor de 5V, o un FPGA de 1.8V controlando lógica de 3.3V. La interfaz adecuada previene daños a los componentes y asegura una comunicación confiable. Este tema cubre las técnicas y circuitos utilizados para conectar diferentes familias lógicas y dominios de voltaje.

Objectives

  • Calcular el fan-out para diferentes combinaciones de familias lógicas
  • Diseñar circuitos con resistencias pull-up con valores de resistencia apropiados
  • Entender salidas de colector abierto/drenador abierto y lógica AND cableada
  • Implementar cambio de nivel usando divisores resistivos, MOSFETs y CIs dedicados
  • Identificar cuándo se necesita cambio de nivel bidireccional
  • Interfazar de forma segura sistemas de 5V y 3.3V

Key Takeaways

  • El fan-out limita cuántas entradas puede controlar una salida - excédelo y las señales se degradan
  • Las salidas de colector/drenador abierto necesitan resistencias pull-up y permiten conexiones AND cableadas
  • Las salidas tri-estado permiten compartir bus pero solo un controlador debe estar activo a la vez
  • Los divisores resistivos funcionan solo para cambio unidireccional de alto a bajo
  • Los cambiadores de nivel MOSFET (BSS138) proporcionan cambio bidireccional para I²C y similares
  • Las resistencias pull-up/pull-down establecen estados por defecto: menor R = más rápido pero más consumo
  • 74HCT es la forma más simple de interfazar CMOS de 3.3V con sistemas de 5V

Applications

  • Arduino + Sensores: Arduino de 5V interfazando con sensores y pantallas de 3.3V.
  • Bus I²C: Drenador abierto con pull-ups permite comunicación multi-dispositivo.
  • Diseño de PCB Multi-Voltaje: Las placas modernas frecuentemente tienen dominios de 1.8V, 2.5V, 3.3V y 5V.
  • E/S de FPGA: Los FPGAs usan voltajes bajos internamente pero deben interfazar con periféricos de mayor voltaje.

Practice Problems

Problem 1: Diseña un divisor de voltaje para convertir una señal de 5V a 3.3V. Si R2 = 10kΩ, ¿cuánto debe ser R1?

Problem 2: Una salida de drenador abierto absorbe hasta 8 mA. El pull-up va a 3.3V y V_OL = 0.4V. ¿Cuál es la resistencia pull-up mínima?

Problem 3: ¿Por qué no puedes conectar dos salidas tri-estado al mismo bus con ambas habilitadas?

Problem 4: Un bus I²C opera a 3.3V con 4 dispositivos, cada uno con 10pF de capacitancia de entrada. El cableado del bus agrega 20pF. Si necesitas operación a 400 kHz, ¿qué resistencia pull-up debes usar?

Problem 5: ¿Puede una salida CMOS de 3.3V controlar directamente una entrada 74HCT? Explica.