Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe •...

26
Controller Area Network Walter Fetter Lages [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

Transcript of Controller Area Network - ece.ufrgs.brfetter/ele00002/can.pdf · Espaçamento Interframe •...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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