Home > Conocimientos > Interfaz I2C (Circuito Interintegrado) de display

Interfaz I2C (Circuito Interintegrado) de display

Blaze Display Technology Co., Ltd. | Updated: Nov 27, 2018

Circuito Interintegrado (I²C, del inglés Inter-Integrated Circuit) es un bus serie de datos desarrollado en 1982 por Philips Semiconductors (hoy NXP Semiconductors, parte de Qualcomm1). Se utiliza principalmente internamente para la comunicación entre diferentes partes de un circuito, por ejemplo, entre un controlador y circuitos periféricos integrados.

El sistema original fue desarrollado por Philips a principios de 1980 con el fin de controlar varios chips en televisores de manera sencilla. Desde mediados de 1990 el I²C también es utilizado por algunos competidores para designar los sistemas compatibles I²C Philips, incluyendo Siemens AG (posteriormente Infineon Technologies AG), NEC, STMicroelectronics, Motorola (Freescale más adelante), Intersil, etc. Hay un total de mil circuitos integrados diferentes de más de 50 fabricantes (según datos de 2014).

Atmel introdujo por motivos de licencia la designación TWI (interfaz de dos hilos) actualmente utilizada por algunos otros fabricantes. Desde el punto de vista técnico, TWI e I²C son idénticos. Sin embargo, el 1 de octubre 2006, la patente original caducó, así que ya no hay derechos de autor para el uso del término I²C. I²C no es tampoco una marca comercial registrada de NXP Semiconductors, la protección de marca es sólo para el logotipo.

Protocolo de transferencia

El inicio de una transmisión es indicado por la señal de inicio del maestro, seguido de la dirección. Ésta es confirmada por el ACK-Bit del esclavo correspondiente. En función del R/W-Bit se escriben bytes de datos (datos al esclavo) o se leen (datos al maestro). El ACK es enviado desde el esclavo al escribir, y desde el maestro al leer. El último byte „leído“ es reconocido por el maestro como un NACK (not acknowledge), para indicar el final de una transmisión. Una transmisión es finalizada por la señal de parada. Como alternativa, puede ser enviada una señal de reset al arranque de una nueva transmisión, sin necesidad de parar la transmisión anterior con una señal de parada.

Todos los bytes son transferidos de esta manera como „Most Significant Bit First“ (bit más significativo primero).

Para el modo de alta velocidad (High-Speed-Mode) es enviado un código del maestro a través del modo estándar o rápido, antes de cambiar al aumento de frecuencia.

Uso

Una de las propiedades del I²C es el hecho de que un microcontrolador puede controlar toda una red de circuitos integrados con sólo dos I/O-Pins (Input/Output) y un software muy simple. Los buses de este tipo fueron realizados ya que una proporción significativa del precio de un circuito integrado y la placa de circuito depende del tamaño de la carcasa y del número de pines. Una carcasa grande tiene más pines, necesita más espacio en la placa de circuito y tiene más conexiones que podrían fallar. Todo esto aumenta los costes de desarrollo, producción y pruebas.

Aunque es más lento que los sistemas de bus más nuevos, I²C es beneficioso (debido al bajo coste) para los sistemas periféricos que no necesitan ser rápidos. A menudo es usado para la transmisión de datos de control y configuración, por ejemplo para control de volumen, conversor de señal analógica-digital o digital-analógica con baja tasa de frecuencia de muestreo, relojes a tiempo real, pequeños espacios de memoria o conmutadores bidireccionales y multiplexores. Incluso los sensores electrónicos integran con frecuencia un convertidor analógico-digital con un I²C.

Es posible añadir o retirar microcontroladores al bus durante su funcionamiento (Hot-Plugging).

También es utilizado como base para ACCESS.bus y monitores de interfaz VESA (DCC, Display Data Channel). El SMBus (del fabricante Intel) para la comunicación de componentes de la placa base, se parece mucho al bus I²C. La mayoría de los circuitos integrados soportan ambos buses.

El protocolo I²C tuvo gran importancia en el pasado en el área de las tarjetas chip. La tarjeta sanitaria utilizada en Alemania hasta finales del 2014 era una tarjeta I²C, es decir, debajo de la superficie dorada del chip, se encontraba una simple I²C-EEPROM, que podía ser leída y escrita por el lector de tarjetas a través de un protocolo de bus I²C.

go top