Vous êtes sur la page 1sur 3

Comunicación I2C

Kímberly Villalba Proaño.


Departamento de Energía y Mecánica, Universidad de las Fuerzas Armadas (ESPE), Latacunga, Ecuador.

kpvillalba@espe.edu.ec.

Resumen- Este es un trabajo de investigación sobre el


tipo de comunicación I2C que se basa en la transmisión de
datos a través de 2 hilos. El protocolo I2C es uno de los más III. COMUNICACIÓN I2C
utilizados para comunicarse con sensores digitales, ya que
a diferencia del puerto Serial, su arquitectura permite
tener una confirmación de los datos recibidos, dentro de la A. Historia
misma trama, entre otras ventajas. Esta investigación I2C significa Circuito Interintegrado (Inter-Integrated
también describe los hilos que utiliza el bus de Circuit), es un protocolo de comunicación desarrollado por
comunicación I2C: SCL y SDA. Philips Semiconductores por la década de los 80. Se creó para
Palabras Clave- Comunicación, Datos, Serial, Maestro, poder comunicar varios chips al mismo tiempo dentro de los
Esclavo. televisores.

Abstract- This is an investigation of a kind of B. Definición


communication called I2C that is based on the I2C es un puerto y protocolo de comunicación serial,
transmission of data through 2 wires. The I2C protocol is define la trama de datos y las conexiones físicas para transferir
one of the most used to communicate with digital sensors, bits entre 2 dispositivos digitales. El puerto incluye dos cables
since unlike the Serial port, its architecture allows to have
de comunicación SDA y SCL. Es un estándar que facilita la
a confirmation of the received data, within the same frame,
among other advantages. This research also describes the comunicación entre microcontroladores, memorias y otros
threads used by the I2C communication bus: SCL and dispositivos con cierto nivel de «inteligencia», sólo requiere
SDA. de dos líneas de señal y un común o masa.
El I2C es un bus con múltiples maestros, lo que significa
Key Words- Comunication, Data, Serial, Master, Slave que se pueden conectar varios chips al mismo bus y que todos
ellos pueden actuar como maestro, sólo con iniciar la
I. BUS DE COMUNICACIÓN transferencia de datos. Este bus se utiliza dentro de una misma
E n arquitectura de computadores, es un sistema digital que
transfiere datos entre los componentes de un dispositivo
placa de un dispositivo.
La metodología de comunicación de datos del bus I2C es
electrónico o entre varios. Está formado por cables o pistas en en serie y sincrónica. Una de las señales del bus marca el
un circuito impreso, dispositivos como resistencias y tiempo (pulsos de reloj) y la otra se utiliza para intercambiar
condensadores además de circuitos integrados. datos.
El propósito de los buses es reducir el número de rutas Dentro de una comunicación se entiende que intervienen
necesarias para la comunicación entre los distintos dos o más dispositivos o elementos. En el caso del I2C se
componentes, al realizar las comunicaciones a través de un diferencian dos elementos básicos: un Maestro y un esclavo
solo canal de datos. Esta es la razón por la que, a veces, se
C. Maestro I2C
utiliza la metáfora autopista de datos.
Se caracteriza por la cantidad de información que se transmite Dispositivo que determina los tiempos y la dirección del
de forma simultánea. Este volumen se expresa en bits y tráfico en el bus. Es el único que aplica los pulsos de reloj en
corresponde al número de líneas físicas mediante las cuales se la línea SCL. El maestro además se encarga de iniciar y parar
envía la información. Un cable plano de 32 hilos permite la la comunicación. Sus principales funciones son:
transmisión de 32 bits en paralelo. El término ancho se utiliza  Enviar 7 bits de dirección – ADDR
para designar el número de bits que un bus puede transmitir  Generar 1 bit de Lectura ó Escritura – R/W
simultáneamente.  Enviar 8 bits de dirección de memoria
 Transmitir 8 bits de datos –
II. TIPOS DE BUS  Confirmar la recepción de datos – ACK –
ACKnowledged
Existen dos tipos de transferencia en los buses:  Generar confirmación de No-recepción, NACK –
A. Serie No-ACKnowledged
El bus es capaz de transferir los datos bit a bit. Es decir, el
bus tiene un único cable que transmite la información. D. Esclavo I2C
B. Paralelo Todo dispositivo conectado al bus que no tiene la capacidad
de generar pulsos de reloj. Los dispositivos esclavos reciben
El bus permite transferir varios bits simultáneamente, por
señales de comando y de reloj generados desde el maestro.
o ejemplo 8 bits.
Generalmente suele ser un sensor. Este elemento suministra la
información de interés al MAESTRO. Puede actuar de dos  Paro: La señal o bit de PARO se genera cuando hay un
formas: esclavo-transmisor ó esclavo-receptor. Un dispositivo flanco de subida en la línea de datos, mientras que la
I2C esclavo, no puede generar a la señal. línea de reloj se encuentra en alto. Está condición sólo
es posible generarla desde el MAESTRO.
E. Señales
Las señales que utiliza el bus I2C son:
 SCL (System Clock): es la línea de los pulsos de reloj
