Você está na página 1de 10

O Protocolo CAN: Entendendo e Implementando uma Rede de Comunicao Serial de Dados baseada no Barramento Controller Area Network.

Alexandre de Almeida Guimares


General Motors do Brasil Ltda Universidade de So Paulo

Antnio Mauro Saraiva


Universidade de So Paulo
Copyright 2002 Society of Automotive Engineers, Inc

RESUMO Os objetivos deste artigo so explicar os conceitos do protocolo CAN e demonstrar como iniciar a implementao de uma rede de dados nele baseada. Destacam-se, entre outras coisas, seus conceitos fundamentais, os formatos disponveis das mensagens, as principais normas existentes, as formas de deteco de falhas e os fundamentos de um Dicionrio de Dados. So abordados os conceitos principais que devem ser observados no momento de se desenvolver um mdulo e um barramento CAN, alm dos aspectos de hardware e software em relao aos mdulos e geometria do barramento. ABSTRACT The objectives of this paper are to explain CAN bus main concepts and presents how to initiate a development of a CAN based network. Highlights, among other things, its primary concepts, available message formats, main existing norms, failure detection mechanisms and primary Data Dictionary concepts. Presents also main concepts should be considered when developing a CAN based module, its Hardware and Software aspects and network geometry. PALAVRAS-CHAVE CAN, Controller ISO11898, SAE J1939. INTRODUO [1] Atualmente, percebe-se um crescimento exponencial dos mdulos eletrnicos disponibilizados nos veculos automotivos. Estes mdulos passam, cada vez mais, a compartilhar informaes entre si; muitas vezes em temporeal. Area Network, Multiplexing,

Uma das formas de se conectar estes mdulos, uns aos outros, atravs de uma Arquitetura Centralizada. A figura #1 ilustra este tipo de arquitetura.

SADAS E N T R A D A S
ECU 2

MDULO CENTRAL

ECU 1

Figura #1: Diagrama Esquemtico de uma Arquitetura Centralizada.

Como vantagens desta arquitetura, pode-se destacar: Simplicidade do hardware utilizado, sendo constituido basicamente pelos sensores, o cabeamento e uma placa eletrnica de gerenciamento do sistema. Todos os dados estaro disponveis Unidade Central durante toda a operao do sistema. Como desvantagens, pode-se destacar: Grande quantidade de cabeamento requerido. Limitao das possibilidades de expanso do sistema. Outra forma de conect-los atravs de uma Arquitetura Distribuda. Neste caso, existiriam vrios mdulos inteligentes espalhados pela aplicao, recebendo apenas uma parcela dos dados, geralmente aqueles gerados prximo a ele mesmo, e enviando-os aos mdulos que necessitem de tais informaes para seu prprio processamento.

A figura #2 ilustra este tipo de arquitetura.


SADAS

Ter cabeamento reduzido para facilitar a sua instalao e reduzir os problemas com manuteno. Ser imune as interferncias eletro-magnticas.
E N T R A D A S

ECU 3
E C U 4

MDULO CENTRAL

