html Inserção de bits no CAN clássico e decodificação no receptor - FCTELE
                                   +8618758069661 [email protected]
Pesquisa de produtos Guia: espaço = E, | = OU, ! = NÃO

Por que o CAN clássico insere bits de preenchimento e como os receptores os removem

Tem alguma dúvida? Ligue para nós hoje!

+8618758069661

Ou deixe-nos uma mensagem

Mensagem on-line

Por que o CAN clássico insere bits de preenchimento e como os receptores os removem

Visualizações: 32 +32Original de FCTELEAutor: Equipe Técnica da FCTELE

INSERÇÃO DE BITS NO CAN CLÁSSICO

Como o receptor separa os dados úteis dos bits de preenchimento

Na região sujeita à inserção de bits, o transmissor insere um bit de valor oposto após cinco bits consecutivos de mesmo valor no barramento. O receptor verifica e remove esse bit antes de interpretar os campos. Comece localizando o limite do quadro e, em seguida, compare o sinal capturado no barramento com o quadro decodificado.

01

Inserir

The transmitter inserts an opposite bit after five equal wire bits.0 0 0 0 0Stuff 1

O transmissor insere um bit de valor oposto após cinco bits consecutivos de mesmo valor no barramento.

02

Localizar o limite

The receiver stops applying dynamic stuffing after the CRC sequence.SOF → CRC bitsFixed form

O receptor deixa de aplicar a regra de inserção dinâmica após a sequência CRC.

03

Medir nas duas extremidades

Compare the same test frame on the two copper segments.ABCAN fiber link

Compare o mesmo quadro de teste nos dois segmentos de cobre.

01 Confirmar o formato

Confirme que se trata de CAN clássico e identifique o tipo de quadro e a taxa nominal de bits.

02 Localizar o campo

Verifique se a sequência de bits iguais está na região sujeita à inserção de bits.

03 Alinhar as observações

Correlacione as transições do sinal bruto com o quadro exibido pelo analisador e com os erros do controlador.

Lista de verificação da captura — expandir
Verificação O que confirmar Como verificar
Bits no barramento Sequência de estados iguais Conte a partir do início da região aplicável
Limite do campo Fim da sequência CRC Identifique o delimitador, o ACK e o EOF
Extensão por fibra Ponto de observação Alinhe as capturas dos dois segmentos de cobre

Depois de gravar dados CAN em um controlador, você pode observar no osciloscópio mais bits do que a soma dos campos lógicos do quadro sugere. Esses bits extras resultam da inserção de bits, também chamada de bit stuffing. Na região aplicável de um quadro CAN clássico, o transmissor insere um bit de valor oposto após cinco bits consecutivos de mesmo valor. O receptor identifica e remove esse bit usando a mesma regra e, em seguida, interpreta os campos originais. Esse processo ajuda os receptores a corrigir a temporização dos bits e explica por que mensagens de mesmo comprimento podem ocupar o barramento por tempos diferentes.

Um sinal constante ainda transporta bits

Em um barramento CAN de alta velocidade em cobre, o transceptor converte os bits do controlador em estados diferenciais entre CAN_H e CAN_L. Um bit dominante representa o valor lógico 0 e um bit recessivo representa o valor lógico 1. Quando um nó impõe o estado dominante, ele pode sobrepor-se aos estados recessivos transmitidos por outros nós. Mesmo que o estado elétrico permaneça constante, o controlador receptor determina o valor do bit no ponto de amostragem de cada intervalo de bit. Um patamar dominante pode conter vários zeros, cada um ocupando um intervalo de bit.

Cada nó tem seu próprio oscilador. A duração nominal do bit pode ser configurada com o mesmo valor em todos os nós, embora na prática persistam pequenos desvios. O receptor alinha sua temporização no início do quadro e usa as bordas que atendem às condições de sincronização para corrigir a fase dentro do quadro. Quando não há uma borda adequada por um período prolongado, aumenta a defasagem entre a amostragem do receptor e os limites dos bits do transmissor. A inserção de bits cria transições em sequências longas de bits iguais, oferecendo oportunidades de sincronização. A amostragem correta também depende do atraso de propagação, da configuração do ponto de amostragem e da qualidade do sinal.

CAN_H e CAN_L divergem durante cinco bits 0 dominantes e convergem no bit 1 recessivo inserido
Figura 1. A coluna laranja representa o bit 1 recessivo inserido. As linhas permanecem nesse estado lógico durante o bit 1 original que vem em seguida. O receptor remove apenas o bit laranja. Forma de onda esquemática original, não obtida por medição. A ilustração do instrumento foi criada com auxílio de IA.

O transmissor conta os bits já enviados no barramento

