Numa rede CAN, um nó é responsável por transmitir e receber as mensagens disponíveis no barramento. São necessários 3 componentes para executar essa função: um microcontrolador ou uma ECU (Electronic Control Unit ou Unidade de Controle Eletrônico, em português), um controlador CAN e um Transceptor (transmissor/receptor). O papel desempenhado por cada um desses componentes será apresentada abaixo.
Microntrolador
Além de receber os dados dos sensores, os microcontroladores também são responsáveis pela implementação das camadas superiores nas redes CAN.
Para isso, os microcontroladores devem possuir um controlador CAN incorporado ou um externo, a escolha de qual utilizar é uma decisão de projeto.
Em aplicações automobilísticas,
a maior parte das ECUs (Unidades de Controle Eletrônico) já possuem controladores CAN integrados.
Exemplos de microncontradores com controlador CAN: PIC18FXX8 (Microchip).
Controlador CAN
É o componente que faz a interface entre o microntrontrolador, via
Serial Peripheral Interface (SPI), e o barramento (transceptor). Além disso, é o módulo responsável pela implementação da camada de enlace.
Exemplos de controladores CAN: MCP2515 (Microchip) e SJA1000 (Philips).
Transceptor CAN
É o componente que faz a interface entre o controlador CAN e o barramento físico,
permitindo que a transmissão de sinal entre esses componentes seja diferencial. Além disso, é o módulo responsável pela implementação da camada física.
Exemplos de transceptores CAN: TJA1050 (Philips) e CF151 (Bosch).
Em elétrica automotiva, o barramento é o meio pelo qual é feita a comunicação entre os módulos eletrônicos de um veículo. Os condutores utilizados para essa interligação são cabos trançados, como pode ser visto na seção de conceitos básicos. Apesar de parecer algo simples, alguns cuidados devem ser tomados durante o projeto e a montagem da interligação, como pode ser visto abaixo.
Os terminadores são impedâncias adicionadas nos extremos de um barramento ou linha de transmissão. No caso do barramento CAN
são duas resistência de 120 ou 124 ohms (valor encontrado em diversas referências), cuja função é realizar o casamento de impedância da rede,
garantindo que não haja reflexão do sinal.
Além das terminações, o comprimento do chicote elétrico (condutores) também é relevante para o funcionamento da rede.
Isso acontece porque o sincronismo também depende do tempo de propagação das mensagens no barramento.
A figura abaixo apresenta um diagrama com algumas especificações de dimensionamento.
Atualmente, o tipo de arquitetura mais empregada em veículos automotores é a distribuída.
É necessário interligar os mais diversos módulos eletrônicos de controle
espalhados em um veículo através de um protocolo de comunicação. Porém, nem sempre é possível utilizar um único protocolo para tal aplicação.
Como fazer essa comunicação utilizando protocolos diferentes ou com velocidades de transmissões diferentes?
A solução para esse problema são os gateways, esses módulos são utilizados para fazer interface entre
sub-redes com procolos diferentes.
A figura abaixo apresenta uma rede utilizando gateways para interligar
sub-redes CAN com velocidades diferentes. O painel de instrumentos é o gateway dessa aplicação.
Os microcontroladores mais comuns da plataforma Arduino, como o ATmega328p, não possuem controlador CAN incorporado.
Porém, é possível fazer a expansão da placa para aplicação com rede CAN, como pode ser visto na figura abaixo. Nesta situação, o nó da rede é formado pelo microcontrolador do Arduino,
se for o UNO é o ATmega328p, o controlador CAN MCP2515 e o Transceptor CAN TJA1050.
Como funciona isso?
É carregado um código com a implementação da rede CAN e tratamento dos dados dos respectivos nós.
No primeiro nó, os microcontroladores ATmegas358p recebem, tratam e enviam os dados dos sensores no formato SPI para o
módulo formado pelo MCP2515 e o TJA1050, onde são convertidos para o formato CAN e enviados para o barramento.
No segundo nó, acontece o processo inverso, o MCP2515 e o TJA1050 convertem os dados recebidos para o formato SPI e enviam
para o microcontrolador, onde o sinal é recebido e enviado para exibição no computador.
Universidade Federal do Rio de Janeiro - UFRJ
Departamento de Engenharia Eletrônica e de Computação - DEL
Autores: Marina Lacerda, Tamine Alves e Yan Nascimento