Considerando a Arquitetura Distribuda a melhor soluo para aplicaes onde vrios mdulos estaro responsveis pelo controle de sistemas especficos, porm, compartilhando dados, a forma como estes dados sero transmitidos de um mdulo para o outro passa a ser o principal desafio a partir de agora. Dentre as caractersticas desejveis em um protocolo para aplicaes veiculares, pode-se destacar [7]: Cabeamento total da rede reduzido. Ser capaz de transmitir altas taxas de informao, uma vez que os sistemas operam com informaes em tempo-real. Boa flexibilidade das linhas de comunicao para facilitar a instalao do chicote no veculo. Capacidade de interligar diversos ns, garantindo futuras expanses do sistema. Trabalhar dentro do conceito multi-mestre, eliminando a existncia de um mdulo principal e responsvel pelo gerenciamento da rede. Robustez suficiente para garantir seu funcionamento em ambientes nocivos e mveis. Capacidade para detectar e tratar eventuais falhas geradas por problemas em hardware e software ou, interferncias externas como as eletro-magnticas. O protocolo que cobre todos estes requisitos o CAN (Controller Area Network). O CAN BUS (BARRAMENTO CAN) CONCEITUAO GERAL [8]: O CAN um protocolo de comunicao serial sncrono. O sincronismo entre os mdulos conectados a rede feito em relao ao incio de cada mensagem lanada ao barramento (evento que ocorre em intervalos de tempo conhecidos e regulares). Possui caractersticas interessantes, como o fato de ser multi-mestre, onde todos os mdulos podem se tornar mestre num determinado momento e escravo num outro, e trabalhar com mensagens multicast, onde todas as mensagens so recebidas por todos os mdulos da rede. Outro ponto forte deste protocolo o fato de ser fundamentado no conceito CSMA/CD with NDA (Carrier Sense Multiple Access / Collision Detection with NonDestructive Arbitration). Isto significa que todos os

ECU 1

ECU 2

Figura #2: Diagrama Esquemtico de uma Arquitetura Distribuida.

Como vantagens desta arquitetura, pode-se destacar [2], [3]: Reduzida quantidade de cabeamento da rede, por estarmos instalando mdulos remotos bem prximos aos sensores. Permite a ampliao do sistema com significativa facilidade. Permite a aplicao de protocolos de comunicao mais inteligentes, o que aumentaria ainda mais a confiabilidade do sistema. Facilita a criao do software de aplicao, uma vez que possibilita a sua modularizao e distribuio pelos vrios mdulos remotos. Possibilita tambm a modularizao do projeto do sistema e da execuo dos testes de validao, aumentando a sua confiabilidade e reduzindo os prazos envolvidos no desenvolvimento. Como destacar: desvantagens desta arquitetura, pode-se

Difcil implementao do software de controle da rede, o que depende diretamente do protocolo escolhido. Difcil determinao das prioridades de transmisso dos dados. Difcil determinao da taxa de transmisso ideal para uma dada aplicao [4]. Do ponto de vista de uma aplicao qualquer, alguns requisitos mnimos devem ser observados no momento de se desenvolver uma rede embarcada de comunicao de dados. Pode-se destacar os seguintes [5], [6]: Estar preparada para trabalhar em ambientes mveis, sendo resistente especialmente a elevada vibrao dos equipamentos.

mdulos verificam o estado do barramento, analisando se outro mdulo no est enviando mensagens com maior prioridade. Caso isto seja percebido, o mdulo cuja mensagem tiver menor prioridade cessar sua transmisso e o de maior prioridade continuar enviando sua mensagem deste ponto, sem ter que reinici-la. Outro conceito bastante interessante o NRZ (Non Return to Zero), onde cada bit transmitido representa efetivamente um dado e no, por exemplo, o barramento em idle (sem operao efetiva). A velocidade de transmisso dos dados proporcional ao comprimento do barramento. A maior taxa de transmisso especificada de 1Mbps considerando um barramento de 40 metros. A figura #3 representa a relao entre o comprimento da rede (barramento) e a taxa de transmisso dos dados.
Taxa de Transmisso [Mbps]

potencial entre os fios (e esta permanecer inalterada), a comunicao no prejudicada. No CAN, os dados no so representados por bits em nvel 0 ou nvel 1. So representados por bits Dominantes e bits Recessivos, criados em funo da condio presente nos fios CAN H e CAN L. A figura #4 ilustra os nveis de tenso numa rede CAN, assim como os bits Dominantes e Recessivos.

VCAN

3.5v Vdif 2.0v

VCAN

1.5v
Recessivo Dominante Recessivo

Tempo Figura #4: Nveis de Tenso no CAN e os bits Dominantes e Recessivos.

1000

50

40

1000

Comprimento do Chicote [m]

Figura #3: Relao entre a Taxa de Transmisso e o Comprimento da rede.

