I2C Info-I2C Bus, interfaz y Protocolo

I2C es un protocolo serie para interfaz de dos hilos para conectar dispositivos de baja velocidad como microcontroladores, EEPROMs, convertidores A/D y D/A, interfaces de E/S y otros periféricos similares en sistemas embebidos. Fue inventado por Philips y ahora es utilizado por casi todos los principales fabricantes de IC. Cada dispositivo esclavo I2C necesita una dirección; todavía deben obtenerse de NXP (anteriormente Philips semiconductors).,

el bus I2C es popular porque es fácil de usar, puede haber más de un maestro, solo se define la velocidad del bus superior y solo se necesitan dos cables con resistencias pull-up para conectar un número casi ilimitado de dispositivos I2C. I2C puede usar microcontroladores aún más lentos con pines de E/S de propósito general, ya que solo necesitan generar condiciones de inicio y parada correctas, además de funciones para leer y escribir un byte.

Cada dispositivo esclavo tiene una dirección única., La transferencia desde y hacia el dispositivo maestro es en serie y se divide en paquetes de 8 bits. Todos estos requisitos simples hacen que sea muy simple implementar la interfaz I2C incluso con microcontroladores baratos que no tienen un controlador de hardware I2C especial. Solo necesita 2 pines de E/S gratis y algunas rutinas simples de i2C para enviar y recibir comandos.

las especificaciones iniciales de I2C definieron una frecuencia de reloj máxima de 100 kHz. Esto se incrementó más tarde a 400 kHz como modo rápido. También hay un modo de alta velocidad que puede ir hasta 3.4 MHz y también hay un modo ultrarrápido de 5 MHz.,

interfaz I2C

I2C utiliza solo dos cables: SCL (serial clock) y SDA (serial data). Ambos necesitan ser levantados con una resistencia a +Vdd. También hay variadores de nivel I2C que se pueden usar para conectarse a dos buses I2C con diferentes voltajes.

direcciones I2C

la comunicación básica I2C está utilizando transferencias de 8 bits o bytes. Cada dispositivo esclavo I2C tiene una dirección de 7 bits que debe ser única en el bus. Algunos dispositivos tienen dirección I2C fija, mientras que otros tienen pocas líneas de dirección que determinan los bits más bajos de la dirección I2C., Esto hace que sea muy fácil tener todos los dispositivos I2C en el bus con una dirección I2C única. También hay dispositivos que tienen una dirección de 10 bits según lo permitido por la especificación.

la dirección de 7 bits representa los bits 7 a 1, mientras que el bit 0 se utiliza para indicar la lectura o escritura en el dispositivo. Si el bit 0 (en el byte de dirección) se establece en 1, el dispositivo maestro leerá desde el dispositivo I2C esclavo.

el dispositivo maestro no necesita ninguna dirección, ya que genera el reloj (a través de SCL) y se dirige a dispositivos esclavos I2C individuales.,

protocolo I2C

en estado normal, ambas líneas (SCL y SDA) son altas. La comunicación es iniciada por el dispositivo maestro. Genera las condiciones de inicio seguidas de la dirección del dispositivo esclavo (B1). Si el bit 0 del byte de dirección se estableció en 0, el dispositivo maestro escribirá en el dispositivo esclavo (B2). De lo contrario, el siguiente byte se leerá desde el dispositivo esclavo. Una vez que se leen o escriben todos los bytes (Bn), el dispositivo maestro genera la condición de parada (P)., Esto indica a otros dispositivos en el bus que la comunicación ha terminado y que otro dispositivo puede usar el bus.

la mayoría de los dispositivos I2C admiten condiciones de inicio repetidas. Esto significa que antes de que la comunicación termine con una condición de parada, el dispositivo maestro puede repetir la condición de inicio con byte de dirección y cambiar el modo de escritura a lectura.

conclusión

el bus I2C es utilizado por muchos circuitos integrados y es simple de implementar. Cualquier microcontrolador puede comunicarse con dispositivos I2C incluso si no tiene una interfaz I2C especial., Las especificaciones de I2C son flexibles: el bus I2C puede comunicarse con dispositivos lentos y también puede usar modos de alta velocidad para transferir grandes cantidades de datos. Debido a muchas ventajas, el bus I2C seguirá siendo una de las interfaces serie más populares para conectar circuitos integrados en la placa.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *