You are on page 1of 72

Machine Translated by Google

BOSCH

Especificação da CAN

Versão 2.0

1991, Robert Bosch GmbH, Postfach 50, D-7000 Stuttgart 1

Thi d t td ith FM k 4 0 4
Machine Translated by Google

O documento como um todo pode ser copiado e distribuído sem restrições. No


entanto, o uso dele em partes ou como um todo em outros documentos precisa
do consentimento da Robert Bosch GmbH. A Robert Bosch GmbH se reserva o
direito de fazer alterações neste documento sem aviso prévio e não aceita
qualquer responsabilidade por erros.

Importado para o Framemaker 4 por:

Chuck Powers, Motorola MCTG Multiplex Applications, 5 de abril de 1995.


Machine Translated by Google

setembro de 1991

BOSCH Especificação CAN 2.0 Página 1

Considerando

A aceitação e introdução da comunicação serial em mais e mais aplicações levou a exigências de que a
atribuição de identificadores de mensagem para funções de comunicação seja padronizada para certas
aplicações. Estas aplicações podem ser realizadas com CAN mais confortavelmente, se a faixa de endereço
originalmente definida por 11 bits de identificação for ampliada. Portanto, um segundo formato de mensagem
('formato estendido') é introduzido que fornece uma
faixa de endereço maior definida por 29 bits. Isso aliviará o projetista do sistema de compromissos com
relação à definição de esquemas de nomenclatura bem estruturados. Os usuários do CAN que não precisam
da faixa de identificadores oferecida pelo formato estendido, podem contar com a faixa de identificadores
convencional de 11 bits ('formato padrão') mais adiante. Neste caso podem utilizar as implementações CAN
já existentes no mercado, ou novos controladores que implementem ambos os formatos.

Para distinguir o formato padrão do estendido, é usado o primeiro bit reservado do formato de mensagem
CAN, conforme definido na Especificação CAN 1.2. Isso é feito de forma que o formato da mensagem na
Especificação CAN 1.2 seja equivalente ao formato padrão e, portanto, ainda seja válido. Além disso, o
formato estendido foi definido para que mensagens em formato padrão e formato estendido possam coexistir
na mesma rede.

Esta Especificação CAN consiste em duas partes, com

• Parte A descrevendo o formato da mensagem CAN conforme definido na Especificação CAN 1.2;

• Parte B descrevendo os formatos de mensagem padrão e estendido.

Para ser compatível com esta Especificação CAN 2.0, é necessário que uma implementação CAN seja
compatível com a Parte A ou a Parte B.

Observação

As implementações CAN projetadas de acordo com a parte A desta ou de acordo com as Especificações
CAN anteriores e as implementações CAN projetadas de acordo com a parte B desta especificação podem
se comunicar entre si, desde que não seja feito uso do formato estendido.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

PARTE A
Machine Translated by Google

setembro de 1991

BOSCH Conteúdo
Parte A - página 3

1 INTRODUÇÃO................................................. .............................4

2 CONCEITOS BÁSICOS................................................ ............................5

3 TRANSFERÊNCIA DE MENSAGEM ....................................... ......................10

3.1 Tipos de quadro .......................................... .........................................10

3.1.1 QUADRO DE DADOS ................................................ ......................................... 10

3.1.2 ESTRUTURA REMOTA ....................................... .............................15

3.1.3 QUADRO DE ERRO.............................................. ................................16

3.1.4 ESTRUTURA DE SOBRECARGA.............................................. .........................17

3.1.5 ESPAÇAMENTO ENTRE ESTRUTURAS.............................................. ......................18

3.2 Definição de TRANSMISSOR/RECEPTOR ......................................20

4 VALIDAÇÃO DA MENSAGEM .............................................. ...................21

5 CODIFICAÇÃO................................................. ......................................22

6 MANIPULAÇÃO DE ERROS................................................ ......................23

6.1 Detecção de erro ................................................ ......................................23

6.2 Sinalização de erro.............................................. ......................................23

7 CONFINAMENTO DE FALTA.............................................. ......................24

8 REQUISITOS DE TEMPO DE BIT ...................................... ...........27

9 AUMENTANDO A TOLERÂNCIA DO OSCILADOR CAN...........................31

9.1 Modificações de protocolo ....................................... ......................31

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Introdução
Parte A - página 4

1. INTRODUÇÃO

A Controller Area Network (CAN) é um protocolo de comunicação serial que suporta eficientemente o controle
distribuído em tempo real com um nível muito alto de segurança.
Seu domínio de aplicação varia de redes de alta velocidade a cabeamento multiplex de baixo custo.
Na eletrônica automotiva, unidades de controle do motor, sensores, sistemas antiderrapantes, etc. são
conectados usando CAN com taxas de bits de até 1 Mbit/s. Ao mesmo tempo, é rentável incorporar componentes
eletrônicos da carroceria do veículo, por exemplo, conjuntos de lâmpadas, vidros elétricos, etc., para substituir
o chicote de fiação necessário.
A intenção desta especificação é obter compatibilidade entre quaisquer duas implementações CAN. A
compatibilidade, no entanto, tem aspectos diferentes em relação, por exemplo, às características elétricas e à
interpretação dos dados a serem transferidos. Para obter transparência de projeto e flexibilidade de
implementação, o CAN foi subdividido em diferentes camadas.

• a camada de objeto (CAN-)

• a camada de transferência (CAN-)

• a camada física

A camada de objeto e a camada de transferência compreendem todos os serviços e funções da camada de


enlace de dados definidos pelo modelo ISO/OSI. O escopo da camada de objeto inclui

• descobrir quais mensagens devem ser transmitidas

• decidir quais mensagens recebidas pela camada de transferência serão realmente usadas,

• fornecer uma interface para o hardware relacionado à camada de aplicativo.

Há muita liberdade na definição de manipulação de objetos. O escopo da camada de transferência é


principalmente o protocolo de transferência, ou seja, controlar o enquadramento, realizar arbitragem, verificação
de erros, sinalização de erros e confinamento de falhas. Dentro da camada de transferência é decidido se o
barramento está livre para iniciar uma nova transmissão ou se uma recepção está apenas começando. Além
disso, algumas características gerais do tempo de bit são consideradas como parte da camada de transferência.
É da natureza da camada de transferência que não haja liberdade para modificações.

O escopo da camada física é a transferência real dos bits entre os diferentes nós em relação a todas as
propriedades elétricas. Dentro de uma rede, a camada física, é claro, deve ser a mesma para todos os nós.
Pode haver, no entanto, muita liberdade na seleção de uma camada física.

O escopo desta especificação é definir a camada de transferência e as consequências do protocolo CAN nas
camadas vizinhas.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Conceitos Básicos Parte A - página 5

2 CONCEITOS BÁSICOS
CAN tem as seguintes propriedades

• priorização de mensagens

• garantia de tempos de latência

• flexibilidade de configuração

• recepção multicast com sincronização de tempo

• consistência de dados em todo o sistema

• multimestre

• detecção e sinalização de erros

• retransmissão automática de mensagens corrompidas assim que o barramento estiver ocioso novamente

• distinção entre erros temporários e falhas permanentes de nós e


desligamento autônomo de nós defeituosos

Estrutura em camadas de um nó CAN

Camada de aplicação

Camada de objeto

- Filtragem de mensagens
- Tratamento de mensagens e status

Camada de transferência

- Confinamento de Falhas
- Detecção e Sinalização de Erros
- Validação de mensagem
- Reconhecimento
- Arbitragem
- Enquadramento de mensagens
- Taxa de transferência e tempo

Camada física

- Nível de Sinal e Representação de Bits


- Transmissão média

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Conceitos Básicos Parte A - página 6

• A Camada Física define como os sinais são realmente transmitidos. Dentro disto
especificação a camada física não é definida de forma a permitir que as implementações do meio de transmissão
e nível de sinal sejam otimizadas para sua aplicação.

• A Camada de Transferência representa o núcleo do protocolo CAN. Ele apresenta


mensagens recebidas para a camada de objeto e aceita mensagens a serem transmitidas da camada de objeto.
A camada de transferência é responsável pela temporização e sincronização de bits, enquadramento
de mensagens, arbitragem, reconhecimento, detecção e sinalização de erros e confinamento de falhas.

• A camada de objeto se preocupa com a filtragem de mensagens, bem como com o status e
tratamento de mensagens.

O escopo desta especificação é definir a camada de transferência e as consequências do protocolo CAN nas camadas
vizinhas.

Mensagens
As informações no barramento são enviadas em mensagens de formato fixo de tamanhos diferentes, mas limitados (consulte
a seção 3: Transferência de mensagens). Quando o barramento está livre, qualquer unidade conectada pode começar a
transmitir uma nova mensagem.

Roteamento de informações
Em sistemas CAN, um nó CAN não faz uso de nenhuma informação sobre a configuração do sistema (por exemplo,
endereços de estação). Isso tem várias consequências importantes.

Flexibilidade do sistema: Os nós podem ser adicionados à rede CAN sem a necessidade de qualquer alteração no
software ou hardware de qualquer nó e camada de aplicação.

Roteamento de Mensagem: O conteúdo de uma mensagem é nomeado por um IDENTIFICADOR. O IDENTIFICADOR


não indica o destino da mensagem, mas descreve o significado dos dados, para que todos os nós da rede possam
decidir por FILTRAGEM DE MENSAGENS se os dados devem ser acionados por eles ou não.

Multicast: Como consequência do conceito de FILTRAGEM DE MENSAGENS, qualquer número de nós pode
receber e agir simultaneamente sobre a mesma mensagem.

Consistência de Dados: Dentro de uma rede CAN é garantido que uma mensagem seja aceita simultaneamente por
todos os nós ou por nenhum nó. Assim, a consistência dos dados de um sistema é alcançada pelos conceitos de
multicast e pelo tratamento de erros.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Conceitos Básicos Parte A - página 7

Taxa de

bits A velocidade do CAN pode ser diferente em diferentes sistemas. No entanto, em um determinado sistema, a taxa de bits é
uniforme e fixa.

Prioridades

O IDENTIFICADOR define uma prioridade de mensagem estática durante o acesso ao barramento.

Solicitação de Dados Remotos


Ao enviar um REMOTE FRAME, um nó que requer dados pode solicitar a outro nó que envie o DATA FRAME correspondente. O
QUADRO DE DADOS e o QUADRO REMOTO correspondente são nomeados pelo mesmo IDENTIFICADOR.

Multimaster

Quando o barramento está livre qualquer unidade pode começar a transmitir uma mensagem. A unidade com a mensagem de maior
prioridade a ser transmitida ganha acesso ao barramento.

Arbitragem

Sempre que o barramento estiver livre, qualquer unidade pode começar a transmitir uma mensagem. Se 2 ou mais unidades
começarem a transmitir mensagens ao mesmo tempo, o conflito de acesso ao barramento é resolvido por arbitragem bit a bit usando
o IDENTIFICADOR. O mecanismo de arbitragem garante que nem informação nem tempo sejam perdidos. Se um DATA FRAME e
um REMOTE FRAME com o mesmo IDENTIFICADOR forem iniciados ao mesmo tempo, o DATA FRAME prevalecerá sobre o

REMOTE FRAME. Durante a arbitragem, cada transmissor compara o nível do bit transmitido com o nível monitorado no barramento.
Se esses níveis forem iguais, a unidade pode continuar a enviar. Quando um nível 'recessivo' é enviado e um nível 'dominante' é
monitorado (ver Valores do Barramento), a unidade perdeu a arbitragem e deve retirar sem enviar mais um bit.

Segurança
Para alcançar a máxima segurança na transferência de dados, medidas poderosas para detecção de erros, sinalização e
autoverificação são implementadas em cada nodo CAN.

Detecção de erro
Para detectar erros, foram tomadas as seguintes medidas:
- Monitoramento (os transmissores comparam os níveis de bits a serem transmitidos com os níveis de bits detectados no
barramento)
- Verificação de redundância Cíclica
- Recheio de Pedaços

- Verificação do Quadro de Mensagem

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Conceitos Básicos Parte A - página 8

Desempenho da Detecção de Erros


Os mecanismos de detecção de erros têm as seguintes propriedades:

- todos os erros globais são detectados.


- todos os erros locais nos transmissores são detectados.
- são detectados até 5 erros distribuídos aleatoriamente em uma mensagem. -
são detectados erros de rajada de comprimento inferior a 15 em uma mensagem.
- erros de qualquer número ímpar em uma mensagem são detectados.

Probabilidade de erro residual total para mensagens corrompidas não detectadas: menor que

*
taxa de erro de mensagem 4.7 * 10-11.

Sinalização de erro e tempo de recuperação


As mensagens corrompidas são sinalizadas por qualquer nó que detecta um erro. Essas mensagens são
abortadas e serão retransmitidas automaticamente. O tempo de recuperação desde a detecção de um erro até
o início da próxima mensagem é de no máximo 29 tempos de bit, se não houver mais
erro.

Os nós CAN de
confinamento de falhas são capazes de distinguir distúrbios curtos de falhas permanentes.
Os nós defeituosos são desligados.

Conexões O
link de comunicação serial CAN é um barramento ao qual várias unidades podem ser conectadas. Este número
não tem limite teórico. Praticamente o número total de unidades será limitado por tempos de atraso e/ou cargas
elétricas na linha de ônibus.

Canal Único O
barramento consiste em um único canal que transporta bits. A partir desses dados, as informações de
ressincronização podem ser derivadas. A forma como este canal é implementado não é fixa nesta especificação.
Por exemplo, fio único (mais terra), dois fios diferenciais, fibras ópticas, etc.