Como mencionado no incio deste item, todos os mdulos podem ser mestre e enviar suas mensagens. Da mesma forma, o protocolo robusto a ponto de evitar a coliso entre mensagens atravs de uma arbitrao bit a bit no destrutiva. Imagine 2 mdulos enviando, bit a bit, ao mesmo tempo, mensagens diferentes. Aps enviar um bit, cada mdulo analisa o barramento e verifica se outro mdulo na rede o sobrescreveu. Vale lembrar que um bit Dominante sobrescreve eletricamente um Recessivo. Um mdulo interromper imediatamente sua transmisso caso perceba que existe outro mdulo transmitindo uma mensagem com prioridade maior. Este, com maior prioridade, continuar normalmente sua transmisso. FORMATOS [8]: Existem 2 formatos de mensagens no protocolo CAN: CAN 2.0A: Mensagens com identificador de 11 bits. possvel ter at 2048 mensagens numa rede constituda sob este formato, o que pode caracterizar uma limitao em determinadas aplicaes. A figura #5 apresenta o quadro de mensagem do CAN 2.0A.

Considerando fios eltricos como o meio de transmisso dos dados, existem 3 formas de se constituir um barramento; dependentes diretamente da quantidade de fios utilizados. Existem redes baseadas em 1, 2 e 4 fios. As redes com 2 e 4 fios trabalham com os sinais CAN H (High) e CAN L (Low). No caso dos barramentos com 4 fios, alm dos sinais de dados, um fio com o VCC e outro com o GND fazem parte do barramento, levando a alimentao aos mdulos subsequentes da rede. As redes com apenas 1 fio tm este, o fio de dados, chamado de CAN. Considerando o CAN fundamentado em 2 e 4 fios, estes devem ser tranados, no necessariamente blindados e os dados interpretados pela anlise da diferena de potencial entre os fios CAN H e CAN L. Por isso, o barramento CAN classificado como Par Tranado Diferencial. Este conceito elimina os efeitos causados por interferncias eletro-magnticas, uma vez que qualquer ao sobre um dos fios ser sentida tambm pelo outro, causando flutuao nos sinais de ambos para o mesmo sentido e com a mesma intensidade. Como o que vale para os mdulos que recebem as mensagens a diferena de

Figura #5: Quadro de Mensagem - CAN 2.0A.

CAN 2.0B: Mensagens com identificador de 29 bits. possvel ter at 5,3 milhes de mensagens numa rede constituda sob este formato. Percebe-se que a limitao em virtude da quantidade de mensagens no mais existe. O que poder ser observado em alguns casos que, os 18 bits adicionais no identificador aumentaro o tempo de transmisso de cada mensagem, o que poder caracterizar

um problema em determinadas aplicaes que trabalhem em tempo-real. A figura #6 apresenta o quadro de mensagem do formato CAN 2.0B.

Uma das maiores vantagens do CAN a sua robustez e a capacidade de se adaptar a condies de falhas, temporrias e permanentes. Podem-se classificar as falhas em 3 categorias ou nveis: Nvel de Bit: Dentre esta categoria, 2 tipos de erro so possveis:

Figura #6: Quadro de Mensagem - CAN 2.0B.

