3. Camadas da rede:

3.1. Tipos de camadas.

O protocolo CAN segue o modelo OSI (Open Systems Interconnection) de 7 camadas, sendo elas:

Camada Física: Responsável pela transmissão física dos dados, incluindo conectores e sinais elétricos.

Camada de Enlace de Dados: Controla a transmissão de dados entre os dispositivos conectados à rede. Além disso, evita falhas e gerencia o acesso ao meio de transmissão e lida com a detecção e correção de erros.

Camada de Rede: Faz o roteamento dos dados, controlando o congestionamento e estabelecendo conexões.

Camada de Transporte: Gerencia a comunicação ponto a ponto, garantindo a entrega correta e confiável das informações transmitidas.

Camada de Sessão: Estabelece, gerencia e encerra as conexões entre os dispositivos, permitindo a comunicação entre eles.

Camada de Apresentação: Responsável pela tradução, compressão e criptografia dos dados para garantir a compatibilidade entre diferentes sistemas.

Camada de Aplicação: Fornece serviços de rede aos aplicativos e usuários, permitindo a interação com a rede.

Em termos mais técnicos, a rede de área do controlador é descrita por uma camada de enlace de dados e uma camada física. No caso do CAN de alta velocidade, a ISO 11898-1 descreve a camada de enlace de dados, enquanto a ISO 11898-2 descreve a camada física. A função do CAN é frequentemente apresentada no modelo OSI de 7 camadas conforme a ilustração.

A camada física do barramento CAN define coisas como tipos de cabos, níveis de sinais elétricos, requisitos de nós, impedância de cabos, etc. Por exemplo, a ISO 11898-2 determina uma série de coisas, incluindo abaixo:

● Taxa de transmissão
● Comprimento do cabo
● Terminação

Camada Física (Physical Layer):

As características elétricas e mecânicas da rede são definidas pela camada física do CAN. Isso abrange os tipos de cabos utilizados, conectores empregados, níveis de tensão aplicados, taxas de transmissão de dados e a maneira como os bits são codificados no meio físico. Na camada física, são definidos os procedimentos para a transmissão dos sinais elétricos entre os nós da rede, como a polaridade dos sinais e a taxa de bits.

Camada de Enlace de Dados (Data Link Layer):

A comunicação confiável entre os nós é de responsabilidade da camada de enlace de dados no CAN. Esta camada é subdividida em duas subcamadas:

Subcamada de Controle de Acesso ao Meio (MAC - Media Access Control): Utiliza um mecanismo de arbitragem baseado em prioridade para resolver conflitos quando múltiplos nós tentam transmitir ao mesmo tempo e controlar o acesso ao meio de transmissão.

Subcamada de Controle de Enlace Lógico (LLC - Logical Link Control): Lida com a integridade dos dados transmitidos, garantindo a detecção de erros e a formatação das mensagens. Dentro do Controlador de Área de Rede (CAN), estão incluídas a definição do formato da mensagem, que abrange o identificador, os dados transmitidos, o campo de CRC (verificação por redundância cíclica), o bit ACK para confirmação e outros campos de controle.

A codificação física (physical coding): No CAN refere-se ao método pelo qual os dados são representados e transmitidos no meio físico da rede. Isso envolve como os bits individuais são codificados em sinais elétricos que podem ser enviados através dos cabos que conectam os dispositivos na rede CAN. A codificação física é um aspecto crítico da camada física do modelo OSI. No CAN, o principal método de codificação física utilizado é o Non-Return to Zero (NRZ) with Bit Stuffing.

Non-Return to Zero (NRZ) with Bit Stuffing

NRZ (Non-Return to Zero):

Descrição: Na codificação NRZ, o nível lógico de cada bit é mantido constante durante o tempo de bit. Ou seja, se um bit é '1', ele será representado por um nível de tensão constante (por exemplo, uma tensão alta) durante todo o período de bit. Se um bit é '0', ele será representado por um nível de tensão diferente (por exemplo, uma tensão baixa) durante todo o período de bit.

Vantagem: A NRZ é eficiente em termos de largura de banda, pois não há necessidade de transições adicionais entre bits.

Bit Stuffing:

Descrição: Para evitar problemas com longas sequências de bits de mesmo valor (que podem causar problemas de sincronização), o CAN usa a técnica de bit stuffing. Isso significa que após cinco bits consecutivos de mesmo valor, um bit de valor oposto é inserido automaticamente. Este bit de preenchimento (stuffed bit) é removido pelo receptor.

Exemplo: Se uma mensagem contém a sequência de bits 111110, após bit stuffing, ela será transmitida como 1111101.

Vantagem: O bit stuffing garante que haja transições suficientes no sinal para que os dispositivos na rede possam manter a sincronização, independentemente da natureza dos dados sendo transmitidos.

Sincronização

