comunicación mediante i2c
TRANSCRIPT
-
7/23/2019 Comunicacin mediante i2c
1/50
COMUNICACINMEDIANTE I2C
Es un interface sncrono a 2 hilos pensado para lacomunicacin entre C.I. y desarrollado por Philips
Corporation. Es un bus estndar para muchos equipos
de consumo y telecomunicaciones.
En este tipo de comunicacin serial, el dispositivo que
enva datos en el bus se define como un trasmisor y el
dispositivo que recibe datos es el receptor.
-
7/23/2019 Comunicacin mediante i2c
2/50
I2C
El dispositivo que controla el bus se llama maestro, los
ispositivos que son controlados por un maestro son
!eferidos como esclavos.
El dispositivo maestro "enera la se#al de relo$, controla el
acceso al bus, es el %nico que tiene capacidad de iniciar la
transferencia de datos, decidir con qui&n se reali'a, el sentido
de la misma (envo o recepcin del )aestro* y cundo se
finali'a
-
7/23/2019 Comunicacin mediante i2c
3/50
I2C
ebe e+istir al menos un dispositivo maestro.
a transferencia de datos es posible solo cuando el busno este ocupado.
as dos lneas de comunicacin corresponden a reloj
(SCL) ydatos (SDA). as transferencias son por tanto
half-duple+.
-
7/23/2019 Comunicacin mediante i2c
4/50
I2C
Cada dispositivo conectado al bus tiene una %nica
direccin.
e admite la presencia de varios )aestros en el bus
(sistema multi-Maestro* con un arbitrajeque ase"ura
que en cada instante slo hay uno dominante.
Si hay ms de un Maestro en el bus, se debe producir
un Arbitraje cuando SCL=1: el Maestro que enva un !1"y detecta un !#" en la lnea S$A !pierde" en el arbitraje
y desactiva su salida de datos %aunque podra se&uir&enerando 'ancos en la lnea SCL hasta que (nali)ara elenvo del byte donde !perdi*" el control del bus+
-
7/23/2019 Comunicacin mediante i2c
5/50
I2C
-
7/23/2019 Comunicacin mediante i2c
6/50
I2C
-
7/23/2019 Comunicacin mediante i2c
7/50
I2C
urante la transferencia, la lnea de datos debe
Permanecer estable mientras la lnea de relo$ este
en alto, los cambios en la lnea de datos mientras
que la lnea de relo$ este en alto son interpretados
como condicin de inicio o condicin de parada.
Transferencia de datos en el bus i2c
-
7/23/2019 Comunicacin mediante i2c
8/50
I2C
Transferencia de datos en el bus i2c
-
7/23/2019 Comunicacin mediante i2c
9/50
I2C
Esta condicin se da cuando las lneas de datos
(/* y de relo$ (C* se encuentran en estado 01
Transferencia de datos en el bus i2c
Bus no ocupado o en estado inactivo
-
7/23/2019 Comunicacin mediante i2c
10/50
I2C
a condicin de inicio est definida cuando e+iste uncambio en el estado de la lnea de datos, de alto a ba$o,
mientras el relo$ esta en alto.
Transferencia de datos en el bus i2c
Inicio de la transferencia de datos
-
7/23/2019 Comunicacin mediante i2c
11/50
I2C
a condicin de parada es definida cuando hay un cambio
en el estado de la lnea de datos, de ba$o a alto, mientras
que la lnea de relo$ esta en alto.
Transferencia de datos en el bus i2c
Finaliaci!n de la transferencia de datos
-
7/23/2019 Comunicacin mediante i2c
12/50
I2C
El estado de la lnea de datos representa un dato vlidocuando, despu&s de la condicin de inicio, la lnea de
datos permanece estable durante el periodo en alto de
la se#al de relo$.
El dato debe ser cambiado durante el periodo en ba$o de la
se#al de relo$.
Transferencia de datos en el bus i2c
Dato v"lido
-
7/23/2019 Comunicacin mediante i2c
13/50
-
7/23/2019 Comunicacin mediante i2c
14/50
I2C
Cada dato transferido es iniciali'ado con la condicin deinicio y finali'ado con la condicin de parada.
El n%mero de bytes de datos transferidos entre las
condiciones de inicio y parada no es limitado y est
determinado por el dispositivo maestro.
Transferencia de datos en el bus i2c
Dato v"lido
-
7/23/2019 Comunicacin mediante i2c
15/50
I2C
espu&s de la recepcin de cada byte, el dispositivo
que recibe debe "enerar un ac4no5led"e.
El dispositivo maestro debe "enerar un pulso e+tra de!elo$ asociado con este bit.
Transferencia de datos en el bus i2c
Ac#no$led%e
-
7/23/2019 Comunicacin mediante i2c
16/50
I2C
Transferencia de datos en el bus i2c
For&ato de la secuencia
-
7/23/2019 Comunicacin mediante i2c
17/50
I2C
Transferencia de datos en el bus i2c
-
7/23/2019 Comunicacin mediante i2c
18/50
I2C
Transferencia de datos en el bus i2c
-
7/23/2019 Comunicacin mediante i2c
19/50
I2C
Transferencia de datos en el bus i2c
-
7/23/2019 Comunicacin mediante i2c
20/50
I2C
El bus IIC permite comunicarse a dispositivos6abricados con diferentes tecnolo"as y diferentes
volta$es de alimentacin.
Para cone+iones con niveles de entrada fi$os y
alimentacin de 78 se definen los si"uientes valores9
Transferencia de datos en el bus i2c
Especi'caciones el(ctricas
-
7/23/2019 Comunicacin mediante i2c
21/50
I2C
81 : 1.7 8 (m+imo volta$e de entrada a nivel ;*
813 : < 8 (mnimo volta$e de entrada a nivel 1*
Para dispositivos que traba$an con un ran"o variado de
volta$es de alimentacin se definen los si"uientes
valores9
81 : ;.
-
7/23/2019 Comunicacin mediante i2c
22/50
I2C
a corriente de entrada m+ima a ; es de 7m/
mientras que para 1 es de 1;u/.
os dispositivos con niveles fi$os de entrada pueden
alimentarse desde diferentes fuentes de alimentacin.
as resistencias de pull-up deben conectarse a una fuente
de 78 >?- 1;@
Transferencia de datos en el bus i2c
Especi'caciones el(ctricas
-
7/23/2019 Comunicacin mediante i2c
23/50
I2C
Transferencia de datos en el bus i2c
Especi'caciones el(ctricas
-
7/23/2019 Comunicacin mediante i2c
24/50
I2C
Transferencia de datos en el bus i2c
Especi'caciones el(ctricas
-
7/23/2019 Comunicacin mediante i2c
25/50
I2C
Atili'a dos lneas9 / de datos y C de relo$.
u principal venta$a, es que una ve' disponible el
microcontrolador con sus funciones de interface
con bus I2C, la inclusin de un dispositivo I2C
/dicional slo necesitara su cone+in a las doslneas del bus (/ y C que son las mismas
para
todos* y asi"narle una direccin.
Caractersticas principales
-
7/23/2019 Comunicacin mediante i2c
26/50
I2C
Cada dispositivo conectado al bus tiene un
c*di&o de direcci*n nico-
.l bus permite la cone/i*n de variosmaestros ya
0ue cuenta con un sistema de arbitrajeentre
estos-
Los datos y direcciones se transmiten en
Caractersticas principales
-
7/23/2019 Comunicacin mediante i2c
27/50
I2C
os bits de datos sobre el bus se transfieren a un
8elocidad de 1;;Bbps, ;;Bbps o 1)h'.
Presenta una transferencia 0lenta en comparacin
con el modo PI y mucho ms con la lectura?escriturairecta de los puertos de un microcontrolador
Caractersticas principales
-
7/23/2019 Comunicacin mediante i2c
28/50
I2C
a capacidad m+ima en el bus es de ;; p6, por lo
que el n%mero de dispositivos conectados a el no
debe superarla.
Caractersticas principales
-
7/23/2019 Comunicacin mediante i2c
29/50
I2CMa)i&u& and &ini&u& values of resistors
*pand *s for +tandard,&ode I2C,bus devices
2or Standard3mode 45C3bus systems, the valueso6 resistors 7p and 7s depend on the 6ollo8in¶meters:
93 Supply volta&e
93 us capacitance
93 ;umber o6 connected devices
-
7/23/2019 Comunicacin mediante i2c
30/50
I2CMa)i&u& and &ini&u& values of
resistors *pand *s for +tandard,&ode I2C,busdevices
-Series resistors 7s are optional-
- sta&es o6 the 45C3bus devices6rom hi&h3volta&e spi?es on the bus lines-
-@level-
3 @level, limits the ma/imum value o6 7s-
-
7/23/2019 Comunicacin mediante i2c
31/50
I2C
DS13!
-
7/23/2019 Comunicacin mediante i2c
32/50
I2C
DS13!3
-
7/23/2019 Comunicacin mediante i2c
33/50
I2C
DS13!
-
-
7/23/2019 Comunicacin mediante i2c
34/50
I2C
DS13!
-CC, F;$ G $C po8er is provided to the device onthese pins-
-SCL %Serial Cloc? 4nput+ G SCL is used tosynchroni)e data movement on the serial inter6ace-
S$A %Serial $ata 4nput>utput+ G S$A is theinputoutput pin 6or the 538ire serial inter6ace-
-
7/23/2019 Comunicacin mediante i2c
35/50
I2C
DS13!3 S0@>H< %Square @ave>utput $river+ G @henenabled, the S0@. bit set to 1, the S0@>H< pin:
outputs one o6 6our square 8ave 6requencies %1I),?I), ?I), B5?I)+- H< pin is open drainand requires an e/ternal pull3up resistor- S0@>HH< pin is1 i6 >H< = 1 and is # i6 >H< = #-
, +3E .+5uare 3ave Enable/0 T1is bit6 $1en set to alo%ic 76 $ill enable t1e oscillator output8 T1e 6requencyo6 the square 8ave output depends upon the value o6 the 7S#and 7S1 bits-
-
7/23/2019 Comunicacin mediante i2c
43/50
I2CDS13!
-
7/23/2019 Comunicacin mediante i2c
44/50
I2CDS13!
2,3I*E +E*IA9 DATA BU+
-
7/23/2019 Comunicacin mediante i2c
45/50
I2CDS13!
2,3I*E +E*IA9 DATA BU+
+lave receiver &ode .D+7:;< $rite &ode/0 A6ter
each byte is received an ac?no8led&e bit is transmitted- S
-
7/23/2019 Comunicacin mediante i2c
46/50
I2CDS13!
2,3I*E +E*IA9 DATA BU+
A6ter the $S1B#E ac?no8led&es the slave address N 8rite bit,the master transmits a re&ister address to the $S1B#E
-
7/23/2019 Comunicacin mediante i2c
47/50
I2CDS13!
2,3I*E +E*IA9 DATA BU+
+lave trans&itter &ode .D+7:;< read &ode/0
T1e 'rst b=te is received and 1andled as in t1e slavereceiver mode- Io8ever, in this mode, the direction bit 8illindicate that the trans6er direction is reversed-
-
7/23/2019 Comunicacin mediante i2c
48/50
I2CDS13!
2,3I*E +E*IA9 DATA BU+
A6ter receivin& and decodin& the address byte the device
inputs an ac?no8led&e on the S$A line-
-
7/23/2019 Comunicacin mediante i2c
49/50
I2CDS13!
2,3I*E +E*IA9 DATA BU+
-
7/23/2019 Comunicacin mediante i2c
50/50
I2CDS13!
2,3I*E +E*IA9 DATA BU+
Ac#no$led%e0 Eac1 receivin% device6 $1en
addressed6 is obli%ed to %enerate an ac#no$led%eafter t1e reception o6 each byte-