Na parte 12 da série a placa acordou: os trilhos nasceram na ordem certa, o cristal começou a bater e o reset subiu. A partir desse instante existe um sistema vivo lá dentro — e sistemas vivos precisam conversar.
É aqui que entram os barramentos de comunicação. Numa placa moderna há dezenas de chips que dependem uns dos outros: o processador lê a memória que guarda o firmware, o controlador pergunta ao sensor qual é a temperatura, o painel recebe a configuração. Essa conversa acontece por três protocolos que aparecem em praticamente tudo que passa pela bancada — UART, I2C e SPI. Entender os três muda a forma como você lê uma placa e explica um sintoma que assusta muito técnico iniciante: um chip de dois centavos travando o aparelho inteiro.
Por que existe mais de um jeito de conversar
Cada conversa tem uma exigência diferente. Ler um sensor de temperatura uma vez por segundo não precisa de velocidade nenhuma; despejar a imagem de uma tela precisa de muita. Os três protocolos resolvem esse trio de compromissos — velocidade, quantidade de fios e quantidade de participantes — de maneiras diferentes, e todos transmitem bits em sequência, um atrás do outro no mesmo fio. Por isso são barramentos seriais: menos trilha na placa, menos pino no chip, menos custo.
Vale fixar desde já o conceito que atravessa os três: aqui um bit não é um valor de tensão parado, é um nível de tensão em um instante determinado. É por isso que o multímetro não diagnostica barramento — ele mostra uma média. Uma linha ativa de 3,3 V lida no multímetro entrega um número morno, algo como 1,8 V, e esse valor não prova nada.
UART: a conversa de dois fios, sem maestro
A UART é a mais antiga das três e a mais fácil de entender. São duas linhas, cada uma em um sentido: TX (transmite) e RX (recebe). O TX de um chip vai no RX do outro, e vice-versa — cruzado, como dois walkie-talkies.
O detalhe que define a UART é o que ela não tem: não existe fio de clock, ninguém marca o compasso. Os dois lados combinam antes uma velocidade — a taxa de bauds: 9600, 57600, 115200 — e cada um conta o tempo por conta própria. Por isso é chamada de comunicação assíncrona. Consequência na bancada: se as pontas não estiverem na mesma taxa, a conversa não fica “meio certa”, vira lixo puro na tela. Aquela sopa de caracteres estranhos num terminal serial quase sempre é taxa errada, não defeito de hardware.
A UART é o barramento que sai da placa. É por ela que passa o console de depuração de roteadores, decodificadores e TVs — três ilhas de solda no canto da placa, marcadas TX, RX e GND, que despejam o log de inicialização. Esse log é ouro para o técnico: mostra até que ponto o aparelho chegou antes de travar.
Como o computador moderno não tem mais porta serial, essa conversa passa por um conversor USB-serial — e é aí que entram os chips que já têm guia próprio aqui no site: CH340, CP2102, FTDI FT232 e PL2303. Todos fazem a mesma coisa: transformam a UART da placa numa porta COM do seu computador.
Aviso que evita placa queimada: a maioria das placas embarcadas usa UART de 3,3 V, e um adaptador em 5 V pode danificar a entrada. Quase todo módulo USB-serial tem jumper de seleção — use 3,3 V na dúvida, e nunca ligue o VCC do adaptador numa placa já alimentada pela própria fonte. Só TX, RX e GND.
I2C: dois fios para a placa inteira
O I2C resolve outro problema: conversar com muitos chips gastando o mínimo de trilhas. A resposta são duas linhas apenas, compartilhadas por todo mundo:
- SDA — a linha de dados, por onde os bits vão e voltam.
- SCL — a linha de clock, que marca o compasso. Diferente da UART, aqui existe um maestro.
Nesse barramento há um mestre (normalmente o processador ou o controlador embarcado) e vários escravos: sensores de temperatura, memórias EEPROM, relógios de tempo real, controladores de bateria, o chip de identificação do painel de LCD — todos pendurados nos mesmos dois fios. Para que ninguém fale por cima de ninguém, cada escravo tem um endereço próprio de 7 bits: o mestre grita o endereço na linha e só o chip daquele endereço responde.
Aqui aparece o detalhe que amarra esta parte com a parte 5 da série: as duas linhas do I2C são do tipo dreno aberto. Traduzindo — os chips só sabem puxar a linha para zero volt, nenhum empurra a linha para cima. Quem faz isso são dois resistores de pull-up, de 2,2 kΩ a 10 kΩ, ligados entre cada linha e a alimentação. Sem eles o barramento fica preso em zero para sempre.
Esse arranjo tem um efeito colateral precioso para o diagnóstico. Um barramento I2C saudável em repouso fica em nível alto — as duas linhas na tensão de alimentação, 3,3 V ou 5 V. Se você medir SDA ou SCL e encontrar zero volt parado, existe problema real: chip travado segurando a linha, curto para o terra ou pull-up ausente. É um dos raríssimos casos em que o multímetro dá veredito útil sobre barramento — não porque leia a conversa, mas porque revela o silêncio errado.
É também a origem de um sintoma clássico: um único chip defeituoso derruba o aparelho inteiro. Como todo mundo divide os mesmos dois fios, um escravo que morreu segurando SDA em zero cala o barramento — o aparelho fica em pé mas paralisado, muitas vezes com todas as tensões perfeitas. A manobra do técnico experiente é levantar um pino de cada suspeito, um por vez, e ver em qual deles a linha volta a subir.
SPI: quatro fios e velocidade
Quando é preciso mover muito dado depressa, o I2C não dá conta. Entra o SPI, que gasta mais fios para ganhar velocidade. São quatro linhas:
- SCK — o clock, gerado pelo mestre.
- MOSI — dados do mestre para o escravo.
- MISO — dados do escravo para o mestre.
- CS (ou SS) — a seleção do chip, quase sempre ativa em nível baixo.
A diferença conceitual em relação ao I2C está no CS: no SPI não existe endereço, existe um fio dedicado para cada escravo. O mestre baixa o CS do chip com quem quer falar, conversa, e solta. Por isso o SPI é rápido — dezenas de megahertz, contra os típicos 100 a 400 kHz do I2C — e por isso não escala: cada chip novo exige uma trilha nova.
Você já conhece o inquilino mais importante desse barramento, mesmo sem saber: a memória flash SPI de oito pernas — o CI pequeno perto do chipset que guarda a BIOS do notebook, o firmware do roteador ou o programa principal da TV. É por isso que o gravador CH341A e as gravadoras de bancada existem: eles se ligam a essas mesmas quatro linhas, assumem o papel de mestre e leem ou regravam a memória. Quando você lê um firmware de TV com uma pinça de teste, está conversando em SPI.
Os três lado a lado
| UART | I2C | SPI | |
|---|---|---|---|
| Fios | 2 (TX, RX) | 2 (SDA, SCL) | 4 (SCK, MOSI, MISO, CS) |
| Clock | Não tem | Sim (SCL) | Sim (SCK) |
| Velocidade típica | 9,6 a 115,2 kbit/s | 100 a 400 kbit/s | 1 a 100 Mbit/s |
| Participantes | 2, ponto a ponto | Muitos, por endereço | Muitos, um CS cada |
| Repouso | Alto | Alto (pull-up) | CS alto |
| Onde encontra | Console de depuração, módulos, GPS | Sensores, EEPROM, RTC, painel | Flash de BIOS/firmware, cartão SD, display |
Como reconhecer e medir na placa
Três pistas visuais resolvem a maior parte dos casos. Duas trilhas finas correndo lado a lado, tocando vários chips diferentes, com dois resistores pequenos perto da alimentação: I2C. Um grupo de quatro trilhas que sai do chipset e termina num CI de oito pernas isolado: SPI, quase certamente a memória de firmware. Três ilhas de solda soltas no canto da placa, muitas vezes sem componente: UART de serviço.
Para medir de verdade, o instrumento é o osciloscópio ou um analisador lógico. No osciloscópio o ajuste que funciona é acoplamento DC, ponta em x10 e modo Single no trigger — a conversa acontece em rajadas curtas, logo depois do reset, e o modo contínuo não pega o momento. O que se procura não é o conteúdo da mensagem, é a existência dela: tem atividade nessa linha ou ela está morta?
Onde comprar
Barramento não se diagnostica de ouvido. Um adaptador USB-serial abre o console de depuração de roteadores e placas embarcadas, e um analisador lógico de oito canais mostra e decodifica I2C, SPI e UART na tela do computador por um preço bem abaixo do de um osciloscópio.
Como Associados da Amazon, recebemos por compras qualificadas feitas pelos links acima — você não paga nada a mais por isso.
Os defeitos clássicos de barramento
Linha I2C presa em zero. O sintoma mais comum e o mais mal diagnosticado. Meça SDA e SCL em repouso: as duas têm que estar na tensão de alimentação. Zero volt parado significa chip travado, curto ou pull-up aberto — confirme os resistores de pull-up antes de trocar qualquer coisa.
Barramento sem atividade nenhuma. Silêncio total com as linhas em repouso corretas geralmente não é defeito do barramento, é defeito de quem deveria falar. Volte um passo: o mestre acordou? O clock e o reset dele estão certos?
Conversa que começa e para. Rajada curta no osciloscópio e depois nada indica que o mestre pediu algo e não recebeu resposta — escravo sem alimentação, mal soldado ou morto. Meça a alimentação dele antes de acusá-lo.
Curto de linha para o terra. Vale checar com a técnica de caça ao curto antes de partir para hipóteses complicadas: um cerâmico de desacoplamento em curto sobre a alimentação do trecho produz o mesmo sintoma de “chip mudo”.
Perguntas frequentes
Dá para ver I2C ou SPI com multímetro?
Ver a conversa, não. Dá para checar o estado de repouso: em I2C, as duas linhas devem estar na tensão de alimentação quando ninguém fala. Isso já separa “barramento parado por defeito” de “barramento parado porque não há ninguém falando”. Para enxergar os pulsos, só osciloscópio ou analisador lógico.
Por que o console serial mostra caracteres embaralhados?
Quase sempre taxa de bauds errada. Comece por 115200 e 9600, que cobrem a maioria dos equipamentos. Se o texto continua sujo em todas as taxas, confira se TX e RX estão cruzados e se o terra do adaptador está ligado ao terra da placa — sem terra comum, nenhuma leitura é confiável.
Posso ligar dois chips com o mesmo endereço I2C na mesma placa?
Não no mesmo barramento: eles responderiam juntos e dá conflito. Por isso muitos sensores têm um pino de seleção de endereço, que muda o último bit conforme você o ligue ao terra ou à alimentação. A outra saída é usar um segundo barramento, quando o processador oferece mais de um.
A memória de BIOS de oito pernas é sempre SPI?
A grande maioria é, e o encapsulamento SOIC-8 já é pista forte. Mas existem memórias de oito pernas que falam I2C — EEPROMs do tipo 24Cxx, comuns em painéis de LCD. A diferença aparece no código do chip: a família 25xx costuma ser SPI, a 24xx costuma ser I2C. Confirmar no datasheet antes de gravar evita perder a memória.
Preciso dessoldar o chip para ler o firmware?
Nem sempre. A leitura em circuito com pinça de teste funciona em boa parte dos casos, desde que a placa esteja sem alimentação e o resto do circuito não puxe as linhas. Quando a leitura sai inconsistente — valores diferentes a cada tentativa —, outro chip está interferindo no barramento, e aí a remoção é o caminho seguro.
Conclusão
Os três barramentos cabem numa frase cada. UART: dois fios, sem clock, ponto a ponto — a porta de conversa da placa com o mundo de fora. I2C: dois fios com clock, muitos chips endereçados, repouso em nível alto por causa dos pull-ups — barato, lento e vulnerável a um único chip travado. SPI: quatro fios, um CS por chip, rápido — é onde mora o firmware do aparelho.
E fica a regra de bancada que vale para os três: barramento mudo raramente é o problema; quase sempre é o retrato de outro problema. Antes de condenar uma linha, confirme que quem deveria falar nela acordou.
Na próxima parte a série entra no destino mais importante do SPI: as memórias da placa. Onde ficam a BIOS e o firmware, a diferença entre memória volátil e não volátil, por que a EEPROM guarda configuração e a RAM esquece tudo ao desligar — e o que isso significa quando um aparelho liga, mas não carrega.
Veja também
- Clock, reset e enable — a parte 12 da série, o que precisa acontecer antes de qualquer barramento começar a falar.
- Gravador CH341A: guia completo — o jeito prático de conversar em SPI com a memória de firmware.
- Osciloscópio no diagnóstico — como ajustar o aparelho para flagrar a rajada curta de um barramento.
