1. Visão geral do protocolo CAN
1.1 Origem e desenvolvimento do protocolo CAN
O protocolo CAN foi proposto pela primeira vez pela empresa alemã Bosch em 1983, com o objetivo de solucionar os problemas de comunicação em sistemas eletrônicos automotivos. Com o desenvolvimento da tecnologia, o protocolo CAN é gradualmente amplamente utilizado em controle industrial, equipamentos médicos, casas inteligentes e outros campos.
1.2 Características do protocolo CAN
O protocolo CAN possui as seguintes características:
- Controle-múltiplo: o protocolo CAN suporta a comunicação de vários nós ao mesmo tempo, o que melhora o tempo-real e a confiabilidade do sistema.
- Comunicação de transmissão: o protocolo CAN adota o método de transmissão para comunicação, todos os nós podem receber os dados enviados.
- Arbitragem não-destrutiva: quando dois ou mais nós enviam dados ao mesmo tempo, o protocolo CAN garante a transmissão correta dos dados por meio de um mecanismo de arbitragem.
- Detecção e tratamento de erros: O protocolo CAN possui funções de detecção e tratamento de erros, que podem detectar e tratar erros no processo de comunicação a tempo.
2. Componentes do quadro de mensagem CAN
O quadro de mensagem CAN é a unidade de transmissão de dados mais básica no protocolo CAN e seus componentes são os seguintes:
2.1 Bit inicial do quadro
O bit inicial do quadro é o primeiro bit do quadro da mensagem e é usado para identificar o início do quadro da mensagem.
2.2 Campo de Arbitragem
O campo de arbitragem é utilizado para priorizar os dados a serem enviados. No protocolo CAN, o comprimento do campo de arbitragem é de 11 ou 29 bits, correspondendo a frames padrão e estendidos, respectivamente. Quanto menor o valor do campo de arbitragem, maior será a prioridade.
2.3 Campo de Controle
O campo de controle consiste no bit de solicitação de transmissão remota (RTR) e no bit de extensão do identificador (IDE). O bit RTR é usado para identificar se o quadro de dados é um quadro remoto ou um quadro de dados, e o bit IDE é usado para identificar se o quadro é um quadro padrão ou um quadro estendido.
2.4 Campo de Dados
O campo de dados é usado para armazenar os dados reais transmitidos. O comprimento do campo de dados é de 0 a 8 bytes para quadros padrão e de 0 a 64 bytes para quadros estendidos.
2.5 Campo de Verificação
O campo checksum consiste na verificação de redundância cíclica (CRC) e no delimitador CRC, que é utilizado para detectar se há erro nos dados durante a transmissão, e no delimitador CRC, que identifica o final do checksum CRC.
2.6 Campo de Resposta
O campo de resposta consiste em um slot de resposta e um definidor de resposta. O slot de resposta é usado para receber uma resposta de um nó e o definidor de resposta identifica o final do campo de resposta.
2.7 Bit de fim do--quadro
O bit de fim-de-quadro é o último bit de um quadro de mensagem e é usado para identificar o fim do quadro de mensagem.
3. Funções da camada de enlace de dados
A camada de enlace de dados é a segunda camada do modelo de referência OSI, que é a principal responsável pela transmissão confiável de dados no topo da camada física. As funções da camada de enlace de dados incluem:
3.1 Sincronização de quadros
A sincronização de quadros é uma das funções básicas da camada de enlace de dados, que é usada para garantir que os nós de transmissão e recepção sejam capazes de identificar corretamente o início e o fim de um quadro de informação.
3.2 Controle de Erros
O controle de erros é outra função importante da camada de enlace de dados, incluindo detecção e correção de erros. O protocolo CAN usa verificação de redundância cíclica (CRC) para detecção de erros para garantir a integridade dos dados.
3.3 Controle de Fluxo
O controle de fluxo é usado para evitar que um nó transmissor envie dados muito rapidamente para um nó receptor processar. A camada de enlace de dados garante uma transmissão confiável de dados, controlando a taxa de envio dos dados.
3.4 Controle de Acesso
O controle de acesso é outra função importante da camada de enlace de dados usada para coordenar a comunicação entre vários nós. No protocolo CAN, o controle de acesso é realizado por meio de um mecanismo de arbitragem não-destrutivo para garantir a transmissão correta dos dados.
4. Aplicação de quadros de mensagens CAN na camada de enlace de dados
4.1 Sincronização de quadros
Nos quadros de mensagens CAN, o bit inicial e o bit final do quadro são usados para obter a sincronização do quadro. O nó transmissor identifica o início do quadro de mensagem enviando o bit inicial do quadro, e o nó receptor sincroniza o quadro detectando o bit inicial do quadro.
4.2 Controle de Erros
O CRC do campo checksum é usado para controle de erros no quadro de mensagem CAN. O nó transmissor gera um CRC baseado nos dados e o anexa ao campo de dados antes de enviar os dados. Depois de receber os dados, o nó receptor recalcula a soma de verificação CRC e compara-a com a soma de verificação CRC recebida para detectar qualquer erro nos dados.
4.3 Controle de Fluxo
No protocolo CAN, o controle de fluxo é realizado principalmente através de mecanismo de arbitragem. Quando dois ou mais nós enviam dados ao mesmo tempo, o protocolo CAN determina a prioridade através do mecanismo de arbitragem para garantir a transmissão confiável dos dados.
4.4 Controle de Acesso
No protocolo CAN, o controle de acesso é realizado principalmente por meio do mecanismo de arbitragem não-destrutivo. Quando dois ou mais nós enviam dados ao mesmo tempo, o protocolo CAN determina a prioridade dos dados enviados comparando o valor do campo de arbitragem. O nó com prioridade mais alta pode continuar a enviar dados, enquanto o nó com prioridade mais baixa precisa esperar até que o nó com prioridade mais alta termine de enviar dados.