Valores do
barramento O barramento pode ter um de dois valores lógicos complementares: 'dominante' ou 'recessivo'.
Durante a transmissão simultânea de bits 'dominantes' e 'recessivos', o valor do barramento resultante será
'dominante'. Por exemplo, no caso de uma implementação com fio AND do barramento, o nível 'dominante' seria
representado por um '0' lógico e o nível 'recessivo' por um '1' lógico. Os estados físicos (por exemplo, tensão
elétrica, luz) que representam os níveis lógicos não são fornecidos nesta especificação.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Conceitos Básicos Parte A - página 9

Reconhecimento
Todos os receptores verificam a consistência da mensagem que está sendo recebida e confirmam uma
mensagem consistente e sinalizam uma mensagem inconsistente.

Modo de espera/despertar
Para reduzir o consumo de energia do sistema, um dispositivo CAN pode ser colocado no modo de
espera sem nenhuma atividade interna e com os drivers de barramento desconectados. O modo de
hibernação termina com um despertar por qualquer atividade do barramento ou por condições internas
do sistema. Ao acordar, a atividade interna é reiniciada, embora a camada de transferência esteja
esperando que o oscilador do sistema se estabilize e aguarde até que ele se sincronize com a atividade
do barramento (verificando onze bits 'recessivos' consecutivos), antes que os drivers do barramento
sejam ajustados para "on-bus" novamente.
Para acordar outros nós do sistema, que estão em modo de hibernação, pode ser usada uma mensagem
especial de despertar com o IDENTIFICADOR mais baixo possível (rrr rrrd rrrr; r = 'recessivo' d =
'dominante') .

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Transferência de mensagem Parte A - página 10

3 TRANSFERÊNCIA DE MENSAGEM

3.1 Tipos de quadro

A transferência de mensagens é manifestada e controlada por quatro tipos diferentes de quadros:

Um DATA FRAME transporta dados de um transmissor para os receptores.


Um REMOTE FRAME é transmitido por uma unidade de barramento para solicitar a transmissão do DATA FRAME com
o mesmo IDENTIFICADOR.
Um ERROR FRAME é transmitido por qualquer unidade ao detectar um erro de barramento.
Um OVERLOAD FRAME é usado para fornecer um atraso extra entre os DADOS ou REMOTE FRAMEs anteriores e
posteriores.

DATA FRAMEs e REMOTE FRAMEs são separados dos quadros anteriores por um INTERFRAME SPACE.

3.1.1 QUADRO DE DADOS

Um DATA FRAME é composto por sete campos de bits diferentes: START


OF FRAME, ARBITRATION FIELD, CONTROL FIELD, DATA FIELD, CRC FIELD, ACK FIELD, END OF FRAME. O
DATA FIELD pode ter comprimento zero.

Interquadro Interquadro
QUADRO DE DADOS
Espaço Espaço

ou
Sobrecarga
Quadro
início do quadro

Campo de Arbitragem

Campo de Controle

Campo de dados

Campo CRC

Campo ACK

Fim do Quadro

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Quadro de dados


Parte A - página 11

START OF FRAME marca


o início de DATA FRAMES e REMOTE FRAMEs. Consiste em um único bit 'dominante'.

Uma estação só pode iniciar a transmissão quando o barramento estiver ocioso (consulte BUS IDLE). Todas as
estações devem sincronizar com a borda de ataque causada pelo INÍCIO DO QUADRO (consulte 'SINCRONIZAÇÃO
HARD') da estação que inicia a transmissão primeiro.

CAMPO DE ARBITRAGEM
O CAMPO DE ARBITRAGEM é composto pelo IDENTIFICADOR e pelo RTR-BIT.

Interquadro início CAMPO DE ARBITRAGEM Ao controle


Espaço do quadro Campo

bit RTR

identificador

IDENTIFICADOR
O comprimento do IDENTIFICADOR é de 11 bits. Esses bits são transmitidos na ordem de ID-10 a ID-0. O bit menos
significativo é ID-0. Os 7 bits mais significativos (ID-10 - ID-4) não devem ser todos 'recessivos'.

RTR BIT
BIT de solicitação de transmissão remota Em
DATA FRAMEs, o RTR BIT deve ser 'dominante'. Dentro de um REMOTE FRAME, o RTR BIT deve ser 'recessivo'.

CAMPO DE CONTROLE
O CAMPO DE CONTROLE consiste em seis bits. Inclui o DATA LENGTH CODE e dois bits reservados para
expansão futura. Os bits reservados devem ser enviados 'dominantes'.
Os receptores aceitam bits 'dominantes' e 'recessivos' em todas as combinações.

CÓDIGO DE COMPRIMENTO
DE DADOS O número de bytes no CAMPO DE DADOS é indicado pelo CÓDIGO DE COMPRIMENTO DE DADOS.
Este CÓDIGO DE COMPRIMENTO DE DADOS tem 4 bits de largura e é transmitido dentro do CAMPO DE CONTROLE.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Quadro de dados


Parte A - página 12

Arbitragem CAMPO DE CONTROLE Dados


Campo Campo

ou
r1 r0 DLC3 DLC2 DLC1 DLC0 CRC
Campo

bits Código de comprimento de dados


reservados

Codificação do número de bytes de dados pelo DATA LENGTH CODE

abreviaturas: d 'dominante' r
'recessivo'

Número de Dados Código de comprimento de dados

bytes
DLC3 DLC2 DLC1 DLC0

0 d d d d

1 d d d r

2 d d r d

3 d d r r

4 d r d d

5 d r d r

6 d r r d

7 d r r r

8 r d d d

DATA FRAME: números admissíveis de bytes de dados: {0,1,....,7,8}.


Outros valores não podem ser usados.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Quadro de dados


Parte A - página 13

CAMPO DE
DADOS O CAMPO DE DADOS consiste nos dados a serem transferidos dentro de um QUADRO DE
DADOS. Pode conter de 0 a 8 bytes, cada um contendo 8 bits que são transferidos primeiro MSB.

CRC FIELD
contém a CRC SEQUENCE seguida por um CRC DELIMITER.

Dados CAMPO CRC Ack


ou Campo

Ao controle

Campo

Delimitador CRC

Sequência CRC

SEQUÊNCIA CRC A
sequência de verificação de quadros é derivada de um código de redundância cíclica mais adequado para
quadros com contagens de bits menores que 127 bits (Código BCH).
Para realizar o cálculo do CRC, o polinômio a ser dividido é definido como o polinômio, cujos coeficientes
são dados pelo fluxo de bits descompactado que consiste em INÍCIO DO QUADRO, CAMPO DE
ARBITRAGEM, CAMPO DE CONTROLE, CAMPO DE DADOS (se presente) e, para os 15 coeficientes mais
baixos, por 0. Este polinômio é dividido (os coeficientes são calculados módulo-2) pelo polinômio gerador:

X15 + X14 + X10 + X8 + X7 + X4 + X3 + 1.

O restante desta divisão polinomial é a SEQUÊNCIA CRC transmitida pelo barramento. Para implementar
esta função, um registrador de deslocamento de 15 bits CRC_RG(14:0) pode ser usado. Se NXTBIT denota
o próximo bit do fluxo de bits, dado pela sequência de bits descarregada de START OF FRAME até o final
do DATA FIELD, a CRC SEQUENCE é calculada da seguinte forma:

CRC_RG = 0; // inicializa o registrador de deslocamento


REPITA
CRCNXT = NXTBIT EXOR CRC_RG(14);
CRC_RG(14:1) = CRC_RG(13:0); // desloca para a
CRC_RG(0) = 0; esquerda // 1 posição

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Quadro de dados


Parte A - página 14

SE CRCNXT ENTÃO
CRC_RG(14:0) = CRC_RG(14:0) EXOR (4599hex);
FIM SE
ATÉ (CRC SEQUENCE começa ou há uma condição de ERRO)

Após a transmissão/recepção do último bit do CAMPO DE DADOS, CRC_RG contém a sequência CRC.

DELIMITER CRC A
SEQUÊNCIA CRC é seguida pelo DELIMITER CRC, que consiste em um único bit 'recessivo'.

ACK FIELD O
ACK FIELD tem dois bits de comprimento e contém o ACK SLOT e o ACK DELIMITER.
No CAMPO ACK, a estação transmissora envia dois bits 'recessivos'.
Um RECEPTOR que recebeu uma mensagem válida corretamente, reporta isso ao TRANSMISSOR enviando
um bit 'dominante' durante o ACK SLOT (envia 'ACK').

CRC CAMPO ACK Fim do


Campo Quadro

Delimitador ACK
Slot ACK

ACK SLOT
Todas as estações que receberam a SEQUÊNCIA CRC correspondente relatam isso dentro do ACK SLOT
sobrescrevendo o bit 'recessivo' do TRANSMISSOR por um bit 'dominante'.

ACK DELIMITER O
ACK DELIMITER é o segundo bit do ACK FIELD e deve ser um bit 'recessivo'. Como consequência, o ACK
SLOT é cercado por dois bits 'recessivos' (CRC DELIMITER, ACK DELIMITER).

END OF FRAME
Cada DATA FRAME e REMOTE FRAME é delimitado por uma sequência de sinalizadores que consiste em
sete bits 'recessivos'.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH quadro remoto


Parte A - página 15

3.1.2 ESTRUTURA REMOTA

Uma estação atuando como RECEPTOR para determinados dados pode iniciar a transmissão dos respectivos
dados por seu nó de origem enviando um REMOTE FRAME.
UM REMOTE FRAME é composto por seis campos de bits diferentes:
START OF FRAME, ARBITRATION FIELD, CONTROL FIELD, CRC FIELD, ACK FIELD, END OF FRAME.

Ao contrário dos DATA FRAMEs, o bit RTR dos REMOTE FRAMEs é 'recessivo'. Não há CAMPO DE
DADOS, independente dos valores do DATA LENGTH CODE que pode ser assinado qualquer valor dentro
da faixa admissível 0...8. O valor é o DATA LENGTH CODE do DATA FRAME correspondente.

Inter QUADRO REMOTO


Inter
Quadro Quadro
Espaço Espaço

ou
Sobrecarga
Quadro

início do quadro

Campo de Arbitragem

Campo de Controle

Campo CRC

Campo ACK

Fim do Quadro

A polaridade do bit RTR indica se um quadro transmitido é um DATA FRAME (bit RTR 'dominante') ou um
REMOTE FRAME (bit RTR 'recessivo').

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Quadro de erro Parte A - página 16

3.1.3 QUADRO DE ERRO

O ERROR FRAME consiste em dois campos diferentes. O primeiro campo é dado pela superposição
de ERROR FLAGs provenientes de diferentes estações. O segundo campo seguinte é o DELIMITER
DE ERRO.

Dados QUADRO DE ERRO Interquadro


Quadro Espaço ou

Sinalizador de erro Sobrecarga


Quadro

superposição de
Sinalizadores de erro Delimitador de erro

Para terminar um ERROR FRAME corretamente, um nó 'erro passivo' pode precisar que o barramento
esteja 'barramento ocioso' por pelo menos 3 tempos de bit (se houver um erro local em um receptor
'erro passivo'). Portanto, o barramento não deve ser carregado a 100%.

ERROR FLAG
Existem 2 formas de um ERROR FLAG: um ACTIVE ERROR FLAG e um PASSIVE ERROR FLAG.

1. O ACTIVE ERROR FLAG consiste em seis bits 'dominantes' consecutivos.

2. O PASSIVE ERROR FLAG consiste em seis bits 'recessivos' consecutivos, a menos que
é substituído por bits 'dominantes' de outros nós.

Uma estação de 'erro ativo' que detecta uma condição de erro sinaliza isso pela transmissão de um
sinalizador de erro ativo. A forma do ERROR FLAG viola a lei do bit stuffing (ver CODING) aplicada a
todos os campos desde START OF FRAME até CRC DELIMITER ou destrói a forma fixa ACK FIELD
ou END OF FRAME field. Como consequência, todas as outras estações detectam uma condição de
erro e, por sua vez, iniciam a transmissão de um ERROR FLAG. Portanto, a sequência de bits
'dominantes' que podem ser monitorados no barramento resulta de uma superposição de diferentes
ERROR FLAGs transmitidos por estações individuais. O comprimento total desta sequência varia entre
um mínimo de seis e um máximo de doze bits.

Uma estação de 'erro passivo' detectando uma condição de erro tenta sinalizá-la pela transmissão de
um PASSIVE ERROR FLAG. A estação de 'erro passivo' espera por seis bits consecutivos

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH quadro de sobrecarga


Parte A - página 17

de polaridade igual, começando no início do PASSIVE ERROR FLAG. O PASSIVE ERROR FLAG é concluído
quando esses 6 bits iguais forem detectados.

DELIMITER DE ERRO O
DELIMITER DE ERRO consiste em oito bits 'recessivos'.
Após a transmissão de um ERROR FLAG, cada estação envia bits 'recessivos' e monitora o barramento até
detectar um bit 'recessivo'. Em seguida, ele começa a transmitir mais sete bits 'recessivos'.

3.1.4 ESTRUTURA DE SOBRECARGA

O OVERLOAD FRAME contém os campos de dois bits OVERLOAD FLAG e OVERLOAD DELIMITER.

Existem dois tipos de condições de OVERLOAD, que levam à transmissão de um OVERLOAD FLAG:

1. As condições internas de um receptor, que requer um atraso do próximo DATA


FRAME ou FRAME REMOTO.

2. Detecção de bit 'dominante' durante INTERMISSÃO.

O início de um OVERLOAD FRAME devido à condição OVERLOAD 1 só pode ser iniciado no primeiro tempo
de bit de uma INTERMISSÃO esperada, enquanto OVERLOAD FRAMEs devido à condição OVERLOAD 2
iniciam um bit após a detecção do bit 'dominante'.

Fim do quadro ou ESTRUTURA DE SOBRECARGA Inter


Delimitador de erro ou Quadro
Delimitador de sobrecarga
Espaço ou

Sobrecarga Sobrecarga
Bandeira Quadro

superposição de
Sinalizadores de sobrecarga Delimitador de sobrecarga

No máximo dois OVERLOAD FRAMEs podem ser gerados para atrasar o próximo DATA ou REMOTE FRAME.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH quadro de sobrecarga


Parte A - página 18

OVERLOAD FLAG
consiste em seis bits 'dominantes'. A forma geral corresponde à do ACTIVE ERROR FLAG.

A forma do OVERLOAD FLAG destrói a forma fixa do campo INTERMISSÃO. Como consequência, todas
as outras estações também detectam uma condição de OVERLOAD e, por sua vez, iniciam a transmissão
de um OVERLOAD FLAG. (Caso haja um bit 'dominante' detectado durante o 3º bit de INTERMISSÃO
localmente em algum nó, os outros nós não interpretarão o OVERLOAD FLAG corretamente, mas
interpretarão o primeiro desses seis bits 'dominantes' como START OF FRAME. O sexto bit 'dominante'
viola a regra de preenchimento de bit causando uma condição de erro).

OVERLOAD DELIMITER
consiste em oito bits 'recessivos'.

O DELIMITER DE OVERLOAD tem a mesma forma do DELIMITER DE ERRO. Após a transmissão de um


OVERLOAD FLAG, a estação monitora o barramento até detectar uma transição de um bit 'dominante'
para um 'recessivo'. Neste ponto, cada estação de ônibus terminou de enviar seu OVERLOAD FLAG e
todas as estações iniciam a transmissão de mais sete bits 'recessivos' em coincidência.

3.1.5 ESPAÇAMENTO ENTRE ESTRUTURAS

DATA FRAMEs e REMOTE FRAMEs são separados dos frames anteriores, qualquer que seja seu tipo
(DATA FRAME, REMOTE FRAME, ERROR FRAME, OVERLOAD FRAME) por um campo de bit chamado
INTERFRAME SPACE. Em contraste, OVERLOAD FRAMEs e ERROR FRAMEs não são precedidos por
um INTERFRAME SPACE e múltiplos OVERLOAD FRAMEs não são separados por um INTERFRAME
SPACE.

O ESPAÇO INTERFRAME
contém os campos de bit INTERMISSÃO e BUS IDLE e, para estações 'erro passivo', que foram
TRANSMISSORES da mensagem anterior, SUSPENDER TRANSMISSÃO.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Espaço Interquadro Parte A - página 19

Para estações que não são 'erro passivo' ou foram RECEPTORES da mensagem anterior:

Quadro ESPAÇO INTERFRAME Quadro

Intervalo Ônibus ocioso

Para estações 'erro passivo' que foram EMISSORAS da mensagem anterior:

Quadro ESPAÇO INTERFRAME Quadro

Ônibus ocioso

Suspender Transmissão
Intervalo

INTERMISSÃO
consiste em três bits 'recessivos'.

Durante o INTERMISSÃO, nenhuma estação pode iniciar a transmissão de um DATA FRAME ou REMOTE
FRAME. A única ação a ser tomada é sinalizar uma condição de SOBRECARGA.

BUS IDLE
O período de BUS IDLE pode ser de duração arbitrária. O barramento é reconhecido como livre e qualquer
estação que tenha algo a transmitir pode acessar o barramento. Uma mensagem, que está pendente para
transmissão durante a transmissão de outra mensagem, é iniciada no primeiro bit após a INTERMISSÃO.

A detecção de um bit 'dominante' no barramento é interpretada como START OF FRAME.

SUSPENDER A TRANSMISSÃO
Após uma estação de 'erro passivo' ter transmitido uma mensagem, ela envia oito bits 'recessivos' após a
INTERMISSÃO, antes de começar a transmitir uma mensagem adicional ou reconhecer o barramento como
inativo. Se, entretanto, uma transmissão (causada por outra estação) começar, a estação se tornará receptora
desta mensagem.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Transmissor-receptor
Parte A - página 20

3.2 Definição de TRANSMISSOR / RECEPTOR

TRANSMISSOR Uma
unidade que origina uma mensagem é denominada “TRANSMISSORA” dessa mensagem. A unidade permanece
TRANSMISSORA até que o barramento fique ocioso ou a unidade perca ARBITRAGEM.

RECEPTOR
Uma unidade é denominada “RECEPTORA” de uma mensagem, se não for EMISSORA dessa mensagem e o
barramento não estiver ocioso.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Validação de mensagem Parte A - página 21

4 VALIDAÇÃO DA MENSAGEM

O ponto de tempo em que uma mensagem é considerada válida é diferente para o transmissor e para
os receptores da mensagem.

Transmissor:
A mensagem é válida para o transmissor, se não houver erro até o final de END OF FRAME. Se uma
mensagem for corrompida, a retransmissão seguirá automaticamente e de acordo com a priorização.
Para poder competir pelo acesso ao barramento com outras mensagens, a retransmissão deve
começar assim que o barramento estiver ocioso.

Receptores:
A mensagem é válida para os receptores, se não houver erro até o penúltimo bit de END OF FRAME.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Codificação
Parte A - página 22

5 CODIFICAÇÃO

CODIFICAÇÃO DE FLUXO DE BIT

Os segmentos de quadro INÍCIO DO QUADRO, CAMPO DE ARBITRAGEM, CAMPO DE CONTROLE,


CAMPO DE DADOS e SEQUÊNCIA CRC são codificados pelo método de preenchimento de bits. Sempre
que um transmissor detecta cinco bits consecutivos de valor idêntico no fluxo de bits a ser transmitido, ele
insere automaticamente um bit complementar no fluxo de bits transmitido real.

Os campos de bits restantes do DATA FRAME ou REMOTE FRAME (CRC DELIMITER, ACK FIELD e END
OF FRAME) são de forma fixa e não preenchidos. O ERROR FRAME e o OVERLOAD FRAME também
são de forma fixa e não codificados pelo método de preenchimento de bits.

O fluxo de bits em uma mensagem é codificado de acordo com o método Non-Return-to-Zero (NRZ). Isso
significa que durante o tempo total de bit, o nível de bit gerado é 'dominante' ou 'recessivo'.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Manipulação de erros Parte A - página 23

6 TRATAMENTO DE ERROS
6.1 Detecção de Erros

Existem 5 tipos de erros diferentes (que não são mutuamente exclusivos):

• BIT ERROR Uma


unidade que está enviando um bit no barramento também monitora o barramento. Um ERRO DE
BIT deve ser detectado naquele tempo de bit, quando o valor do bit monitorado é diferente do valor
do bit enviado. Uma exceção é o envio de um bit 'recessivo' durante o fluxo de bits recheados
do CAMPO DE ARBITRAGEM ou durante o ACK SLOT. Então nenhum ERRO DE BIT ocorre
quando um bit 'dominante' é monitorado. Um TRANSMISSOR enviando um PASSIVE ERROR
FLAG e detectando um bit 'dominante' não interpreta isso como um BIT ERROR.

• ERRO DE MATERIAL
Um STUFF ERROR deve ser detectado no tempo de bit do 6º nível de bit igual consecutivo em um
campo de mensagem que deve ser codificado pelo método de preenchimento de bit.
• CRC ERROR A
sequência CRC consiste no resultado do cálculo CRC pelo transmissor.
Os receptores calculam o CRC da mesma forma que o transmissor. Um ERRO CRC deve
ser detectado, se o resultado calculado não for o mesmo que o recebido na sequência CRC.

• ERRO DE FORMULÁRIO
Um ERRO DE FORMA deve ser detectado quando um campo de bit de forma fixa contém um
ou mais bits ilegais.
• ERRO DE RECONHECIMENTO
Um ACKNOWLEDGMENT ERROR deve ser detectado por um transmissor sempre que ele não
monitorar um bit 'dominante' durante o ACK SLOT.

6.2 Sinalização de erro


Uma estação que detecta uma condição de erro sinaliza isso transmitindo um ERROR FLAG. Para um nó
'error active' é um ACTIVE ERROR FLAG, para um nó 'error passive' é um PASSIVE ERROR FLAG.
Sempre que um BIT ERROR, um STUFF ERROR, um FORM ERROR ou um ACKNOWLEDGMENT
ERROR é detectado por qualquer estação, a transmissão de um ERROR FLAG é iniciada na respectiva
estação no próximo bit.
Sempre que um CRC ERROR for detectado, a transmissão de um ERROR FLAG inicia no bit seguinte ao
ACK DELIMITER, a menos que um ERROR FLAG para outra condição já tenha sido iniciado.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Confinamento de falha


Parte A - página 24

7 CONFINAMENTO DE FALTA
Com relação ao confinamento de falta, uma unidade pode estar em um dos três estados:

• 'erro ativo'

• 'erro passivo'

• 'ônibus desligado'

Uma unidade 'error active' pode normalmente participar da comunicação de barramento e enviar um ACTIVE ERROR
FLAG quando um erro for detectado.
Uma unidade de 'erro passivo' não deve enviar um ACTIVE ERROR FLAG. Ele participa da comunicação do
barramento, mas quando um erro é detectado, apenas um PASSIVE ERROR FLAG é enviado. Também após uma
transmissão, uma unidade de 'erro passivo' aguardará antes de iniciar uma nova transmissão. (Veja SUSPENDER
TRANSMISSÃO)
Uma unidade 'bus off' não pode ter nenhuma influência no barramento. (Por exemplo, drivers de saída desligados.)

Para confinamento de falha, duas contagens são implementadas em cada unidade de barramento:

1) CONTAGEM DE ERROS DE TRANSMISSÃO