PADRES [1]: Os fundamentos do CAN so especificados por duas normas, a ISO11898 e a ISO11519-2. A primeira, ISO11898, determina as caractersticas de uma rede trabalhando com alta velocidade de transmisso de dados (de 125Kbps 1Mbps). A segunda, ISO11519-2, determina as caractersticas de uma rede trabalhando com baixa velocidade (de 10Kbps 125Kbps). Ambos os padres especificam as camadas fsica e de dados, respectivamente #1 e #2, se considerado o padro de comunicao OSI de 7 camadas (ISO7498). As demais camadas so especificadas por outros padres, cada qual relacionado a uma aplicao especfica. Existem diversos padres fundamentados no CAN, dentre os quais pode-se destacar: NMEA 2000: Baseado no CAN 2.0B, este padro utilizado em aplicaes navais e areas. DIN 9684 LBS: Baseado no CAN 2.0A, este padro utilizado em aplicaes agrcolas. ISO 11783: Baseado no CAN 2.0B, este padro tambm utilizado em aplicaes agrcolas. SAE J1939: Baseado no CAN 2.0B, este padro utilizado em aplicaes automotivas, especialmente nibus e caminhes. Cada um dos padres supracitados especifica as camadas de Rede (#3), Transporte (#4), Sesso (#5), Apresentao (#6) e Aplicao (#7), inclusive as mensagens pertinentes ao seu dicionrio de dados. Por diversas vezes, quando se analisa um protocolo de comunicao [7], este se encontra associado a uma determinada classe, que poder ser A, B ou C. A Classe A abrange os protocolos que trabalham em baixa velocidade (at 10Kbps). A Classe B abrange os protocolos que trabalham em mdia velocidade (de 10Kbps 125Kbps). A Classe C, por fim, abrange os protocolos que trabalham em alta velocidade (de 125Kbps 1Mbps). O CAN est classificado dentro das classes B e C, dependendo diretamente da aplicao analisada. DETECO DE FALHAS [7] [8]:

Bit Monitoring: Aps a escrita de um bit dominante, o mdulo transmissor verificar o estado do barramento. Se o bit lido for recessivo, significar que existe um erro no barramento. Bit Stuffing: Apenas 5 bits consecutivos podem ter o mesmo valor (dominante ou recessivo). Caso seja necessrio transmitir 6 ou mais bits iguais, o mdulo transmissor inserir um bit contrrio aps cada grupo de 5 bits iguais e consecutivos. O mdulo receptor ficar encarregado de, durante a leitura, retirar automaticamente este bit, chamado de Stuff Bit. Caso uma mensagem seja recebida com pelo menos 6 bits consecutivos iguais, algo de errado estar ocorrendo no barramento. Nvel de Mensagem: Dentre esta categoria, 3 tipos de erro so possveis: CRC ou Cyclic Redundancy Checks: Funciona como um checksum. O mdulo transmissor calcula um valor em funo dos bits da mensagem e o transmite juntamente com ela. Os mdulos receptores recalculam este CRC e verificam se este igual ao enviado. Frame Check: Os mdulos receptores analisam alguns bits da mensagem recebida. Estes bits no mudam de mensagem para mensagem e so determinados pelo padro CAN. Acknowledgment Error Check: Os mdulos receptores respondem a cada mensagem boa recebida, escrevendo um bit dominante no campo ACK de uma mensagem resposta que enviada ao mdulo transmissor. Caso esta mensagem resposta no for recebida (pelo transmissor da mensagem de dados original), significar que, ou a mensagem de dados transmitida estava corrompida, ou nenhum mdulo a recebeu. Toda e qualquer falha acima mencionada, quando detectada por um ou mais mdulos receptores, far com que estes coloquem uma mensagem de erro no barramento, avisando toda a rede de que aquela mensagem continha um erro e que o transmissor dever reenvi-la. Alm disso, a cada mensagem erroneamente transmitida/recebida, um contador de erros incrementado em 1 unidade nos mdulos receptores, e em 8 unidades no transmissor. Mdulos com este contador igual a zero so considerados Normais. Para o contador contendo valores entre 1 e 127, o mdulo considerado Error Active.

Contadores contendo valores entre 128 e 255 colocam o mdulo em condio de Error Passive. Finalmente, contadores contendo valores superiores a 255, o mdulo considerado em BusOff e passa a no mais atuar no barramento. Estes contadores tambm so decrementados a medida que mensagens corretas so recebidas, reduzindo o grau de incerteza em relao a atividade dos mdulos ora com contadores contendo valores diferentes de zero. Nvel Fsico: Para os barramentos com 2 e 4 fios, caso algo de errado venha a ocorrer com os fios de dados CAN H e CAN L, a rede continuar operando numa espcie de modo de segurana. Seguem abaixo as condies que permitem a continuidade da comunicao: Curto do CAN H (ou CAN L) para GND (ou VCC); Curto entre os fios de dados CAN H e CAN L; Ruptura do CAN H (ou CAN L); DICIONRIO DE DADOS [9]:

