Introdução às Redes Intraveiculares
Em mais um artigo, os professores Alexandre Mendonça e Ricardo Zelenovsky descrevem de forma resumida os tipos de barramento intraveiculares, com especial atenção ao barramento CAN.
Em mais um artigo, os professores Alexandre Mendonça e Ricardo
Zelenovsky descrevem de forma resumida os tipos de barramento
intraveiculares, com especial atenção ao barramento CAN.
Hoje em dia, o mercado oferece milhares de produtos que contêm um
grande conjunto grande de sensores e atuadores, como automóveis,
sistemas de segurança ou sistemas de telemetria. Integrar as
informações destes sensores e atuadores não é uma tarefa fácil, já que
muitas vezes é exigido um meio físico construído com uma fiação enorme,
isto sem contar o número de conectores. Ora, fiação enorme implica numa
linha de montagem mais cara, complexa e lenta, o que inviabiliza seu
uso em larga escala. Para ter-se uma idéia, um carro luxuoso chega a
conter 4km de fios, com o custo perto de US$ 300.
Motivados pelas aplicações intraveiculares, várias companhias vêm investindo no projeto de controladores que pudessem gerenciar o tráfego de informações com interfaces através de um meio físico reduzido, possivelmente um barramento serial, porém capaz de possibilitar a multiplexação dessas informações. A esta forma de conexão é dado o nome de "rede intraveicular" (In-Vehicle Networking).
O uso de uma rede intraveicular oferece muitos benefícios, dentre
eles:
· requer um número bem menor de fios e conectores, diminuindo custos
materiais e de instalação;
· possibilita o compartilhamento de sensores disponíveis na rede em
diferentes medidas;
· flexibiliza o projeto, já que um novo sistema pode ser projetado
apenas readaptando-se o software de controle.
Visando a uniformizar os projetos de redes intraveiculares, o mercado vem oferecendo diversos padrões, como CAN, SAE, VAN e ABUS, onde os dois primeiros são os mais populares. A SAE definiu três categorias de redes baseada nas aplicações. São elas:
Classe A: engloba aplicações que requerem baixa velocidade de
comunicação (até 10Kb/s), como entretenimento, áudio, etc.. Geralmente
é implementada com uma UART (Universal Asynchronous
Receiver/Transmitter) genérica, como a bem conhecida RS-232.
Classe B: abrange aplicações de média exigência de velocidade
(10Kb/s a 125Kb/s), como transmissões broadcast e monitoramento do
ambiente (temperatura, pressão, etc.). Um exemplo deste protocolo é o
SAE J1850
Classe C: designa aplicações que exigem grande velocidade de
comunicação (acima de 125KB/s), como controle de servo-mecanismos em
tempo real (suspensão inteligente, controle aerodinâmico, etc.). O
protocolo predominante desta classe é o CAN 2.0.
CAN - Controller Area Network
O protocolo CAN foi desenvolvido por Robert Bosch e tem como
principal aplicação a implementação de uma rede intraveicular Classe C,
particularmente exemplificada na indústria automotiva, que se tem
mostrada uma cliente em potencial do CAN. Basicamente, a especificação
CAN prevê identificadores de mensagens que facilitam o controle do
fluxo de informação pela fiação. Como características de extrema
relevância do CAN, podemos citar um controle de alto nível na
detecção/correção de erros, grande flexibilidade na topologia e arranjo
da rede intraveicular e baixa latência na comunicação entre os
componentes. Como exemplo desta última característica, citamos um
sistema de prevenção de acidentes que deve monitorar, com baixa
latência na aquisição de dados, para processar em tempo real diversas
variáveis de diferentes origens, como sensores de posição e radar,
potência do motor, poder de frenagem, etc..
Os principais benefícios fornecidos pelo protocolo CAN podem ser
resumidos por:
· um padrão de comunicação facilita e torna econômica a tarefa de
interfacear sensores e atuadores de diferentes fabricantes;
· o esforço computacional é diluído entre uma CPU principal e um
periférico com inteligência de processamento, o que deixa a CPU livre
para as tarefas de gerenciamento do sistema;
· com a integração dos componentes através de um barramento único,
reduz-se drasticamente a quantidade de fios e, automaticamente, os
custos materiais e de montagem da rede embutida;
· por ser um padrão com grande aceitação no mercado, o protocolo CAN
incentiva a fabricação de circuitos integrados que irão abastecer a
indústria, o que cria a perspectiva de redução de preços devido à
concorrência iminente.
A figura 1 ilustra uma típica aplicação do CAN usando um arranjo
tradicional de componentes de um automóvel, incluindo o motor, a
transmissão e reservatório de combustível. Tal aplicação engloba o
controle de direção ou injeção de combustível. Podemos imaginar duas
situações. Na primeira, o motor transmite uma mensagem de informação de
seu torque que, juntamente com informações de velocidade e aceleração,
podem ser usadas pela transmissão para controle da direção. Na segunda,
quando o motorista muda de marcha, a transmissão envia uma mensagem
para que o motor possa regular a injeção de combustível.

Figura 1: Aplicação típica do protocolo CAN em uma rede embutida num automóvel.
A Intel foi a primeira companhia a implementar o CAN, em 1989, através do controlador 82526 (versão 1.2). O 82527 veio como uma adaptação à revisão 2.0 e, posteriormente, a família 87C196 surgiu permitindo implementações mais sofisticadas.
Controlador CAN 82527 da Intel
O 82527 foi o primeiro controlador da Intel com suporte para o CAN
2.0, sendo fabricado com o processo CHMOS III 5V e estando disponível
com encapsulamento PLCC-44. Ele pode ser configurado para interfacear
com CPUs usando 8 ou 16 bits de dados, multiplexados ou não com
endereços. Possui também uma interface serial flexível, conhecida como
SPI, que pode ser muito útil quando se torna dispensável o
interfaceamento paralelo. O 82527 usa uma comunicação via mensagens de
comprimento 8 bytes, podendo transmitir, receber ou filtrar mensagens
de seu interesse, isto graças à utilização de máscaras especiais
implementadas em hardware.
O diagrama em blocos do 82527 está resumido na figura 2. Como nela pode
ser observado, estão integradas uma CPU com barramentos de dados e
endereços de 8 ou 16 bits, uma RAM, duas portas de I/O e uma unidade de
interface com o protocolo CAN. Basicamente, vide figura 3, as linhas de
dados, endereços e controle fornecem a base mínima para a implementação
de um módulo inteligente capaz de executar programas. As portas são
responsáveis por receber informações de sensores ou transmitir comandos
para atuadores. Finalmente, o controlador CAN permite a comunicação
serial em rede, via protocolo CAN 2.0, de vários módulos
inteligentes.

Figura 2: Diagrama básico do 82527.

Figura 3: Exemplo típico de implementação com o 82527.
Alexandre Mendonça (alexmend@aquarius.ime.eb.br) e Ricardo Zelenovsky (zele@leblon.ime.eb.br) são professores do IME, autores dos livros "PC e Periféricos: um Guia Completo de Programação" e "PC: um Guia Prático de Hardware e Interfaceamento - 2a Ed." (http://www.mzeditora.com.br) e colaboradores da Developers' Magazine desde 1996.