2) RECEBER CONTAGEM DE ERROS

Essas contagens são modificadas de acordo com as seguintes regras: (observe


que mais de uma regra pode ser aplicada durante uma determinada transferência de mensagem)

1. Quando um RECEIVER detecta um erro, o RECEIVE ERROR COUNT será aumentado em 1, exceto quando o
erro detectado for um BIT ERROR durante o envio de um ACTIVE ERROR FLAG ou OVERLOAD FLAG.

2. Quando um RECEPTOR detecta um bit 'dominante' como o primeiro bit após enviar um ERRO
FLAG o RECEIVE ERROR COUNT será aumentado em 8.

3. Quando um TRANSMISSOR envia um ERROR FLAG, o TRANSMIT ERROR COUNT


é aumentado em 8.

Exceção 1:
Se o TRANSMISSOR for 'erro passivo' e detectar um ACKNOWLEDGMENT

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Confinamento de falha Parte A - página 25

ERROR por não detectar um ACK 'dominante' e não detectar um bit 'dominante' ao enviar seu
PASSIVE ERROR FLAG.

Exceção 2: Se
o TRANSMISSOR enviar um ERROR FLAG porque ocorreu um STUFF ERROR durante a
ARBITRATION em que o STUFFBIT está localizado antes do bit RTR e deveria ter sido 'recessivo' e
foi enviado como 'recessivo', mas monitorado como 'dominante'.

Nas exceções 1 e 2 o TRANSMIT ERROR COUNT não é alterado.

4. Se um TRANSMISSOR detecta um BIT ERROR ao enviar um ACTIVE ERROR FLAG ou um


OVERLOAD FLAG, a TRANSMIT ERROR COUNT aumenta em 8.

5. Se um RECEPTOR detecta um BIT ERROR ao enviar um ACTIVE ERROR FLAG ou um OVERLOAD


FLAG, a RECEIVE ERROR COUNT aumenta em 8.

6. Qualquer nó tolera até 7 bits 'dominantes' consecutivos após o envio de um sinalizador de erro ativo,
sinalizador de erro passivo ou sinalizador de sobrecarga. Após detectar o 14º bit 'dominante'
consecutivo (no caso de um ACTIVE ERROR FLAG ou OVERLOAD FLAG) ou após detectar o 8º bit
'dominante' consecutivo após um PASSIVE ERROR FLAG, e após cada sequência de oito bits
'dominantes' consecutivos adicionais cada TRANSMISSOR aumenta sua CONTAGEM DE ERROS
DE TRANSMISSÃO em 8 e cada RECEPTOR aumenta sua CONTAGEM DE ERROS DE
RECEBIMENTO em 8.

7. Após a transmissão bem-sucedida de uma mensagem (obtendo ACK e nenhum erro até que END OF
FRAME seja concluído), o TRANSMIT ERROR COUNT é reduzido em 1, a menos que já seja 0.

8. Após a recepção bem-sucedida de uma mensagem (recepção sem erro até o ACK SLOT e envio bem-
sucedido do bit ACK), o RECEIVE ERROR COUNT é diminuído em 1, se estiver entre 1 e 127. Se o
RECEIVE ERROR COUNT era 0, permanece 0 e, se for maior que 127, será definido para um valor
entre 119 e 127.

9. Um nó é 'erro passivo' quando o TRANSMIT ERROR COUNT é igual ou superior a 128, ou quando o
RECEIVE ERROR COUNT é igual ou superior a 128. Uma condição de erro que permite que um nó
se torne 'erro passivo' faz com que o nó envie um ACTIVE ERROR FLAG .

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Confinamento de falha Parte A - página 26

10. Um nó está com 'bus off' quando a CONTAGEM DE ERROS DE TRANSMISSÃO é maior ou igual a
256.

11. Um nó de 'erro passivo' torna-se 'erro ativo' novamente quando tanto o TRANSMIT ERROR COUNT
quanto o RECEIVE ERROR COUNT são menores ou iguais a 127.

