Você está na página 1de 31

Universidade Federal do Rio Grande do Norte

Programa de Pós-graduação em Engenharia Elétrica

Protocolo CAN
Controller Area Network

Carlo Frederico Campos


Danielle Simone
Prof. Luiz Affonso

Maio / 2005
Sumário
z Introdução
– Áreas de aplicação do CAN
z Características do CAN
z Camadas do protocolo CAN
– Camada Física
– Camada de Enlace
z Formato das mensagens CAN
– Tipos de quadros
z Codificação
z Tratamento de erros (detecção e sinalização)
z Filtragem/Validação das mensagens
z Protocolos de alto nível
z Implementação
z Conclusões

17 de maio de 2005 CAN - Controller Area Network 2


Introdução
z O CAN Bus (Barramento Controller Area
Network) foi desenvolvido pela empresa Alemã
BOSCH e disponibilizado em meados dos anos
80.

z Desenvolvido inicialmente para área automotiva


mas devido à sua comprovada confiabilidade e
robustez também está sendo adotado em
aplicações industriais em sistemas que necessitam
de controle distribuído em tempo real.

17 de maio de 2005 CAN - Controller Area Network 3


Áreas de Aplicação do CAN

z Veículos (marítmo, aéreo, terrestre) – carros de passeio, off-road,


trens, sistema de semáforo (trens e carros), eletrônica marítma,
máquinas agrícolas, helicópteros, transporte público.

z Sistema de Controle Industrial – controle de planta, de maquinário,


robôs, sistema de supervisão.

z Automação Predial – controle de elevadores, ar condicionado,


iluminação.

z Aplicações Específicas – sistemas médicos, telescópios, simuladores


de vôo, satélites artificiais, entre outros.

17 de maio de 2005 CAN - Controller Area Network 4


Características do CAN
z Protocolo Digital e Comunicação Serial Síncrono
z Conceitos baseados na técnica CSMA/CD with NDA
(Carrier Sense Multiple Access /Collision Detection)
z Priorização de Mensagens
z Grande Flexibilidade de Configuração
z Recepção Multicast
z Garantia de Consistência dos Dados
z Detecção/Sinalização de erros
z Retransmissão Automática de Mensagens Corrompidas

17 de maio de 2005 CAN - Controller Area Network 5


Camadas do CAN

z O CAN foi dividido em duas camadas,


obedecendo o modelo OSI/ISO:
– Data Link Layer
z Logical Link Control (LLC)
z Medium Access Control (MAC)
– Physical Layer

17 de maio de 2005 CAN - Controller Area Network 6


Camadas do Protocolo CAN
Modelo OSI/ISO

z Camada Física - Physical Layer


– Codificação / Decodificação dos Bits
– Temporização dos Bits
– Sincronização

17 de maio de 2005 CAN - Controller Area Network 7


Camadas do Protocolo CAN
Camada Física – Physical Layer

Velocidade de Transmissão – Até 1Mbps


Taxa Kbit/s Distância máxima (m)
1000 40
500 130
250 270
125 530
100 620
50 1300
20 3300
10 6700
5 10000
Taxa de transmissão X distância para o
barramento CAN
17 de maio de 2005 CAN - Controller Area Network 8
Camadas do Protocolo CAN
Camada Física – Physical Layer

z ISO11898
– Alta Velocidade de Transmissão de dados –
125 Kbps a 1 Mpbs

z ISO11519-2
– Baixa Velocidade de Transmissão de dados –
10 Kbps a 125 Kbps

17 de maio de 2005 CAN - Controller Area Network 9


Camadas do Protocolo CAN
Camada Física – Physical Layer

Meio de Transmissão Fios


Elétricos
Formas de Constituição de um
barramento CAN:
z 1 Fio - Fio de dados
z 2 Fios - CAN_H,CAN_L
z 4 Fios
– CAN_H
– CAN_L
– Vcc
– GND

17 de maio de 2005 CAN - Controller Area Network 10


Camadas do Protocolo CAN
Modelo OSI/ISO
z Camada de Enlace - Data Link Layer
– Logical Link Control (LLC)
Recepção
z

z Filtragem

z Notificação de Overload

z Gerenciamento de Recuperação

– Medium Accsses Control (MAC)


z Encapsulamento/ Desencapsulamento dos
Dados
z Codificação dos Quadros

z Gerenciamento de Acesso ao Meio

z Detecção e Sinalização de Erros

z Reconhecimento

z Serialização / Deserialização

17 de maio de 2005 CAN - Controller Area Network 11


Quadros CAN

z O barramento CAN utiliza 4 tipos de quadros (Frames)


para controlar a transferência de mensagens

– Quadro de Dados (Data Frame)


– Quadro Remoto (Remote Frame)
– Quadro de Erro (Error Frame)
– Quadro de Sobrecarga (Overload Frame)

17 de maio de 2005 CAN - Controller Area Network 12


Mensagens do CAN
Formato das Mensagens – Tipos de Quadros
Camada de Enlace
z Quadro de Dados
– Composto por 7 (sete) diferentes campos de bits

17 de maio de 2005 CAN - Controller Area Network 13


Mensagens do CAN
Formato das Mensagens – Tipos de Quadros
Camada de Enlace

z Quadro Padrão – CAN 2.0A


– Identificador de 11 bits
z É possível ter até 2048 mensagens em uma rede

z Quadro Estendido – CAN 2.0B


– Identificador de 29 bits
z É possível ter até 537 milhões de mensagens em uma rede