A sincronização é crucial no CAN devido à sua natureza distribuída. Todos os nós na rede devem estar sincronizados para que possam interpretar corretamente os bits transmitidos. A codificação NRZ com bit stuffing ajuda a manter essa sincronização ao garantir que há transições regulares no sinal.

O CAN não foi desenvolvido com o intuito de especificar as camadas superiores do modelo OSI, como a camada de rede e a camada de transporte. Seu principal objetivo é possibilitar a comunicação em tempo real entre microcontroladores presentes em sistemas embarcados.

3.2. Barramento CAN.

Considerando-se fios elétricos como o meio de transmissão dos dados, existem três formas de se constituir um barramento CAN, dependentes diretamente da quantidade de fios utilizada. Existem redes baseadas em 1, 2 e 4 fios. As redes com 2 e 4 fios trabalham com os sinais de dados CAN_H (CAN High) e CAN_L (CAN Low). No caso dos barramentos com 4 fios, além dos sinais de dados, um fio com o VCC (alimentação) e outro com o GND (referência) fazem parte do barramento, levando a alimentação às duas terminações ativas da rede. As redes com apenas 1 fio têm este, o fio de dados, chamado exclusivamente de linha CAN.

Considerando o CAN fundamentado em 2 e 4 fios, seus condutores elétricos devem ser trançados e blindados. Os dados enviados através da rede devem ser interpretados pela análise da diferença de potencial entre os fios CAN_H e CAN_L. Por isso, o barramento CAN é classificado como Par Trançado Diferencial. Este conceito atenua fortemente os efeitos causados por interferências eletromagnéticas, uma vez que qualquer ação sobre um dos fios será sentida também pelo outro, causando flutuação em ambos os sinais para o mesmo sentido e com a mesma intensidade. Como o que vale para os módulos que recebem as mensagens é a diferença de potencial entre os condutores CAN_H e CAN_L (e esta permanecerá inalterada), a comunicação não é prejudicada.

No CAN, os dados não são representados por bits em nível “0” ou nível “1”. São representados por bits Dominantes e bits Recessivos, criados em função da condição presente nos fios CAN_H e CAN_L. A figura abaixo ilustra os níveis de tensão em uma rede CAN, assim como os bits Dominantes e Recessivos.

Através do barramento CAN. Os dados transmitidos são aceitos por todas as outras ECUs na rede CAN - e cada ECU pode então verificar os dados e decidir se deseja recebê-los ou ignorá-los. Os comprimentos máximos do cabo CAN devem estar entre 500 metros (125 kbit/s) e 40 metros (1 Mbit/s).

Existem vários tipos de cabos com diversas especificações, algum deles são:

Cabos CAN Bus: Projetados especificamente para aplicações CAN e estão disponíveis em diferentes seções transversais conforme necessário. Os fios são trançados para evitar os efeitos indesejáveis da interferência elétrica que pode surgir durante a transmissão de sinais devido à proximidade dos fios. Esses cabos não devem ser instalados próximos a equipamentos que possam gerar campos magnéticos como, por exemplo, fios da rede elétrica ou motores.

Cabos para aplicações móveis: São modelos desenvolvidos para aplicações com movimentação, como esteiras, robótica ou qualquer outro mecanismo.

Cabos para conexão entre dispositivos: O barramento CAN deve ser terminado corretamente usando um resistor de terminação de barramento CAN de 120 Ohms em cada extremidade do barramento

3.3. Especificações elétricas do CAN.

O protocolo CAN segue padrões internacionais, como o ISO 11898-2 para alta velocidade (acima de 125 Kbit/s) e o ISO 11898-3 para tolerância a falhas/baixa velocidade.

Os dispositivos CAN geralmente operam com uma faixa de tensão de alimentação de 6 a 36 V e possuem uma camada de blindagem para proteger os sinais de interferências eletromagnéticas.

3.4. Velocidade de transmissão suportadas pelo CAN.

A velocidade máxima de transmissão do CAN é limitada pela distância entre os nós. Quanto maior a distância, menor a velocidade suportada. Além disso, existem vários modelos que suportam diferentes taxas de transferência.

CAN 2.0A e CAN 2.0B: O modelo 2.0A utiliza um identificador de 11 bits, suporta 2048 mensagens em uma rede e pode atingir taxas de transferência de até 1 Mbps.

Já o modelo CAN 2.0B faz uso de um identificador de 11 bits com 18 bits adicionais, suporta aproximadamente 537 milhões de mensagens em uma rede e pode atingir taxas de transferência de até 8 Mbps em velocidade máxima. Embora permita mais mensagens, a velocidade de transmissão é reduzida.

CAN FD: Suporta taxas de até 10 Mbps.

Para aplicações mais simples, como funções de liga e desliga, existem versões do CAN que operam a velocidades de até 125 Kbps. Portanto, o protocolo CAN é bem flexível em relação às velocidades de transmissão, podendo operar desde 125 Kbps até 10 Mbps, dependendo da aplicação e das necessidades específicas do sistema.