12. Um nó que está 'bus off' tem permissão para se tornar 'error active' (não mais 'bus off') com seus
contadores de erro ambos definidos como 0 após 128 ocorrências de 11 bits 'recessivos' consecutivos
terem sido monitorados no barramento .

Nota:
Um valor de contagem de erros maior que cerca de 96 indica um barramento fortemente perturbado. Pode
ser vantajoso fornecer meios para testar esta condição.

Nota:
Start-up / Wake-up: Se
durante o start-up apenas 1 nodo estiver online, e se este nodo transmitir alguma mensagem, ele não
receberá reconhecimento, detectará um erro e repetirá a mensagem. Ele pode se tornar 'erro passivo',
mas não 'desligado' devido a esse motivo.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Confinamento de falha


Parte A - página 27

REQUISITOS DE TEMPO DE 8 BIT


TAXA DE BIT NOMINAL A
Taxa de Bit Nominal é o número de bits por segundo transmitidos na ausência de ressincronização por um transmissor ideal.

TEMPO DE BIT NOMINAL

TEMPO DE BIT NOMINAL = 1 / TAXA DE BIT NOMINAL

O tempo de bit nominal pode ser pensado como sendo dividido em segmentos de tempo separados e não sobrepostos.
Esses segmentos

- SEGMENTO DE SINCRONIZAÇÃO (SYNC_SEG)


- SEGMENTO DE TEMPO DE PROPAGAÇÃO (PROP_SEG)
- SEGMENTO DE TAMPÃO DE FASE1 (FASE_SEG1)
- FASE BUFFER SEGMENT2 (PHASE_SEG2)

forme o tempo de bit conforme mostrado na figura 1.

TEMPO DE BIT NOMINAL

SYNC_SEG PROP_SEG PHASE_SEG1 PHASE_SEG2

Ponto de amostragem

Fig. 1 Partição do Tempo de Bit

SYNC SEG
Esta parte do tempo de bit é usada para sincronizar os vários nós no barramento. Espera-se que uma aresta esteja neste
segmento.

PROP SEG
Esta parte do tempo de bit é usada para compensar os tempos de atraso físicos dentro da rede.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Sincronização de bits


Parte A - página 28

É o dobro da soma do tempo de propagação do sinal na linha de barramento, o atraso do comparador de entrada e
o atraso do driver de saída.

PHASE SEG1, PHASE SEG2 Esses


segmentos de buffer de fase são usados para compensar erros de fase de borda. Esses segmentos podem ser
alongados ou encurtados por ressincronização.

SAMPLE POINT O
SAMPLE POINT é o ponto no tempo em que o nível do barramento é lido e interpretado como o valor do respectivo
bit. Sua localização é no final de PHASE_SEG1.

TEMPO DE PROCESSAMENTO DA
INFORMAÇÃO O TEMPO DE PROCESSAMENTO DA INFORMAÇÃO é o segmento de tempo que começa com o
PONTO DE AMOSTRA reservado para o cálculo do nível de bit subsequente.

TIME QUANTUM O
TIME QUANTUM é uma unidade fixa de tempo derivada do período do oscilador. Existe um prescaler programável,
com valores integrais, variando no mínimo de 1 a 32.
Começando com o QUANTUM DE TEMPO MÍNIMO, o QUANTUM DE TEMPO pode ter um comprimento de

*
TEMPO QUANTUM = m QUANTUM DE TEMPO MÍNIMO

com m o valor do prescaler.

Duração dos segmentos de tempo

• SYNC_SEG tem 1 TIME QUANTUM de comprimento.

• PROP_SEG é programável para ter 1,2,...,8 TIME QUANTA de comprimento.

• PHASE_SEG1 é programável para ter 1,2,...,8 TIME QUANTA de comprimento.

• PHASE_SEG2 é o máximo de PHASE_SEG1 e as INFORMAÇÕES


TEMPO DE PROCESSAMENTO

• O TEMPO DE PROCESSAMENTO DA INFORMAÇÃO é menor ou igual a 2 TIME QUANTA


longo.

O número total de TIME QUANTA em um tempo de bit deve ser programável no mínimo de 8 a 25.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Sincronização de bits


Parte A - página 29

SINCRONIZAÇÃO

HARD SYNCHRONIZATION Após


uma HARD SYNCHRONIZATION o tempo de bit interno é reiniciado com SYNC_SEG.
Assim, HARD SYNCHRONIZATION força a borda que causou a HARD SYNCHRONIZATION a ficar dentro
do SEGMENTO DE SINCRONIZAÇÃO do tempo de bit reiniciado.

LARGURA DO SALTO DE RESSINCRONIZAÇÃO


Como resultado da RESSINCRONIZAÇÃO, a PHASE_SEG1 pode ser alongada ou a PHASE_SEG2 pode
ser encurtada. A quantidade de alongamento ou encurtamento dos SEGMENTOS DE BUFFER DE FASE
tem um limite superior dado pela LARGURA DO SALTO DE RESSINCRONIZAÇÃO. A LARGURA DO
SALTO DE RESSINCRONIZAÇÃO deve ser programável entre 1 e min(4, PHASE_SEG1).

As informações de clock podem ser derivadas de transições de um valor de bit para o outro.
A propriedade de apenas um número máximo fixo de bits sucessivos ter o mesmo valor fornece a
possibilidade de ressincronizar uma unidade de barramento para o fluxo de bits durante um quadro. O
comprimento máximo entre duas transições que podem ser usadas para ressincronização é de 29 tempos
de bit.

ERRO DE FASE de uma aresta


O ERRO DE FASE de uma aresta é dado pela posição da aresta relativa a SYNC_SEG, medida em TIME
QUANTA. O sinal de ERRO DE FASE é definido da seguinte forma:

• e = 0 se a aresta estiver dentro de SYNC_SEG.

• e > 0 se a aresta estiver antes do PONTO DE AMOSTRA.

• e < 0 se a borda estiver após o SAMPLE POINT do bit anterior.

RESSINCRONIZAÇÃO O
efeito de uma RESSINCRONIZAÇÃO é o mesmo de uma HARD SINCRONIZAÇÃO, quando a magnitude
do ERRO DE FASE da borda que causa a RESSINCRONIZAÇÃO for menor ou igual ao valor programado
para a LARGURA DO SALTO DE RESSINCRONIZAÇÃO. Quando a magnitude do ERRO DE FASE for
maior que a LARGURA DO SALTO DE RESSINCRONIZAÇÃO,

• e se o PHASE ERROR for positivo, então PHASE_SEG1 é alongado por um


quantidade igual à LARGURA DO SALTO DE RESSINCRONIZAÇÃO.

• e se o PHASE ERROR for negativo, então PHASE_SEG2 é encurtado por um


quantidade igual à LARGURA DO SALTO DE RESSINCRONIZAÇÃO.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH Sincronização de bits


Parte A - página 30

REGRAS DE SINCRONIZAÇÃO
SINCRONIZAÇÃO HARD e RESSINCRONIZAÇÃO são as duas formas de SINCRONIZAÇÃO. Eles
obedecem as seguintes regras:

1. Apenas uma SINCRONIZAÇÃO dentro de um tempo de bit é permitida.

2. Uma borda será usada para SINCRONIZAÇÃO somente se o valor detectado no PONTO DE AMOSTRA
anterior (valor do barramento lido anterior) diferir do valor do barramento imediatamente após a borda.

3. HARD SINCRONIZAÇÃO é executada sempre que há uma borda 'recessiva' para 'dominante' durante
BUS IDLE.

4. Todas as outras arestas 'recessivas' para 'dominantes' (e opcionalmente 'dominantes' para 'recessivas'
no caso de baixas taxas de bits) que cumpram as regras 1 e 2 serão usadas para RESSINCRONIZAÇÃO
com exceção de que um nó transmitindo um dominante bit não executará uma RESSINCRONIZAÇÃO
como resultado de uma borda 'recessiva' para 'dominante' com um ERRO DE FASE positivo, se
apenas as bordas 'recessivas' para 'dominantes' forem usadas para ressincronização.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

setembro de 1991

BOSCH tolerância do oscilador Parte A - página 31

9 AUMENTANDO A TOLERÂNCIA DO OSCILADOR CAN


Esta seção descreve uma modificação compatível com versões anteriores do protocolo CAN, conforme
especificado nas seções 1 a 8.

9.1 Modificações de protocolo

Para aumentar a tolerância máxima do oscilador de 0,5% atualmente possível para 1,5%, são necessárias as
seguintes modificações, que são compatíveis com a especificação CAN existente:

[1] Se um nodo CAN amostrar um bit dominante no terceiro bit de INTERMISSÃO, ele
interprete este bit como um bit START OF FRAME.

[2] Se um nodo CAN tiver uma mensagem aguardando transmissão e amostrar um bit dominante no terceiro
bit de INTERMISSÃO, ele interpretará isso como um bit START OF FRAME e, com o próximo bit, começará
a transmitir sua mensagem com o primeiro bit do IDENTIFICADOR sem primeiro transmitir um bit START
OF FRAME e sem se tornar um receptor.

[3] Se um nó CAN amostrar um bit dominante no oitavo bit (o último bit) de um DELIMITER DE ERRO ou
DELIMITER DE OVERLOAD, ele irá, no próximo bit, começar a transmitir um OVERLOAD FRAME (não
um ERROR FRAME). Os contadores de erros não serão incrementados.

[4] Somente bordas recessivas para dominantes serão usadas para sincronização.

De acordo com a especificação existente, as seguintes regras ainda são válidas.

[5] Todos os controladores CAN sincronizam no bit START OF FRAME com um hard
sincronização.

[6] Nenhum controlador CAN enviará um bit START OF FRAME até que tenha contado três
bits recessivos de INTERMISSÃO.

Essas modificações permitem uma tolerância máxima do oscilador de 1,58% e o uso de um ressonador
cerâmico a uma velocidade de barramento de até 125 Kbits/segundo. Para toda a faixa de velocidade de
barramento do protocolo CAN, ainda é necessário um oscilador de quartzo. A compatibilidade do protocolo
aprimorado com o existente é mantida, desde que:

[7] Os controladores CAN com os protocolos aprimorados e existentes, usados em uma e na mesma rede,
devem ser fornecidos com um oscilador de quartzo.

O chip com o maior requisito para a precisão do oscilador determina a precisão do oscilador exigida de todos
os outros nós. Os ressonadores cerâmicos só podem ser usados quando todos os nós da rede usam o
protocolo aprimorado.

ROBERT BOSCH GmbH, Postfach 50, D-7000 Stuttgart 1


Machine Translated by Google

PARTE B
Machine Translated by Google

setembro de 1991

BOSCH Contente
Parte B - página 33

1 INTRODUÇÃO................................................. .............................34

2 CONCEITOS BÁSICOS................................................ .........................36

3 TRANSFERÊNCIA DE MENSAGEM ....................................... ......................42

3.1 Formatos de quadro.............................................. ......................................42

3.2 Tipos de quadro .......................................... .........................................42

3.2.1 QUADRO DE DADOS ................................................ .........................................42

3.2.2 ESTRUTURA REMOTA ....................................... .............................49

3.2.3 QUADRO DE ERRO.............................................. ................................50

3.2.4 ESTRUTURA DE SOBRECARGA.............................................. .........................51

3.2.5 ESPAÇAMENTO ENTRE ESTRUTURAS.............................................. ...................53

3.3 Conformidade com relação aos Formatos de Moldura .......................55

3.4 Definição de TRANSMISSOR/RECEPTOR ......................................55

4 FILTRAGEM DE MENSAGENS.............................................. ......................56

5 VALIDAÇÃO DA MENSAGEM .............................................. ...................57

6 CODIFICAÇÃO................................................. .........................................58

7 MANIPULAÇÃO DE ERROS................................................ ......................59

7.1 Detecção de erro ................................................ .........................................59

7.2 Sinalização de erro.............................................. ......................................60

8 CONFINAMENTO DE FALTA.............................................. ......................61

9 TOLERÂNCIA DO OSCILADOR.............................................. .............64

10 REQUISITOS DE TEMPO DE BIT ...................................... ...........27

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Introdução
Parte B - página 34

1. INTRODUÇÃO

A Controller Area Network (CAN) é um protocolo de comunicação serial que suporta eficientemente o
controle distribuído em tempo real com um nível muito alto de segurança.
Seu domínio de aplicação varia de redes de alta velocidade a cabeamento multiplex de baixo custo.
Na eletrônica automotiva, unidades de controle do motor, sensores, sistemas antiderrapantes, etc. são
conectados usando CAN com taxas de bits de até 1 Mbit/s. Ao mesmo tempo, é rentável incorporar
componentes eletrônicos da carroceria do veículo, por exemplo, conjuntos de lâmpadas, vidros elétricos,
etc., para substituir o chicote de fiação necessário.
A intenção desta especificação é obter compatibilidade entre quaisquer duas implementações CAN. A
compatibilidade, no entanto, tem aspectos diferentes em relação, por exemplo, às características
elétricas e à interpretação dos dados a serem transferidos. Para obter transparência de projeto e
flexibilidade de implementação, o CAN foi subdividido em diferentes camadas de acordo com o Modelo
de Referência ISO/OSI:

• a Camada de Enlace de Dados

- a subcamada Logical Link Control (LLC) - a


subcamada Medium Access Control (MAC)

• a Camada Física

Observe que nas versões anteriores da especificação CAN, os serviços e funções das subcamadas LLC
e MAC da camada de enlace de dados foram descritos em camadas denominadas 'camada de objeto' e
'camada de transferência'. O escopo da subcamada LLC é

• fornecer serviços para transferência de dados e solicitação remota de dados,

• decidir quais mensagens recebidas pela subcamada LLC serão realmente aceitas,

• fornecer meios para gerenciamento de recuperação e notificações de sobrecarga.

