CAN – Controller Area Network

  1. Criação do CAN: Origem e Objetivos

O protocolo CAN foi desenvolvido pela Robert Bosch GmbH em 1986 com o objetivo de facilitar a comunicação entre os diversos sistemas eletrônicos presentes em veículos automotivos. A necessidade surgiu devido ao aumento da complexidade dos sistemas veiculares e à demanda por uma comunicação eficiente e confiável entre as unidades (Nós). O CAN permite a interconexão de múltiplos dispositivos através de um único barramento serial, reduzindo a quantidade de fiação e melhorando a eficiência dos sistemas automotivos.​ É um protocolo orientado a mensagens.

Obs – A Robert Bosch GmbH, comumente conhecida como Bosch, é uma empresa alemã líder em tecnologia e serviços. Fundada em 1886 por Robert Bosch em Stuttgart como a “Oficina de Mecânica de Precisão e Engenharia Elétrica.

  1. Principais Características do CAN

O protocolo CAN possui diversas características que o tornam ideal para aplicações em tempo real e ambientes críticos:​

    • Comunicação Multimestre: Permite que qualquer nó na rede inicie a comunicação, proporcionando flexibilidade no gerenciamento de dados.​
    • Prioridade de Mensagens: Cada mensagem possui um identificador único que determina sua prioridade no barramento, garantindo que informações críticas sejam transmitidas primeiro.​
    • Detecção e Confinamento de Erros: O CAN implementa mecanismos avançados para detectar e conter erros, assegurando a integridade dos dados transmitidos.​
    • Eficiência no Uso do Barramento: Utiliza um esquema de arbitragem não destrutivo, permitindo que a mensagem de maior prioridade seja transmitida sem colisões.
    • Flexibilidade e Escalabilidade: Suporta a conexão de até 110 dispositivos em uma única rede, com velocidades de transmissão que variam de 20 Kbps a 1 Mbps, dependendo da distância entre os nós.​
    • Comunicação Diferencial e Imunidade ao Ruído: O barramento CAN utiliza um sistema de comunicação diferencial, transmitindo dados por meio de dois fios: CAN_H e CAN_L. Essa configuração diferencial oferece maior imunidade a ruídos eletromagnéticos e interferências. Quando ocorre uma interferência, é provável que ela provoque uma mesma alteração nos dois sinais elétricos. Assim, a diferença de tensão entre eles não se altera, garantindo a integridade dos dados transmitidos. ​
  • Aplicações em Ambientes com Alto Nível de Interferência: Devido à sua alta imunidade a interferências elétricas, o barramento CAN é amplamente utilizado em ambientes industriais expostos a altos níveis de interferência elétrica, garantindo comunicações confiáveis mesmo em condições adversas.
  1. Áreas de Aplicação do CAN e Justificativas

Embora inicialmente desenvolvido para o setor automotivo, o protocolo CAN encontrou aplicações em diversas áreas devido às suas vantagens:​

  • Automotivo: Facilita a comunicação entre ECUs, como motor, transmissão, freios e sistemas de infotainment, reduzindo a complexidade da fiação e melhorando a confiabilidade.​
  • Industrial: Utilizado em sistemas de automação industrial para conectar sensores, atuadores e controladores, proporcionando comunicação rápida e confiável em ambientes adversos.​
  • Médico: Empregado em equipamentos médicos para integrar diversos módulos e garantir a transmissão precisa de dados críticos.​
  • Aeroespacial: Aplicado em sistemas de controle de aeronaves e espaçonaves, onde a confiabilidade e a resistência a interferências eletromagnéticas são essenciais.​
  1. Camadas do Modelo CAN

O protocolo CAN é estruturado em duas camadas principais, conforme o modelo OSI

  • Camada Física: Define as especificações elétricas e mecânicas do barramento, incluindo níveis de tensão, taxas de transmissão e características do meio físico.​
  • Camada de Enlace de Dados: Responsável pelo controle de acesso ao meio, detecção e correção de erros, e organização dos dados em frames para transmissão.​

 

  1. Bits Recessivos e Dominantes

No protocolo CAN, os bits são classificados em dominantes e recessivos:​

  • Bit Dominante: Representado pelo nível lógico 0. Quando um bit dominante é transmitido, ele prevalece sobre um bit recessivo no barramento.​
  • Bit Recessivo: Representado pelo nível lógico 1. Um bit recessivo só é lido no barramento se nenhum nó estiver transmitindo um bit dominante simultaneamente.​