que sincronizan el sistema.
 SDA (System Data): es la línea por la que se mueven
los datos entre los dispositivos.
 GND (Masa): común de la interconexión entre todos
los dispositivos «enganchados» al bus. Figura 3. Condición de paro en el puerto I2C.

Las líneas SDA y SCL son del tipo drenaje abierto, es decir,  ACK: Confirmación de recepción. Está condición se
un estado similar al de colector abierto, pero asociadas a un crea cuando estando la señal SCL en alto, SDA est en
transistor de efecto de campo (o FET). Se deben polarizar en bajo. Está señal la puede generar tanto el MAESTRO
estado alto (conectando a la alimentación por medio de como el ESCLAVO.
resistores «pull-up») como muestra la Figura 1, lo que define
una estructura de bus que permite conectar en paralelo
múltiples entradas y salidas.

Figura 4. Condición o bit de ACK. Este bit se usa para confirmar la


recepción.

 Nack: Este bit es usado en el esquema de


Figura 1. Interconexión entre dispositivos en el bus I2C comunicación donde se leen varios bytes de un
ESCLAVO en una sola transmisión. Entonces, el bit
NACK se usa cuando ya no se quieren recibir más
F. Bits de la trama del puerto bytes. La condición sólo la puede generar el
El protocolo de comunicación I2C se refiere al conjunto de MAESTRO.
bits que son necesarios para enviar uno o varios bytes de
información. En lo particular, para este protocolo existen los
siguientes bits importantes:

 Inicio ó Start – S
 Parada – P
 Confirmación – ACK
 NoConfirmación – NACK
 Lectura-/Escritura – L/W Figura 5. Condición NACK, sólo es generada por el MAESTRO-I2C.
 7 bits para la dirección del dispositivo
esclavo/maestro
 8 bits de dirección ( para algunos sensores pueden ser
16 bits) IV. CONCLUSIONES
 8 bits de datos Es importante saber la utilización de un protocolo de
comunicación, sabiendo los parámetros de utilización del
G. Condiciones eléctricas mismo, ya que el mismo facilita el proceso de comunicación,
 Inicio: La condición de inicio se genera cuando el bus estandarizando la forma en la que se lo realiza, así como este
está disponible, mientras la línea de SCL está en alto protocolo I2C facilita la comunicación entre más de dos
(1), existe un flanco de bajada (un cambio de estado dispositivos a diferencia de otros en los que se
lógico de alto a bajo), en la línea de SDA). Este bit
sólo lo puede generar el MAESTRO. REFERENCIAS
[1] C. Villagomez, «ccm,» 18 Enero 2018. [En línea].
Available: https://es.ccm.net/contents/364-que-es-un-
bus-informatico. [Último acceso: 10 Junio 2019].
[2] M. Morales, «T-Bem,» 04 febrero 2017. [En línea].
Available: http://learn.teslabem.com/fundamentos-del-
protocolo-i2c-aprende/2/. [Último acceso: 18 12 2017].

Figura 2. Condición de INICIO-I2C. Estando el bus disponible, hay


un flanco de bajada en la línea SDA.
[3] Microchip Technology Inc, «PIC16F87XA,» de
28/40/44-Pin Enhanced Flash Microcontrollers,
Microchip Technology Inc, 2013, p. 80.
[4] E. J. Carletti, «Comunicación - Bus I2C,» Robots
Argentina, 2017. [En línea]. Available: http://robots-
argentina.com.ar/Comunicacion_busI2C.htm.

V. BIOGRAFÍA

Kimberly P. Villalba, nació en


Quito-Ecuador el 19 de Febrero
de 1994. Realizó sus estudios
secundarios en la Unidad
Educativa Militar “Héroes del
Cenepa”. Cursa la carrera de
Ingeniería Mecatrónica, en la
Universidad de las Fuerzas
Armadas “ESPE” en la ciudad de
Latacunga-Ecuador.

Vous aimerez peut-être aussi