Há muita liberdade na definição de manipulação de objetos. O escopo da subcamada MAC é principalmente


o protocolo de transferência, ou seja, controlar o Framing, realizar arbitragem, verificação de erros,
sinalização de erros e confinamento de falhas. Dentro da subcamada MAC é decidido se o barramento está
livre para iniciar uma nova transmissão ou se uma recepção está apenas começando. Além disso, algumas
características gerais do tempo de bit são consideradas como parte da subcamada MAC. É da natureza da
subcamada MAC que não haja liberdade para modificações.

O escopo da camada física é a transferência real dos bits entre os diferentes nós em relação a todas as
propriedades elétricas. Dentro de uma rede, a camada física, de

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Introdução
Parte B - página 35

Claro, tem que ser o mesmo para todos os nós. Pode haver, no entanto, muita liberdade na seleção de
uma camada física.
O escopo desta especificação é definir a subcamada MAC e uma pequena parte da subcamada LLC
da camada de enlace de dados e descrever as consequências do protocolo CAN nas camadas vizinhas.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Conceitos Básicos Parte B - página 36

2 CONCEITOS BÁSICOS
CAN tem as seguintes propriedades

• priorização de mensagens

• garantia de tempos de latência

• flexibilidade de configuração

• recepção multicast com sincronização de tempo

• consistência de dados em todo o sistema

• multimestre

• detecção e sinalização de erros

• retransmissão automática de mensagens corrompidas assim que o barramento estiver ocioso novamente

• distinção entre erros temporários e falhas permanentes de nós e


desligamento autônomo de nós defeituosos

Arquitetura em camadas do CAN de acordo com o modelo de referência OSI

• A Camada Física define como os sinais são realmente transmitidos e, portanto, lida com a descrição de
Sincronização de Bits, Codificação de Bits e Sincronização. Dentro desta especificação as
Características do Driver/Receptor da Camada Física não são definidas de forma a permitir que as
implementações do meio de transmissão e nível de sinal sejam otimizadas para sua aplicação.

• A subcamada MAC representa o kernel do protocolo CAN. Apresenta mensagens recebidas da subcamada
LLC e aceita mensagens a serem transmitidas à subcamada LLC. A subcamada MAC é responsável pelo
Enquadramento de Mensagens, Arbitragem, Reconhecimento, Detecção de Erros e Sinalização. A
subcamada MAC é supervisionada por uma entidade de gerenciamento chamada Fault Confinement, que é
um mecanismo de autoverificação para distinguir distúrbios curtos de falhas permanentes.

• A subcamada LLC está relacionada com filtragem de mensagens, notificação de sobrecarga e


gerenciamento de recuperação.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Conceitos Básicos Parte B - página 37

Camada de Enlace de Dados

LLC
Filtragem de aceitação
Supervisor
Notificação de sobrecarga
Gerenciamento de Recuperação

MAC
Encapsulamento de dados
/Desencapsulamento

Codificação de quadros

(recheio, desentupidor) Falta


Gerenciamento de acesso médio Confinamento
Detecção de erro
Sinalização de erro
Reconhecimento
Serialização / Desserialização

Camada física

Codificação/Decodificação de bits
Falha de barramento
Sincronização de bits

Sincronização Gerenciamento

Características do driver/receptor

LLC = Controle de Link Lógico


MAC = Controle de acesso médio

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Conceitos Básicos Parte B - página 38

O escopo desta especificação é definir a Camada de Enlace de Dados e as consequências do protocolo CAN nas camadas
vizinhas.

Mensagens
As informações no barramento são enviadas em mensagens de formato fixo de tamanhos diferentes, mas limitados (consulte
a seção 3: Transferência de mensagens). Quando o barramento está livre, qualquer unidade conectada pode começar a
transmitir uma nova mensagem.

Roteamento de informações
Em sistemas CAN, um nó CAN não faz uso de nenhuma informação sobre a configuração do sistema (por exemplo, endereços
de estação). Isso tem várias consequências importantes.

Flexibilidade do sistema: Os nós podem ser adicionados à rede CAN sem a necessidade de qualquer alteração no
software ou hardware de qualquer nó e camada de aplicação.

Roteamento de Mensagem: O conteúdo de uma mensagem é nomeado por um IDENTIFICADOR. O IDENTIFICADOR


não indica o destino da mensagem, mas descreve o significado dos dados, para que todos os nodos da rede
possam decidir pela Filtragem de Mensagens se os dados devem ser influenciados por eles ou não.

Multicast: Como consequência do conceito de Filtragem de Mensagens, qualquer número de nós pode receber e
agir simultaneamente sobre a mesma mensagem.

Consistência de Dados: Dentro de uma rede CAN é garantido que uma mensagem seja aceita simultaneamente por
todos os nós ou por nenhum nó. Assim, a consistência dos dados de um sistema é alcançada pelos conceitos de
multicast e pelo tratamento de erros.

Taxa de
bits A velocidade do CAN pode ser diferente em diferentes sistemas. No entanto, em um determinado sistema, a taxa de bits
é uniforme e fixa.

Prioridades
O IDENTIFICADOR define uma prioridade de mensagem estática durante o acesso ao barramento.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Conceitos Básicos Parte B - página 39

Solicitação de Dados Remotos Ao


enviar um REMOTE FRAME, um nó que requer dados pode solicitar a outro nó que envie o DATA FRAME correspondente. O QUADRO
DE DADOS e o QUADRO REMOTO correspondente são nomeados pelo mesmo IDENTIFICADOR.

Multimaster

Quando o barramento está livre qualquer unidade pode começar a transmitir uma mensagem. A unidade com a mensagem de maior
prioridade a ser transmitida ganha acesso ao barramento.

Arbitragem

Sempre que o barramento estiver livre, qualquer unidade pode começar a transmitir uma mensagem. Se 2 ou mais unidades começarem
a transmitir mensagens ao mesmo tempo, o conflito de acesso ao barramento é resolvido por arbitragem bit a bit usando o
IDENTIFICADOR. O mecanismo de arbitragem garante que nem informação nem tempo sejam perdidos. Se um DATA FRAME e um
REMOTE FRAME com o mesmo IDENTIFICADOR forem iniciados ao mesmo tempo, o DATA FRAME prevalecerá sobre o REMOTE

FRAME. Durante a arbitragem, cada transmissor compara o nível do bit transmitido com o nível monitorado no barramento. Se esses
níveis forem iguais, a unidade pode continuar a enviar. Quando um nível 'recessivo' é enviado e um nível 'dominante' é monitorado (ver
Valores do Barramento), a unidade perdeu a arbitragem e deve retirar sem enviar mais um bit.

Segurança
Para alcançar a máxima segurança na transferência de dados, medidas poderosas para detecção de erros, sinalização e autoverificação
são implementadas em cada nodo CAN.

Detecção de erro
Para detectar erros, foram tomadas as seguintes medidas:
- Monitoramento (os transmissores comparam os níveis de bits a serem transmitidos com os níveis de bits detectados no
barramento)
- Verificação de redundância Cíclica
- Recheio de Pedaços

- Verificação do Quadro de Mensagem

Desempenho da detecção de erros Os

mecanismos de detecção de erros têm as seguintes propriedades: - todos os erros globais são
detectados. - todos os erros locais nos
transmissores são detectados. - são detectados até 5 erros

distribuídos aleatoriamente em uma mensagem. - são detectados erros de rajada de comprimento


inferior a 15 em uma mensagem. - erros de qualquer número ímpar em uma mensagem são
detectados.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Conceitos Básicos Parte B - página 40

Probabilidade de erro residual total para mensagens corrompidas não detectadas: menor que

*
taxa de erro de mensagem 4.7 * 10-11.

Sinalização de erro e tempo de recuperação


As mensagens corrompidas são sinalizadas por qualquer nó que detecta um erro. Essas mensagens são
abortadas e serão retransmitidas automaticamente. O tempo de recuperação desde a detecção de um erro até
o início da próxima mensagem é de no máximo 31 bits, se não houver mais
erro.

Os nós CAN de
confinamento de falhas são capazes de distinguir distúrbios curtos de falhas permanentes.
Os nós defeituosos são desligados.

Conexões O
link de comunicação serial CAN é um barramento ao qual várias unidades podem ser conectadas. Este número
não tem limite teórico. Praticamente o número total de unidades será limitado por tempos de atraso e/ou cargas
elétricas na linha de ônibus.

Canal Único O
barramento consiste em um único canal que transporta bits. A partir desses dados, as informações de
ressincronização podem ser derivadas. A forma como este canal é implementado não é fixa nesta especificação.
Por exemplo, fio único (mais terra), dois fios diferenciais, fibras ópticas, etc.

Valores do
barramento O barramento pode ter um de dois valores lógicos complementares: 'dominante' ou 'recessivo'.
Durante a transmissão simultânea de bits 'dominantes' e 'recessivos', o valor do barramento resultante será
'dominante'. Por exemplo, no caso de uma implementação com fio AND do barramento, o nível 'dominante' seria
representado por um '0' lógico e o nível 'recessivo' por um '1' lógico. Os estados físicos (por exemplo, tensão
elétrica, luz) que representam os níveis lógicos não são fornecidos nesta especificação.

Reconhecimento
Todos os receptores verificam a consistência da mensagem que está sendo recebida e confirmam uma
mensagem consistente e sinalizam uma mensagem inconsistente.

Modo de espera/despertar
Para reduzir o consumo de energia do sistema, um dispositivo CAN pode ser colocado no modo de hibernação

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Conceitos Básicos Parte B - página 41

sem nenhuma atividade interna e com motoristas de ônibus desconectados. O modo de hibernação termina com um
despertar por qualquer atividade do barramento ou por condições internas do sistema. Ao acordar, a atividade
interna é reiniciada, embora a subcamada MAC esteja esperando que o oscilador do sistema se estabilize e aguarde
até que ele se sincronize com a atividade do barramento (verificando onze bits 'recessivos' consecutivos), antes que
os drivers do barramento sejam ajustados para "on-bus" novamente.

tolerância do oscilador
Os requisitos de temporização de bits permitem que os ressonadores cerâmicos sejam usados em aplicações com
taxas de transmissão de até 125 kbit/s como regra geral; para uma avaliação mais precisa, consulte

Dias, S; Chapman, M;
“Impacto da representação de bits na capacidade de transporte e no relógio
Precisão em fluxos de dados seriais”,
Documento Técnico SAE Série 890532, Multiplexação em Automóveis SP-773
março de 1989

Para toda a faixa de velocidade de barramento do protocolo CAN, é necessário um oscilador de quartzo.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Transferência de mensagem Parte B - página 42

3 TRANSFERÊNCIA DE MENSAGEM

3.1 Formatos de quadro

Existem dois formatos diferentes que diferem no tamanho do campo IDENTIFIER: Quadros com o número de 11 bits
do IDENTIFIER são denominados Quadros Padrão. Em contraste, os quadros contendo IDENTIFICADOR de 29 bits
são denominados Quadros Estendidos.

3.2 Tipos de quadro

A transferência de mensagens é manifestada e controlada por quatro tipos diferentes de quadros:

Um DATA FRAME transporta dados de um transmissor para os receptores.


Um REMOTE FRAME é transmitido por uma unidade de barramento para solicitar a transmissão do DATA FRAME com
o mesmo IDENTIFICADOR.
Um ERROR FRAME é transmitido por qualquer unidade ao detectar um erro de barramento.
Um OVERLOAD FRAME é usado para fornecer um atraso extra entre os DADOS ou REMOTE FRAMEs anteriores e
posteriores.

DATA FRAMEs e REMOTE FRAMEs podem ser usados tanto no formato de quadro padrão quanto no formato de
quadro estendido ; eles são separados dos quadros anteriores por um INTERFRAME SPACE.

3.2.1 QUADRO DE DADOS

Um DATA FRAME é composto por sete campos de bits diferentes: START


OF FRAME, ARBITRATION FIELD, CONTROL FIELD, DATA FIELD, CRC FIELD, ACK FIELD, END OF FRAME. O
DATA FIELD pode ter comprimento zero.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991
BOSCH Quadro de dados
Parte B - página 43

Interquadro Interquadro
QUADRO DE DADOS
Espaço Espaço

ou
Sobrecarga
Quadro
início do quadro

Campo de Arbitragem

Campo de Controle

Campo de dados

Campo CRC

Campo ACK

Fim do Quadro

START OF FRAME (formato padrão , bem como formato estendido)