Considere uma sequência simplificada na região sujeita à inserção dinâmica de bits, com o contador da sequência inicialmente em zero. A sequência lógica prevê cinco zeros seguidos de um bit de valor 1. Após enviar o quinto zero, o transmissor insere um bit de valor 1 e depois envia o bit de valor 1 original. O barramento transporta cinco zeros, um bit de preenchimento de valor 1 e o bit de valor 1 original. A inserção pode ocorrer dentro de um byte ou logo após o fim de um campo. O controlador acompanha um fluxo contínuo de bits e mantém a contagem ao passar de um byte para outro.

O próprio bit inserido faz parte da sequência transmitida e inicia uma nova contagem de bits iguais. Suponha que a sequência original preveja quatro bits de valor 1 após os cinco zeros. Esses quatro bits e o bit de valor 1 inserido formam cinco bits consecutivos de valor 1, de modo que o transmissor insere então um zero. A regra não se resume a uma inserção a cada cinco bits originais. Os campos vizinhos e os bits inseridos anteriormente afetam o momento da próxima inserção.

Após cinco bits idênticos, o receptor espera que o próximo bit tenha o estado oposto. Ao amostrar o valor esperado, ele reconhece o bit de preenchimento e atualiza o estado da contagem da sequência recebida, sem usar esse bit na interpretação dos campos. O bit de valor 1 original que vem a seguir é mantido. Os dois bits de valor 1 podem aparecer como um único patamar contínuo no barramento. O receptor distingue a função de cada um pela posição e pelo histórico da sequência.

Quadro de dados CAN clássico: inserção dinâmica de bits do SOF até o fim da sequência CRC, seguida por campos de formato fixo
Figura 2. Os campos são mostrados na ordem de transmissão. A inserção dinâmica de bits inclui a sequência CRC. O delimitador CRC, o ACK e o EOF têm formato fixo. Sete bits recessivos são válidos no EOF. As larguras dos campos não estão em escala.

Onde termina a contagem de bits consecutivos

A inserção dinâmica de bits também se aplica aos campos sujeitos a essa regra em um quadro remoto do CAN clássico. Seu DLC pode indicar o comprimento dos dados solicitados, mas o quadro não tem campo de dados. Ao verificar uma captura manualmente, identifique o tipo de quadro antes de localizar a sequência CRC. Interpretar o DLC do quadro remoto como a quantidade de bytes de dados que vêm a seguir deslocaria todos os limites subsequentes.

Em um quadro de dados do CAN clássico, a inserção dinâmica de bits começa no início do quadro, abrange os campos de arbitragem, controle e dados e vai até o fim da sequência CRC. O receptor acompanha o comprimento dos campos ao processar essa região. Os bits de preenchimento aumentam o tempo de ocupação do barramento. O código de comprimento dos dados, ou DLC, mantém seu significado original. A estrutura lógica dos campos pode diferir das divisões de tempo observadas no osciloscópio.

Após a sequência CRC, o delimitador CRC, o campo ACK e o fim do quadro seguem regras próprias. A contagem anterior para a inserção dinâmica de bits deixa de valer. Por exemplo, o fim de um quadro CAN clássico contém sete bits recessivos consecutivos. Essa sequência, por si só, não indica um erro de inserção de bits. Localize o limite do quadro e eventuais sinalizadores de erro antes de determinar em que região está o patamar.

O transmissor calcula a sequência CRC do CAN clássico com base nos bits lógicos sem preenchimento, do início do quadro até o fim do campo de dados. Em seguida, inclui a sequência CRC na região sujeita à inserção de bits durante a transmissão. O receptor remove os bits de preenchimento dinâmico e realiza a verificação CRC correspondente. Os bits adicionais da codificação e a verificação da integridade dos campos, portanto, têm finalidades distintas. O CAN FD usa regras diferentes em seu campo CRC. Verifique o formato do quadro e a configuração do controlador em relação à especificação aplicável.

Dados de mesmo comprimento podem ocupar o barramento por tempos diferentes

Separe o tempo de transmissão do quadro do tempo que a mensagem passa esperando para ser transmitida. A inserção de bits afeta o tempo que o próprio quadro ocupa no barramento. O atraso de arbitragem depende do que os outros nós estão transmitindo naquele momento. Para uma mensagem periódica, registre o intervalo entre bits de início de quadros sucessivos separadamente da duração entre o início e o fim de um único quadro. Variações nessas duas medições apontam para causas diferentes.

Considere dois quadros de dados do CAN clássico transmitidos com sucesso e com a mesma quantidade de bytes de dados. Seus identificadores ou padrões de dados podem ser diferentes. Um quadro pode conter várias sequências longas de bits iguais, enquanto no outro zeros e uns se alternam com frequência. O primeiro pode exigir mais bits de preenchimento, e os valores específicos da sequência CRC também influenciam a contagem. Para a mesma taxa nominal de bits, cada bit de preenchimento acrescenta um intervalo de bit. Para estimar a carga do barramento, use o comprimento do quadro observado no barramento ou uma estimativa conservadora desse comprimento.

