Vous êtes sur la page 1sur 8

TEMA 7

Introducción a las comunicaciones serie


I2C
Ingeniería de Telecomunicación
3º Curso

1.1
SISTEMAS DIGITALES 09/10

Buses serie síncronos I2C

•I2C (IIC, Inter-Integrated Circuit). Introducción

¾Desarrollado inicialmente por Philips en los 80 para conectar


de forma sencilla y económica controladores con circuitos
integrados periféricos en equipos de TV.

¾Estándar de facto al ser adoptado como interfaz por distintos


fabricantes de periféricos usados en SBμC (memorias
EEPROM, displays, smart-sensors,…).

¾Modificaciones sobre el estándar inicial orientadas a mejorar


sus prestaciones y aumentar el número de dispositivos que se
pueden interconectar, manteniendo siempre la compatibilidad
con los dispositivos prexistentes.
SISTEMAS DIGITALES 09/10 2
Buses serie síncronos I2C
•I2C (IIC, Inter-Integrated Circuit). Características
¾Bus de dos líneas bidireccionales, implementadas eléctricamente
en drenador abierto (pull-up externo). Estado de reposo nivel alto
Línea de reloj SCL
Línea de datos SDA
¾Además de las anteriores es necesario un línea común de retorno
que interconecta todos los terminales de masa de los CI conectados
al bus.

SISTEMAS DIGITALES 09/10 3

Buses serie síncronos I2C


•I2C (IIC, Inter-Integrated Circuit). Características
¾Permite configuraciones multimaestro, en el mismo bus pueden
coexistir simultáneamente varios dispositivos con capacidad de
controlar el bus e iniciar transacciones, si bien en un instante de
tiempo dado sólo puede haber uno con dicha función activa.
¾ Los dispositivos que controlan el bus para realizar
transacciones se denominan maestros.
¾Los dispositivos que responden a transacciones se denominan
esclavos.
¾Las transacciones pueden ser tanto de lectura como de
escritura
¾ Todos los dispositivos son identificados por una dirección

SISTEMAS DIGITALES 09/10 4


Buses serie síncronos I2C
•I2C (IIC, Inter-Integrated Circuit). Características
¾Originalmente direcciones de 7 bits ( 16 reservadas para
operaciones especiales o ampliaciones del estándar / 112 para
ser asignadas a los dispositivos)
¾Direcciones de 10 bits. El aumento del espacio de direcciones
no es debido a la necesidad de configurar un bus con gran
número de dispositivos, sino a que los dispositivos comerciales
tienen una parte de la dirección prefijada de fábrica.
¾SBuC el microcontrolador tiene el papel de maestro.
¾Sistemas multimaestro necesidad de definición de un
mecanismo de arbitración de control del bus
¾Máxima velocidad de transmisión de datos depende del número
de CI interconectados

SISTEMAS DIGITALES 09/10 5

Buses serie síncronos I2C

•Operación Básica del bus I2C


¾Procedimientos para la transferencias de datos entre
el dispositivo maestro y los dispositivos esclavos
 mecanismos utilizados por los dispositivos maestros
para escribir o leer datos de los dispositivos esclavos.

¾Procedimientos de arbitración para el control de bus


en un sistema multimaestro
 mecanismo de arbitración que permite determinar qué
dispositivo con capacidad de ser maestro va a controlar
el bus

SISTEMAS DIGITALES 09/10 6


Buses serie síncronos I2C

•Transferencia de datos del bus I2C


En una transacción en I2C los paquetes o tramas de bits se transmiten de
forma serie por la línea SDA y se validan mediante la señal de reloj SCL

•Las transacciones pueden ser de:

lectura del dispositivo esclavo escritura del dispositivo esclavo

En ambas el maestro inicia y


finaliza la transferencia con la
transmisión de un paquete.

Maestro controla los flancos


activos de la señal de reloj SCL.

SISTEMAS DIGITALES 09/10 7

Buses serie síncronos I2C


•Transferencia de datos del bus I2C
El maestro delimita el comienzo y el final de una
transacción con las condiciones de arranque y parada
Arranque: flanco de bajada de SDA Parada: flanco de subida de SDA
mientras SCL está a nivel alto mientras SCL está a nivel alto. El
maestro libera el bus.
Arranque repetido: el maestro quiere realizar varias transacciones sin liberar el
bus puede indicar la condición de arranque sin establecer la de parada

