Sei sulla pagina 1di 5

Centro de Tecnologia Microgenios - Todos os direitos reservados

Clique aqui para Imprimir o doc umento

Comunicação I2C
1.0 Introdução

I2C
Esse novo barramento foi batizado pela empresa Holandesa (Philips)
como Inter IC ou I2C e possibilita a utilização de grande quantidade
de componentes padronizados, os quais podem realizar diversas
funções, além de possibilitar a troca eficaz de informações entre
eles. Esse novo barramento obteve uma grande aceitação do
mercado, tornando-se um dos mais utilizados e isso foi determinate
para a crianção da versão 2.0, lançada em 1998.

O conceito do barramento I2C é facilitar a integração de circuitos de caráter final de


aplicação como por exemplo sensores e conversores , com um sistema de controle,
de modo que eles possam trabalhar com seus sinais de maneira direta.

O barramento I2C

Uma característica bastante interessante deste barramento é a possibilidade de


utilizar, em um mesmo sistema, componentes de tecnologias construtivas
diferentes sem que haja incompatibilidade e nem conflitos na comunicação.

No I2C a transmissão da informação entre os dispositivos é feita através de 2 fios


(Serial Data DAS e Serial Clock SCL).
Os dispositivos ligados em Inter IC possuem um endereço fixo (cada componente
recebe um endereço específico), e podemos configurá-los para receber ou
transmitir dados; dessa maneira eles podem ser classificados de várias formas,
como: mestres (MASTER), escravos (SLAVE), entre outras.

O barramento I2C é do tipo multimestre, isso significa que mais de um dispositivo


de controle pode ser conectado a ele. No entanto, durante uma comunicação,
somente um dos mestres pode estar ativo, ou ocorrerá uma colisão de dados no
barramento.

Por exemplo: enquanto um microcontrolador envia sinais a um conversor, um outro


microcontrolador troca informações com uma memória usando o mesmo
barramento. Tudo isso é possível, graças a uma "arbitragem" que determina qual
dos sinais tem prioridade no envio dos dados.

As linhas SDA como SCL são bidirecionais e devem ser ligadas ao positivo da
alimentação através de uma fonte de corrente ou de um resistor pull-up, para
garantir que ambas as linhas permaneçam em nível alto, quando o barramento está
livre.

Uma das vantagens do padrão I2C é que ele não fixa a velocidade de transmissão
(freqüência), pois ela será determinada pelo circuito MASTER (transmissão do SCL).

Condições de Start e Stop

A comunicação entre os dispositivos mestres e os escravos, conectados ao barramento


I2C, é iniciada pela condição de start (início) e finalizada pela condição de stop (fim).
Acompanhe a condição de start e stop na figura seguinte:
Dentro da operação I2C, temos os procedimentos start e stop.

Uma transição de nível alto para baixo na linha SDA, enquanto a linha SCL está no
nível alto, é o indicativo da situação de START. Já uma transição do nível baixo para
o nível alto da linha SDA enquanto a linha SCL se mantém no nível alto, define uma
condição STOP. Sempre o mestre é o resposável pela geração dessas condições.
Após uma condição de START o barramento é considerado ocupado, e apenas volta
a ficar livre algum tempo depois da condição de STOP.

Se forem geradas condições START seguidamente, o barramento vai se manter


ocupado, porém com circuitos apropriados pode-se implementar a função de
detectar as condições START e STOP nos dispositivos que devem ser conectados ao
barramento.

Formato dos Dados e Reconhecimento

As informações colocadas na linha SDA devem ter comprimento de 1 byte. O


número de bytes que pode ser transferido em cada operação de transferência é
limitado, além disso os bytes são transferidos enviando primeiramente o bit mais
significativo MSB.

Caso o dispositivo que está recebendo o sinal, por algum motivo, não puder
trabalhar os dados recebidos, ele pode alterar a linha SCL, colocando-a no nível
baixo, e assim forçar o mestre a entrar num estado de espera. Dessa forma,
fomente quando a linha estiver novamente livre a transferência dos dados pode
continuar.

Após o escrita/leitura de um byte no barramento, o dispositivo receptor gera um bit


de reconhecimento (acknowledge). O sinal de reconhecimento permite a fluência da
transferência dos dados. Assim, por exemplo, após a condição de Start e o
endereçamento estarem concluídos, o estágio (escravo) selecionado deve fornecer
o sinal de reconhecimento (ACK).

O reconhecimento dos dados transferidos é obrigatório. O pulso gerado para esta


finalidade é visualizado na figura seguinte:

A linha SDA do receptor é colocada em nível baixo durante o pulso de clock de


modo que ele permaneça estável no nível baixo durante o período alto do pulso de
clock.

Endereçamento-padrão
O formato básico de um comando I2C é constituído por 7 bits de endereço,
utilizando para especificar o dispositivo escravo a ser acessado, seguido por um bit
indicador de leitura/escrita.

Normalmente o endereço básico de um comando I2C é composto por duas partes:


a primeira, de 4 bits, especifica o tipo de dispositivo escravo a ser acessado. A
segunda, de 3 bits, especifica um entre até oito dispositivos daquele tipo, o qual
será acessado.

O bit R/W indica se a operação é de leitura (nível 1) ou de escrita (nível 0).

Formato da Transmissão

Em um dos formatos de transmissão, talvez o mais utilizado, o transmissor mestre envia


os sinais para um receptor escravo, conforme a figura apresentada a seguir:

1) A transmissão é inicializada pelo mestre através de um bit de start (S).

2) Em seguida é enviado o endereço físico do escravo ligado ao barramento I2C. O


bit LSB desse endereço (R/W) informa se queremos ler ou escrever na memória.

3) Após a recepção do endereço, o escravo envia um bit de reconhecimento (ACK)


na linha SDA, informando para o master que está pronto para receber dados.

4) Master envia os dados para o escravo. A confirmação do recebimento de cada byte


é fornecida pelo bit ACK enviado pelo escravo.

5) Ao término da comunicação, o master envia a condição de stop.

Voltar para o topo da pagina

Centro de Tecnologia Microgenios - Curso de Microcontroladores PIC - Programação


em C
Microgenios © 1998 - 2007. Todos os direitos reservados. É proibido cópia parcial ou
integral desse material sem prévio aviso. Maiores informações:
suporte@microgenios.com.br

Potrebbero piacerti anche