Uploaded by Cesar Astudillo

Protocolo I2C: Comunicación Maestro-Esclavo y EEPROM

advertisement
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.
Download