Essa lógica de dominância é fundamental para o mecanismo de arbitragem do CAN, permitindo que mensagens de maior prioridade sejam transmitidas sem interrupção.​

Os níveis de tensão típicos para os estados lógicos são:​

  • Bit Dominante (lógico 0):
    • CAN_H: aproximadamente 3,5 V​
    • CAN_L: aproximadamente 1,5 V​
  • Bit Recessivo (lógico 1):
    • CAN_H e CAN_L: ambos em aproximadamente 2,5 V

 

  1. Estrutura do Data Frame no CAN

O Data Frame é a unidade básica de transmissão no CAN, composto pelos seguintes campos:​

  • Start of Frame (SOF): 1 bit indicando o início da transmissão.​
  • Arbitration Field: 12 bits (CAN padrão) ou 32 bits (CAN extendido) contendo o identificador da mensagem e o bit de controle remoto (RTR).​
  • RTR (Remote Transmission Request) desempenha um papel crucial na diferenciação entre dois tipos principais de quadros:​
  • Data Frame: Utilizado para transmitir dados reais entre os nós da rede.​
    • Bit RTR Dominante (0): Indica um Quadro de Dados, sinalizando que a mensagem contém dados reais a serem transmitidos.​
  • Remote Frame: Empregado para solicitar que outro nó transmita um Quadro de Dados com um identificador específico.​
    • Bit RTR Recessivo (1): Indica um Quadro Remoto, representando uma solicitação para que o nó detentor do identificador correspondente envie os dados associados.
  • SRR(Substitute Remote Request): Utilizado em quadros com identificadores estendidos para substituir o bit de solicitação remota, garantindo a compatibilidade entre diferentes formatos de quadro.​
  • Control Field: 6 bits indicando o comprimento dos dados.​
    • IDE(Identifier Extension): Indica se o quadro utiliza um identificador padrão de 11 bits (IDE = dominante) ou um identificador estendido de 29 bits (IDE = recessivo).​
  • DLC(Data Length Code – DLC): Especifica o número de bytes presentes no campo de dados, podendo variar de 0 a 8.
  • Data Field: 0 a 8 bytes de dados.​
  • CRC Field: 16 bits para verificação de erros.​
  • ACK Field: 2 bits para confirmação de recebimento.​
  • End of Frame (EOF): 7 bits indicando o fim da transmissão.​

 

  1. Tipos de Frames no CAN

O protocolo CAN define quatro tipos principais de frames:​

  • Data Frame: Transporta dados do transmissor para os receptores.​
  • Remote Frame: Solicita a transmissão de um Data Frame por outro nó.​
  • Error Frame: Indica a detecção de um erro na transmissão.​
  • Overload Frame: Utilizado para inserir um atraso entre frames consecutivos, permitindo que um nó sobrecarregado recupere o atraso.

 

 8-Codificação Elétrica no Barramento CAN

O barramento CAN utiliza uma comunicação diferencial por meio de dois fios: CAN_H e CAN_L. Essa abordagem diferencial aumenta a imunidade a ruídos e melhora a confiabilidade da comunicação.​

Níveis Elétricos

Os níveis de tensão típicos para os estados lógicos são:​

  • Bit Dominante (lógico 0):  Diferença maior do que 0,9V
    • CAN_H: aproximadamente 3,5 V​
    • CAN_L: aproximadamente 1,5 V​
  • Bit Recessivo (lógico 1): Diferença menor que 0,5V
    • CAN_H e CAN_L: ambos em aproximadamente 2,5 V

 

Impedância e Terminação

Para evitar reflexões de sinal, é essencial que o barramento CAN seja corretamente terminado com resistores de 120 Ω em cada extremidade. Esses resistores correspondem à impedância característica do cabo utilizado.​

Velocidades de Transmissão e Comprimento do Cabo

A velocidade de transmissão no barramento CAN influencia diretamente o comprimento máximo permitido para o cabo:​

  • 1 Mbps:     até  40 metros​
  • 500 kbps: até 100 metros​
  • 250 kbps: até 250 metros​
  • 125 kbps: até 500 metros​

Esses valores são aproximados e podem variar conforme as especificações do sistema e a qualidade do cabo utilizado.​

Número de Nós

O barramento CAN suporta a conexão de até 110 nós em uma única rede. No entanto, o número real de nós pode ser limitado por fatores como a capacitância do cabo e as características dos transceptores utilizados.​

  1. Arbitragem no Barramento CAN

