Descripción general y beneficios del bus I2C

click fraud protection

Desarrollado por Philips en la década de 1980,2C (deletreado alternativamente I2C) se ha convertido en uno de los protocolos de comunicación en serie más utilizados en electrónica. I2C facilita la comunicación entre componentes electrónicos o integrados circuitos, si los componentes están en el mismo tarjeta de circuito impreso o conectado con un cable.

Fase dos del Protocolo I2C
Mwnuk / CC BY 2.0 / Wikimedia Commons

¿Qué es el protocolo I2C?

I2C es un protocolo de comunicación en serie que solo requiere dos líneas de señal. Fue diseñado para la comunicación entre chips en una placa de circuito impreso (PCB). I2C fue diseñado originalmente para 100 Kbps comunicación. Sin embargo, a lo largo de los años se han desarrollado modos de transmisión de datos más rápidos para alcanzar velocidades de hasta 3,4 Mbit.

La característica clave de I2C es la capacidad de tener muchos componentes en un solo bus de comunicación con solo dos cables, lo que hace que I2C sea perfecto para aplicaciones simples. El protocolo I2C se ha establecido como estándar oficial, lo que permite la compatibilidad con versiones anteriores entre las implementaciones de I2C.

Señales I2C

El protocolo I2C utiliza dos líneas de señales bidireccionales para comunicarse con los dispositivos en el bus de comunicación. Las dos señales utilizadas son:

  • Línea de datos en serie (SDL)
  • Reloj de datos en serie (SDC)

La razón por la que I2C puede usar solo dos señales para comunicarse con varios periféricos es cómo se maneja la comunicación a lo largo del bus. Cada comunicación I2C comienza con un 7-poco (o dirección de 10 bits) que indica la dirección del periférico.

Esto permite que varios dispositivos en el bus I2C desempeñen el papel del dispositivo principal según lo dicten las necesidades del sistema. Para evitar colisiones de comunicación, el protocolo I2C incluye funciones de arbitraje y detección de colisiones, que permiten una comunicación fluida a lo largo del bus.

Beneficios de I2C

Como protocolo de comunicación, I2C tiene las siguientes ventajas:

  • Velocidades de transmisión de datos flexibles.
  • Comunicación a mayor distancia que SPI.
  • Cada dispositivo del bus es direccionable de forma independiente.
  • Los dispositivos tienen una relación primaria / secundaria simple.
  • Solo requiere dos líneas de señal.
  • Es capaz de manejar múltiples comunicaciones primarias proporcionando arbitraje y detección de colisiones de comunicaciones.

Limitaciones de I2C

Con todas estas ventajas, I2C también tiene algunas limitaciones que pueden necesitar ser diseñadas. Las limitaciones de I2C más importantes incluyen:

  • Dado que solo hay 7 bits (o 10 bits) disponibles para el direccionamiento de dispositivos, los dispositivos del mismo bus pueden compartir la misma dirección. Algunos dispositivos pueden configurar los últimos bits de la dirección, pero esto impone una limitación de dispositivos en el mismo bus.
  • Solo se encuentran disponibles unas pocas velocidades de comunicación limitadas y muchos dispositivos no admiten la transmisión a velocidades más altas. Se requiere soporte parcial para cada velocidad en el bus para evitar que los dispositivos más lentos capten transmisiones parciales que pueden resultar en fallas operativas.
  • La naturaleza compartida del bus I2C puede hacer que todo el bus se cuelgue cuando un solo dispositivo en el bus deja de funcionar. Ciclar la energía al bus puede restaurar el funcionamiento correcto.
  • Dado que los dispositivos establecen su propia velocidad de comunicación, los dispositivos operativos más lentos pueden retrasar el funcionamiento de los dispositivos más rápidos.
  • I2C consume más energía que otros buses de comunicación en serie debido a la topología de drenaje abierto de las líneas de comunicación.
  • Las limitaciones del bus I2C generalmente limitan la cantidad de dispositivos en un bus a alrededor de una docena.

Aplicaciones I2C

I2C es una excelente opción para aplicaciones que requieren un bajo costo y una implementación simple en lugar de alta velocidad. Por ejemplo, los usos comunes del protocolo de comunicación I2C incluyen:

  • Leyendo ciertos circuitos integrados de memoria.
  • Acceso a DAC y ADC.
  • Transmitir y controlar acciones dirigidas por el usuario.
  • Lectura de sensores de hardware.
  • Comunicarse con varios microcontroladores.