O START OF FRAME (SOF) marca o início dos DATA FRAMES e REMOTE FRAMEs. Consiste em um único
bit 'dominante'.
Uma estação só pode iniciar a transmissão quando o barramento estiver ocioso (consulte 'Espaçamento
INTERFRAME'). Todas as estações devem sincronizar com a borda de ataque causada pelo INÍCIO DO
QUADRO (consulte 'SINCRONIZAÇÃO HARD') da estação que inicia a transmissão primeiro.

CAMPO DE ARBITRAGEM
O formato do CAMPO DE ARBITRAGEM é diferente para Quadros de Formato Padrão e Formato Estendido .

- No Formato Padrão, o CAMPO DE ARBITRAGEM consiste no IDENTIFICADOR de 11 bits e no RTR-BIT.


Os bits IDENTIFICADORES são denominados ID-28 ... ID-18.

- No formato estendido, o CAMPO DE ARBITRAGEM consiste no IDENTIFICADOR de 29 bits, no SRR-Bit,


no IDE-Bit e no RTR-BIT. Os bits IDENTIFICADORES são denominados ID-28 ... ID-0.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Quadro de dados


Parte B - página 44

Para distinguir entre Formato Padrão e Formato Estendido, o bit reservado r1 nas especificações
CAN anteriores versão 1.0-1.2 agora é denotado como Bit IDE.

Formato padrão

Ao controle
Campo de Arbitragem Campo
Campo de dados

S R EU

O IDENTIFICADOR de 11 bits T D DLC


r0
F R E

Formato Estendido

Ao controle
Campo de dados
Campo de Arbitragem Campo

S S R
EU

r
O IDENTIFICADOR de 11 bits R D IDENTIFICADOR de 18 bits T DLC
1 r0
F R E R

IDENTIFICADOR IDENTIFICADOR
- Formato Padrão O comprimento do IDENTIFICADOR é de 11 bits e corresponde ao ID Base
em Formato Estendido. Esses bits são transmitidos na ordem de ID-28 a ID-18. O bit menos
significativo é ID-18. Os 7 bits mais significativos (ID-28 - ID-22) não devem ser todos 'recessivos'.

IDENTIFICADOR - Formato
Estendido Ao contrário do Formato Padrão, o Formato Estendido consiste em 29 bits. O
formato compreende duas seções:

Base ID com 11 bits e o


ID estendido com 18 bits

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Quadro de dados


Parte B - página 45

Base ID
A Base ID consiste em 11 bits. É transmitido na ordem de ID-28 a ID-18. É equivalente ao formato do
Identificador Padrão. A Base ID define a prioridade base do Extended Frame .

ID Estendido O
ID Estendido consiste em 18 bits. É transmitido na ordem de ID-17 a ID-0.

Em um quadro padrão, o IDENTIFICADOR é seguido pelo bit RTR.

RTR BIT (formato padrão , bem como formato estendido)


BIT de Solicitação de Transmissão Remota
Em DATA FRAMEs, o BIT RTR deve ser 'dominante'. Dentro de um REMOTE FRAME, o RTR BIT deve ser
'recessivo'.

Em um quadro estendido, o ID de base é transmitido primeiro, seguido pelo bit IDE e pelo bit SRR. O Extended
ID é transmitido após o bit SRR.

SRR BIT (formato estendido)


Substitute Remote Request BIT O SRR
é um bit recessivo. É transmitido em Extended Frames na posição do bit RTR em Standard Frames e assim
substitui o RTR-Bit no Standard Frame.

Portanto, as colisões de um Quadro Padrão e um Quadro Estendido, cujo ID Base (veja 'IDENTIFICADOR
Estendido' abaixo) é o mesmo que o Identificador do Quadro Padrão, são resolvidas de tal forma que o Quadro
Padrão prevalece sobre o Quadro Estendido.

IDE BIT (formato estendido)


Bit de extensão do identificador
O Bit IDE pertence a - o
CAMPO DE ARBITRAGEM para o Formato Estendido - o Campo
de Controle para o Formato Padrão
O bit IDE no formato padrão é transmitido 'dominante', enquanto no formato estendido o bit IDE é recessivo.

CAMPO DE CONTROLE (formato padrão , bem como formato estendido)


O CAMPO DE CONTROLE consiste em seis bits. O formato do CAMPO DE CONTROLE é diferente para
Formato Padrão e Formato Estendido. Os quadros no formato padrão incluem o DATA LENGTH CODE, o bit
IDE, que é transmitido 'dominante' (consulte

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Quadro de dados


Parte B - página 46

acima) e o bit reservado r0. Os quadros no formato estendido incluem o DATA LENGTH CODE e
dois bits reservados r1 e r0. Os bits reservados devem ser enviados 'dominantes', mas os receptores
aceitam bits 'dominantes' e 'recessivos' em todas as combinações.

Arbitragem CAMPO DE CONTROLE Dados


Campo Campo
Formato padrão e formato estendido

ou
IDE/r1 r0 DLC3 DLC2 DLC1 DLC0 CRC
Campo

bits Código de comprimento de dados


reservados

CÓDIGO DE COMPRIMENTO DE DADOS (formato padrão , bem como formato estendido)


O número de bytes no DATA FIELD é indicado pelo DATA LENGTH CODE.
Este CÓDIGO DE COMPRIMENTO DE DADOS tem 4 bits de largura e é transmitido dentro do CAMPO DE CONTROLE.

Codificação do número de bytes de dados pelas abreviaturas DATA


LENGTH CODE: d 'dominante' r 'recessivo'

Número de Dados Código de comprimento de dados

bytes
DLC3 DLC2 DLC1 DLC0

0 d d d d

1 d d d r

2 d d r d

3 d d r r

4 d r d d

5 d r d r

6 d r r d

7 d r r r

8 r d d d

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Quadro de dados


Parte B - página 47

DATA FRAME: números admissíveis de bytes de dados: {0,1,....,7,8}.


Outros valores não podem ser usados.

CAMPO DE DADOS (formato padrão , bem como formato estendido)


O DATA FIELD consiste nos dados a serem transferidos dentro de um DATA FRAME. Pode conter de 0 a 8
bytes, cada um contendo 8 bits que são transferidos primeiro MSB.

O CAMPO CRC (formato padrão e também formato estendido) contém a SEQUÊNCIA


CRC seguida de um DELIMITER CRC.

Dados CAMPO CRC Ack


ou Campo

Ao controle

Campo

Delimitador CRC

Sequência CRC

SEQUÊNCIA CRC (formato padrão , bem como formato estendido)

A sequência de verificação de quadros é derivada de um código de redundância cíclica mais adequado para
quadros com contagens de bits menores que 127 bits (Código BCH).
Para realizar o cálculo do CRC, o polinômio a ser dividido é definido como o polinômio, cujos coeficientes são
dados pelo fluxo de bits descompactado que consiste em INÍCIO DO QUADRO, CAMPO DE ARBITRAGEM,
CAMPO DE CONTROLE, CAMPO DE DADOS (se presente) e, para os 15 coeficientes mais baixos, por 0.
Este polinômio é dividido (os coeficientes são calculados módulo-2) pelo polinômio gerador:

X15 + X14 + X10 + X8 + X7 + X4 + X3 + 1.

O restante desta divisão polinomial é a SEQUÊNCIA CRC transmitida pelo barramento. Para implementar
esta função, um registrador de deslocamento de 15 bits CRC_RG(14:0) pode ser usado. Se NXTBIT denota
o próximo bit do fluxo de bits, dado pela sequência de bits descarregada de START OF FRAME até o final
do DATA FIELD, a CRC SEQUENCE é calculada da seguinte forma:

CRC_RG = 0; // inicializa o registrador de deslocamento

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Quadro de dados


Parte B - página 48

REPITA
CRCNXT = NXTBIT EXOR CRC_RG(14);
CRC_RG(14:1) = CRC_RG(13:0); // desloca para a
CRC_RG(0) = 0; esquerda // 1 posição
SE CRCNXT ENTÃO
CRC_RG(14:0) = CRC_RG(14:0) EXOR (4599hex);
FIM SE
ATÉ (CRC SEQUENCE começa ou há uma condição de ERRO)

Após a transmissão/recepção do último bit do CAMPO DE DADOS, CRC_RG contém a sequência CRC.

CRC DELIMITER (formato padrão , bem como formato estendido)


A SEQUÊNCIA CRC é seguida pelo DELIMITER CRC, que consiste em um único bit 'recessivo'.

ACK FIELD (formato padrão , bem como formato estendido)


O ACK FIELD tem dois bits de comprimento e contém o ACK SLOT e o ACK DELIMITER.
No CAMPO ACK, a estação transmissora envia dois bits 'recessivos'.
Um RECEPTOR que recebeu uma mensagem válida corretamente, reporta isso ao TRANSMISSOR enviando
um bit 'dominante' durante o ACK SLOT (envia 'ACK').

CRC CAMPO ACK Fim do


Campo Quadro

Delimitador ACK
Slot ACK

ACK SLOT
Todas as estações que receberam a SEQUÊNCIA CRC correspondente relatam isso dentro do ACK SLOT
sobrescrevendo o bit 'recessivo' do TRANSMISSOR por um bit 'dominante'.

ACK DELIMITER O
ACK DELIMITER é o segundo bit do ACK FIELD e deve ser um bit 'recessivo'. Como consequência, o ACK
SLOT é cercado por dois bits 'recessivos' (CRC DELIMITER, ACK DELIMITER).

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH quadro remoto


Parte B - página 49

END OF FRAME (formato padrão , bem como formato estendido)

Cada DATA FRAME e REMOTE FRAME é delimitado por uma sequência de sinalizadores que consiste em
sete bits 'recessivos'.

3.2.2 ESTRUTURA REMOTA

Uma estação atuando como RECEPTOR para determinados dados pode iniciar a transmissão dos respectivos
dados por seu nó de origem enviando um REMOTE FRAME.
Um REMOTE FRAME existe tanto no formato padrão quanto no formato estendido. Em ambos os casos é
composto por seis campos de bits diferentes: START
OF FRAME, ARBITRATION FIELD, CONTROL FIELD, CRC FIELD, ACK FIELD, END OF FRAME.

Ao contrário dos DATA FRAMEs, o bit RTR dos REMOTE FRAMEs é 'recessivo'. Não há CAMPO DE
DADOS, independente dos valores do DATA LENGTH CODE que pode ser assinado qualquer valor dentro
da faixa admissível 0...8. O valor é o DATA LENGTH CODE do DATA FRAME correspondente.

Inter QUADRO REMOTO


Inter
Quadro Quadro
Espaço Espaço

ou
Sobrecarga
Quadro

início do quadro

Campo de Arbitragem

Campo de Controle

Campo CRC

Campo ACK

Fim do Quadro

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Quadro de erro Parte B - página 50

A polaridade do bit RTR indica se um quadro transmitido é um DATA FRAME (bit RTR 'dominante') ou
um REMOTE FRAME (bit RTR 'recessivo').

3.2.3 QUADRO DE ERRO

O ERROR FRAME consiste em dois campos diferentes. O primeiro campo é dado pela superposição
de ERROR FLAGs provenientes de diferentes estações. O segundo campo seguinte é o DELIMITER
DE ERRO.

Dados QUADRO DE ERRO Interquadro


Quadro Espaço ou

Sinalizador de erro Sobrecarga


Quadro

superposição de
Sinalizadores de erro Delimitador de erro

Para terminar um ERROR FRAME corretamente, um nó 'erro passivo' pode precisar que o barramento
esteja 'barramento ocioso' por pelo menos 3 tempos de bit (se houver um erro local em um receptor
'erro passivo'). Portanto, o barramento não deve ser carregado a 100%.

ERROR FLAG
Existem 2 formas de um ERROR FLAG: um ACTIVE ERROR FLAG e um PASSIVE ERROR FLAG.

1. O ACTIVE ERROR FLAG consiste em seis bits 'dominantes' consecutivos.

2. O PASSIVE ERROR FLAG consiste em seis bits 'recessivos' consecutivos, a menos que
é substituído por bits 'dominantes' de outros nós.

Uma estação de 'erro ativo' que detecta uma condição de erro sinaliza isso pela transmissão de um
sinalizador de erro ativo. A forma do ERROR FLAG viola a lei do bit stuffing (ver CODING) aplicada a
todos os campos desde START OF FRAME até CRC DELIMITER ou destrói a forma fixa ACK FIELD
ou END OF FRAME field. Como consequência, todas as outras estações detectam uma condição de
erro e, por sua vez, iniciam a transmissão de um ERRO

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH quadro de sobrecarga


Parte B - página 51

BANDEIRA. Portanto, a sequência de bits 'dominantes' que podem ser monitorados no barramento resulta de
uma superposição de diferentes ERROR FLAGs transmitidos por estações individuais. O comprimento total
desta sequência varia entre um mínimo de seis e um máximo de doze bits.

Uma estação de 'erro passivo' detectando uma condição de erro tenta sinalizá-la pela transmissão de um
PASSIVE ERROR FLAG. A estação de 'erro passivo' espera por seis bits consecutivos de igual polaridade,
começando no início do PASSIVE ERROR FLAG. O PASSIVE ERROR FLAG é concluído quando esses 6 bits
iguais forem detectados.

DELIMITER DE ERRO O
DELIMITER DE ERRO consiste em oito bits 'recessivos'.
Após a transmissão de um ERROR FLAG, cada estação envia bits 'recessivos' e monitora o barramento até
detectar um bit 'recessivo'. Em seguida, ele começa a transmitir mais sete bits 'recessivos'.

3.2.4 ESTRUTURA DE SOBRECARGA

O OVERLOAD FRAME contém os campos de dois bits OVERLOAD FLAG e OVERLOAD DELIMITER.

Existem dois tipos de condições de OVERLOAD, que levam à transmissão de um OVERLOAD FLAG:

1. As condições internas de um receptor, que requer um atraso do próximo DATA


FRAME ou FRAME REMOTO.

2. Detecção de um bit 'dominante' no primeiro e segundo bit de INTERMISSÃO.

3. Se um nó CAN amostrar um bit dominante no oitavo bit (o último bit) de um DELIMITER DE ERRO ou
DELIMITER DE OVERLOAD, ele começará a transmitir um OVERLOAD FRAME (não um ERROR
FRAME). Os contadores de erros não serão incrementados.

O início de um OVERLOAD FRAME devido à condição OVERLOAD 1 só pode ser iniciado no primeiro tempo
de bit de uma INTERMISSÃO esperada, enquanto OVERLOAD FRAMEs devido à condição OVERLOAD 2 e
condição 3 iniciam um bit após a detecção do bit 'dominante'.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH quadro de sobrecarga


Parte B - página 52

No máximo dois OVERLOAD FRAMEs podem ser gerados para atrasar o próximo DATA ou REMOTE
FRAME.

Fim do quadro ou ESTRUTURA DE SOBRECARGA Inter


Delimitador de erro ou Quadro
Delimitador de sobrecarga
Espaço ou

Sobrecarga Sobrecarga
Bandeira Quadro

superposição de
Sinalizadores de sobrecarga Delimitador de sobrecarga

OVERLOAD FLAG
consiste em seis bits 'dominantes'. A forma geral corresponde à do ACTIVE ERROR FLAG.

A forma do OVERLOAD FLAG destrói a forma fixa do campo INTERMISSÃO. Como consequência, todas
as outras estações também detectam uma condição de OVERLOAD e, por sua vez, iniciam a transmissão
de um OVERLOAD FLAG. Caso haja um bit 'dominante' detectado durante o 3º bit de INTERMISSÃO
então ele interpretará este bit como START OF FRAME.

Observação:

Os controladores baseados na especificação CAN versão 1.0 e 1.1 têm outra interpretação do 3º
bit se INTERMISSÃO: Se um bit 'dominante' foi detectado localmente em algum nó, os outros nós
não interpretarão o OVERLOAD FLAG corretamente, mas interpretarão o primeiro deles seis bits
'dominantes' como START OF FRAME; o sexto bit 'dominante' viola a regra de preenchimento de
bit, causando uma condição de erro.

OVERLOAD DELIMITER
consiste em oito bits 'recessivos'.

O DELIMITER DE OVERLOAD tem a mesma forma do DELIMITER DE ERRO. Após a transmissão de um


OVERLOAD FLAG, a estação monitora o barramento até detectar uma transição de um bit 'dominante'
para um 'recessivo'. Neste ponto, cada estação de ônibus terminou de enviar seu OVERLOAD FLAG e
todas as estações iniciam a transmissão de mais sete bits 'recessivos' em coincidência.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Espaço Interquadro Parte B - página 53

3.2.5 ESPAÇAMENTO ENTRE ESTRUTURAS

DATA FRAMEs e REMOTE FRAMEs são separados dos frames anteriores, qualquer que seja seu tipo (DATA
FRAME, REMOTE FRAME, ERROR FRAME, OVERLOAD FRAME) por um campo de bit chamado
INTERFRAME SPACE. Em contraste, OVERLOAD FRAMEs e ERROR FRAMEs não são precedidos por um
INTERFRAME SPACE e múltiplos OVERLOAD FRAMEs não são separados por um INTERFRAME SPACE.

O ESPAÇO INTERFRAME
contém os campos de bit INTERMISSÃO e BUS IDLE e, para estações 'erro passivo', que foram
TRANSMISSORES da mensagem anterior, SUSPENDER TRANSMISSÃO.

Para estações que não são 'erro passivo' ou foram RECEPTORES da mensagem anterior:

Quadro ESPAÇO INTERFRAME Quadro

Intervalo Ônibus ocioso

Para estações 'erro passivo' que foram EMISSORAS da mensagem anterior:

Quadro ESPAÇO INTERFRAME Quadro

Ônibus ocioso

Suspender Transmissão
Intervalo

INTERMISSÃO
consiste em três bits 'recessivos'.

Durante o INTERMISSÃO, a única ação a ser tomada é sinalizar uma condição de OVERLOAD e nenhuma
estação pode iniciar ativamente a transmissão de um DATA FRAME ou REMOTE FRAME.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Espaço Interquadro Parte B - página 54

Observação:

Se um nodo CAN tiver uma mensagem aguardando transmissão e amostrar um bit dominante no
terceiro bit de INTERMISSÃO, ele interpretará isso como um bit START OF FRAME e, com o próximo
bit, começará a transmitir sua mensagem com o primeiro bit de seu IDENTIFICADOR sem primeiro
transmitir um bit START OF FRAME e sem se tornar receptor.

BUS IDLE
O período de BUS IDLE pode ser de duração arbitrária. O barramento é reconhecido como livre e qualquer
estação que tenha algo a transmitir pode acessar o barramento. Uma mensagem, que está pendente para
transmissão durante a transmissão de outra mensagem, é iniciada no primeiro bit após a INTERMISSÃO.

A detecção de um bit 'dominante' no barramento é interpretada como START OF FRAME.

SUSPENDER A TRANSMISSÃO
Após uma estação de 'erro passivo' ter transmitido uma mensagem, ela envia oito bits 'recessivos' após a
INTERMISSÃO, antes de começar a transmitir uma mensagem adicional ou reconhecer o barramento como
inativo. Se, entretanto, uma transmissão (causada por outra estação) começar, a estação se tornará receptora
desta mensagem.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Conformidade Parte B - página 55

3.3 Conformidade com relação ao formato do quadro

O formato padrão é equivalente ao formato de quadro de dados/remoto, conforme descrito na especificação CAN
1.2. Em contraste, o formato estendido é um novo recurso do protocolo CAN. Para permitir o design de controladores
relativamente simples, a implementação do Formato Estendido em sua extensão total não é necessária (por
exemplo, enviar mensagens ou aceitar dados de mensagens no Formato Estendido), enquanto o Formato Padrão
deve ser suportado sem restrições.

Novos controladores são considerados em conformidade com esta Especificação CAN, se tiverem pelo menos as
seguintes propriedades com relação aos Formatos de Frame definidos em 3.1 e 3.2:

- Cada novo controlador suporta o formato padrão; - Todo novo


controlador pode receber mensagens do Formato Estendido. Isso requer que os Extended Frames não sejam
destruídos apenas por causa de seu formato. No entanto, não é necessário que o formato estendido seja
suportado por novos controladores.

3.4 Definição de TRANSMISSOR / RECEPTOR

TRANSMISSOR
Uma unidade que origina uma mensagem é denominada “TRANSMISSORA” dessa mensagem. A unidade
permanece TRANSMISSORA até que o barramento fique ocioso ou a unidade perca ARBITRAGEM.

RECEPTOR
Uma unidade é denominada “RECEPTORA” de uma mensagem, se não for EMISSORA dessa mensagem e o
barramento não estiver ocioso.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Filtragem de mensagens Parte B - página 56

4 FILTRAGEM DE MENSAGENS
A filtragem de mensagens é baseada em todo o identificador. Registradores de máscara opcionais que permitem que
qualquer bit identificador seja definido como 'não importa' para filtragem de mensagens, podem ser usados para
selecionar grupos de identificadores a serem mapeados nos buffers de recebimento anexados.

Se os registradores de máscara forem implementados, cada bit dos registradores de máscara deve ser programável,
ou seja, eles podem ser ativados ou desativados para filtragem de mensagens. O comprimento do registro de máscara
pode abranger todo o IDENTIFICADOR ou apenas parte dele.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Validação de mensagem Parte B - página 57

5 VALIDAÇÃO DA MENSAGEM

O ponto de tempo em que uma mensagem é considerada válida é diferente para o transmissor e para
os receptores da mensagem.

Transmissor:
A mensagem é válida para o transmissor, se não houver erro até o final de END OF FRAME. Se uma
mensagem for corrompida, a retransmissão seguirá automaticamente e de acordo com a priorização.
Para poder competir pelo acesso ao barramento com outras mensagens, a retransmissão deve
começar assim que o barramento estiver ocioso.

Receptores:
A mensagem é válida para os receptores, se não houver erro até o penúltimo bit de END OF FRAME.
O valor do último bit de END OF FRAME é tratado como 'não importa', um valor dominante não leva
a um ERRO DE FORMA (cf. seção 7.1).

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Codificação
Parte B - página 58

6 CODIFICAÇÃO

CODIFICAÇÃO DE FLUXO DE BIT

Os segmentos de quadro INÍCIO DO QUADRO, CAMPO DE ARBITRAGEM, CAMPO DE CONTROLE,


CAMPO DE DADOS e SEQUÊNCIA CRC são codificados pelo método de preenchimento de bits. Sempre
que um transmissor detecta cinco bits consecutivos de valor idêntico no fluxo de bits a ser transmitido, ele
insere automaticamente um bit complementar no fluxo de bits transmitido real.

Os campos de bits restantes do DATA FRAME ou REMOTE FRAME (CRC DELIMITER, ACK FIELD e END
OF FRAME) são de forma fixa e não preenchidos. O ERROR FRAME e o OVERLOAD FRAME também
são de forma fixa e não codificados pelo método de preenchimento de bits.

O fluxo de bits em uma mensagem é codificado de acordo com o método Non-Return-to-Zero (NRZ). Isso
significa que durante o tempo total de bit, o nível de bit gerado é 'dominante' ou 'recessivo'.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Manipulação de erros Parte B - página 59

7 TRATAMENTO DE ERROS

7.1 Detecção de Erros

Existem 5 tipos de erros diferentes (que não são mutuamente exclusivos):

• BIT ERROR Uma


unidade que está enviando um bit no barramento também monitora o barramento. Um ERRO DE
BIT deve ser detectado naquele tempo de bit, quando o valor do bit monitorado é diferente do valor
do bit enviado. Uma exceção é o envio de um bit 'recessivo' durante o fluxo de bits recheados
do CAMPO DE ARBITRAGEM ou durante o ACK SLOT. Então nenhum ERRO DE BIT ocorre
quando um bit 'dominante' é monitorado. Um TRANSMISSOR enviando um PASSIVE ERROR
FLAG e detectando um bit 'dominante' não interpreta isso como um BIT ERROR.

• ERRO DE MATERIAL
Um STUFF ERROR deve ser detectado no tempo de bit do 6º nível de bit igual consecutivo em um
campo de mensagem que deve ser codificado pelo método de preenchimento de bit.
• CRC ERROR A
sequência CRC consiste no resultado do cálculo CRC pelo transmissor.
Os receptores calculam o CRC da mesma forma que o transmissor. Um ERRO CRC deve
ser detectado, se o resultado calculado não for o mesmo que o recebido na sequência CRC.

• ERRO DE FORMULÁRIO
Um ERRO DE FORMA deve ser detectado quando um campo de bit de forma fixa contém um
ou mais bits ilegais. (Observe que, para um Receptor, um bit dominante durante o último bit de END
OR FRAME não é tratado como FORM ERROR).
• ERRO DE RECONHECIMENTO
Um ACKNOWLEDGMENT ERROR deve ser detectado por um transmissor sempre que ele não
monitorar um bit 'dominante' durante o ACK SLOT.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Manipulação de erros


Parte B - página 60

7.2 Sinalização de Erro

Uma estação detectando uma condição de erro sinaliza isso transmitindo um ERROR FLAG. Para um
nó 'error active' é um ACTIVE ERROR FLAG, para um nó 'error passive' é um PASSIVE ERROR FLAG.
Sempre que um BIT ERROR, um STUFF ERROR, um FORM ERROR ou um ACKNOWLEDGMENT
ERROR é detectado por qualquer estação, a transmissão de um ERROR FLAG é iniciada na respectiva
estação no próximo bit.
Sempre que um CRC ERROR for detectado, a transmissão de um ERROR FLAG inicia no bit seguinte
ao ACK DELIMITER, a menos que um ERROR FLAG para outra condição já tenha sido iniciado.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Confinamento de falha


Parte B - página 61

8 CONFINAMENTO DE FALTA
Com relação ao confinamento de falta, uma unidade pode estar em um dos três estados:

• 'erro ativo'

• 'erro passivo'

• 'ônibus desligado'

Uma unidade 'error active' pode normalmente participar da comunicação de barramento e enviar um ACTIVE ERROR
FLAG quando um erro for detectado.
Uma unidade de 'erro passivo' não deve enviar um ACTIVE ERROR FLAG. Ele participa da comunicação do
barramento, mas quando um erro é detectado, apenas um PASSIVE ERROR FLAG é enviado. Também após uma
transmissão, uma unidade de 'erro passivo' aguardará antes de iniciar uma nova transmissão. (Veja SUSPENDER
TRANSMISSÃO)
Uma unidade 'bus off' não pode ter nenhuma influência no barramento. (Por exemplo, drivers de saída desligados.)

Para confinamento de falha, duas contagens são implementadas em cada unidade de barramento:

1) CONTAGEM DE ERROS DE TRANSMISSÃO


2) RECEBER CONTAGEM DE ERROS