Um analisador de protocolo normalmente exibe o identificador, o DLC e os dados recuperados na visualização decodificada. Para verificar a ocupação do barramento, defina onde a medição começa e termina. O tempo de transmissão de um quadro, a espera desde a entrada na fila até a arbitragem bem-sucedida e o tempo gasto com retransmissões após um erro são grandezas distintas. Documentar esses limites permite distinguir o aumento do comprimento do quadro do atraso causado pela disputa pelo barramento.

Localize a região em que aparece o erro de inserção de bits

Em um campo sujeito à inserção dinâmica de bits, o receptor indica um erro de inserção se amostrar um sexto bit de mesmo valor na posição em que deveria aparecer um bit de valor oposto. Um patamar longo pode resultar de um comportamento anormal no lado transmissor, da configuração local do ponto de amostragem, da taxa de bits ou de distorção do sinal. Se um nó no estado de erro ativo enviar um sinalizador de erro ativo, os outros nós poderão então observar uma sequência longa de bits dominantes que viola a regra. Portanto, um erro de inserção de bits em um registro pode ser consequência de um erro anterior.

Registre os tipos de erro, o primeiro evento e qualquer forma de onda disponível. Um erro de CRC indica uma divergência entre o cálculo do receptor e a sequência CRC recebida. Um erro de formato envolve um campo com formato predefinido. Um erro de ACK significa que o transmissor não detectou a confirmação dominante esperada no intervalo de ACK. Esses erros podem ocorrer em sequência no mesmo incidente. Ordenar os eventos cronologicamente e verificar o campo afetado ajuda a delimitar a investigação.

Duas unidades CAN para fibra óptica interligadas por um enlace óptico, com pontos de teste A e B nos dois segmentos de cobre
Figura 3. Capture o mesmo quadro de teste em A e B e, em seguida, alinhe os quadros e as marcas de tempo dos erros. As conexões são representadas de forma esquemática. Consulte a documentação do modelo para obter informações sobre as portas ópticas e o cabeamento. A ilustração do dispositivo foi criada com auxílio de IA.

Verifique cada segmento de cobre e a função de cada dispositivo ao estender o CAN por fibra óptica

A documentação da FCTELE para seu modem CAN por fibra óptica de oito canais, para montagem em trilho DIN, indica repetição de sinais CAN para fibra e operação ponto a ponto. Em um teste de engenharia, liste os segmentos CAN em cobre, a fibra e os dispositivos das extremidades como pontos de observação distintos. Confira o formato do quadro, a taxa de bits, a terminação e o cabeamento com base na documentação dos dispositivos utilizados. Em seguida, use uma mensagem conhecida em uma configuração de teste isolada para verificar a recepção em cada extremidade. As figuras identificam os pontos de observação. Consulte a documentação do modelo em questão para determinar como ele transfere os sinais pela fibra.

Se o sinal e os quadros decodificados permanecerem estáveis no segmento de cobre do lado transmissor, mas houver erros intermitentes perto do receptor, compare o estado do sinal e os registros de tempo na outra extremidade. Verifique se a falha acompanha um cabo, um dispositivo de extremidade ou uma carga específica. Mantenha o período da mensagem e as demais condições documentados de forma rastreável e ajuste uma variável por vez. O registro final deve indicar se os campos foram recuperados corretamente, se os erros voltaram a ocorrer e se o tráfego real da aplicação voltou a fluir após a alteração do caminho. Isso permite distinguir o acréscimo normal de bits de preenchimento de falhas reais de transmissão.

Fontes e escopo

Bosch: detecção de erros em CAN e CAN FD · Microchip: inserção de bits e formato de quadro CAN · Unidade CAN por fibra óptica FCTEL de oito canais para trilho DIN (em chinês)

Traduzido do artigo técnico em chinês: Leia o artigo original em chinês.

Perguntas frequentes

Por que inserir um bit após cinco bits iguais?

O bit de valor oposto cria uma transição no barramento. As bordas que atendem às condições de sincronização podem ser usadas para ajustar a temporização dos bits, limitando a duração de uma sequência sem transições.

Os sete bits recessivos do EOF causam um erro de inserção de bits?

O EOF do CAN clássico tem formato fixo. Seus sete bits recessivos ficam fora da região sujeita à inserção dinâmica de bits.

Como rastrear um erro de inserção de bits em um enlace de fibra óptica?

Capture o mesmo quadro de teste nos dois segmentos de cobre, verifique a taxa de bits, a amostragem e a terminação, alinhe os registros de tempo dos erros do controlador e verifique como as unidades de fibra encaminham o tráfego.

Leitura complementar

Extensão de um barramento CAN por fibra óptica · Interfaces elétricas e arbitragem no CAN

Compartilhar este artigo