Diferencia entre revisiones de «Artículos EC2783 Abr-Jul 2016»

De Wikitronica
Saltar a: navegación, buscar
(Protocolo IIC)
Línea 16: Línea 16:
 
'''Señal de STOP:''' Cuando la transmisión de datos ha finalizado, ambos buses SDA Y SCL vuelven a su estado lógico inicial en 1 y tanto maestro como esclavo dan por finalizada la comunicación.
 
'''Señal de STOP:''' Cuando la transmisión de datos ha finalizado, ambos buses SDA Y SCL vuelven a su estado lógico inicial en 1 y tanto maestro como esclavo dan por finalizada la comunicación.
  
FALTA....
+
[[Image:iic1|thumb|widthpx| ]]
 +
Funcionamiento del protocolo
 +
 
 +
Como ya se mencionó, cada 9 flancos de reloj ocurre un reconocimiento del byte inmediatamente enviado. La dirección del esclavo, o “llave” como ya se hizo referencia, se encuentra contenida en una combinación de 10-bits, configurados de la siguiente manera:
 +
 
 +
El primer byte enviado del maestro al esclavo contiene necesariamente el siguiente contenido:
 +
 
 +
Bits 0-4 (11110x): Son bits constantes, e indican que una dirección de esclavo será enviada posteriormente.
 +
 
 +
Bits 5-6 (AD10-AD9): pertenecen a los primeros 2 bits de los 10 que componen la dirección de esclavo.
 +
 
 +
Bit 7 (R/W): debe estar configurado obligatoriamente en 0 ya que es el maestro quien transmite, y en este caso los esclavos quienes escuchan. NOTA: hasta este punto pueden seguir escuchando mas de un esclavo, ya que la llave será completada por 8-bits, enviados posteriormente.
 +
 
 +
Luego el maestro debe esperar el bit de reconocimiento, para proceder a enviar la segunda cadena de bit, compuesta por los 8 bits restantes que completan la llave, para la cual solo debe existir una respuesta de reconocimiento, del esclavo respectivo con quien se establece la comunicación.
 +
 
 +
Dependiendo la dirección de la comunicación, ocurre lo siguiente:
 +
 
 +
Comunicación Maestro a esclavo: Posteriormente al procedimiento explicado se proceden a enviar los bits de datos, los cuales son recibidos por el esclavo hasta que ocurra la condición de STOP.
 +
 
 +
Comunicación Esclavo a maestro: Una vez recibido el segundo bit de reconocimiento(A2), se debe enviar un tercer byte con los primeros 7-bits idénticos al primer byte enviado (1110xxx0) con la diferencia del bit 0, el cual es sustituido con 1, para configurar el modo de lectura del maestro.
 +
 
 +
En la siguiente imagen se muestra gráficamente,
 +
 
 +
También se puede enviar un mensaje General del tipo “Broadcast”, con llaves de 10 o 7 bits seteando el registro GCAEN.
  
 
== Ejemplos IIC ==
 
== Ejemplos IIC ==

Revisión del 20:52 22 jun 2016

IIC

Introduccion IIC

Registros IIC

Protocolo IIC

El Protocolo Inter-Integrated Circuit (IIC), se compone de 4 partes principales, las cuales componen el envío de un mensaje, descritos a continuación:

Señal de inicio (START Signal): Inicialmente, los buses SCL y SDA se encuentran lógicamente encendidos (en caso de estar disponibles para ser utilizados), por lo cual la señal de inicio, consiste en una bajada del flanco de SDA, mientras SCL se mantiene encendido por parte del maestro. Puede ocurrir un caso en el que se da por repetida una señal de inicio, aun sin finalizado una comunicación previa; esto indica el envío de datos bien sea con otro dispositivo esclavo, o en un modo diferente (lectura/escritura).

Transmisión de la “llave” de esclavo: Este paso consiste en la transmisión de una dirección de 8-bit, los cuales son diferenciados por los primeros 7 bits consecutivos, que representan la “llave” que establece con cuál dispositivo esclavo se desea establecer una comunicación. Cada esclavo mantiene una clave que debe intersectar (lógico AND) con la llave enviada, y solo aquel que coincida con la clave enviada se dispondrá a “escuchar” el mensaje que será enviado a continuación. Con respecto al último bit, éste se refiere a una solicitud de tipo Lectura/Escritura. Para el bit en 1, se desea iniciar una transferencia de lectura del maestro, mientras que para el bit en 0 se desea establecer una comunicación de escritura maestro-esclavo.

Transferencia de datos: Una vez recibida la clave por parte del esclavo correspondiente, con su respectiva dirección de transferencia de datos, se procede a ejecutar en envío de los bytes de información uno a uno, en el cual cada bit representa un clock del reloj, iniciando por el bit as representativo (MSB) y finalizando por el bit menos representativo (LSB). Por último, en el noveno flanco del clock se envía un bit de reconocimiento o de no reconocimiento; en este último caso la transmisión de data no es exitosa y se procede a abortar o a retransmitir según sea el caso.

Señal de STOP: Cuando la transmisión de datos ha finalizado, ambos buses SDA Y SCL vuelven a su estado lógico inicial en 1 y tanto maestro como esclavo dan por finalizada la comunicación.

Funcionamiento del protocolo

Como ya se mencionó, cada 9 flancos de reloj ocurre un reconocimiento del byte inmediatamente enviado. La dirección del esclavo, o “llave” como ya se hizo referencia, se encuentra contenida en una combinación de 10-bits, configurados de la siguiente manera:

El primer byte enviado del maestro al esclavo contiene necesariamente el siguiente contenido:

Bits 0-4 (11110x): Son bits constantes, e indican que una dirección de esclavo será enviada posteriormente.

Bits 5-6 (AD10-AD9): pertenecen a los primeros 2 bits de los 10 que componen la dirección de esclavo.

Bit 7 (R/W): debe estar configurado obligatoriamente en 0 ya que es el maestro quien transmite, y en este caso los esclavos quienes escuchan. NOTA: hasta este punto pueden seguir escuchando mas de un esclavo, ya que la llave será completada por 8-bits, enviados posteriormente.

Luego el maestro debe esperar el bit de reconocimiento, para proceder a enviar la segunda cadena de bit, compuesta por los 8 bits restantes que completan la llave, para la cual solo debe existir una respuesta de reconocimiento, del esclavo respectivo con quien se establece la comunicación.

Dependiendo la dirección de la comunicación, ocurre lo siguiente:

Comunicación Maestro a esclavo: Posteriormente al procedimiento explicado se proceden a enviar los bits de datos, los cuales son recibidos por el esclavo hasta que ocurra la condición de STOP.

Comunicación Esclavo a maestro: Una vez recibido el segundo bit de reconocimiento(A2), se debe enviar un tercer byte con los primeros 7-bits idénticos al primer byte enviado (1110xxx0) con la diferencia del bit 0, el cual es sustituido con 1, para configurar el modo de lectura del maestro.

En la siguiente imagen se muestra gráficamente,

También se puede enviar un mensaje General del tipo “Broadcast”, con llaves de 10 o 7 bits seteando el registro GCAEN.

Ejemplos IIC

Acelerometro

Articulo de ejemplo DEMOQE128

Formato: Estudiante : Artículo aprobado