I2C vs SPI: Diferenças Essenciais para Escolher o Melhor Protocolo
Está a desenvolver um projeto e precisa de escolher entre I2C e SPI, mas não sabe qual a melhor opção? Este guia explica as diferenças fundamentais para o ajudar a tomar a decisão correta.
Tanto o I2C quanto o SPI são protocolos de comunicação "de nível baixo", fáceis de implementar e ideais para comunicação entre chips numa PCB. No entanto, a escolha errada pode comprometer o desempenho do seu projeto.
O que é o Protocolo SPI?
Desenvolvido pela Motorola nos anos 80, o SPI (Serial Peripheral Interface) foi criado para comunicação entre microcontroladores e periféricos como memórias EEPROM.

O SPI utiliza quatro linhas de sinal ativas (excluindo alimentação e terra):
- SS (Slave Select): Seleção de escravo (controlada pelo mestre)
- MOSI (Master Out Slave In): Dados do mestre para o escravo
- SCLK (Serial Clock): Sinal de clock (gerado pelo mestre)
- MISO (Master In Slave Out): Dados do escravo para o mestre

Um barramento SPI tem apenas um dispositivo mestre, mas pode suportar múltiplos periféricos — cada um requer uma linha SS dedicada.

Para comunicar, o mestre puxa a linha SS do periférico alvo para nível baixo, ativa o clock (SCLK) e troca dados simultaneamente via MOSI e MISO. A comunicação ocorre com um periférico de cada vez.
O que é o Protocolo I2C?
Criado pela Philips (atual NXP) em 1982, o I2C (Inter-Integrated Circuit) padroniza a comunicação entre chips na mesma PCB usando apenas duas linhas:
- SDA (Serial Data): Linha de dados bidirecional
- SCL (Serial Clock): Linha de clock
Ambas as linhas são de "open-drain" (coletor aberto), exigindo resistores de pull-up para retornar ao nível alto. Isso permite múltiplos mestres no mesmo barramento, com arbitragem automática: se dois mestres transmitirem simultaneamente, aquele que detectar a linha SDA em nível baixo (enquanto tenta enviar alto) cede a comunicação.

A comunicação inicia com uma condição START (SDA baixa com SCL alta), seguida do endereço de 7 bits do escravo e um bit de leitura/escrita. O escravo correspondente responde com ACK (SDA baixa).
Diferenças Fundamentais entre I2C e SPI
Ambos são protocolos síncronos de curta distância, mas diferem em arquitetura e desempenho:

Modos de Operação do SPI
O SPI define quatro modos baseados na polaridade e fase do clock (CPOL/CPHA):
- Modo 0: Amostragem na borda de subida, clock ocioso em baixo
- Modo 1: Amostragem na borda de descida, clock ocioso em baixo
- Modo 2: Amostragem na borda de descida, clock ocioso em alto
- Modo 3: Amostragem na borda de subida, clock ocioso em alto
Mestre e escravo devem usar o mesmo modo.
Velocidade e Aplicações
O SPI atinge facilmente 10–100 Mbps, ideal para grandes volumes de dados (displays LCD, acelerômetros, memórias flash). O I2C transmite um byte por vez com confirmação (ACK), com três velocidades padrão:
- Standard: 100 kbps
- Fast: 400 kbps
- High-speed: 3.4 Mbps

Por ser mais lento, o I2C é comum em sensores de temperatura, ADCs e EEPROMs de baixa velocidade.

Tabela Comparativa
| Característica | SPI | I2C |
|---|---|---|
| Driver de pino | Push-pull | Open-drain |
| Velocidade máxima | Sem limite teórico (típico 10–100 Mbps) | 100 kbps / 400 kbps / 3.4 Mbps |
| Multi-mestre | Não | Sim |
| Linhas de sinal | 4 (+1 SS por periférico extra) | 2 |
| Nº de periféricos | Limitado pelos pinos SS do mestre | Até 112 (endereçamento 7 bits) |
| Controle de fluxo | Não | Sim (via clock stretching) |
Prós e Contras
SPI
Vantagens
- Baixo consumo de energia
- Comunicação full-duplex de alta velocidade
- Protocolo simples, sem overhead de endereçamento
Desvantagens
- Requer mais pinos (especialmente com muitos periféricos)
- Variantes personalizadas podem causar incompatibilidade
- Apenas curta distância (mesma PCB)
- Sem confirmação de recepção nativa
I2C
Vantagens
- Apenas duas linhas para qualquer número de dispositivos
- Suporta múltiplos mestres
- Confirmação de recepção (ACK) integrada
- Funciona entre PCBs (cabos curtos)
- Menos sensível a ruído (devido a pull-ups e open-drain)
- Mais econômico em pinos e roteamento
Desvantagens
- Velocidade inferior ao SPI
- Consumo de energia ligeiramente maior (pull-ups contínuos)
- Falha de um dispositivo segurar a linha baixa trava o barramento
- Endereçamento limitado (112 dispositivos com 7 bits)
Fatores Decisivos na Escolha
Pinos Limitados
Se o microcontrolador tem poucos pinos, o I2C (2 linhas) é vantajoso frente ao SPI (mínimo 4 + SS por dispositivo).
Consumo de Energia
SPI costuma consumir menos em operação ativa; I2C tem corrente contínua nos pull-ups.
Velocidade Necessária
Para transferência rápida de blocos grandes (displays, ADCs rápidos, flash), SPI é superior.
Tamanho da PCB
PCBs compactas beneficiam-se do roteamento mais simples do I2C.
Guia Rápido de Decisão
| Critério | Escolha SPI se... | Escolha I2C se... |
|---|---|---|
| Velocidade | Precisa de alta taxa de transferência (>1 Mbps) | Dispositivos de baixa velocidade são suficientes |
| Tamanho da PCB | Espaço não é restrição crítica | PCB pequena, roteamento denso |
| Pinos Disponíveis | Tem pinos sobrando para linhas SS | Pinos escassos, quer economizar |
| Consumo | Prioriza mínima potência ativa | Pode tolerar corrente de pull-up |
UART: Uma Terceira Opção
UART (Universal Asynchronous Receiver-Transmitter) é um circuito físico para comunicação serial assíncrona ponto-a-ponto (Tx/Rx), sem paradigma mestre/escravo nem clock compartilhado. Usa dois fios e é comum em interfaces de depuração, módulos GPS, GSM, etc.

Conclusão
Muitos chips modernos oferecem ambas as interfaces. Se deve escolher apenas uma: SPI para velocidade, I2C para economia de pinos e simplicidade de barramento.
Tem dúvidas? Entre em contacto — teremos prazer em ajudar.
Tecnologia industrial
- 7 Bibliotecas React Essenciais Que Todo Desenvolvedor Deve Dominar
- Guia Essencial de Testes de Óleo de Transformador para Sistemas de Energia Confiáveis
- Proteja Seus Motores: Os Benefícios Essenciais dos Reatores de Linha
- Guia Essencial de Proteções para Mós de Retificar: Protegendo Utilizadores de Quebra e Lesões
- 5 Insights Principais sobre Micro Ferramentas para Usinagem de Precisão
- Conformidade TAA Explicada: 5 Pontos-Chave que Todo Fornecedor Deve Saber
- 9 Aplicações Essenciais de Machine Learning que Você Precisa Conhecer
- Dominando o Revestimento de Embreagem: Guia Completo para Equipamentos Industriais
- Terminologia Essencial de Jato de Água para Profissionais
- Canelagem Explicada: Dominando Técnicas de Acabamento Texturizado