Você está na página 1de 47

Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco

Redes Industriais
Campus Garanhuns

Rede CAN Professor: Diego Lopes

Semana 10 GARANHUNS, 2021 1/47


Introdução a Rede CAN
•Devido a crescente integração de dispositivos
eletrônicos em automóveis a complexidade do
sistema e a quantidade de fios conectando
esses dispositivos à unidade de controle,
aumentaram de forma significante. Levando a:
• Aumento nos custos de implementação;
• Problemas de confiabilidade;
• Tolerância à falhas;
• Manutenção;
• Reparos;
• Limitações dos tempos de respostas desses
sistemas.
•Portanto, a necessidade de descentralizar o
controle do sistema adotando uma
comunicação em rede, tornou-se cada vez mais
necessária.
Semana 10 REDE CAN 2/47
Introdução a Rede CAN
•Não existia um protocolo de rede que
atendesse aos requisitos da engenharia
automotiva;
•Para tentar solucionar esse problema, a
companhia Robert Bosch GmbH iniciou em
1983 um projeto para desenvolver uma rede
interna a veículos, resultando na rede CAN
(Controller Area Network);
•Em 1991, a especificação CAN 2.0 da Bosch foi
submetida para padronização internacional;
•Apesar de ter sido desenvolvido para o uso em
automóveis, as primeiras aplicações surgiram
em diferentes segmentos do mercado: tais
como elevadores e na indústria Têxtil.
Semana 10 REDE CAN 3/47
Introdução a Rede CAN
•Não existia um protocolo de rede que
atendesse aos requisitos da engenharia
automotiva;
•Devido a especificação CAN implementar
apenas as camadas inferiores do modelo OSI,
várias empresas começaram a desenvolver
protocolos baseados no CAN para as camadas
superiores, de acordo com suas necessidades
de aplicação;
•A primeira aplicação CAN na área automotiva
foi realizada em 1992 em um carro da
Mercedes - Benz, provendo uma comunicação
em alta velocidade entre o controlador do
motor, o controlador da caixa de marcha e o
painel, e uma rede de baixa velocidade para
controle do condicionador de ar.

Semana 10 REDE CAN 4/47


Introdução a Rede CAN
•Logo depois, a BMW, Porsche, Jaguar, Volkswagem, Fiat, Renault, PSA e outras empresas
decidiram utilizar uma rede CAN em seus carros;

Semana 10 REDE CAN 5/47


Introdução a Rede CAN
•Linha do tempo da rede CAN:

Semana 10 REDE CAN 6/47


O Protocolo CAN
•CAN é um protocolo de comunicação serial
projetado para controlar sistemas distribuídos
embarcados em tempo real com um alto nível
de confiabilidade das informações;
•O CAN pode ser descrito em termos do modelo
de referência OSI por quatro camadas:
• A camada física;
• A camada de enlace de dados;
• A camada de sessão;
• A camada de aplicação.

Semana 10 REDE CAN 7/47


O Protocolo CAN

Semana 10 REDE CAN 8/47


Aplicações
•Apesar de ter sido projetado para aplicações em
sistemas embarcados automotivos pode-se
encontrar diversas aplicações utilizando o CAN,
tais como:
• Robótica;
• Máquinas industriais;
• Helicópteros;
• Domótica;
• Telescópios;
• Geofísica.

•Em geral, utiliza-se o protocolo CAN em


sistemas embarcados distribuídos, onde
dispositivos inteligentes precisam se comunicar.

Semana 10 REDE CAN 9/47


Aplicações
•As razões pela vasta utilização em diversos
domínios de aplicação são devido as suas
características:
• Grande disponibilidade de chips;
• Baixo custo;
• Interfaces integradas ao protocolo.
• Em 2003 foram vendidos cerca de 400 milhões de
dispositivos CAN.

Semana 10 REDE CAN 10/47


Representação de uma Rede CAN
•Uma rede CAN consiste basicamente de nós ou estações que utilizam um meio compartilhado,
geralmente com dois fios (CAN H e CAN L), para trocar informações, como representado na
Figura abaixo:

Semana 10 REDE CAN 11/47


Sinal de uma Rede CAN
•O nível lógico é indicado pela diferença de
potencial entre os dois fios:
•‘1’ – Nível lógico recessivo – Vdif < 0,5.
•‘0’ – Nível lógico dominante – Vdif > 0,9.

𝑉𝑑𝑖𝑓 = 𝑉𝐶𝐴𝑁_𝐻 − 𝑉𝐶𝐴𝑁_𝐿

Semana 10 REDE CAN 12/47


Sinal de uma Rede CAN
•Essa forma de sinal minimiza o efeito de interferências eletromagnéticas:

Semana 10 REDE CAN 13/47


Nó CAN
•Para implementar um nó CAN é necessário ter-
se três componentes básicos:
• Um transceiver;
• Um controlador CAN;
• Um microcontrolador.

•A Figura ao lado representa um diagrama de


blocos de um nó CAN.

Semana 10 REDE CAN 14/47


