Comunicación mediante i2c

download Comunicación mediante i2c

of 50

Transcript of Comunicación mediante i2c

  • 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&parameters:

    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-