O protocolo I²C foi desenvolvido pela Philips em 1996, com uma boa modelarização das comunicações, com baixo tempo e custo de desenvolvimento de dispositivos, assim como uma grande flexibilidade no funcionamento, consumindo pouca corrente, e sendo bastante imune a ruídos.
O barramento é conhecido por utilizar apenas dois fios para comunicação entre vários dispositivos electrónicos (128 slaves creio eu devido à estrutura que iremos analisar mais à frente.), mas contudo este necessita de 4 fios, dois de alimentação, e os dois fios de dados.
Estes são então:
1 . VCC (normalmente +5V)
2 . GND (massa comum entre os equipamentos, muito importante para que quando os dispositivos queiram dizer zero, o consigam dizer de forma perceptível para todas as outras máquinas)
3 . SDA (Serial DAta Line)
4 . SCL (Serial CLock)
Estrutura da rede:
Onde os Resistores são de valores entre 4KOhm e 10KOhm
Este protocolo conta com o seguinte esquema de comunicação:
Nesta estrutura, existe hierarquia entre 1 dispositivo master e dispositivos slaves, onde sempre será o Master que iniciara a comunicação. A frequência de comunicação é definida pelo master, mas o s dispositivos slaves presentes na rede podem influenciar nesta comunicação retardando essa frequência de referência. Isto ocorre quando se empregam dispositivos lentos na rede de comunicação. Neste caso os dispositivos slaves forçam a zero a comunicação de clock fazendo com que o master fique em estado de espera.
Velocidades de clock padrão são 100kHz e 10kHz, mas o podem ser usadas velocidades de clock de zero a 100 kHz e um modo rápido também está disponível (400kHz - modo rápido). Uma velocidade ainda maior (3.4MHz - Modo de alta velocidade) para aplicações mais exigentes.
Esquema para comunicação:
1. Envie o bit START (S). 2. Envie o endereço do escravo (Addr). 3. Enviar a Leitura (R) -1 / Write (W) bit -0. 4. Aguarde / Enviar um bit reconhecem (A). 5. Enviar / Receber o byte de dados (8 bits) (DATA). 6. Esperar / Enviar reconhecer bit (A). 7. Envie o bit STOP (P).
Antes de enviar o bit de parada, os passos 5 e 6 podem se repetir para blocos multibyte.
1 Pode escolher entre 7 bits ou 10 bits de endereçamento (que pode acomodar grande número de dispositivos no mesmo barramento, mas menos popular). 2 Suporte multimaster com até 8 mestres em um único sistema de comunicação. 3 Barato 4 Suporta até 3.4 Mbits / seg velocidades de transferência.
1 poucos dispositivos por rede. ( Máx 400 pf de capacitância por cabo, sendo que cada dispositivo agrega, em média 10pf de capacitância no cabo.)
2 Diferentes dispositivos de diferentes fabricantes vêm com endereço codificado. Isto pode gerar conflito as vezes, bem como necessidade a tratamento de erros.
3 Não configuração de barramento automático ou plug and play