Introdução às Redes Intraveiculares

Por Alexandre Mendonça e Ricardo Zelenovsky

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.