Essas contagens são modificadas de acordo com as seguintes regras: (observe


que mais de uma regra pode ser aplicada durante uma determinada transferência de mensagem)

1. Quando um RECEIVER detecta um erro, o RECEIVE ERROR COUNT será aumentado em 1, exceto quando o
erro detectado for um BIT ERROR durante o envio de um ACTIVE ERROR FLAG ou OVERLOAD FLAG.

2. Quando um RECEPTOR detecta um bit 'dominante' como o primeiro bit após enviar um ERRO
FLAG o RECEIVE ERROR COUNT será aumentado em 8.

3. Quando um TRANSMISSOR envia um ERROR FLAG, o TRANSMIT ERROR COUNT


é aumentado em 8.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Confinamento de falha Parte B - página 62

Exceção 1: Se
o TRANSMISSOR for 'erro passivo' e detectar um ACKNOWLEDGMENT ERROR por não detectar
um ACK 'dominante' e não detectar um bit 'dominante' ao enviar seu PASSIVE ERROR FLAG.

Exceção 2: Se
a TRANSMISSORA enviar um ERROR FLAG porque ocorreu um STUFF ERROR durante a
ARBITRATION, e deveria ter sido 'recessivo', e foi enviado como 'recessivo' mas monitorado como
'dominante'.

Nas exceções 1 e 2 o TRANSMIT ERROR COUNT não é alterado.

4. Se um TRANSMISSOR detecta um BIT ERROR ao enviar um ACTIVE ERROR FLAG ou um


OVERLOAD FLAG, a TRANSMIT ERROR COUNT aumenta em 8.

5. Se um RECEPTOR detecta um BIT ERROR ao enviar um ACTIVE ERROR FLAG ou um OVERLOAD


