Professional Documents
Culture Documents
Microcontroladores
El bus I2C
Microcontroladores
Bus I2C
El Bus I2C
Microcontroladores
Comunicacin serial, utilizando un conductor para manejar los pulsos de reloj (SCL) y otro para intercambiar datos (SDA), que transportan informacin entre los dispositivos conectados al bus.
Los dispositivo puede ser considerado como Maestro (Master) o esclavo (Slave). El Maestro es el dispositivo que inicia la transferencia en el bus y genera la seal de Clock. El Slave (esclavo) es el dispositivo direccionado.
El bus I2C
Microcontroladores
Transmisin de bits
Los bits de datos van por SDA Por cada bit de informacin es necesario un pulso de SCL Los datos slo pueden cambiar cuando SCL est a nivel bajo
El bus I2C
Microcontroladores
Los datos transitan en el flanco de bajada del reloj El dato es recibido en el borde de bajada del reloj El bit ms significativo se enva primero El nodo que recibe debe manejar un acknowledge (bajo en SDA) despus de completado el byte El nodo maestro siempre genera el reloj
El bus I2C
Microcontroladores
Trasferencia de datos:
Los datos y direcciones que se transmiten por SDA son de 8 bits.
.
El bus I2C
Microcontroladores
El bus I2C
Microcontroladores
El bus I2C
Microcontroladores
El bus I2C
Microcontroladores
Durante (1) y (5), el esclavo puede cambiar el estado de la lnea SDA. En total est secuencia debe ser realizada 8 veces para completar el byte dato.
El bus I2C
Microcontroladores
START:
la lnea SDA cae a cero mientras SCL permanece en nivel alto. A partir de este momento comienza la transferencia de datos.
Una vez finalizada la comunicacin se debe informar de esta situacin (condicin de Stop). La lnea SDA pasa a nivel alto mientras SCL permanece en estado alto.
El bus I2C
Microcontroladores
El bus I2C
Microcontroladores
Inicio de transmisin La transmisin la inicia el maestro Flanco de bajada en SDA con SCL a nivel alto Cuando nadie accede al bus hay un nivel alto en SCL y SDA
El bus I2C
Microcontroladores
Start y Stop
SDA baja antes que SCL
Start SDA baja cuando el reloj (SCL) es alto Stop SDA sube cuando SCL es alto (Normalmente no hay transicin cuando el reloj es alto)
El bus I2C
Microcontroladores
Enviando a un Esclavo
El bus I2C
Microcontroladores
Reconocimiento (Acknowledge) :
El bus I2C
Microcontroladores
Transferencia completa
El bus I2C
Microcontroladores
La sintaxis del protocolo es la misma que cuando se transmite un byte a un esclavo, excepto que ahora no se le permite al maestro tocar la lnea SDA. Previo al envi por la lnea SCL,de los 8 pulsos de reloj necesarios para el envi del byte , el maestro libera la lnea SDA. Ahora el esclavo tomar el control de esta lnea. La lnea se ir a alto si se desea transmitir un 1 o si el esclavo desea mandar un 0, se mantiene en bajo.
El bus I2C
Microcontroladores
Para operar un esclavo sobre el Bus I2C solo son necesarios seis simples cdigos, suficientes para enviar o recibir informacin.
Un bit de Inicio 7-bit o 10-bit de direccionamiento Un bit R/W que define si el esclavo es transmisor o receptor Un bit de reconocimiento Mensaje dividido en bytes Un bit de Stop
El bus I2C
Microcontroladores
El bus I2C
Microcontroladores
El bus I2C
Microcontroladores
Terminacin de Bus
El bus I2C
Microcontroladores
El bus I2C
Microcontroladores
El bus I2C
Microcontroladores
El bus I2C
Microcontroladores
El bus I2C
Microcontroladores