O barramento CAN (Controller Area Network) é um protocolo de comunicação serial-em tempo real altamente confiável usado em veículos, automação industrial e outros campos. Ele permite que vários microcontroladores e dispositivos se comuniquem entre si sem um computador host.

O barramento CAN foi originalmente desenvolvido pela Bosch na Alemanha no início da década de 1980 para-comunicação em veículos. Em 1993, a ISO publicou o padrão de barramento CAN (ISO 11898), abrangendo tanto o protocolo da camada de enlace de dados quanto o protocolo da camada física.
ISO 11898-1: Define o protocolo da camada de enlace de dados.
ISO 11898-2: Define o protocolo da camada física para barramento CAN de alta-velocidade, suportando uma taxa máxima de transferência de dados de 1 Mbps. Ele recomenda uma topologia linear e é adequado para aplicações com altos requisitos de tempo real.
ISO 11898-3: define o protocolo da camada física para barramento CAN de baixa-velocidade, com taxas de transferência de dados variando de 40 Kbps a 125 Kbps. Também conhecido como CAN-tolerante a falhas, ele permite a comunicação contínua mesmo quando uma linha de sinal falha, tornando-o adequado para aplicações com menores requisitos de tempo real.
Recursos do barramento CAN:
Controle-mestre múltiplo:O barramento CAN suporta vários dispositivos mestres coexistindo na rede sem uma hierarquia mestre-escravo. Os dispositivos se comunicam com base na prioridade da mensagem.
Sinalização Diferencial:Utiliza dois fios (CAN_H e CAN_L) para transmitir sinais diferenciais, aumentando a resistência à interferência eletromagnética.
Arbitragem-não destrutiva:Durante a transmissão da mensagem, se ocorrer uma colisão, a mensagem de-prioridade mais alta será transmitida enquanto a mensagem de-prioridade mais baixa aguardará pela retransmissão.
Detecção e tratamento de erros:Apresenta recursos robustos de detecção e tratamento de erros, incluindo verificação de soma de verificação CRC e verificação de erros de bit.
Topologia Flexível:Suporta múltiplas topologias de rede, como configurações lineares, em estrela, em árvore e em anel.
No barramento CAN, a diferença significativa de tensão entre a lógica "0" e "1" garante uma comunicação confiável. Referindo-se à descrição acima, os dois níveis lógicos no barramento CAN são:
Dominante: 0
Recessivo: 1
Os níveis de sinal no barramento CAN exibem linha-e características. Esta linha-e comportamento formam a base do circuito para a arbitragem do barramento CAN: o nível dominante (0) sempre mascara o nível recessivo (1). Se diferentes nós transmitem simultaneamente níveis dominantes e recessivos, o barramento exibe o nível dominante (0). Somente quando todos os nós transmitem o nível recessivo (1) o barramento apresenta o estado recessivo.
Nível dominante:Lógica 0. No CAN de alta-velocidade, o pino CAN_H é direcionado para 5V, enquanto o pino CAN_L é direcionado para 0V.
Nível Submisso:Lógica 1. Nenhum pino é acionado.

Os barramentos CAN de alta-velocidade e de baixa-velocidade diferem em suas definições de nível de sinal da camada física:
CAN de alta-velocidade define um "1" lógico quando as tensões CANH e CANL são iguais (CANH=CANL=2.5V) e um "0" lógico quando a diferença de tensão entre CANH e CANL é 2V (CANH=3.5V, CANL=1.5V).
Dentro da faixa de tensão do modo-comum (-12V a 12V), o transceptor CAN de alta velocidade interpreta uma diferença de tensão superior a 0,9V entre CANH e CANL como o estado dominante e uma diferença inferior a 0,5V como o estado recessivo. Um circuito de histerese interno reduz a interferência.
CAN de baixa-velocidade define um "1" lógico quando a diferença de tensão entre CANH e CANL é 5V (CANH=0V, CANL=5V) e um "0" lógico quando a diferença de tensão é 2,2V (CANH=3.6V, CANL=1.4V).
Níveis de sinal CAN de alta-velocidade (ISO 11898-2)
Níveis de sinal CAN-de baixa velocidade (ISO 11898-3)
Mecanismos de tratamento de erros CAN:
Erros CRC:Detecta erros calculando e verificando o valor CRC dos dados.
Erros de bits:Detecta erros de bits em tempo-real durante a transmissão.
Quadros de erro:Envia frames de erro para solicitar retransmissão quando erros são detectados.
Resumo
O barramento CAN ganhou ampla adoção em vários campos devido à sua alta confiabilidade,{0}}desempenho em tempo real e flexibilidade. À medida que a tecnologia avança, o barramento CAN continua a evoluir-por exemplo, o padrão CAN FD (Flexible Data{3}}Rate) lançado pela BOSCH melhora ainda mais as taxas de transmissão de dados para atender às demandas de aplicações que exigem maior largura de banda.