Nó CAN
•O microcontrolador tem a responsabilidade de
configurar e gerenciar os periféricos e o
controlador CAN, de acordo com a aplicação;
•Ele realiza tarefas como:
• Aquisição das informações obtidas pelos sensores;
• Envia os sinais de controle para os atuadores
conectados a ele;
• Recebe informações das mensagens CAN enviadas
pelo controlador.

•O controlador basicamente dispõe das funções


necessárias para implementar a especificação CAN,
e o transceiver é responsável pela conexão do
controlador com o meio de transmissão.

Semana 10 REDE CAN 15/47


Nó CAN
•É possível encontrar o nó CAN nas seguintes arquiteturas:

Stand-Alone

Integrada

Single-Chip

Semana 10 REDE CAN 16/47


Nó CAN
•Funcionamento de um Transceiver:

Semana 10 REDE CAN 17/47


Envio de Dados
•É um protocolo baseado em mensagens, ao contrário de outros protocolos onde os nós da rede
possuem determinados endereços a troca de informações é baseada no identificador da
mensagem:

Semana 10 REDE CAN 18/47


Envio de Dados
•O protocolo CAN possui capacidade multi-mestre:
• O acesso ao barramento não é controlado por uma unidade de controle mestre;
• Vários nós da rede podem iniciar simultanemante a transmissão de uma mensagem assim que o
barramento estiver livre;
• Porém, apenas a mensagem com a maior prioridade acessará primeiro o barramento;
• O controle de acesso ao meio é realizado utilizando o CSMA/DCR (Carrier Sense Multiple Access with
Deterministic Collision Resolution);

Semana 10 REDE CAN 19/47


Envio de Dados
•Exemplo de um processo de arbitração em uma rede CAN:

Semana 10 REDE CAN 20/47


Envio de Dados
•Dependendo do formato da mensagem é possível ter identificadores com 11 bits (formato
padrão - CAN 2.0A) ou 29 bits (formato estendido – CAN 2.0B).
•Máximo de identificadores:
• 2048 – padrão.
• 536.870.912 – estendido.

•Como o nível lógico dominante é o ‘0’, quanto menor o valor numérico do identificador maior é
sua prioridade.

Semana 10 REDE CAN 21/47


Codificação dos Dados
•Os bits das mensagens CAN são representados fisicamente de acordo com a codificação NRZ
(non-return to Zero).
•Nesse esquema de codificação, o nível do sinal permanece constante durante um determinado
tempo, chamado de tempo de bit.

Semana 10 REDE CAN 22/47


Mecanismo de Inserção de Bits
•É possível que uma sequência
grande de bits com mesmo nível
lógico seja transmitida, causando a
inexistência de bordas de
transição;
•Essas bordas são usadas na
sincronização da rede, por isso é
utilizado um mecanismo de
inserção de bits a cada cinco
tempo de bits.

Semana 10 REDE CAN 23/47


Tipos de Mensagem de uma Rede CAN
•Os tipos de mensagem em uma rede CAN são:
• Mensagem de Dados;
• Mensagem de Requisição Remota de Dados;
• Mensagem de Erro;
• Mensagem de Sobrecarga.

Semana 10 REDE CAN 24/47


Mensagem de Dados

Semana 10 REDE CAN 25/47


Mensagem de Dados
•Possíveis configurações dos bits DLC para comprimento de dados:

Semana 10 REDE CAN 26/47


Mensagem de Dados
•Polinômio utilizado pela rede CAN para CRC:

𝑃 𝑥 = 𝑥 15 + 𝑥 14 + 𝑥 10 + 𝑥 8 + 𝑥 7 + 𝑥 4 + 𝑥 3 + 1

•Com o código CRC é possível detectar até 5 erros em bits distribuídos aleatoriamente do SOF ao
campo de dados.

Semana 10 REDE CAN 27/47


Mensagem de Requisição Remota de
Dados
•Possui apenas duas diferenças:
• O bit RTR é transmitido com um valor recessivo;
• O campo de dados não existe.

Semana 10 REDE CAN 28/47


Mensagem de Erro
•A detecção de algum erro durante a transmissão ou recepção de mensagens é sinalizada por
meio de uma mensagem de erro.
•O flag de erro viola o mecanismo de inserção de bits.

Semana 10 REDE CAN 29/47


Mensagem de Erro
•Esquema de Formação de uma mensagem de erro:

Semana 10 REDE CAN 30/47


Mensagem de Sobrecarga
•Possui a função de requisitar um atraso na transmissão da próxima mensagem de dados ou de
requisição de dados, ou sinalizar certas condição de erro relacionadas ao campo de intermissão.
•A geração dessa mensagem por um nó é limitada por condições restritas ao campo de
intermissão e deve começar sempre no primeiro bit de intermissão.
•É permitido transmitir sucessivamente até duas mensagens de sobrecarga.

Semana 10 REDE CAN 31/47


Intervalo entre as Mensagens
•Espaço de tempo entre as mensagens de dados e de requisição remota de dados.

Semana 10 REDE CAN 32/47


