também há dois padrões para a camada de link de dados:
- ISO 11898 Compartilhar um → pode 2.0 um “formato de quadro padrão” ( Identificação de 11 bits);
- ISO 11898 Parte B → CAN 2.0B “Formato de quadro estendido” (identificação em 29 bits).
Existem vários tipos de quadro :
- quadro de dados “
- Quadro de consulta;
- quadro de erro;
- quadro de sobrecarga.
entre os transmissores deve respeitar uma pausa (período inter-quadro) equivalente à duração de três bits durante os quais o barramento é mantido no estado recessivo.
DatabaseModificar
O quadro de dados é usado para enviar informações para outros nós.
Um quadro de dados consiste em sete campos diferentes:
- o início do quadro ou SOF (início do quadro) materializado por 1 bit dominante;
- o campo de arbitragem (identificador) composto por 12 ou 32 bits;
- o campo de controle (ou controle) composto por 6 bits;
- o campo CRC consistindo de 16 bits;
- o campo de confirmação consistindo de 2 bits;
- o final do quadro ou eof (fim do quadro) materializado por 7 bits recessivos.
ordem de transmissão de bitsmodificador
Os campos são transmitidos na ordem do SOF no EOF.
em cada campo do quadro, os bits são transmitidos do mais alto para o menor.
campo de arbitragem.
O campo de arbitragem é composto por 11 bits de identificação para CAN 2.0A e 29 bits para Pode 2.0b seguido pelo rtr (transmissão de solicitação remota), que é dominante. Este campo serve como um identificador para os dados transportados no campo de dados.
Os 11 bits de CAN 2.0A permitem 211 = 2.048 combinações.
Os 29 bits de CAN 2.0 B permitem 229 = 536 870 912 combinações.
Field de comando
O campo de controle é composto por seis bits.
O bit de peso forte é usado para diferenciar o tipo de Quadro:
- No caso de um quadro padrão (em 11 bits), o forte bit de peso é dominante;
- no caso de um extenso quadro (em 29 bits ), o forte bit de peso é recessivo.
O bit a seguir não é usado.
Os quatro bits de peso baixo chamado DLC (código de comprimento de dados) representam o número de bytes do campo de dados on-board (Payload).
Este número de bytes pode variar de 0 a 8 ou nove valores armazenados com os quatro bits do campo DLC. Os valores DLC maiores que 9 não seriam usados (de 9 a 15).
Data FieldModificador
O campo de dados pode variar de 0 a 8 bytes.
No caso de uma estrutura de consulta, o campo de dados está vazio.
CRCModier Field
O campo é composto por quinze bits CRC (verificação de redundância cíclica) e um bit diz delimitador (“Delimitador CRC”) sempre recessivo.
O CRC é calculado a partir de todos os campos transmitidos até então (ou seja, SOF, o campo de arbitragem, o campo de controle e o campo de dados; os bits de transparência não são levados em conta). A assembléia constitui o polinômio f (x). O algoritmo consiste na primeira vez para multiplicar f (x) por 215.
então o polinomial f (x) é dividido (Modulo 2) pelo polinomial g (x) = x15 + x14 + x4 + x8 + x0 + x4 + x3 + x0.
Uma vez que as divisões forem bem-sucedidas, o resto é a sequência CRC.
a distância do algoritmo usado é 6, o que significa que cinco erros máximos são detectáveis.
Graças a este sistema de detecção, a taxa de erro registrada é muito baixa (menos de 4,6 × 10-11). Além disso, a rede é capaz de diferenciar erros pontuais com erros redundantes. Assim, qualquer dispositivo de falha pode ser desconectado da rede para limitar os distúrbios. A rede entra no modo “Gradiente”.
campo de confirmação do AckModifier
O campo é composto por um bit de confirmação ACK (reconhecimento) e um bit disse delimitador (“reconhecimento delimitit”) Sempre recessivo.
Todos os receptores que receberam a mensagem devem pagá-lo emitindo um bit dominante para a duração do Bit AK, que permite que o nó emissor saiba que pelo menos um dos nós receptores recebeu o mensagem.
Se um nó do receptor não tiver recebido ou mal a mensagem, não poderá usar este mecanismo para sinalizar o erro, já que “é suficiente para uma estação de recepção enviar um bit dominante para ocultar todo o bits recessivos. Para sinalizar a disfunção, deve emitir um quadro de erro.
Quadro de consulta Moddur
O quadro de consulta é usado para solicitar um dado para outro nó.É semelhante ao quadro de dados, exceto:
- O campo de dados está vazio;
- o bit rtr do campo de arbitragem é recessivo;
- o Quatro bits DLC do campo de comando correspondem ao número de bytes esperados na resposta.
Observe que o fato de que o ITR é recessivo no caso de um quadro de solicitação significa que, se um O quadro de dados é emitido simultaneamente com o mesmo campo de arbitragem, é o quadro de dados que é uma prioridade.
Bit de codificador transparente
Para garantir a transmissão de mensagens, o “bit O método -stuffing “é usado.
Consiste, no caso em que cinco bits da mesma polaridade consecutiva, adicionam à continuação de uma polaridade contrária, para quebrar cadeias muito grandes de bits idênticos. Este método é aplicado apenas nos campos SOF, arbitragem, controle, dados e CRC (delimitador excluído).
Por exemplo, “1111 1110” se tornará “1111 1011 0”.
Transmissão PriorityModificar
O que acontece se vários nós tentarem transmitir simultaneamente?
Existe um procedimento de acesso ao barramento para o qual cada nó deve enviar:
- Ao transmitir um pouco, o nó deve ficar no ônibus. Disse, após o envio de um pouco, ele lê o barramento e verifica se o bit de leitura corresponde a isso transmitido;
- se houver uma diferença (necessariamente em um bit recessivo) é que outro nó esmagado por um bit dominante;
- O nó deve interromper sua transmissão, monitorar o barramento para aguardar o final da transmissão, tente novamente enviar sua mensagem.
Uma prioridade é realizada graças ao campo de arbitragem.
Quanto mais é pequeno, mais ele contém fortes bits de peso em 0 (dominante), mais será uma prioridade.
Esta priorização ou fase de arbitragem termina a OIT RTR.
Error FrameReader
Assim que você detectar um erro, o nó não aguarda o final do quadro incriminado, imediatamente Envia um quadro de erro para sinalizar um problema na transmissão.
Um quadro de erro consiste em dois campos diferentes:
- o sinalizador de erro que consiste em seis bits;
- o d Eliminador composto por oito bits recessivos.
O quadro de erro pode ser:
- “ativo” se o sinalizador de erro consistir em seis bits dominantes;
- “passivo” Se o sinalizador de erro for composto por seis bits recessivos.
errorsModificador
Um número de erros é detectável pelos nós.
Erormode bit
Sempre que um nó emite um pouco no barramento, ele lê o barramento e deve encontrar o bit que ele escreveu. Se no envio de um bit recessivo, ele lê um bit dominante, foi alterado.
Este mecanismo é idêntico à que permite a priorização, por isso não deve ser levado em conta no campo da arbitragem.
IDEM para o campo de confirmação, se o bit recessivo enviado pelo nó do transmissor se tornar dominante, é simplesmente que um ou mais nós do receptor confirmaram a boa recepção do quadro, por isso não é um erro.
Coisas Erméster
Se no ônibus lemos seis bits da mesma polaridade consecutiva, o mecanismo do bit de transparência não foi respeitado ou que um pouco foi alterado.
CRC ErororDider
Se o valor CRC calculado pelo nó do receptor for diferente do CRC codificado no quadro pelo nó do transmissor, o quadro foi alterado.
CRC delimitermodier
Se o bit de “delimitador CRC” lido pelos nós receptores não for recessivo, o bit foi alterado.
reconhecer o erroordedificador
se O bit de ACK recessivo enviado pelo nó de transmissão não foi esmagado por um bit dominante, é que nenhum nó de recebimento recebeu.
reconhecer o delimitermodificador
Se o “reconhecimento delimitit” Leitura lida pelos nós do receptor não é recessiva, o bit foi alterado.
Erro RecoveryModificador
por construção, o quadro de erro quebra a regra de recheio de bits desde então, o que acontece Seis bits do sinalizador de erro são idênticos.
Quando um nó emite um quadro de erro, todos os outros nós detectam um erro. “Erro de material” e comece a enviar um quadro de erro também.
No caso de quadros de erro ativos, o número de bits dominantes em uma linha não deve exceder doze bits. Além disso, os nós que não emitiram seu quadro de erro não devem fazê-lo.
O último nó emissor fornece o delimitador (oito bits recessivos) e termina a cacofonia.
o nó tendo Emiti o quadro incriminado, em seguida, retressja sua sorte.
e assim por diante, até que o quadro passe ou um de seus contadores de erros para alterar o modo de erro no nó.
MetersModificador de erro
Cada nó tem dois contadores de erro:
- um contador de erro de transmissão ou “contador de erro de transmissão” (TEC);
- um contador de erros de recepção ou “Receber contador de erros” (rec).
Tecmodificador
O erro de transmissão do contador d ‘de um nó do transmissor é:
- incrementado por 8:
- se o nó enviar um sinalizador de erro, exceto:
- no caso de “confirmar erro” e está no modo de erro passivo,
- em caso de “Erro de material” durante o período de arbitragem,
- Se o nó receber sete bits dominantes consecutivos após um sinalizador de erro ou um sinalizador de sobrecarga; / li>
- se o nó enviar um sinalizador de erro, exceto:
- decrementado por 1 se a transmissão do nó ocorrer sem erro.
recmodif
o erro de recebimento Contador de um modo receptor é:
- incrementado por 1 se o nó detectar um erro de recepção, exceto em caso de E “Erro Bit” durante um sinalizador de erro ou um sinalizador de sobrecarga;
- incrementado por 8:
- Se o nó receber um bit dominante logo após um sinalizador de erro,
- Se o nó detectar um “erro de bit” durante um sinalizador de erro ou um sinalizador de sobrecarga,
- se o nó receba 7 bits dominantes consecutivos após um sinalizador de erro ou um sinalizador de sobrecarga,
- decrementado por 1 se for menor que 127 e o nó recebe um quadro sem erro;
- trazido entre 119 e 127, se fosse maior que 127 e o nó recebe um Quadro livre de erros.
ModesModificador de erro
Dependendo dos contadores de erros, o nó altera o modo de erro. Existem três:
- modo de erro activo: no caso em que o TEC e REC são inferiores a 127. O nó emite quadros de erro ativos;
- modo de erro passivo: em O caso em que o TEC ou o REC é maior / igual a 128 e menos de 255. O nó emite quadros de erro passivos;
- “barramento desligado”: no caso em que o TEC ou o REC é maior que 255. nó desconecta do barramento. Para sair deste modo, o nó deve receber 128 moinhos de 11 bits recessivos.
Codificador de quadro de sobrecarga
O quadro de sobrecarga pode ser usado em dois casos:
- quando o nó solicita um atraso com o recebimento de um novo quadro;
- Quando o nó detectar um bit dominante por um período de intermaro (três bits recessivos entre os quadros) .
Um quadro de sobrecarga consiste em dois campos diferentes:
- o sinalizador de sobrecarga que consiste em seis bits dominantes;
- o delimitador consistindo de oito bits recessivos.
O quadro de sobrecarga é semelhante a um quadro de erro ativo.
Quando um nó emite um quadro de sobrecarga para solicitar um atraso (condição nº 1 ), esmaga os três bits recessivos do período inter-quadro, os outros nós detectam a sobrecarga, e eles emitem encaixes de sobrecarga (condição nº 2).
apenas como para quadros de erro ativos , EU O número de bits dominantes em uma linha não deve exceder doze bits. Além disso, os nós que não emitiram seu quadro de sobrecarga não devem fazê-lo.
O último nó emissor fornece o delimitador (oito bits recessivos) e termina a cacofonia.