CAN Bus

_CONCEITUAÇÃO BÁSICA

O CAN Bus (Controller Area Network) foi desenvolvido pela empresa alemã BOSCH e disponibilizado em meados dos anos 80. Sua aplicação inicial foi realizada em ônibus e caminhões. Atualmente, é utilizado na indústria, em veículos automotivos, navios e tratores, entre outros.
O CAN é um protocolo de comunicação serial síncrono.
O sincronismo entre os módulos conectados a rede é feito em relação ao início de cada mensagem lançada ao barramento (evento que ocorre em intervalos de tempo conhecidos e regulares).
Baseado no conceito multi-mestre, onde todos os módulos podem se tornar mestre em determinado momento e escravo em outro, além de suas mensagens serem enviadas em regime multicast, caracterizado pelo envio de toda e qualquer mensagem para todos os módulos existentes na rede.
Outro ponto forte deste protocolo é o fato de que todos os módulos verificam o estado do barramento, analisando se outro módulo está ou não enviando mensagens com maior prioridade. Caso isto seja percebido, o módulo cuja mensagem tiver menor prioridade cessará sua transmissão e o de maior prioridade continuará enviando sua mensagem deste ponto, sem ter que reiniciá-la.
Outro conceito bastante interessante é que cada bit (0 ou 1) é transmitido por um valor de tensão específico e constante.
Como mencionado, todos os módulos podem ser mestre e enviar suas mensagens. Para tanto, o protocolo é suficientemente robusto para evitar a colisão entre mensagens, utilizando-se de uma arbitragem bit a bit não destrutiva. Para exemplificar esta situação, analisando o comportamento de dois módulos enviando, ao mesmo tempo, mensagens diferentes. Após enviar um bit, cada módulo analisa o barramento e verifica se outro módulo na rede o sobrescreveu (vale acrescentar que um bit dominante sobrescreve eletricamente um recessivo). Um módulo interromperá imediatamente sua transmissão, caso perceba que existe outro módulo transmitindo uma mensagem com prioridade maior (quando seu bit recessivo é sobrescrito por um dominante). Este módulo, com maior prioridade, continuará normalmente sua transmissão.

[ ]´s
Francismar|Padawan

1 comment so far

  1. Cotcha [Visitante] on

    Legal Padawan! O CAN é um protocolo muito interessante mesmo, e amplamente empregado no mercado de automação industrial e automotivo. Mas em determinadas aplicações o CAN, por si só, não é bem adequado quando há rígidos requisitos de tempo de resposta. O TT-CAN e DeviceNet são variantes dele.
    Estou trabalhando numa implementação do ´Flexible Time-Triggered on CAN´ sobre um embedded RTAI/Linux. O nosso foco está direcionado para uma aplicação automotiva.
    Espero que final o carro ande!!!🙂

    Fernando


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: