Padrão/ProtocoloI2C
Definições
Transmitter (Transmissor): dispositivo que envia dados através do barramento;
Receive (Receptor): dispositivo que recebe dados através do barramento;
Master: dispositivo que inicia a comunicação, gera o sinal de clock e encerra a comunicação;
Multi-master: vários dispositivos podem controlar o barramento, mesmo sem comprometer a mensagem. Quando isto ocorre temos vários dispositivos operando em modo master;
Arbitrariness (Arbitrariedade) : procedimento para o controle do barramento em modo multi-master. Visa não corromper a transmissão dos dados e perder a sincronia do clock, figura 1;
Sincronização: procedimento para sincronizar o clock de um ou mais dispositivos.
Fig. 1
Características Gerais do Barramento I2C
Suporta qualquer tecnologia de produção;
Duas vias de comunicação: serial data (SDA) e serial clock (SCL), ambas bidirecionais, conectadas ao positivo da fonte de alimentação através de um resistor de pull-up. Enquanto o barramento está livre ambas as linhas ficam em nível lógico alto;
A taxa de transferência máxima é de 100kbit/s no modo padrão (standart), ou 400kbit/s no modo rápido (fastmode);
Todo dispositivo possui um endereço único no barramento, independente de sua natureza;
Qualquer dispositivo conectado pode operar com transmissor ou receptor;
Qualquer dispositivo endereçado é chamado de escravo (slave);
O número de interfaces conectadas fica dependente da capacitância máxima do barramento, que é de 400pF.
Comunicação
5. O dispositivo master (ou slave) envia pacotes de 8 bits de dados, sempre seguidos de um sinal ACK enviado pelo dispositivo slave (ou master) confirmando a recepção, figura 4;
6. O dispositivo master encerra a comunicação.
Fig. 3
Fig. 4
Vantagens
Organização funcional em blocos, providenciando um simples diagrama esquemático final;
Não há necessidade dos projetistas desenvolverem interfaces;
Todos os dispositivos integram as interfaces "on-chip", o que aumenta a agilidade no desenvolvimento;
Endereçamento e protocolo de transferência de dados totalmente definido via software;
Possibilidade de inclusão ou exclusão de dispositivos no barramento sem afeta-lo ou outros dispositivos conectados a este;
Diagnóstico de falhas extremamente simples. O mal funcionamento é imediatamente detectado;
Desenvolvimento simplificado do software através do uso de bibliotecas e módulos de software.