17 de maio de 2005 CAN - Controller Area Network 14


Mensagens do CAN
Formato das Mensagens - Campo de Arbitragem

17 de maio de 2005 CAN - Controller Area Network 15


Mensagens do CAN
Formato das Mensagens - Campo de Controle

dominante

17 de maio de 2005 CAN - Controller Area Network 16


Codificação de Tamanho para o
Campo de Dados

17 de maio de 2005 CAN - Controller Area Network 17


Mensagens do CAN
Formato das Mensagens

z Campo de Dados
– Pode comportar de 0 (zero) a 8 (oito) bytes, de 8 bits
cada.

17 de maio de 2005 CAN - Controller Area Network 18


Mensagens do CAN
Formato das Mensagens

z Campo CRC (Cyclic Redundancy Check)


– Composto por 15 (quinze) bits
– CRC delimitador

Recessivo

17 de maio de 2005 CAN - Controller Area Network 19


Mensagens do CAN
Formato das Mensagens

z Campo de Reconhecimento (Ack Field)


– Composto por 2 (dois) bits
z ACK Slot
z ACK delimiter

z Fim de Quadro (End of Frame)


– Composto por sete bits recessivos

17 de maio de 2005 CAN - Controller Area Network 20


Mensagens do CAN
Formato das Mensagens – Tipos de Quadros

z Quadro Remoto – Remote Frame


– É enviado toda vez que um determinado nó, atuando como
receptor, necessita receber uma mensagem.
– Mesma formação do Quadro de Dados, entretanto não possui o
Campo de Dados.
– O Bit RTR nesse quadro é recessivo

R
T
R

Recessivo

17 de maio de 2005 CAN - Controller Area Network 21


Mensagens do CAN
Formato das Mensagens – Tipos de Quadros

z Quadro de Erros z Quadro de Sobrecarga


(Error Frame) (Overload Frame)
– Composto por dois campos: – Composto por dois campos:
z Flag de Sobrecarga
z Flag de erro
z Delimitador de quadro
– Error Active
– Error Passive
z Delimitador de quadro

8 bits 6 bits dominantes 8 bits


recessivos recessivos

17 de maio de 2005 CAN - Controller Area Network 22


Mensagens do CAN
Formato das Mensagens – Tipos de Quadros

z Espaço Interquadros – Interframe Space

Intervalo
3 bits recessivos

17 de maio de 2005 CAN - Controller Area Network 23


Codificação
Campos Codificados Campos Não
Bit Stuffing Codificados
Quadro de Dados / Remoto (Formato Fixo)
– Inicio de Quadro Quadro de Dados / Remoto
– Campo de Arbitragem – Delimitador de CRC
– Campo de Controle
– Campo de
– Campo de Dados Reconhecimento
– CRC
– Fim de Quadro
Quadros de Erros
Quadro de Overload

17 de maio de 2005 CAN - Controller Area Network 24


Tratamento de Erros
Detecção e Sinalização
Detecção Sinalização
Nível de Bit
Erro de CRC - O bit flag de erro
z Bit monitoring é enviado após o bit Ack Delimiter
z Bit Stuffing
Nível de Mensagem Outros tipos de erros - O bit
z CRC ou Cyclic flag de erro é enviado após a
Redundancy Check detecção
z Frame Check
z Acknowledgment Error
Check

17 de maio de 2005 CAN - Controller Area Network 25


Tratamento de Erros
Mecanismo de Falhas - Fault Confinent

Dois contadores - Nó do CAN


z Erros de Transmissão – 8 pontos
z Erros de Recepção – 1 ponto

Estado dos Nós


z 1 a 127 pontos – Error Active
z 128 a 255 – Error Passive
z Acima de 255 – Bus Off

17 de maio de 2005 CAN - Controller Area Network 26


Filtragem e Validação das
Mensagens
z Filtragem Através de Máscaras e Códigos
Ex:Para um Quadro Padrão de 11 bits
110000000
101000000
z Validação das Mensagens
– Transmissor
Após Último bit do Fim de Quadro
z

– Receptor
z Após Penúltimo bit do Fim de Quadro

17 de maio de 2005 CAN - Controller Area Network 27


Protocolos de Alto Nível
High Layer Protocols – Modelo OSI

Algumas Tarefas Desenvolvidas


z Inicialização dos diversos componentes do sistema
z Distribuição dos identificadores de mensagem
z Interpretação do conteúdo do Quadro de Dados
z Gerenciamento do status do sistema

Exemplo de Protocolos de Alto Nível – HLP


– CAN OPEN
– DEVICENET
– CAN Kingdom

17 de maio de 2005 CAN - Controller Area Network 28


Implementação
Exemplo de Rede

17 de maio de 2005 CAN - Controller Area Network 29


Implementação
(em laboratório)
Pontos de Rede CAN
Hub
Placa CAN

Placa Microcontrolada
Supervisório
PIC 18F258
LabVIEW
Placa Microcontrolada
PIC 18F258

z Montagem de uma Rede CAN


z Implementação de projetos com comunicação CAN

17 de maio de 2005 CAN - Controller Area Network 30


Conclusões

z Aspectos positivos do CAN


– Flexibilidade do Sistema;
– Roteamento de Mensagens;
– Multicast e Multi-mestre;
– Consistência dos Dados;
– Bastante utilizado em aplicações embarcadas.

17 de maio de 2005 CAN - Controller Area Network 31