controller area network - ece.ufrgs.brfetter/ele00002/can.pdf · espaçamento interframe •...
TRANSCRIPT
![Page 1: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/1.jpg)
Controller Area NetworkWalter Fetter [email protected]
Universidade Federal do Rio Grande do Sul
Escola de Engenharia
Departamento de Engenharia Elétrica
Programa de Pós-Graduação em Engenharia Elétrica
ELE00002 Sistemas de Automação
Copyright (c) Walter Fetter Lages – p.1
![Page 2: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/2.jpg)
Controller Area Network
Copyright (c) Walter Fetter Lages – p.2
![Page 3: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/3.jpg)
Introdução
• Desenvolvido pela Bosch para automóveis• Padronizado pela ISO 11898
• Camada física• Camada de enlace
• Comunicação serial até 1Mbps e até 1km.• Sinalização diferencial em par trançado• Mensagens pequenas (até 8 bytes) com CRC• Sem endereçamento -> broadcast apenas• Mensagens priorizadas
Copyright (c) Walter Fetter Lages – p.3
![Page 4: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/4.jpg)
Características
• Recepção multicast com sincronização• Detecção e sinalização de erro
• Recuperação em até 29 bit times• Multimaster• Tempos de Latência garantidos• Sleep mode/wake-up• Reconhecimento• Controle totalmente distribuído
Copyright (c) Walter Fetter Lages – p.4
![Page 5: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/5.jpg)
Camadas
• Camada física• Camada de transferência
• Enquadramento• Arbitragem• Detecção e sinalização de erro
• Camada de objeto• Prioriza mensagens a serem transmitidas• Seleciona mensagens recebidas• Interface para a aplicação
Copyright (c) Walter Fetter Lages – p.5
![Page 6: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/6.jpg)
Camada Física
• Codificação NRZ• Bits dominantes (0) ou recessivos (1) -> C. A.
• Bit-stuffing• Bit complementar inserido após a transmissão
de cinco bits identicos consecutivos• Diversas implementações de camada física
podem ser utilizadas, inclusive proprietárias• Não existe um conector padrão. DB9 e mini-DIN
são usuais.
Copyright (c) Walter Fetter Lages – p.6
![Page 7: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/7.jpg)
Sinais CAN
Copyright (c) Walter Fetter Lages – p.7
![Page 8: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/8.jpg)
Camada de Transferência
• Quatro tipos de quadros• Dados• Remoto• Erro• Overload
• Mensagem de Wake-up• rrr rrrd rrrr
Copyright (c) Walter Fetter Lages – p.8
![Page 9: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/9.jpg)
Quadro de Dados
• Início de quadro• Um único bit dominante
• Campo de arbitragem• Identificador - 11 bits (29 bits, CAN2.0B)• RTR bit (remote transmision request bit)
• Campo de controle• 4-bit DLC (data length code)• 2 bits reservados
Copyright (c) Walter Fetter Lages – p.9
![Page 10: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/10.jpg)
Quadro de Dados
Copyright (c) Walter Fetter Lages – p.10
![Page 11: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/11.jpg)
Quadro de Dados
• Campo de dados• Até 8 bytes, MSB primeiro
• Campo de CRC• x
15 + x14 + x
10 + x8 + x
7 + x4 + x
3 + 1
• Delimitador de CRC = bit recessivo• Slot de ACK
• Bit dominante para indicar reconhecimento• Delimitador de ACK = bit recessivo
• Fim de quadro• 7 bits recessivos
Copyright (c) Walter Fetter Lages – p.11
![Page 12: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/12.jpg)
Quadro Remoto
Copyright (c) Walter Fetter Lages – p.12
![Page 13: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/13.jpg)
Quadro Remoto
• Usado para solicitar dados• Possui os mesmo campos do quadro de dados,
exceto o campo de dados• Identificado por um bit RTR recessivo
Copyright (c) Walter Fetter Lages – p.13
![Page 14: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/14.jpg)
Quadro de Erro
Copyright (c) Walter Fetter Lages – p.14
![Page 15: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/15.jpg)
Quadro de Erro
• Flag de erro• Flag de erro ativo
• Seis bits dominantes• Flag de erro passivo
• Seis bits recessivos• Delimitador de erro
• 8 bits recessivos• Não é utilizado bit-stuffing
Copyright (c) Walter Fetter Lages – p.15
![Page 16: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/16.jpg)
Detecção de Erros
• Detecção de erro• Monitoramento dos níveis de bits• CRC• Bit-stuffing• Formato do quadro de mensagem
• Erros detectados• Erros globais e erros locais no transmissor• Até 5 erros aleatórios na mensagem• Erros de burst de comprimento até 15• Probabilidade de erro não detectado
= 4.7 × 10−11
Copyright (c) Walter Fetter Lages – p.16
![Page 17: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/17.jpg)
Quadro de Overload
Copyright (c) Walter Fetter Lages – p.17
![Page 18: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/18.jpg)
Quadro de Overload
• Flag de overload• 6 bits dominantes
• Delimitador de overload• 8 bits recessivos
• Não é utilizado bit-stuffing• Quadro idêntico ao quadro de erro ativo• Gerado por condições internas ou ao detectar um
bit dominante durante um intermission
Copyright (c) Walter Fetter Lages – p.18
![Page 19: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/19.jpg)
Espaçamento Interframe
• Espaçamento entre quadros de dados e/ouquadros remotos
• Intermission bits (3 bits recessivos)• Nenhuma estação pode transmitir
• Bus idle bits• Detecção de um bit dominante é interpretado
como um início de quadro
Copyright (c) Walter Fetter Lages – p.19
![Page 20: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/20.jpg)
Espaçamento Interframe
Copyright (c) Walter Fetter Lages – p.20
![Page 21: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/21.jpg)
Confinamento de Faltas
• Estado do dispositivo• Ativo em erro - estado inicial• Passivo em erro• Bus off
• Dois contadores de erro (Tx e Rx)• Um dos contadores≥ 128
• Dispositivo passa para Passivo em erro.• Contador de erro de TX≥ 256
• Dispositivo passa para bus off
Copyright (c) Walter Fetter Lages – p.21
![Page 22: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/22.jpg)
Contador de Erros de Tx
• Incrementado em 8 ao enviar um flag de erro• Incrementado em 8 ao detectar um erro de bit ao
transmitir um flag de erro ativo ou um flag deoverload
• Decrementado em 1 (a não ser que já seja 0) aotransmitir uma mensagem com sucesso
Copyright (c) Walter Fetter Lages – p.22
![Page 23: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/23.jpg)
Contador de Erros de Rx
• Incrementado em 1 ao detectar um erro derecepção
• Incrementado em 8 ao detectar um bit dominanteimediatamente após enviar um flag de erro.
• Incrementado em 8 ao detectar um erro de bit aoenviar um flag de erro ativo ou um flag deoverload
• Decrementado em 1 ao receber uma mensagemcom sucesso
Copyright (c) Walter Fetter Lages – p.23
![Page 24: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/24.jpg)
Bit Timing
• Bit time dividido em quatro segmentos• Sincronização (1 quantum)• Propagação (1 a 8 quanta)• Fase 1 (1 a 8 quanta)• Fase 2 (máx Fase 1, tempo de processamento)• Tempo de processamento≤ 2 quanta
Copyright (c) Walter Fetter Lages – p.24
![Page 25: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/25.jpg)
Sincronização de Clock
• Hard synchronization• Ocorre na borda de recessivo para dominante
do start bit. O bit-time é reinicializado• Resynchronization
• Ocorre quando a borda de 1 bit não ocorredentro do segmento de sincronização.aumentada ou a fase 2 é encurtada
Copyright (c) Walter Fetter Lages – p.25
![Page 26: Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe • Espaçamento entre quadros de dados e/ou quadros remotos • Intermission bits (3 bits](https://reader034.vdocuments.site/reader034/viewer/2022050522/5fa599259a54395bc94d2630/html5/thumbnails/26.jpg)
Referências
[1] R. Bosch. CAN. Specification Version 2.0, RoberBosch GmbH, Stuttgart, September 1991.
[2] CiA. CANopen application layer andcommunication profile, version 4.0. DraftStandard 301, CAN in Automation e. V.,Erlangen, 1999.
Copyright (c) Walter Fetter Lages – p.26