Outra caracterstica de determinadas aplicaes fundamentadas no CAN que estas podero ter duas ou mais sub-redes CAN trabalhando, cada qual, em uma velocidade diferente. Os dados so transferidos de uma subrede para a outra atravs de mdulos que atuam nas duas sub-redes. Estes mdulos so chamados de Gateways. A figura #7 ilustra uma rede CAN genrica, com duas sub-redes e os 2 terminadores ilustrados. O Gateway desta aplicao o Painel de Instrumentos.

Figura #7: Exemplo de Rede CAN Destaque para os Terminadores.

O PROJETO DE UMA REDE CAN EXPERIMENTAL a parte mais dedicada a aplicao quando se trabalha com um protocolo como o CAN. O Dicionrio de Dados (ou Data Dictionary) o conjunto de mensagens que podem ser transmitidas naquela determinada rede. A forma mais interessante de se organizar um dicionrio de dados criando uma matrix com todos os mdulas da rede. Esta matrix mostrar cada mensagem sob a responsabilidade de cada mdulo e tambm quem a transmite e quem precisar receb-la. Outros dados importantes desta matrix so: o tempo de atualizao dos valores da mensagem, o intervalo de transmisso da mesma e o valor relativo ao seu identificador. Alm desta matrix, a documentao referente ao Dicionrio de Dados dever conter uma descrio detalhada de cada mensagem, bit a bit. O Dicionrio de Dados implementado numa rede CAN via software e dever ser o mesmo em todos os mdulos conectados a rede. Isto garantir total compatibilidade entre os participantes do barramento. EXEMPLO DE UMA REDE CAN [8]: Uma rede CAN, dependendo da sua aplicao, poder ter at centenas de mdulos conectados. O valor mximo para a conexo de mdulos num barramento depende do padro que se utiliza naquela dada aplicao. Toda rede CAN possui 2 Terminadores. Estes terminadores nada mais so que resistores entre 120 e 124 ohms, conectados a rede para garantir a perfeita propagao dos sinais eltricos pelos fios da mesma. Estes resistores, um em cada ponta da rede, do a impresso aos mdulos de que o barramento infinito. Os prximos itens procuram ilustrar os pontos principais que devem ser considerados durante o desenvolvimento de um mdulo e uma rede baseados no protocolo CAN. HARDWARE DO MDULO [10]: Os mdulos eletrnicos so geralmente chamados de ECUs (Electronic Control Unit). Se analisarmos uma ECU CAN, encontraremos dois componentes bsicos: O Microcontrolador e o Transceiver. Uma ECU pode ser desenvolvida considerando dois microcontroladores; um deles para o processamento do programa, gerenciamento da memria e controle das entradas e sadas (I/Os) e outro para o gerenciamento do protocolo propriamente dito. Por outro lado, pode ser utilizado um microcontrolador que agregue todas estas funes num nico CI. O Microcontrolador deve ser escolhido em funo da aplicao a que se destina a ECU. Existem microcontroladores com dezenas de I/Os digitais e analgicos, portas de comunicao baseadas em UART, IC e Paralela e tambm sadas PWM. Alm da capacidade de controlar o CAN. Outro ponto que deve ser observado a memria interna do microcontrolador. Alm da RAM, existem microcontroladores com memria interna EPROM, EEPROM, OTP e Flash EPROM. Uma alternativa durante o desenvolvimento, poder ser utilizar uma memria RAM e uma memria EPROM externas, onde ser executado o programa e armazenados os dados gerados. Neste caso, o microcontrolador dever ser informado de que o programa