FLAG, a RECEIVE ERROR COUNT aumenta em 8.

6. Qualquer nó tolera até 7 bits 'dominantes' consecutivos após o envio de um sinalizador de erro ativo,
sinalizador de erro passivo ou sinalizador de sobrecarga. Após detectar o 14º bit 'dominante'
consecutivo (no caso de um ACTIVE ERROR FLAG ou OVERLOAD FLAG) ou após detectar o 8º bit
'dominante' consecutivo após um PASSIVE ERROR FLAG, e após cada sequência de oito bits
'dominantes' consecutivos adicionais cada TRANSMISSOR aumenta sua CONTAGEM DE ERROS
DE TRANSMISSÃO em 8 e cada RECEPTOR aumenta sua CONTAGEM DE ERROS DE
RECEBIMENTO em 8.

7. Após a transmissão bem-sucedida de uma mensagem (obtendo ACK e nenhum erro até que END OF
FRAME seja concluído), o TRANSMIT ERROR COUNT é reduzido em 1, a menos que já seja 0.

8. Após a recepção bem-sucedida de uma mensagem (recepção sem erro até o ACK SLOT e envio bem-
sucedido do bit ACK), o RECEIVE ERROR COUNT é diminuído em 1, se estiver entre 1 e 127. Se o
RECEIVE ERROR COUNT era 0, permanece 0 e, se for maior que 127, será definido para um valor
entre 119 e 127.

9. Um nó é 'erro passivo' quando o TRANSMIT ERROR COUNT é igual ou superior a 128, ou quando o
RECEIVE ERROR COUNT é igual ou superior a 128. Uma condição de erro que permite que um nó
se torne 'erro passivo' faz com que o nó envie um ACTIVE ERROR FLAG .

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Confinamento de falha Parte B - página 63

10. Um nó está com 'bus off' quando a CONTAGEM DE ERROS DE TRANSMISSÃO é maior ou igual a
256.

11. Um nó de 'erro passivo' torna-se 'erro ativo' novamente quando tanto o TRANSMIT ERROR COUNT
quanto o RECEIVE ERROR COUNT são menores ou iguais a 127.

12. Um nó que está 'bus off' tem permissão para se tornar 'error active' (não mais 'bus off') com seus
contadores de erro ambos definidos como 0 após 128 ocorrências de 11 bits 'recessivos' consecutivos
terem sido monitorados no barramento .

Nota:
Um valor de contagem de erros maior que cerca de 96 indica um barramento fortemente perturbado. Pode
ser vantajoso fornecer meios para testar esta condição.

Nota:
Start-up / Wake-up: Se
durante o start-up apenas 1 nodo estiver online, e se este nodo transmitir alguma mensagem, ele não
receberá reconhecimento, detectará um erro e repetirá a mensagem. Ele pode se tornar 'erro passivo',
mas não 'desligado' devido a esse motivo.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH tolerância do oscilador Parte B - página 64

9 TOLERÂNCIA DO OSCILADOR
Uma tolerância máxima do oscilador de 1,58% é fornecida e, portanto, o uso de um ressonador cerâmico em uma
velocidade de barramento de até 125 Kbits/s como regra geral; para uma avaliação mais precisa, consulte

Dias, S; Chapman, M;
“Impacto da representação de bits na capacidade de transporte e no relógio
Precisão em fluxos de dados seriais”,
Documento Técnico SAE Série 890532, Multiplexação em Automóveis SP-773
março de 1989

Para toda a faixa de velocidade de barramento do protocolo CAN, é necessário um oscilador de quartzo.

O chip da rede CAN com o maior requisito para a precisão do oscilador determina a precisão do oscilador exigida
de todos os outros nós.

Nota:
Os controladores Can que seguem esta Especificação CAN e os controladores que seguem as versões anteriores
1.0 e 1.1, usados em uma e na mesma rede, devem estar todos equipados com um oscilador de quartzo. Isso
significa que os ressonadores cerâmicos só podem ser usados em uma rede com todos os nós da rede seguindo a
especificação do protocolo CAN versões 1.2 ou posterior.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Sincronização de bits


Parte B - página 65

REQUISITOS DE TEMPO DE 10 BIT

TAXA DE BIT NOMINAL A


Taxa de Bit Nominal é o número de bits por segundo transmitidos na ausência de ressincronização por um transmissor ideal.

TEMPO DE BIT NOMINAL

TEMPO DE BIT NOMINAL = 1 / TAXA DE BIT NOMINAL

O tempo de bit nominal pode ser pensado como sendo dividido em segmentos de tempo separados e não sobrepostos.
Esses segmentos

- SEGMENTO DE SINCRONIZAÇÃO (SYNC_SEG)


- SEGMENTO DE TEMPO DE PROPAGAÇÃO (PROP_SEG)
- SEGMENTO DE TAMPÃO DE FASE1 (FASE_SEG1)
- FASE BUFFER SEGMENT2 (PHASE_SEG2)

forme o tempo de bit conforme mostrado na figura 1.

TEMPO DE BIT NOMINAL

SYNC_SEG PROP_SEG PHASE_SEG1 PHASE_SEG2

Ponto de amostragem

Fig. 1 Partição do Tempo de Bit

SYNC SEG
Esta parte do tempo de bit é usada para sincronizar os vários nós no barramento. Espera-se que uma aresta esteja neste
segmento.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Sincronização de bits


Parte B - página 66

PROP SEG
Esta parte do tempo de bit é usada para compensar os tempos de atraso físicos dentro da rede. É o dobro da soma
do tempo de propagação do sinal na linha de barramento, o atraso do comparador de entrada e o atraso do driver de
saída.

PHASE SEG1, PHASE SEG2 Esses


segmentos de buffer de fase são usados para compensar erros de fase de borda. Esses segmentos podem ser
alongados ou encurtados por ressincronização.

SAMPLE POINT O
SAMPLE POINT é o ponto no tempo em que o nível do barramento é lido e interpretado como o valor do respectivo
bit. Sua localização é no final de PHASE_SEG1.

TEMPO DE PROCESSAMENTO DA
INFORMAÇÃO O TEMPO DE PROCESSAMENTO DA INFORMAÇÃO é o segmento de tempo que começa com o
PONTO DE AMOSTRA reservado para o cálculo do nível de bit subsequente.

TIME QUANTUM O
TIME QUANTUM é uma unidade fixa de tempo derivada do período do oscilador. Existe um prescaler programável,
com valores integrais, variando no mínimo de 1 a 32.
Começando com o QUANTUM DE TEMPO MÍNIMO, o QUANTUM DE TEMPO pode ter um comprimento de

*
TEMPO QUANTUM = m QUANTUM DE TEMPO MÍNIMO

com m o valor do prescaler.

Duração dos segmentos de tempo

• SYNC_SEG tem 1 TIME QUANTUM de comprimento.

• PROP_SEG é programável para ter 1,2,...,8 TIME QUANTA de comprimento.

• PHASE_SEG1 é programável para ter 1,2,...,8 TIME QUANTA de comprimento.

• PHASE_SEG2 é o máximo de PHASE_SEG1 e as INFORMAÇÕES


TEMPO DE PROCESSAMENTO

• O TEMPO DE PROCESSAMENTO DA INFORMAÇÃO é menor ou igual a 2 TIME QUANTA


longo.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Sincronização de bits


Parte B - página 67

O número total de TIME QUANTA em um tempo de bit deve ser programável no mínimo de 8 a 25.

Nota:
Muitas vezes, pretende-se que as unidades de controle não façam uso de diferentes osciladores para a CPU local e seu
dispositivo de comunicação. Portanto, a frequência do oscilador de um dispositivo CAN tende a ser a da CPU local e é
determinada pelos requisitos da unidade de controle. Para derivar a taxa de bits desejada, a programação do bittiming é
necessária.
No caso de implementações CAN projetadas para uso sem uma CPU local, o bittiming não pode ser programável. Por outro
lado, esses dispositivos permitem escolher um oscilador externo de forma que o dispositivo seja ajustado à taxa de bits
apropriada para que a programabilidade seja dispensável para tais componentes.

A posição do ponto amostral, entretanto, deve ser selecionada em comum para todos os nós.
Portanto, o tempo de bit dos dispositivos SLIO deve ser compatível com a seguinte definição de tempo de bit:

Sincronizar Suporte Tampão de Fase Seg. 1 Tampão de Fase Seg. 2


Seg Seg
1 vez 1 vez 4 Quanta de Tempo 4 Quanta de Tempo
quântico quântico

1 bit de tempo
10 Quanta de Tempo

HARD SYNCHRONIZATION Após uma


HARD SYNCHRONIZATION o tempo de bit interno é reiniciado com SYNC_SEG.
Assim, HARD SYNCHRONIZATION força a borda que causou a HARD SYNCHRONIZATION a ficar dentro do SEGMENTO
DE SINCRONIZAÇÃO do tempo de bit reiniciado.

LARGURA DO SALTO DE RESSINCRONIZAÇÃO


Como resultado da RESSINCRONIZAÇÃO, a PHASE_SEG1 pode ser alongada ou a PHASE_SEG2 pode ser encurtada. A
quantidade de alongamento ou encurtamento dos SEGMENTOS DE BUFFER DE FASE tem um limite superior dado pela
LARGURA DO SALTO DE RESSINCRONIZAÇÃO. A LARGURA DO SALTO DE RESSINCRONIZAÇÃO deve ser
programável entre 1 e min(4, PHASE_SEG1).

As informações de clock podem ser derivadas de transições de um valor de bit para o outro.
A propriedade de apenas um número máximo fixo de bits sucessivos ter o mesmo valor fornece a possibilidade de
ressincronizar uma unidade de barramento para o fluxo de bits durante um quadro. O comprimento máximo entre duas
transições que podem ser usadas para ressincronização é de 29 tempos de bit.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

setembro de 1991

BOSCH Sincronização de bits


Parte B - página 68

ERRO DE FASE de uma aresta


O ERRO DE FASE de uma aresta é dado pela posição da aresta relativa a SYNC_SEG, medida em TIME
QUANTA. O sinal de ERRO DE FASE é definido da seguinte forma:

• e = 0 se a aresta estiver dentro de SYNC_SEG.

• e > 0 se a aresta estiver antes do PONTO DE AMOSTRA.

• e < 0 se a borda estiver após o SAMPLE POINT do bit anterior.

RESSINCRONIZAÇÃO O
efeito de uma RESSINCRONIZAÇÃO é o mesmo de uma HARD SINCRONIZAÇÃO, quando a magnitude
do ERRO DE FASE da borda que causa a RESSINCRONIZAÇÃO for menor ou igual ao valor programado
para a LARGURA DO SALTO DE RESSINCRONIZAÇÃO. Quando a magnitude do ERRO DE FASE for
maior que a LARGURA DO SALTO DE RESSINCRONIZAÇÃO,

• e se o PHASE ERROR for positivo, então PHASE_SEG1 é alongado por um


quantidade igual à LARGURA DO SALTO DE RESSINCRONIZAÇÃO.

• e se o PHASE ERROR for negativo, então PHASE_SEG2 é encurtado por um


quantidade igual à LARGURA DO SALTO DE RESSINCRONIZAÇÃO.

REGRAS DE SINCRONIZAÇÃO
SINCRONIZAÇÃO HARD e RESSINCRONIZAÇÃO são as duas formas de SINCRONIZAÇÃO. Eles
obedecem as seguintes regras:

1. Apenas uma SINCRONIZAÇÃO dentro de um tempo de bit é permitida.

2. Uma borda será usada para SINCRONIZAÇÃO somente se o valor detectado no PONTO DE AMOSTRA
anterior (valor do barramento lido anterior) diferir do valor do barramento imediatamente após a borda.

3. HARD SINCRONIZAÇÃO é executada sempre que há uma borda 'recessiva' para 'dominante' durante
BUS IDLE.

4. Todas as outras arestas 'recessivas' para 'dominantes' que cumpram as regras 1 e 2 serão usadas para
RESSINCRONIZAÇÃO, com exceção de que um nó transmitindo um bit dominante não executará uma
RESSINCRONIZAÇÃO como resultado de um 'recessivo' para 'dominante' borda com um ERRO DE
FASE positivo, se apenas bordas 'recessivas' para 'dominantes' forem usadas para ressincronização.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

Diferenças da Especificação CAN setembro de 1991

BOSCH Versões 1.2 e 2.0 -1-

Diferenças

A alteração da Especificação CAN 1.2 foi incluída na parte B desta Especificação.


As respectivas alterações estão assinaladas com um asterisco.

página B-25 e página B-62:


Alteração da regra de confinamento de falta 6

página B-34 a B-37: A


arquitetura em camadas do CAN foi descrita por diferentes camadas de acordo com o Modelo de
Referência ISO/OSI.

página B-41:*
Nota para a tolerância do oscilador incluída

página B-43:
A numeração dos bits do identificador foi alterada.

página B-51:*
De acordo com a tolerância do oscilador, foi introduzida uma terceira condição para a geração de um quadro
de sobrecarga.

página B-52:*
Uma nota foi adicionada porque a interpretação da última parte do intervalo foi alterada.

página B-54:*
Uma nota foi introduzida devido a outra interpretação de Start of Frame.

página B-55:
Seção 3.3 “Conformidade com relação aos formatos de quadro”.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30


Machine Translated by Google

Diferenças da Especificação CAN setembro de 1991

BOSCH Versões 1.2 e 2.0 -2-

página B-56:
Capítulo 4 “Filtragem de Mensagens” foi introduzido recentemente.

página B-64:*
Observe a compatibilidade do protocolo modificado de acordo com as tolerâncias do oscilador.

página B-67:
Nota para o bittiming de implementações para ECUs sem CPU local.

ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30

You might also like