A arbitragem no barramento CAN é baseada no identificador da mensagem, que determina sua prioridade. Durante a transmissão, cada nó monitora o barramento bit a bit:​

  • Se um nó transmite um bit recessivo (1) e detecta um bit dominante (0) no barramento, ele cessa a transmissão, cedendo o canal ao nó com a mensagem de maior prioridade (menor identificador).​

Durante o processo de arbitragem, a transmissão dos bits do identificador da mensagem inicia pelo bit mais significativo (MSB – Most Significant Bit). Isso significa que o primeiro bit transmitido é o de maior peso, seguido pelos demais em ordem decrescente até o bit menos significativo (LSB – Least Significant Bit).​

Essa sequência é fundamental para o mecanismo de arbitragem do barramento CAN. Quando múltiplos nós tentam transmitir simultaneamente, a arbitragem ocorre bit a bit, comparando os identificadores das mensagens. O nó cuja mensagem possui o identificador com o menor valor numérico (ou seja, com mais bits dominantes no início) mantém o controle do barramento e continua a transmissão, enquanto os outros nós cessam a transmissão e aguardam uma nova oportunidade.

Esse método garante que não haja colisões e que as mensagens críticas sejam transmitidas primeiro.​

Um exemplo do processo de arbitragem de dois nós

 

  1. Padrões do CAN e suas Diferenças

Existem dois principais padrões do protocolo CAN:​

  • CAN 2.0A (Padrão): Utiliza identificadores de 11 bits, permitindo até 2.048 identificadores únicos.​
  • CAN 2.0B (Estendido): Utiliza identificadores de 29 bits, permitindo um número significativamente maior de identificadores únicos.​

A principal diferença entre esses padrões é a extensão do campo de identificação, afetando a quantidade de mensagens únicas que podem ser definidas na rede.

 

  1. Medir Sinal no BUS CAN, Usando Osciloscópio

 

Para medir sinais do barramento CAN (CAN_H e CAN_L) com uma taxa de transmissão de 500 kbps utilizando um osciloscópio, é essencial configurar adequadamente os parâmetros do instrumento para obter medições precisas. A seguir, são fornecidas orientações detalhadas para cada ajuste necessário:

  1. Base de Tempo (Time Base):
  • Configuração Recomendada: Ajuste a base de tempo para 200 nanosegundos por divisão (200 ns/div).​
  • Justificativa: Com uma taxa de 500 kbps, cada bit tem uma duração de 2 microsegundos (µs). Configurando o osciloscópio para 200 ns/div, você visualizará 10 divisões por bit, permitindo uma análise detalhada da forma de onda.​
  1. Acoplamento (Coupling):
  • Configuração Recomendada: Selecione o modo DC.​
  • Justificativa: O acoplamento DC permite observar tanto os componentes de corrente contínua quanto os de corrente alternada do sinal, fornecendo uma representação completa da forma de onda CAN.​
  1. Sensibilidade Vertical (Volts por Divisão):
  • Configuração Recomendada: Ajuste para 1 volt por divisão (1 V/div).​
  • Justificativa: Os sinais CAN_H e CAN_L geralmente variam entre 1,5 V e 3,5 V. Com 1 V/div, você poderá visualizar claramente as transições de nível e identificar possíveis anomalias.​
  1. Sondas (Probes):
  • Configuração Recomendada: Utilize sondas com atenuação de 10x.​
  • Justificativa: Sondas de 10x aumentam a impedância de entrada do osciloscópio, minimizando a carga no circuito e preservando a integridade do sinal medido.​
  1. Modos de Trigger:
  • Configuração Recomendada: Configure o trigger para o modo Edge (borda) e selecione a borda de subida ou descida, conforme necessário.​
  • Justificativa: Essa configuração sincroniza a captura do sinal com as transições específicas, facilitando a análise de eventos no barramento CAN.​
  1. Conexão das Sondas:
  • Procedimento:
    • Conecte uma sonda ao sinal CAN_H e outra ao CAN_L.​
    • Assegure-se de que os terminais de aterramento das sondas estejam conectados ao terra do sistema para evitar ruídos e interferências.​
  1. Considerações Adicionais:
  • Decodificação de Protocolo: Se o seu osciloscópio possuir a funcionalidade de decodificação de protocolo CAN, habilite-a para facilitar a interpretação dos dados.​
  • Filtragem de Ruído: Ative filtros de banda apropriados para reduzir interferências e obter uma leitura mais limpa do sinal.

 

ANEXOS

Fontes utilizadas:

ChatGPT, GROK3, diversos sites

Em construção atualizando fontes das Figuras

 

 

 

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *