Skip to main content

O que é o protocolo I2C?

SCP-939 With Many Voices | keter | Predatory / auditory scp (Abril 2025)

SCP-939 With Many Voices | keter | Predatory / auditory scp (Abril 2025)
Anonim

Desenvolvido pela Philips nos anos 80, o I2C se tornou um dos protocolos de comunicação serial mais comuns em eletrônica. O I2C permite a comunicação entre componentes eletrônicos ou IC para IC, independentemente de os componentes estarem no mesmo PCB ou conectados através de um cabo. O principal recurso do I2C é a capacidade de ter um grande número de componentes em um único barramento de comunicação com apenas dois fios, o que torna o I2C perfeito para aplicativos que exigem simplicidade e baixo custo em excesso de velocidade.

O protocolo I2C

O I2C é um protocolo de comunicação serial que requer apenas duas linhas de sinal. Foi projetado para comunicação entre chips em um PCB. O I2C foi originalmente projetado para comunicação de 100kbps, mas modos de transmissão de dados mais rápidos foram desenvolvidos ao longo dos anos para atingir velocidades de até 3,4Mbit. O protocolo I2C foi estabelecido como um padrão oficial, o que proporciona boa compatibilidade entre implementações I2C e boa compatibilidade com versões anteriores.

Sinais I2C

O protocolo I2C usa apenas duas linhas de sinal bidirecionais para se comunicar com todos os dispositivos no barramento I2C. Os dois sinais utilizados são:

  • Linha de Dados Seriais (SDL)
  • Relógio de Dados Seriais (SDC)

A razão pela qual o I2C pode usar apenas dois sinais para se comunicar com um número de periféricos é como a comunicação ao longo do barramento é tratada. Cada comunicação I2C começa com um endereço de 7 bits (ou 10 bits) que chama o endereço do periférico para que o restante da comunicação receba a comunicação. Isso permite que vários dispositivos no barramento I2C desempenhem o papel do dispositivo mestre de acordo com as necessidades do sistema. Para evitar colisões de comunicação, o protocolo I2C inclui recursos de detecção de arbitragem e colisão que permitem uma comunicação suave ao longo do barramento.

Vantagens e limitações

Como um protocolo de comunicação, o I2C tem muitas vantagens que é uma boa escolha para muitos aplicativos de design embarcados. O I2C traz as seguintes vantagens:

  • I2C requer apenas duas linhas de sinal
  • Taxas flexíveis de transmissão de dados
  • Cada dispositivo no barramento é endereçável de forma independente
  • Os dispositivos têm um relacionamento simples Mestre / Escravo
  • O I2C é capaz de lidar com várias comunicações mestre, fornecendo detecção de colisão de arbitragem e comunicação
  • Comunicação a distância maior que o SPI

Com todas essas vantagens, o I2C também tem algumas limitações que podem precisar ser projetadas. As limitações mais importantes do I2C incluem:

  • Como apenas 7 bits (ou 10 bits) estão disponíveis para o endereçamento do dispositivo, os dispositivos no mesmo barramento podem compartilhar o mesmo endereço. Alguns dispositivos são capazes de configurar os últimos bits do endereço, mas isso ainda impõe uma limitação de dispositivos no mesmo barramento.
  • Apenas algumas velocidades de comunicação limitadas estão disponíveis e muitos dispositivos não suportam a transmissão em velocidades mais altas. Suporte parcial para cada velocidade no barramento é necessário para impedir que dispositivos mais lentos capturem transmissões parciais que resultarão em falhas operacionais.
  • A natureza compartilhada do barramento I2C pode resultar na interrupção do barramento inteiro quando um único dispositivo no barramento pára de funcionar. Ciclando a energia para o barramento pode ser usado para reiniciar o barramento e restaurar a operação adequada.
  • Como os dispositivos podem definir sua velocidade de comunicação, dispositivos operacionais mais lentos podem atrasar a operação de dispositivos de velocidade mais rápida.
  • O I2C consome mais energia do que outros barramentos de comunicação serial devido à topologia de dreno aberto das linhas de comunicação.
  • As limitações do barramento I2C normalmente limitam o número de dispositivos em um barramento para cerca de uma dúzia de dispositivos.

Aplicações

O barramento I2C é uma ótima opção para aplicativos que exigem implementação simples e de baixo custo em vez de alta velocidade. Por exemplo, ler certos ICs de memória, acessar DACs e ADCs, ler sensores, transmitir e controlar ações direcionadas ao usuário, ler sensores de hardware e se comunicar com múltiplos microcontroladores são usos comuns do protocolo de comunicação I2C.