Escolar Documentos
Profissional Documentos
Cultura Documentos
Protocolo CAN
Protocolo CAN
The objectives of this paper are to explain CAN bus Figura #1: Diagrama Esquemático de uma Arquitetura Centralizada.
main concepts and presents how to initiate a development
of a CAN based network. Highlights, among other things, Como vantagens desta arquitetura, pode-se destacar:
its primary concepts, available message formats, main
existing norms, failure detection mechanisms and primary • Simplicidade do hardware utilizado, sendo constituido
Data Dictionary concepts. Presents also main concepts basicamente pelos sensores, o cabeamento e uma
should be considered when developing a CAN based placa eletrônica de gerenciamento do sistema.
module, its Hardware and Software aspects and network
geometry. • Todos os dados estarão disponíveis à Unidade Central
durante toda a operação do sistema.
PALAVRAS-CHAVE
Como desvantagens, pode-se destacar:
CAN, Controller Area Network, Multiplexing,
ISO11898, SAE J1939. • Grande quantidade de cabeamento requerido.
• Limitação das possibilidades de expansão do sistema.
INTRODUÇÃO [1]
Outra forma de conectá-los é através de uma
Atualmente, percebe-se um crescimento exponencial Arquitetura Distribuída. Neste caso, existiriam vários
dos módulos eletrônicos disponibilizados nos veículos módulos inteligentes espalhados pela aplicação, recebendo
automotivos. Estes módulos passam, cada vez mais, a apenas uma parcela dos dados, geralmente aqueles gerados
compartilhar informações entre si; muitas vezes em tempo- próximo a ele mesmo, e enviando-os aos módulos que
real. necessitem de tais informações para seu próprio
processamento.
1
A figura #2 ilustra este tipo de arquitetura. • Ter cabeamento reduzido para facilitar a sua
instalação e reduzir os problemas com manutenção.
SAÍDAS • Ser imune as interferências eletro-magnéticas.
ECU 3 E
Considerando a Arquitetura Distribuída a melhor
N solução para aplicações onde vários módulos estarão
E
C T responsáveis pelo controle de sistemas específicos, porém,
U R compartilhando dados, a forma como estes dados serão
MÓDULO A
CENTRAL 4
D
transmitidos de um módulo para o outro passa a ser o
A principal desafio a partir de agora.
S
ECU 1 ECU 2
Dentre as características desejáveis em um protocolo
para aplicações veiculares, pode-se destacar [7]:
Figura #2: Diagrama Esquemático de uma Arquitetura Distribuida.
• Cabeamento total da rede reduzido.
Como vantagens desta arquitetura, pode-se destacar • Ser capaz de transmitir altas taxas de informação, uma
[2], [3]: vez que os sistemas operam com informações em
tempo-real.
• Reduzida quantidade de cabeamento da rede, por
estarmos instalando módulos remotos bem próximos • Boa flexibilidade das linhas de comunicação para
aos sensores. facilitar a instalação do chicote no veículo.
• Permite a ampliação do sistema com significativa • Capacidade de interligar diversos nós, garantindo
facilidade. futuras expansões do sistema.
• Facilita a criação do software de aplicação, uma vez • Robustez suficiente para garantir seu funcionamento
que possibilita a sua modularização e distribuição em ambientes nocivos e móveis.
pelos vários módulos remotos. • Capacidade para detectar e tratar eventuais falhas
• Possibilita também a modularização do projeto do geradas por problemas em hardware e software ou,
sistema e da execução dos testes de validação, interferências externas como as eletro-magnéticas.
aumentando a sua confiabilidade e reduzindo os
prazos envolvidos no desenvolvimento. O protocolo que cobre todos estes requisitos é o CAN
(Controller Area Network).
Como desvantagens desta arquitetura, pode-se
destacar: O CAN BUS (BARRAMENTO CAN)
• Estar preparada para trabalhar em ambientes móveis, Outro ponto forte deste protocolo é o fato de ser
sendo resistente especialmente a elevada vibração dos fundamentado no conceito CSMA/CD with NDA (Carrier
equipamentos. Sense Multiple Access / Collision Detection with Non-
Destructive Arbitration). Isto significa que todos os
2
módulos verificam o estado do barramento, analisando se potencial entre os fios (e esta permanecerá inalterada), a
outro módulo não está enviando mensagens com maior comunicação não é prejudicada.
prioridade. Caso isto seja percebido, o módulo cuja
mensagem tiver menor prioridade cessará sua transmissão e No CAN, os dados não são representados por bits em
o de maior prioridade continuará enviando sua mensagem nível “0” ou nível “1”. São representados por bits
deste ponto, sem ter que reiniciá-la. Dominantes e bits Recessivos, criados em função da
condição presente nos fios CAN H e CAN L. A figura #4
Outro conceito bastante interessante é o NRZ (Non ilustra os níveis de tensão numa rede CAN, assim como os
Return to Zero), onde cada bit transmitido representa bits Dominantes e Recessivos.
efetivamente um dado e não, por exemplo, o barramento em
idle (sem operação efetiva).
VCAN H 3.5v
A velocidade de transmissão dos dados é proporcional
ao comprimento do barramento. A maior taxa de Vdif 2.0v
transmissão especificada é de 1Mbps considerando um VCAN L 1.5v
barramento de 40 metros. A figura #3 representa a relação
entre o comprimento da rede (barramento) e a taxa de Recessivo Dominante Recessivo
transmissão dos dados.
Tempo
Figura #4: Níveis de Tensão no CAN e os bits Dominantes e Recessivos.
Taxa de
Transmissão [Mbps]
Como mencionado no início deste item, todos os
1000 módulos podem ser mestre e enviar suas mensagens. Da
mesma forma, o protocolo é robusto a ponto de evitar a
colisão entre mensagens através de uma arbitração bit a bit
não destrutiva. Imagine 2 módulos enviando, bit a bit, ao
mesmo tempo, mensagens diferentes. Após enviar um bit,
50 cada módulo analisa o barramento e verifica se outro
módulo na rede o sobrescreveu. Vale lembrar que um bit
Dominante sobrescreve eletricamente um Recessivo. Um
módulo interromperá imediatamente sua transmissão caso
40 1000 Comprimento perceba que existe outro módulo transmitindo uma
do Chicote [m] mensagem com prioridade maior. Este, com maior
Figura #3: Relação entre a Taxa de Transmissão e o Comprimento da rede. prioridade, continuará normalmente sua transmissão.
3
um problema em determinadas aplicações que trabalhem Uma das maiores vantagens do CAN é a sua robustez
em tempo-real. A figura #6 apresenta o quadro de e a capacidade de se adaptar a condições de falhas,
mensagem do formato CAN 2.0B. temporárias e permanentes. Podem-se classificar as falhas
em 3 categorias ou níveis:
4
Contadores contendo valores entre 128 e 255 colocam o Outra característica de determinadas aplicações
módulo em condição de Error Passive. Finalmente, fundamentadas no CAN é que estas poderão ter duas ou
contadores contendo valores superiores a 255, o módulo é mais sub-redes CAN trabalhando, cada qual, em uma
considerado em BusOff e passa a não mais atuar no velocidade diferente. Os dados são transferidos de uma sub-
barramento. Estes contadores também são decrementados a rede para a outra através de módulos que atuam nas duas
medida que mensagens corretas são recebidas, reduzindo o sub-redes. Estes módulos são chamados de Gateways.
grau de incerteza em relação a atividade dos módulos ora
com contadores contendo valores diferentes de zero. A figura #7 ilustra uma rede CAN genérica, com duas
sub-redes e os 2 terminadores ilustrados. O Gateway desta
Nível Físico: Para os barramentos com 2 e 4 fios, caso aplicação é o Painel de Instrumentos.
algo de errado venha a ocorrer com os fios de dados CAN
H e CAN L, a rede continuará operando numa espécie de
modo de segurança. Seguem abaixo as condições que
permitem a continuidade da comunicação:
5
está alocado na memória externa. Isto é feito através de um A figura #9 mostra uma imagem da ECU acima
pino disponível em todos os microcontroladores, descrita.
geralmente chamado de EA (External Access).
void MonSendMsg()
Figura #8: Microcontrolador com CAN incorporado + Transceiver. { byte i;
xdata byte* msg;
Considerando os conceitos acima colocados, uma putchar(send_pdu.cmd);
ECU genérica que poderia ser utilizada no desenvolvimento putchar(send_pdu.source);
de aplicações seria formada por um Microcontrolador com putchar(send_pdu.size);
CAN incorporado, um Transceiver, memórias RAM e msg = send_pdu.msg;
EPROM externas, um driver para a comunicação via UART for (i=0; i != send_pdu.size; i++)
(RS232) com um PC e alguns componentes básicos para a putchar(msg[i]); }
conexão dos CIs principais.
6
MONTAGEM DA REDE: CONCLUSÕES
Após o desenvolvimento das ECUs, será preciso O CAN Bus mostra-se o protocolo de comunicação
conectá-las através do chamado barramento. Vale lembrar mais adequado às aplicações embarcadas em veículos.
que o termos “Bus”, do nome CAN Bus, significa Sejam estas aplicações automotivas, navais ou agrícolas, o
exatamente barramento. Apesar de parecer simples, o ato de CAN é capaz de atender seus requisitos de robustez e
interligar os módulos requer bastante atenção. gerenciamento da comunicação (taxas de transmissão
compatíveis e detecção de falhas).
Sobre o cabeamento necessário [8], considerando uma
aplicação CAN de 2 fios, deve-se utilizar um par trançado, Ao se trabalhar com o CAN, deve-se observar qual a
onde a secção transversal de cada um dos fios deve ser de norma diretamente relacionada a aplicação em questão.
no mínimo 0,35mm². Esta norma terá informações sobre a taxa de transmissão da
rede e também sobre o dicionário de dados da aplicação,
As 2 terminações (resistores de aproximadamente 120 entre outras.
ohms), do ponto de vista teórico, poderiam ser instaladas
nas extremidades do chicote; diretamente nos fios de dados Durante o desenvolvimento do hardware de uma ECU
CAN H e CAN L. Do ponto de vista prático isto é CAN, os pontos principais a serem observados estão
extremamente complexo. O que deve ser feito é adicionar relacionados ao microcontrolador e ao transceiver. A
as terminações nas duas ECUs conectadas aos extremos da determinação destes componentes está diretamente ligada a
rede. Se a rede for embarcada em veículos e as ECUs forem aplicação efetiva da ECU.
montadas dependendo dos opcionais do mesmo, deve-se
procurar instalar as terminações nas ECUs que estarão O desenvolvimento do firmware da ECU é uma das
sempre presentes no veículo. As terminações são etapas mais importantes na criação do sistema. É nele que
mandatórias numa rede CAN ! serão declaradas as mensagens da aplicação e também o
funcionamento da ECU em relação aos sensores e atuadores
No momento de se projetar o roteamento do do sistema.
barramento [12], algumas regras em relação ao
comprimento dos chicotes devem ser observadas. O A montagem efetiva da rede (barramento), apesar de
sincronismo das operações das ECUs no CAN é parecer simples, envolve diversos conceitos relacionados a
fundamentado no tempo de propagação física dos elétrons Física. Certamente, o projetista não precisará conhecer
no barramento. Assim, a relação do comprimento de totalmente o comportamento dos elétrons através dos fios
determinados intervalos do chicote no barramento são das linhas de dado, mas a observação de alguns conceitos
fundamentais ao bom funcionamento da rede. A figura #10 básicos relacionados é primordial.
mostra um diagrama que ilustra as medidas que devem ser
observadas no desenvolvimento do chicote. LISTA DE ABREVIAÇÕES
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 (máximo comprimento da ramificação) = 0,3m ECU: Electronic Control Unit.
d (mínima distância entre ramificações) = 0,1m
L (máximo comprimento da rede a 1Mbps) = 40m EEPROM: Electrical Erasable and Programmable ROM.
Obs: O valor da distância “d” deve ser aleatório.
EPROM: Electrical Programmable ROM.
Figura #10: Geometria de uma Rede CAN.
I/O: Input/Output.
Após montado o barramento, caso seja necessário ISO: International Organization for Standardization.
qualquer retrabalho no mesmo, é aconselhável a troca do
chicote danificado. Emendas poderão alterar a impedância Kbps: Kilo bits por segundo.
característica da rede e com isso afetar o seu Mbps: Mega bits por segundo.
funcionamento.
NDA: Non-Destructive Arbitration.
7
NRZ: Non-Return to Zero.
12. ISO11783 Workshop, Agrithecnica 99,
OSI: Open System Interconnection.
http://isotc.iso.ch/livelink/livelink, 1999.
OTP: One Time Programmable.
REFERÊNCIAS ADICIONAIS
PC: Personal Computer.
RAM: Random Access Memory. Fredriksson, L.B. Distributed Embedded Control
Systems in Robotics – Ten Years of Development,
ROM: Ready Only Memory.
KVASER AB, 1997.
SAE: Society of Automotive Engineers.
Stone, M.L. Dynamic Address Configuration in SAE
REFERÊNCIAS BIBLIOGRÁFICAS J1939, Biosystems and Agricultural Engineering,
Oklahoma State University.
1. Guimarães, A.A. O Protocolo CAN Bus nas Stone, M.L. High Speed Networking in Construction
Aplicações Off-Road: Uma Análise Comparativa and Agricultural Equipments., Department of
entre os Padrões Existentes, SAE paper nº 2001-01- Biosystems and Agricultural Eng'g, 1994,
3853. São Paulo, 2001. www.agen.okstate.edu/home/mstone/.
2. Fredriksson, L.B. Controller Area Networks and the Axelson, J. Serial Port Complete, ISBN 0-9650819-2-3,
protocol CAN for machine control systems, Lakeview Research, 1998.
Mechatronics, v.4 n.2, p.159-92, 1994.
Why CAN, KVASER Web Site,
3. Zuberi K.M.; Shin K.G. Real-time decentralized www.kvaser.se/can/index.htm, 2000.
control with CAN. In: IEEE Conference on Emerging
Technologies and Factory Automation, 1996. HLPs: SAE J1939, KVASER AB, 2000.
Proceedings. IEEE, 1996. p.93-9.
Stone, M.L.; Zachos, M. Application of J1939 Networks
4. Hofstee, J.W.; Goense, D. Simulation of a Controller in Agricultural Equipments, Oklahoma State University
Area Network-based Tractor-Implement Data Bus Dearborn Group.
according to ISO 11783, J. Agric. Engng Res. (1999)
73, 383-394. Controller Area Network – Background Information,
How CAN works, Implementation, Application Layer.
5. Sigrimis, N.; Hashimoto, Y.; Munack, A.; De www.omegas.co.uk/CAN/, 2000.
Baerdemaeker, J. Prospects in Agricultural
Engineering in the Information Age, CIGR- Guimarães, A.A.; Saraiva, A.M. As Aplicações Agrícolas
Ejournal, invited paper, 1998. e o Protocolo CAN: Uma Aplicação a um Monitor de
Semeadora. In: 3º Congresso da SBI-Agro, Foz do Iguaçu.
6. Strauss, C.; Cugnasca, C.E.; Saraiva, A.M. Protocolos Anais. SBI Agro. Lavras. 2002. p.35-42.
de Comunicação para Equipamentos Agrícolas,
CONAI, 1998. Stepper, M. R. J1939 High Speed Serial
Communications, The Next Generation Network for
7. Controller Area Network (CAN) - Module 6., Heavy Duty Vehicles, SAE paper nº 931809, 1993.
BOSCH - Powertrain University, 2000.
Alvarenga, C. Multiplexing in Automobiles – An
8. ISO 11898 - Road vehicles-Interchange of digital Application Example of the CAN Protocol, SAE paper,
information-Controller area network (CAN) for high- Multiplexing and Networking pág. 503 – 514.
speed communication, 1993.
Dietmayer, K.; Overberg, K. W. CAN Bit Timing
9. Data Dictionary for V-Bus applications, Issue 1.3, Requirements, SAE paper nº 970295, 1997.
2001, GM proprietary documentation.
Buehring, P. CAN Controller Architecture Optimized
10. Phillips Web Site, www.semiconductors.philips.com, for SAE-J1939 Applications, SAE paper nº 940361,
consultado em Março de 2002. 1994.
11. Strauss, C. Implementação e Avaliação de uma Samuel, J. Developing Diagnostics on KWP 2000 and
Rede Experimental baseada em CAN para CAN, SAE paper nº 981112, 1998.
Aplicações Agrícolas, Dissertação de Mestrado,
EPUSP, 2001.
8
SOBRE O AUTOR – Alexandre de
Almeida Guimarães trabalha na GM do
Brasil desde 1993. Iniciou suas atividades
na área de automação industrial, onde
permaneceu por cerca de 4 anos. Trabalha
atualmente como Engenheiro de Produto,
sendo responsável por Módulos de Controle de Carroçaria,
Barramentos de Dados e Sistemas de Entretenimento
(Rádio, Alto-falante e Antena) em veículos de passageiros.
Formou-se em Engenharia Elétrica pela Pontifícia
Universidade Católica de São Paulo e cursa Mestrado em
Sistemas Digitais na Escola Politécnica da Universidade de
São Paulo. Sua dissertação é baseada no protocolo CAN
(Controller Area Network) aplicado aos veículos agrícolas.
9
10