Protocolo CAN
PROTOCOLO 2 DE 5 | BARRAMENTO AUTOMOTIVO / INDUSTRIAL
Protocolo CAN
Controller Area Network — Barramento Robusto para Sistemas
Distribuídos
1. Visão Geral
O CAN (Controller Area Network) é um protocolo de comunicação serial desenvolvido pela Bosch em
meados da década de 1980, criado para permitir que microcontroladores e dispositivos eletrônicos
embarcados em veículos se comunicassem de forma confiável sem a necessidade de um computador
central. Hoje é padronizado pela norma ISO 11898 e amplamente empregado também em automação
industrial, aeronaves e equipamentos médicos.
Diferencia-se por ser um protocolo baseado em mensagens (não em endereços de destino): cada
mensagem carrega um identificador que define sua prioridade e seu significado, e todos os nós do
barramento recebem e filtram as mensagens de interesse.
2. Camada Física e Elétrica
• Meio físico: par trançado diferencial, linhas CAN_H e CAN_L.
• Topologia em barramento linear, terminado em ambas as extremidades com resistores de 120 Ω.
• Codificação diferencial: estados dominante (lógico 0) e recessivo (lógico 1), com o dominante
sempre prevalecendo em caso de disputa de barramento.
• Arbitragem não destrutiva bit a bit (CSMA/CR — Carrier Sense Multiple Access / Collision Resolution).
• Distâncias de até 40 m a 1 Mbit/s, podendo chegar a centenas de metros em velocidades menores.
Variantes de velocidade
Variante Taxa Típica Observação
CAN 2.0A/B até 1 Mbit/s Padrão clássico, quadro de dados até 8 bytes
CAN FD até 8 Mbit/s (fase de dados) Flexible Data-rate, quadro até 64 bytes
CAN de baixa velocidade 40–125 kbit/s Tolerante a falhas, usado em carroceria
3. Estrutura do Quadro (Frame)
O quadro de dados CAN clássico é composto pelos seguintes campos, transmitidos nesta ordem:
• SOF (Start of Frame) — bit dominante que sinaliza o início da mensagem.
• Identificador (ID) — 11 bits (formato padrão) ou 29 bits (formato estendido), define a prioridade da
mensagem: quanto menor o valor numérico, maior a prioridade.
• RTR — indica se é um quadro de dados ou uma requisição remota.
• Campo de controle — inclui o DLC (Data Length Code), que informa o número de bytes de dados.
• Campo de dados — de 0 a 8 bytes (até 64 bytes em CAN FD).
• CRC — 15 bits para verificação de integridade, seguido do delimitador de CRC.
Guia Técnico de Protocolos de Comunicação Página 1
Protocolo CAN
• ACK — slot de confirmação, preenchido por qualquer nó receptor que valide o quadro.
• EOF (End of Frame) — sequência de 7 bits recessivos que encerra a mensagem.
4. Mecanismos de Confiabilidade
• Arbitragem por prioridade: em caso de transmissão simultânea, a mensagem de menor ID vence
sem perda de tempo de barramento.
• Detecção de erros múltipla: CRC, verificação de bit, verificação de forma (stuffing) e monitoramento
(bit monitoring).
• Bit stuffing: inserção automática de um bit de polaridade oposta a cada 5 bits idênticos consecutivos,
para manter a sincronização.
• Confinamento de falhas: nós defeituosos entram automaticamente em estado de 'error passive' ou
'bus-off', isolando-se do barramento sem interrompê-lo.
5. Aplicações Típicas
• Comunicação entre ECUs automotivas (motor, freios ABS, airbag, câmbio).
• Redes de automação industrial e controle de máquinas.
• Sistemas embarcados em tratores, máquinas agrícolas e equipamentos off-road (norma SAE J1939).
• Elevadores, equipamentos médicos e sistemas de energia renovável.
Guia Técnico de Protocolos de Comunicação Página 2