Controller Area Network
Este artigo não cita fontes confiáveis. (Julho de 2019) |
As redes CAN (Controller Area Network), as quais são um tipo de NCS (Network Controller System), consistem em redes que abrangem um espaço geográfico de uma Personal Area Network às LAN (Local Area Network) dependendo do propósito a ser utilizado. Pelo fato das CANs basearem-se na aplicação de sistemas real-time (sistemas em que as informações são transmitidas em tempo real) é necessário um controle rígido de erros e garantia de recebimento de mensagens.
As CANs baseiam-se no conceito do uso de mensagens geradas por broadcast contendo um dispositivo central controlador de mensagens.
É também um padrão de barramento que possibilita a comunicação de microcontroladores e dispositivos entre si sem a necessidade de um computador host.
É suportada desde a versão 2.6.25 do núcleo Linux.
Os 4 Pilares Principais da CAN
[editar | editar código-fonte]Baseada nesses 4 pilares as CANs trabalham com uma topologia da rede física em estrela e lógica em barramento, enviando suas mensagens em broadcast.
1º Implementação de Hardware:
O meio de transmissão para as redes CAN influencia diretamente no funcionamento e no envio correto das mensagens, uma vez que estas precisam ser confiáveis e em alta velocidade.
A topologia física da rede também precisa ser analisada com cuidado. O comprimento de cada ramo do "Chicote Elétrico" deve seguir a norma CAN, do contrário, a propagação das mensagens pode ser prejudicada.
2º Simples Transmissão:
As CANs devem funcionar mesmo caso haja falha no link, assim, uma CAN transmitindo por 2 pares de cabo é capaz de operar normalmente somente com 1 par.
3º Controle de Erro:
O controle de erro do protocolo CAN é o mais interessante e principal característica desse tipo de rede. Como as CANs são utilizadas em sistemas sensíveis a falha o controle de erro é feito pelos próprios dispositivos.
4º Ótimo confinamento de falhas:
A danificação de um dispositivo pode resultar no envio de mensagens de erro na rede, assim, prejudicando a largura de banda.
Este mecanismo de controle de erros garante que as mensagens sinalizadoras de eventos críticos possam ser enviadas com sucesso garantindo a integridade do sistemas. Apesar de as mensagens serem enviadas em broadcast, as colisões não são destrutivas como nas redes Ethernet, sendo em todas as mensagens transmitidas com um bit recessivo e outro dominante ao qual tem prioridade na transmissão. Quando duas mensagens são enviadas no meio, a mensagem com maior prioridade continua a ser transmitida enquanto a com o bit recessivo, de menor prioridade, é abortada a transmissão pelo dispositivo originador do sinal.
As mensagens bloqueadas são retransmitidas pelo controlador central.
O problema do jitter
[editar | editar código-fonte]Uma vez que o objetivo de sistemas baseados em tempo-real seja garantir o envio de mensagens dos sensores, serão sempre transmitidos antes das respectivas metas temporais o envio de mensagens consecutivas pertencentes a um mesmo fluxo, o que pode significar um atraso no envio de informações do respectivo sensor, representado pela escalonabilidade da mensagem, pois uma vez que todos os dispositivos compartilham de um mesmo meio físico há a divisão do tempo (balanceamento) de uso do barramento, esse fenômeno apresentado pela escalonabilidade é o jitter, o qual é solucionado pelas metas temporais.
As mensagens
[editar | editar código-fonte]São 4 os tipos de mensagens trafegando nas redes CAN. São elas:
Mensagens enviadas quando o sistema esta num estado funcional:
+ Data Frame
+ Remote Frame
Mensagens enviadas quando o sistema esta num estado característico de erro:
+ Overload Frame
+ Error Frame
Data Frame
[editar | editar código-fonte]Tipo de mensagem enviada na rede para transportar informações correntes do sistemas, dados normais. Por exemplo; em sistemas automotivos serve para sinalizar o estado da temperatura do óleo (sensor que deve enviar informações constantes).
Remote Frame
[editar | editar código-fonte]Mensagem enviada solicitando informação do sistema, ou seja, quando um dispositivo precisa verificar se há água no reservatório do sistema de limpeza do pára-brisa este envia uma mensagem para o controlador do reservatório solicitando o estado atual do mesmo.
Overload Frame
[editar | editar código-fonte]Mensagem que serve para indicar um estado ocupado do sensor, ou seja, quando um dispositivo envia uma mensagem de Remote Frame para um dispositivo ocupado é retornado uma mensagem Overload indicando congestionamento do dispositivo.
Error Frame
[editar | editar código-fonte]Mensagem característica quando um dispositivo indica que não foi possível enviar uma mensagem de controle por ser recessiva. Este tipo de mensagem também serve para indicar que o dispositivo apresenta falhas.
Para o sucesso das informações de controle é necessário portanto que cada mensagem contenha um número de controle diferente, assim, possibilitando, com a ajuda do bit recessivo/dominante, o envio das mensagens críticas.
Leitura adicional
[editar | editar código-fonte]- Ronald K. Jurgen (1999). Multiplexing and Networking. Local de publicação: SAE International. 652 páginas. ISBN 978-0-7680-1715-1
- Alexandre de Almeida Guimarães (2007). Eletrônica Embarcada Automotiva. São Paulo: Editora Érica. 328 páginas. ISBN 978-85-365-0157-4
Ligações externas
[editar | editar código-fonte]- CAN in Automation (CiA) (em inglês)
- CAN Protocolo Tutorial (em inglês)