I2C

I2C es un protocolo de comunicación serial síncrono que permite la comunicación entre múltiples dispositivos conectados a un bus común utilizando solo dos líneas:

  • SDA (Serial Data Line): Línea de datos.
  • SCL (Serial Clock Line): Línea de reloj.

Características principales:

  • Comunicación maestro-esclavo: Un dispositivo maestro controla el bus y los dispositivos esclavos responden a sus solicitudes.
  • Direcciones únicas: Cada dispositivo tiene una dirección de 7 o 10 bits, permitiendo identificar múltiples dispositivos en el bus.
  • Velocidades estándar:
    • Modo Estándar: Hasta 100 kbit/s.
    • Modo Rápido: Hasta 400 kbit/s.
    • Modo Alta Velocidad: Hasta 3.4 Mbit/s.

Aplicaciones en IoT:

  • Conexión de sensores y periféricos: Ideal para integrar sensores de temperatura, humedad, presión, acelerómetros, memorias EEPROM, entre otros, en proyectos de IoT.
  • Expansión de dispositivos: Permite conectar múltiples dispositivos en el mismo bus sin necesidad de pines adicionales.
  • Soporte en plataformas populares: Compatible con Raspberry Pi, Arduino y otros microcontroladores, facilitando su implementación mediante bibliotecas específicas.

Ventajas:

  • Simplicidad de diseño: Reduce el número de conexiones necesarias al usar solo dos líneas para comunicación.
  • Escalabilidad: Facilita la adición de nuevos dispositivos al bus compartido.
  • Amplia adopción: Estándar ampliamente utilizado con gran cantidad de dispositivos compatibles disponibles en el mercado.

Limitaciones:

  • Distancias cortas: Diseñado para comunicación entre dispositivos cercanos; no es adecuado para largas distancias.
  • Velocidad moderada: No es tan rápido como otros protocolos como SPI, lo que puede ser una limitación en aplicaciones que requieren alta velocidad de transferencia.

Página oficial NXP Semiconductors: https://www.nxp.com/docs/en/user-guide/UM10204.pdf

» Glosario de Términos