Verificação de Erros
•O protocolo CAN implementa cinco mecanismos para detecção de erros:
1. Verificação do bit;
2. Verificação do formato;
3. Verificação da regra de inserção de bits;
4. Verificação da sequência CRC;
5. Verificação do reconhecimento.

Semana 10 REDE CAN 33/47


Verificação do bit
•Todo nó quando está transmitindo, monitora o barramento para saber se o valor do bit
transmitido difere do atual valor lido no barramento.
•Os campos nos quais tem-se a verificação dos bits são:

Semana 10 REDE CAN 34/47


Verificação de Formato
•Existem campos que possuem formato fixo, os quais são verificados por todos os nós.
•Um erro de formato é detectado quando um bit de um campo submetido a esse mecanismo
possui um valor diferente do esperado.
•Os campos que são submetidos ao mecanismo de verificação de formato são:

Semana 10 REDE CAN 35/47


Verificação da Regra de Inserção de Bits
•Ocorre quando um nó detectar uma sequência de seis bits com o mesmo nível lógico.
•Os campos em que são verificados a regra de inserção de bits são:

Semana 10 REDE CAN 36/47


Verificação da Sequência de CRC
•Um erro de CRC acontece quando um receptor verifica que a sequência CRC recebida é diferente
da calculada.
•Os campos em que são verificados o CRC são:

Semana 10 REDE CAN 37/47


Verificação do Reconhecimento
•Após a verificação da sequência CRC, se a
mensagem tiver sido recebida corretamente, o
receptor envia um bit de reconhecimento com
valor dominante, o qual sobrepõe o bit Slot-
ACK.
•Uma ausência de reconhecimento (nível
recessivo durante o bit Slot-ACK) é
interpretado pelo transmissor da mensagem
como um erro de reconhecimento.

Semana 10 REDE CAN 38/47


Confinamento de Falhas
•Existe a possibilidade de um nó defeituoso
bloquear toda rede por meio do envio contínuo Diagrama de estados de erro de um nó CAN
de um flag de erro.
•Os nós podem ter 3 estados:
• Ativo ao erro: funcionamento normal para
realização de transmissões.
• Passivo ao erro: funcionamento limitado para
realização de transmissões.
• Desconectado: nó não pode interagir com a rede.

Semana 10 REDE CAN 39/47


Confinamento de Falhas
•O mecanismo de confinamento de falhas
consiste em dois contadores de erros Diagrama de estados de erro de um nó CAN
implementados em cada nó:
• REC – Receive Error Counter.
• TEC – Transmitter Error Counter.

•O primeiro nó que detecta o erro:


• Se for transmissor – TEC incrementado 8 vezes.
• Se for receptor – REC incrementado 9 vezes.

•Os nós que detectam o erro depois tem REC ou


TEC incrementado em uma vez apenas.

Semana 10 REDE CAN 40/47


Confinamento de Falhas
•Após o sucesso da transmissão de uma
mensagem o transmissor decrementa o TEC Diagrama de estados de erro de um nó CAN
uma vez, ao menos que ele esteja em zero;
•Após uma recepção bem sucedida o REC é
• Decrementado em uma vez se ele estiver entre 1
e 127;
• Mantido em zero caso esteja em zero;
• E ajustado para um valor entre 119 e 127 caso
seja maior que 127.

Semana 10 REDE CAN 41/47


Temporização dos Bits
•Devido a transmissão ser síncrona é necessário um mecanismo para sincronização dos bits.
•O esquema de um tempo de bit é dado por:
Taxa de bit:

1
𝑓𝑏𝑖𝑡 =
𝜏𝑏𝑖𝑡

𝜏𝑏𝑖𝑡 = 𝑡𝑠𝑖𝑛𝑐 + 𝑡𝑝𝑟𝑜𝑝 + 𝑡𝑓𝑎𝑠𝑒1 + 𝑡𝑓𝑎𝑠𝑒2

Semana 10 REDE CAN 42/47


Temporização dos Bits
•Os comprimentos dos segmentos de tempo são especificados como múltiplos de uma unidade
de tempo básica, denominado de TQ (time quanta).
•O time quanta é derivado do período do oscilador do controlador CAN.

Semana 10 REDE CAN 43/47


Taxa de Transmissão X Comprimento do
Barramento
•Define o comprimento máximo possível para uma taxa de dados específica, ou a maior taxa de
dados possível para um determinado comprimento do barramento.
•Os valores máximos recomendados do comprimento do barramento para algumas taxas de
transmissão são dadas a seguir:

Semana 10 REDE CAN 44/47


Camada de Aplicação
•Basicamente o CAN especifica os protocolos nas camadas 1 e 2 do modelo OSI.
•Existem algumas tecnologias que definem uma aplicação que rodam sobre as especificações
feitas pelo CAN:

Semana 10 REDE CAN 45/47


Curso sobre CAN no YOUTUBE
•https://www.youtube.com/watch?v=cyph1E7ePMA

Semana 10 REDE CAN 46/47


Dúvidas?

Semana 10 REDE CAN 47/47

Você também pode gostar