est alocado na memria externa. Isto feito atravs de um pino disponvel em todos os microcontroladores, geralmente chamado de EA (External Access). Em relao ao gerenciamento do protocolo, existem microcontroladores que trabalham somente com o formato 2.0A e microcontroladores que trabalham com ambos os formatos, 2.0A e 2.0B. O Transceiver nada mais que um CI que controla a Recepo e a Transmisso de um protocolo. Ele est conectado diretamente ao microcontrolador CAN e responsvel pela gerao dos sinais que sero transmitidos por um meio especfico. O CAN geralmente utilizado para comunicao via fios eltricos, mas poderia ser implementado para comunicao via MOST (fibra tica), RF ou at mesmo Bluetooth. Esta determinao do meio fsico de transmisso feita pelo Transceiver. Da mesma forma, existem transceivers que estabelecem barramentos com 1 ou 2 fios de dados, como tambm para determinadas velocidades de comunicao. A figura #8 ilustra a conexo entre um microcontrolador com CAN incorporado e um transceiver CAN. Esta dupla em particular formada por um microcontrolador com memria OTP e barramento com 2 fios de dados. Observe que o microntrolador possui diversas outras funes (sadas PWM e comunicao via UART entre outras).

A figura #9 mostra uma imagem da ECU acima descrita.

Figura #9: ECU genrica com CAN incorporado, I/Os e driver RS232.

SOFTWARE DO MDULO [11]: Primeiramente, todo e qualquer programa desenvolvido para ser executado dentro de um microcontrolador dever ser chamado de firmware. Este firmware ser responsvel por estabelecer as regras de funcionamento das vrias tarefas da ECU. O controle de leitura das entradas e o acionamento das sadas, a comunicao via RS232 e o protocolo CAN so basicamente gerenciados por ele o Firmware. Existem inmeras formas de se programar um microcontrolador. As mais praticadas so as que utilizam linguagens como o C ou C++ para a criao das rotinas e, em seguida, compiladores que transformam os programas criados, em cdigos hexadecimais compatveis com o microcontrolador utilizado. Uma das partes mais importantes do protocolo CAN, o Dicionrio de Dados, implementado via software e gravado no microcontrolador. Assim, qualquer alterao no dicionrio de dados de uma dada aplicao implicar na alterao do firmware das ECUs nela conectadas. O trecho de programa abaixo, escrito em C, est relacionado ao controle das opearaes do CAN em uma aplicao especfica: void MonSendMsg() { byte i; xdata byte* msg; putchar(send_pdu.cmd); putchar(send_pdu.source); putchar(send_pdu.size); msg = send_pdu.msg; for (i=0; i != send_pdu.size; i++) putchar(msg[i]); }

Figura #8: Microcontrolador com CAN incorporado + Transceiver.

Considerando os conceitos acima colocados, uma ECU genrica que poderia ser utilizada no desenvolvimento de aplicaes seria formada por um Microcontrolador com CAN incorporado, um Transceiver, memrias RAM e EPROM externas, um driver para a comunicao via UART (RS232) com um PC e alguns componentes bsicos para a conexo dos CIs principais.

MONTAGEM DA REDE: Aps o desenvolvimento das ECUs, ser preciso conect-las atravs do chamado barramento. Vale lembrar que o termos Bus, do nome CAN Bus, significa exatamente barramento. Apesar de parecer simples, o ato de interligar os mdulos requer bastante ateno. Sobre o cabeamento necessrio [8], considerando uma aplicao CAN de 2 fios, deve-se utilizar um par tranado, onde a seco transversal de cada um dos fios deve ser de no mnimo 0,35mm. As 2 terminaes (resistores de aproximadamente 120 ohms), do ponto de vista terico, poderiam ser instaladas nas extremidades do chicote; diretamente nos fios de dados CAN H e CAN L. Do ponto de vista prtico isto extremamente complexo. O que deve ser feito adicionar as terminaes nas duas ECUs conectadas aos extremos da rede. Se a rede for embarcada em veculos e as ECUs forem montadas dependendo dos opcionais do mesmo, deve-se procurar instalar as terminaes nas ECUs que estaro sempre presentes no veculo. As terminaes so mandatrias numa rede CAN ! No momento de se projetar o roteamento do barramento [12], algumas regras em relao ao comprimento dos chicotes devem ser observadas. O sincronismo das operaes das ECUs no CAN fundamentado no tempo de propagao fsica dos eltrons no barramento. Assim, a relao do comprimento de determinados intervalos do chicote no barramento so fundamentais ao bom funcionamento da rede. A figura #10 mostra um diagrama que ilustra as medidas que devem ser observadas no desenvolvimento do chicote.

