Características básicas del protocolo I2C

1
Características básicas del protocolo I2C El bus de comunicación utiliza dos cables. Uno para transmitir los datos (SDA) y otro para la señal de reloj (SCL). Ambas líneas se tienen que conectar a la alimentación (Vcc) a través de resistencias Pull-UP (en el esquema del ejemplo se muestra el conexionado). Además la masa de los componentes que se interconexionan entre si debe de ser común. El protocolo de comunicación es del tipo Maestro-Esclavo, aunque el protocolo permite que haya varios maestros, lo normal es que solo haya uno, el dispositivo que hace de maestro es el que gobierna la comunicación y es el que controla la señal de reloj (SCL). Los dispositivos que hacen de esclavos responden a las peticiones del maestro. Cada dispositivo conectado al bus se identifica por una única dirección, el protocolo admite utilizar 7 ó 10 bits para el direccionamiento, aunque lo normal es que sean siete. Los cuatro primeros bits están asignados al fabricante del dispositivo y los tres últimos son configurables por hardware. En el caso de la memoria que estamos viendo el código del fabricante es: 1010, como tenemos tres bits configurables podremos conectar entre si hasta ocho memorias 24LC256 juntas. La trama de un mensaje simple donde el dispositivo que hace de maestro envía datos para ser escritos en la EEPROM sería el siguiente: Se envía el bit de inicio (S) Se envía la dirección del esclavo, en este caso la memoria EEPROM Se envía un bit más junto con la dirección del esclavo (R/W) para indicar que lo que se quiere es leer o escribir. Si este bit es cero el proceso será de escritura. Después el maestro manda un pulso de la señal de reloj, durante el cual el esclavo debe contestar con un ACK (señal de reconocimiento), si el maestro no recibe esta señal interrumpe la comunicación. Después se envían los bytes de dirección necesarios para identificar el registro de la EEPROM donde queremos realizar el proceso de escritura. Mandamos el dato que se almacenará en la EEPROM Y por último se manda el bit de parada para finalizar la comunicación.

Transcript of Características básicas del protocolo I2C

Page 1: Características básicas del protocolo I2C

Características básicas del protocolo I2C

El bus de comunicación utiliza dos cables. Uno para transmitir los datos (SDA) y otro para la

señal de reloj (SCL). Ambas líneas se tienen que conectar a la alimentación (Vcc) a través de

resistencias Pull-UP (en el esquema del ejemplo se muestra el conexionado). Además la masa

de los componentes que se interconexionan entre si debe de ser común.

El protocolo de comunicación es del tipo Maestro-Esclavo, aunque el protocolo permite que

haya varios maestros, lo normal es que solo haya uno, el dispositivo que hace de maestro es el

que gobierna la comunicación y es el que controla la señal de reloj (SCL). Los dispositivos

que hacen de esclavos responden a las peticiones del maestro.

Cada dispositivo conectado al bus se identifica por una única dirección, el protocolo admite

utilizar 7 ó 10 bits para el direccionamiento, aunque lo normal es que sean siete.

Los cuatro primeros bits están asignados al fabricante del dispositivo y los tres últimos son

configurables por hardware. En el caso de la memoria que estamos viendo el código del fabricante es:

1010, como tenemos tres bits configurables podremos conectar entre si hasta ocho memorias

24LC256 juntas.

La trama de un mensaje simple donde el dispositivo que hace de maestro envía datos para ser escritos

en la EEPROM sería el siguiente:

Se envía el bit de inicio (S)

Se envía la dirección del esclavo, en este caso la memoria EEPROM

Se envía un bit más junto con la dirección del esclavo (R/W) para indicar que lo que se quiere

es leer o escribir. Si este bit es cero el proceso será de escritura.

Después el maestro manda un pulso de la señal de reloj, durante el cual el esclavo debe

contestar con un ACK (señal de reconocimiento), si el maestro no recibe esta señal

interrumpe la comunicación.

Después se envían los bytes de dirección necesarios para identificar el registro de la

EEPROM donde queremos realizar el proceso de escritura.

Mandamos el dato que se almacenará en la EEPROM

Y por último se manda el bit de parada para finalizar la comunicación.