SISTEMAS DIGITALES 09/10 8


Buses serie síncronos I2C
•Transferencia de datos del bus I2C
El maestro delimita el comienzo y el final de una
transacción con las condiciones de arranque y parada
Arranque: flanco de bajada de SDA Parada: flanco de subida de SDA
mientras SCL está a nivel alto mientras SCL está a nivel alto. El
maestro libera el bus.
Arranque repetido: el maestro quiere realizar varias transacciones sin liberar el
bus puede indicar la condición de arranque sin establecer la de parada

Las condiciones de arranque y parada no deben darse


en la línea en ningún otro momento de la transmisión.
La señal de datos SDA debe ser estable durante los
semiciclos altos de la señal de reloj SCL

SISTEMAS DIGITALES 09/10 9

Buses serie síncronos I2C


•Transferencia de datos del bus I2C
PROCESO DE TRANSFERENCIA
1. Generación de la condición de arranque
2. Envío de un BYTE indicando:
• Tipo de transacción
• LSB=0 Escritura
• LSB=1 Lectura
• 7 bits de dirección del dispositivo esclavo
3. Transferencia
• Intercambio de datos entre el maestro y el esclavo hasta que el
maestro genera una condición de parada o una nueva condición
de arranque (arranque repetido: el maestro activo quiere iniciar
una nueva transferencia y/o direccionar a un nuevo esclavo)
4. Por cada byte recibido el receptor debe generar un reconocimiento. Se
intercambia el sentido de la comunicación durante un bit y se indica la
aceptación forzando un nivel bajo en la línea SDA
SISTEMAS DIGITALES 09/10 10
Buses serie síncronos I2C
•Transferencia de datos del bus I2C
PROCESO DE TRANSFERENCIA

SISTEMAS DIGITALES 09/10 11

Buses serie síncronos I2C


•Transferencia de datos del bus I2C
PROCESO DE TRANSFERENCIA

La omisión de bit de reconocimiento en el


último byte indica al dispositivo esclavo el
fin de la transacción de lectura
SISTEMAS DIGITALES 09/10 12
Buses serie síncronos I2C
•Arbitración, sincronización y control de flujo
Arbitración:
Mecanismo para determinar cuál de los dispositivos puede actuar como
maestro del bus.
Los dispositivos pueden iniciar un transacción cuando la línea se
encuentre en estado de reposo (nivel alto)
Condición de arranque simultánea de varios maestrosÆ mecanismo de
contienda. Características eléctricas de las salidas en drenador abierto
(AND claveada: 0 lógico es dominante)
El dispositivo que consigue hacer prevalecer sus datos se hace con el control
del bus.

SISTEMAS DIGITALES 09/10 13

Buses serie síncronos I2C


•Arbitración, sincronización y control de flujo
Arbitración:
Mecanismo para determinar cuál de los dispositivos puede actuar como
maestro del bus.
Los dispositivos pueden iniciar un transacción cuando la línea se
encuentre en estado de reposo (nivel alto)
Condición de arranque simultánea de varios maestrosÆ mecanismo de
contienda. Características eléctricas de las salidas en drenador abierto
(AND claveada: 0 lógico es dominante)
El dispositivo que consigue hacer prevalecer sus datos se hace con el control
del bus.

SISTEMAS DIGITALES 09/10 14


Buses serie síncronos I2C
•Arbitración, sincronización y control de flujo
Sincronización y control de flujo:
•Para que se realice el procedimiento de arbitración es necesario que la señal de
reloj SCL este bien definida y sincronizada entre los dispositivos. Esta señal es
generada por los dispositivos conectados a la línea SCL aprovechando el
comportamiento de AND cableada.
•El comportamiento eléctrico de la línea SCL puede utilizarse también para
implementar un mecanismo de control de flujo.
•Un dispositivo esclavo que necesite insertar periodos de espera puede hacerlo
forzando que la señal SCL se mantenga a nivel bajo tras la transferencia o
reconocimiento de cada byte.

SISTEMAS DIGITALES 09/10 15

Buses serie síncronos I2C

• Direccionamiento y operaciones extendidas

128 direcciones
16 reservadas para operaciones especiales de bus y ampliaciones
Modo de direccionamiento extendido de 10 bits. Transmisión del valor
reservado 11110xx. Llamada general (General call)

SISTEMAS DIGITALES 09/10 16

Vous aimerez peut-être aussi