CONCLUSES O CAN Bus mostra-se o protocolo de comunicao mais adequado s aplicaes embarcadas em veculos. Sejam estas aplicaes automotivas, navais ou agrcolas, o CAN capaz de atender seus requisitos de robustez e gerenciamento da comunicao (taxas de transmisso compatveis e deteco de falhas). Ao se trabalhar com o CAN, deve-se observar qual a norma diretamente relacionada a aplicao em questo. Esta norma ter informaes sobre a taxa de transmisso da rede e tambm sobre o dicionrio de dados da aplicao, entre outras. Durante o desenvolvimento do hardware de uma ECU CAN, os pontos principais a serem observados esto relacionados ao microcontrolador e ao transceiver. A determinao destes componentes est diretamente ligada a aplicao efetiva da ECU. O desenvolvimento do firmware da ECU uma das etapas mais importantes na criao do sistema. nele que sero declaradas as mensagens da aplicao e tambm o funcionamento da ECU em relao aos sensores e atuadores do sistema. A montagem efetiva da rede (barramento), apesar de parecer simples, envolve diversos conceitos relacionados a Fsica. Certamente, o projetista no precisar conhecer totalmente o comportamento dos eltrons atravs dos fios das linhas de dado, mas a observao de alguns conceitos bsicos relacionados primordial. LISTA DE ABREVIAES ACK: Acknowledgement. CAN Bus: Barramento Controller Area Network. CI: Circuito Integrado. CD: Collision Detection. CRC: Cyclic Redundant Check. CSMA/CD: Carrier Sense Multiple Access. EA: External Access.

Onde:

S (mximo comprimento da ramificao) = 0,3m d (mnima distncia entre ramificaes) = 0,1m L (mximo comprimento da rede a 1Mbps) = 40m Obs: O valor da distncia d deve ser aleatrio. Figura #10: Geometria de uma Rede CAN.

ECU: Electronic Control Unit. EEPROM: Electrical Erasable and Programmable ROM. EPROM: Electrical Programmable ROM. I/O: Input/Output.

Aps montado o barramento, caso seja necessrio qualquer retrabalho no mesmo, aconselhvel a troca do chicote danificado. Emendas podero alterar a impedncia caracterstica da rede e com isso afetar o seu funcionamento.

ISO: International Organization for Standardization. Kbps: Kilo bits por segundo. Mbps: Mega bits por segundo. NDA: Non-Destructive Arbitration.

