Uma mensagem contém sete campos de informação/dados distintos, que são (fig. 6.4):
Cada campo contém informação específica e diferenciada. Assim tem-se:
• CAMPO INICIAL = 1 bit = nível lógico baixo (dominante) (fig. 6.5): bit inicial que marca o início da mensagem. Após o tempo latente (não há uso do Bus), o bit inicial é usado para a sincronização dos diferentes nós da rede.
Fig. 6.5 – Campo inicial
• CAMPO DE ARBITRAGEM (fig. 6.6): Indica a prioridade da mensagem e é diferenciado para Mensagens de Dados de Formato Standard e Formato Estendido.
Fig. 6.6 – Campo de arbitragem
- Mensagem CAN – Formato Standard (12 bits) (fig. 6.7): contem 11 bits de Identificador (ID Base) e 1 bit RTR (Remote Transmission Request – Pedido de Transmissão Remota). Utilizado pela maioria dos fabricantes automóveis.
Fig. 6.7 – Formato Standard de uma mensagem
No Formato Standard, o Campo de Controlo inclui o Código de Comprimento de Dados (CCD), o bit IDE, que é dominante, tal como o r 0 (fig. 6.7).
O bit RTR é dominante em Mensagens de Dados, e recessivo em Mensagens Remotas.
A seguir ao ID Base vem o bit IDE (Identificador do tipo de mensagem Standard ou Estendida) e é transmitido como bit dominante (no Campo de Controlo);
- Mensagem CAN – Formato Estendido (32 bits) (fig. 6.8): contem 29 bits de Identificador (11 bits de ID Base e 18 bits de ID Estendido), 1 bit SRR (Pedido de Substituição Remota), 1 bit IDE e por fim 1 bit RTR. É utilizado principalmente nos camiões, no entanto a Volvo e alguns Ford também utilizam 29 bits de bits ID.
O Formato Estendido tem duas secções de Identificador, uma com 11 bits e outra com 18 bits. O bit SRR (Pedido de Substituição Remota) substitui o bit RTR e é um bit recessivo. Se o bit RTR for transmitido no estado dominante os receptores ignoram. No entanto, não é ignorado no que diz respeito a arbitragem ou envio de mensagens.
O formato do campo de controlo é semelhante nos casos de Mensagem Standard ou Estendida. No caso do Formato Estendido o campo de controlo inclui também o Código Comprimento de Dados e dois bits reservados, r0 e r1. Estes bits têm de ser enviados dominantes. No entanto, os receptores recebem bits em qualquer estado.
Tal como no Formato Standard, o bit RTR é dominante em Mensagens de Dados, e recessivo em Mensagens Remotas.
A seguir ao ID Base (11 bits) vem o bit IDE (Identificador de Mensagem) e é um bit recessivo.
NOTA: em caso de colisão de mensagens, a Mensagem Standard prevalece sempre sobre a Mensagem Estendida, pois o bit IDE é recessivo, que tem prioridade sobre bits dominantes.
Prioridade das Mensagens
A prioridade de uma mensagem estabelece-se de acordo com a quantidade de bits 0 que possuir, ou seja, a prioridade é tanto maior quanto mais bits 0 seguidos (esquerda para a direita) tiver uma mensagem. Tomando como exemplo três mensagens distintas a serem enviadas para a rede CAN simultaneamente (fig. 6.9):
Como a mensagem proveniente do sistema de travagem possui mais bits 0 seguidos tem prioridade sobre as restantes. Ou seja, é esta mensagem a primeira a ser disponibilizada na rede CAN-Bus.
• CAMPO DE CONTROLO = 6 bits (fig. 6.10): indica o tamanho do próximo campo (campo de dados). O primei- ro bit no campo de controlo é o bit identificador (bit ID). Se este bit tiver nível lógico 0 (dominante) significa que não serão enviados mais bits identificadores. O bit 0 está reservado. Os restantes quatro bits contêm o código de comprimento dos dados (CCD - número de bytes) para o próximo campo, o campo de dados.
Os CCD podem tomar vários valores (Dominante (D) ou Recessivo (R)): Número de bytes
de dados
Código de Comprimento de Dados (CCD)
CCD1 CCD2 CCD3 CCD4 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/R D/R D/R
Tab. 6.1 – Combinações de bytes de dados
Como 1 byte são 8 bits, pode-se ter 64 bits de informação no próximo campo da mensagem.
• CAMPO DE DADOS = 0 a 64 bits (0 a 8 bytes) (fig. 6.11): contem os dados da mensagem.
Fig. 6.11 – Campo de dados
A informação propriamente dita está contida neste campo da mensagem. Pode ter até 64 bytes. As mensagens remotas contêm 0 bytes de informação.
• CAMPO DE SEGURANÇA = 16 bits (inclui limitador = nível lógico alto (recessivo)) (fig. 6.12): faz o teste dos bits recebidos, ou seja, este campo apenas serve para detectar erros. No entanto, não é usado para a correcção dos mesmos.
O limitador é um bit recessivo permanente que indica o final do código de redundância cíclico.
Fig. 6.10 – Campo de controlo
• CAMPO DE CONFIRMAÇÃO = 2 bits (inclui limitador = nível lógico alto (recessivo)) (fig. 6.13): todos os nós activos que detectam uma mensagem para o Bus passam do estado recessivo para dominante neste campo, os nós que receberem correctamente a mensagem enviam um bit dominante como confirmação da recepção da mensagem (ver fig. 6.14). Este bit é também o que revê (lê de novo) o transmissor da mensagem. Quando revê a mensagem, se não ler um nível dominante neste campo trata-se de um erro.
Exemplo dos estados de funcionamento na rede:
Fig. 6.14 – Campo de confirmação (estados de funcionamento)
NOTA: Se o transmissor detectar uma confirmação não tem a certeza que a mensagem foi recebida pelas unidades correspondentes. A única coisa que pode ter a certeza é que a mensagem foi correctamente transmitida (codificada) para o CAN-Bus.
Fig. 6.15 – Campo final
• CAMPO FINAL = 7 bits = nível lógico alto (recessivo) (fig. 6.15): indica o final de uma mensagem e também verifica se a mensagem tem ou não erros. É a última oportunidade de detectar um erro e por conseguinte, voltar a transmitir a mensagem. O envio de bits para a rede é desligado quando este campo está activo. O último dos bits deste campo tem uma amplitude superior para marcar o final da mensagem.
No final de todos os campos de bits da mensagem o Bus fica no estado inactivo, ou seja, o Bus não é utilizado (0 bit = nível lógico alto (recessivo). A partir daqui qualquer nó da rede pode iniciar uma mensagem.
NOTA FINAL: As Mensagens de Dados e as Mensagens Remotas são separadas por um espaço chamado Espaço Entre Mensagens (7 bits = nível lógico alto (recessivo)) (ver fig. 6.16). É o intervalo de tempo de segurança gerido pelo Controlador CAN entre o final do envio e confirmação da recepção da mensagem. Em contraste a isto, as mensagens de sobrecarga e as mensagens de erro não são precedidas pelo bit: Espaço Entre Mensagens, da mesma forma, múltiplas mensagens de sobrecarga também não são separadas por bits deste tipo.
No final do envio o formato (teórico) de uma mensagem CAN é o seguinte:
Fig. 6.16 – Mensagem CAN
Recorrendo ao osciloscópio (fig. 6.17) pode-se verificar o formato real de uma mensagem no sistema CAN de alta velocidade (CAN Tracção Grupo VAG):