You are on page 1of 24

Sistemas Microcontrolados

Protocolo de Comunicao I2C

Protocolo I2C
Caractersticas Bsicas:
Trata-se de um barramento a dois fios
Projetado pela Philips para permitir a comunicao com um pequeno
nmero de dispositivos (Por exemplo, memria EEPROM)
Velocidades:
100 kbps
400 kbps
3.4Mbps
Modo de transferncia: serial, 8 bits, bidirecional
Mestre/Escravo com possibilidade de muitos mestres
Mestre: Transmissor ou Receptor
Endereamento: 7 ou 10 bits
Nmero de dispositivos: Limite de 400pF

Sinais
Duas linhas
SCL: Linha de clock
SDA: Linha de dados

Dados vlidos quando SCL = 1


Dados podem mudar quando SCL = 0

Objetivos
Barramento livre: SDA = SCL =1

FRAME (Enquadramento)
Para iniciar a transmisso de dados, os mesmos
so enquadrados. Existe uma condio que
sinaliza o incio do enquadramento e uma
condio que sinaliza o fim dos dados.

FRAME
Estado do barramento
Busy (Ocupado): Aps um START, antes do
prximo STOP.
Free (Livre): Aps um STOP e antes do prximo
START
Aps um START pode ocorrer outro START. Ou
seja, para cada START no precisa necessariamente
de um STOP.

Mestres e Escravos
Dispositivo Mestre
Controla o SCL
Inicia e finaliza as transferncias
Controla o endereamento de outros dispositivos

Dispositivo Escravo
Dispositivo endereado pelo Mestre
Responde s requisies do Mestre

Mestres e Escravos (Cont)


Transmissor/Receptor
Mestre ou Escravo: Ambos podem transmitir e
receber.
TX do mestre envia dados para RX do escravo
RX do mestre solicita dados do TX do escravo

Transmisso do primeiro Byte


O mestre o transmisssor. O escravo o receptor.

Outros Bytes
Podem ser transmitidos pelo mestre ou pelo escravo
(depende da operao: leitura ou escrita)

Transferncia de Dados
Dados so transferidos aps a condio de
START.
A transmisso orientada por Bytes.
1 Byte = 8 bits + bit de reconhecimento (ACK)
Na transmisso o bit MSB enviado primeiro
O endereo do escravo um dado. Portanto,
este endereo enviado pelo barramento
atravs da linha SDA.

Transferncia de Dados
Mestre faz SCL = 0 e gera pulsos para cada bit
de dado.
8 pulsos de dados so seguidos por um pulso de
ACK

Transferncia de Dados - SDA


Observe bem: Quando o mestre transmite o
endereo do escravo pelo barramento, todos os
dispositivos I2C vo escutar, mas apenas o
dispositivo endereado vai responder com o
pulso de ACK e vai proceder de acordo com o
que o mestre solicita. Se o mestre disse que iria
gravar (escrever) um dado, o escravo espera por
este dado. Caso o mestre esteja querendo ler o
escravo. O escravo vai assumir o controle do
sinal SCL e vai transmitir o dado bit a bit.

Transferncia de Dados - SDA


Aps a transmisso dos bits de dados, o TX
libera a linha SDA, o receptor segura a linha
SDA em nvel baixo para indicar que
reconheceu os dados que foram transmitidos.
Depois do reconhecimento, o escravo libera a
linha SDA para que o mestre possa finalizar a
transmisso.

Endereamento usando 7 bits


Primeiro Byte transmitido pelo mestre:
7 bits de endereo
1 bit de direo (leitura ou escrita).
0 mestre escreve os dados: TX
1 mestre recebe dados: RX

A transferncia finaliza com condio STOP

Mestre Transmite
Veja abaixo como os dados so postos no
barramento na condio em que o mestre
escreve dados no escravo.

Mestre Recebe Dados


Veja abaixo como os dados so postos no
barramento na condio em que o mestre recebe
dados do escravo.

EEPROM AT24C1024B

AT24C1024B
Caractersticas desta EEPROM:

Operao em 1,8V-3,6V ou 2,5V-5,5V


Arquitetura 131.072 x 8
Interface serial a 2 fios
Entradas filtradas e com Schimitt Trigger
Protocolo de transferncia de dados bidirecional
Clock de 400 kHz (1,8V) ou 1MHz (2,5V)
Proteo contra gravao por soft/hard
Modo de escrita por pgina de 256 Bytes
Modos de leitura sequencial e aleatria
Ciclo de escrita de 5ms

AT24C1024B
Caractersticas (continuao)
1.000.000 de ciclos de escrita por pgina
Reteno de 40 anos

Possibilidade de ter at 4 dispositivos


pendurados em um mesmo barramento.

AT24C1024B
Encapsulamentos disponveis:

AT24C1024B
Sinais
SCL: Em borda de subida os dados so gravados na
memria. Em borda de descida, os dados so
colocados no barramento SDA.
SDA: Pino bidirecional para transferncia de dados.
um pino Dreno aberto. possvel conectar a vrios
outros pinos (ligao wired-OR).
A1/A2: Pinos de endereo do dispositivo.Se no for
usar, recomenda-se conectar ao GND.
WP: Se conectado a Vcc impede a gravao de dados.

AT24C1024B
Endereamento
Este dispositivo requer 8 bits de endereo mais uma
condio de START para poder ler ou escrever no
dispositivo. O endereo consiste de uma sequncia
de 1010 seguido pelo endereo A1A2 (00, 01, 10 ou
11). O stimo bit o bit de paginao e o oitavo bit
corresponde direo (leitura ou escrita).

AT24C1024B

AT24C1024B

AT24C1024B

You might also like