NRZ: Non-Return to Zero. OSI: Open System Interconnection. OTP: One Time Programmable. PC: Personal Computer. RAM: Random Access Memory. ROM: Ready Only Memory. SAE: Society of Automotive Engineers. REFERNCIAS BIBLIOGRFICAS 1. Guimares, A.A. O Protocolo CAN Bus nas Aplicaes Off-Road: Uma Anlise Comparativa entre os Padres Existentes, SAE paper n 2001-013853. So Paulo, 2001. Fredriksson, L.B. Controller Area Networks and the protocol CAN for machine control systems, Mechatronics, v.4 n.2, p.159-92, 1994. Zuberi K.M.; Shin K.G. Real-time decentralized control with CAN. In: IEEE Conference on Emerging Technologies and Factory Automation, 1996. Proceedings. IEEE, 1996. p.93-9. Hofstee, J.W.; Goense, D. Simulation of a Controller Area Network-based Tractor-Implement Data Bus according to ISO 11783, J. Agric. Engng Res. (1999) 73, 383-394. Sigrimis, N.; Hashimoto, Y.; Munack, A.; De Baerdemaeker, J. Prospects in Agricultural Engineering in the Information Age, CIGREjournal, invited paper, 1998. Strauss, C.; Cugnasca, C.E.; Saraiva, A.M. Protocolos de Comunicao para Equipamentos Agrcolas, CONAI, 1998. Controller Area Network (CAN) - Module 6., BOSCH - Powertrain University, 2000. ISO 11898 - Road vehicles-Interchange of digital information-Controller area network (CAN) for highspeed communication, 1993. Data Dictionary for V-Bus applications, Issue 1.3, 2001, GM proprietary documentation. Stone, M.L. Dynamic Address Configuration in SAE J1939, Biosystems and Agricultural Engineering, Oklahoma State University. Stone, M.L. High Speed Networking in Construction and Agricultural Equipments., Department of Biosystems and Agricultural Eng'g, 1994, www.agen.okstate.edu/home/mstone/. Axelson, J. Serial Port Complete, ISBN 0-9650819-2-3, Lakeview Research, 1998. Why CAN, KVASER www.kvaser.se/can/index.htm, 2000. HLPs: SAE J1939, KVASER AB, 2000. Stone, M.L.; Zachos, M. Application of J1939 Networks in Agricultural Equipments, Oklahoma State University Dearborn Group. Controller Area Network Background Information, How CAN works, Implementation, Application Layer. www.omegas.co.uk/CAN/, 2000. Guimares, A.A.; Saraiva, A.M. As Aplicaes Agrcolas e o Protocolo CAN: Uma Aplicao a um Monitor de Semeadora. In: 3 Congresso da SBI-Agro, Foz do Iguau. Anais. SBI Agro. Lavras. 2002. p.35-42. Stepper, M. R. J1939 High Speed Serial Communications, The Next Generation Network for Heavy Duty Vehicles, SAE paper n 931809, 1993. Alvarenga, C. Multiplexing in Automobiles An Application Example of the CAN Protocol, SAE paper, Multiplexing and Networking pg. 503 514. Dietmayer, K.; Overberg, K. W. CAN Bit Timing Requirements, SAE paper n 970295, 1997. Buehring, P. CAN Controller Architecture Optimized for SAE-J1939 Applications, SAE paper n 940361, 1994. Samuel, J. Developing Diagnostics on KWP 2000 and CAN, SAE paper n 981112, 1998. Web Site, REFERNCIAS ADICIONAIS Fredriksson, L.B. Distributed Embedded Control Systems in Robotics Ten Years of Development, KVASER AB, 1997. 12. ISO11783 Workshop, Agrithecnica http://isotc.iso.ch/livelink/livelink, 1999. 99,

2.

3.

4.

5.

6.

7.

8.

9.

10. Phillips Web Site, www.semiconductors.philips.com, consultado em Maro de 2002. 11. Strauss, C. Implementao e Avaliao de uma Rede Experimental baseada em CAN para Aplicaes Agrcolas, Dissertao de Mestrado, EPUSP, 2001.

SOBRE O AUTOR Alexandre de Almeida Guimares trabalha na GM do Brasil desde 1993. Iniciou suas atividades na rea de automao industrial, onde permaneceu por cerca de 4 anos. Trabalha atualmente como Engenheiro de Produto, sendo responsvel por Mdulos de Controle de Carroaria, Barramentos de Dados e Sistemas de Entretenimento (Rdio, Alto-falante e Antena) em veculos de passageiros. Formou-se em Engenharia Eltrica pela Pontifcia Universidade Catlica de So Paulo e cursa Mestrado em Sistemas Digitais na Escola Politcnica da Universidade de So Paulo. Sua dissertao baseada no protocolo CAN (Controller Area Network) aplicado aos veculos agrcolas.

10