I²C
Siglas de Inter-Integrated Circuit, un estándar para la comunicación de circuitos integrados que utiliza dos líneas.
I²C: protocolo de dos hilos para comunicarse con chips en una placa
I²C (Inter-Integrated Circuit) es un bus serie síncrono que permite que los circuitos integrados se comuniquen entre sí a través de solo dos hilos: una línea de reloj (SCL) y una línea de datos (SDA). Ambas líneas son de drenaje abierto, se mantienen en alto mediante resistencias, y los dispositivos las bajan para transmitir. Esta restricción de dos hilos hace que I²C sea económico de implementar en placas de circuito y permite que múltiples dispositivos (esclavos) sean direccionados por un único controlador maestro.
El protocolo utiliza direccionamiento de 7 o 10 bits, con datos transmitidos en tramas de 8 bits, un bit por ciclo de reloj. El modo estándar funciona a 100 kHz, el modo rápido a 400 kHz y el modo rápido Plus a 1 MHz; existen velocidades más altas, pero requieren trazas más cortas. El esclavo al que se dirige acusa recibo de cada byte bajando SDA durante el noveno bit de reloj. La comunicación es semidúplex: un dispositivo transmite mientras los otros escuchan.
I²C está presente en todas partes en la electrónica industrial y de consumo. Los sensores de temperatura, los chips de memoria EEPROM, los relojes en tiempo real, los expansores de E/S y los controladores de pantalla utilizan I²C comúnmente. Un solo maestro (a menudo un microcontrolador) puede comunicarse con docenas de esclavos en el mismo par de hilos, lo que lo hace ideal para la detección y el control distribuidos donde minimizar el cableado es valioso.
Modos de fallo comunes y trampas de diseño
La elección de la resistencia pull-up es crítica: si es demasiado débil, los flancos son lentos; si es demasiado fuerte, el consumo de corriente aumenta. Los valores típicos son de 4.7 kΩ a 10 kΩ para el modo estándar, y más bajos para velocidades más rápidas. Las tiradas largas (más de 1 metro) sufren acumulación de capacitancia que ralentiza el tiempo de subida y causa errores de bits. Añadir búferes, pull-ups intermedios o cambiar a CAN (que utiliza señalización diferencial) resuelve esto en buses más largos. Las colisiones de direcciones ocurren cuando dos dispositivos tienen la misma dirección programada de fábrica; algunos chips ofrecen bits de dirección seleccionables por puente para evitar esto.
I²C sigue siendo dominante en el control industrial porque es fácil de depurar, no requiere conectores especiales y la mayoría de los proveedores de microcontroladores ofrecen controladores I²C de hardware. El I²C solo por software (bit-banged) es común en sistemas heredados y funciona, pero es menos fiable. Para sistemas que exigen mayor velocidad o mayor distancia, se prefiere SPI o CAN, pero ninguno puede direccionar múltiples esclavos de forma tan económica desde la perspectiva del cableado.
Fuentes
- Fuente de la definiciónWiktionary