projeto e implementação de um barramento can para suporte

Transcrição

projeto e implementação de um barramento can para suporte
PROJETO E IMPLEMENTAÇÃO DE UM BARRAMENTO CAN PARA SUPORTE...
1
PROJETO E IMPLEMENTAÇÃO DE UM
BARRAMENTO CAN PARA SUPORTE AO
DESENVOLVIMENTO DE SISTEMAS DE
AUTOMAÇÃO PARA MÁQUINAS AGRÍCOLAS
Ricardo Y. Inamasu
Embrapa Instrumentação Agropecuária, R. XV de Novembro, 1452,
CEP 13560-970, São Carlos-SP, e-mail: [email protected]
Rafael V. de Sousa
Depto. Eng. Mecânica, EESC-USP, Av. Trabalhador São-carlense, 400,
CEP 13566-590, e-mail: [email protected]
Resumo
Padronizações internacionais baseadas no protocolo de comunicação digital serial CAN (Controller Area Network) têm
sido elaboradas e adotadas em aplicações agrícolas para integração de dispositivos de automação e controle. Destacam-se
os esforços das associações de normas, empresas e instituições de pesquisa nacionais e internacionais no sentido de
desenvolver e promover a implementação da norma ISO 11783, baseada no CAN, como um padrão para comunicação
digital entre dispositivos eletrônicos em máquinas e implementos agrícolas. Sob esse contexto, este trabalho apresenta o
projeto e a implementação de um barramento CAN para suporte ao desenvolvimento de dispositivos e protocolos de alto
nível para sistemas de automação de máquinas e implementos agrícolas baseados na norma ISO 11783.
Palavras-chave: protocolo CAN, automação de máquinas agrícolas, ISO 11783.
Introdução
Nas últimas décadas, tem-se verificado um avanço
vertiginoso da informática e da automação em diversas
áreas, incluindo a área agrícola. Entretanto, o aumento
do número de programas computacionais e de dispositivos
eletrônicos presentes nesses sistemas conduz à busca pela
compatibilidade e integração de tais programas e dispositivos.
Uma tendência verificada para suprir essa necessidade
em máquinas e implementos agrícolas tem sido a adoção
de padrões baseados no protocolo de comunicação digital
serial Controller Area Network – CAN (Hofstee & Goense,
1999; Stone et al., 1999; Auernhammer, 2001).
O protocolo CAN foi desenvolvido sob os conceitos
de Fieldbus (rede de campo), na década de 1980, por
Bosch GmbH (Bosch, 1991) para promover a interconexão
entre dispositivos de controle em automóveis, mas em
poucos anos essa tecnologia migrou para outras áreas para
integrar dispositivos de campo e em sistemas embarcados
(Barbosa et al., 1999). A importância do CAN na área
agrícola é observável pelos esforços para desenvolver
padronizações internacionais para aplicações em máquinas
e implementos agrícolas (Munack & Speckmann, 2001).
Stone (1997) apresenta um histórico do desenvolvimento
dessas normas e relata a união de esforços entre instituições
de pesquisa, empresas e da associação de normas interna-
cionais ISO (International Organization for Standardization)
para desenvolvimento de uma norma internacional
denominada ISO 11783.
O propósito da norma ISO 11783 é prover um padrão
aberto para interconexão de sistemas eletrônicos embarcáveis
através de um barramento, que, por sua vez, é um conjunto
formado por fios, conectores, transceptores e dispositivos
de potência para promover a interconexão de dispositivos
e permitir a comunicação de dados entre estes.
Na área agrícola do Brasil, o emprego de redes
baseadas em tais padrões em máquinas agrícolas é ainda
restrito a produtos importados. Trabalhos de pesquisa têm
sido realizados no sentido de contribuir com os esforços
internacionais para desenvolvimento e implementação da
ISO 11783 e para contribuir com a assimilação dessa
tecnologia por instituições e empresas nacionais para que
haja possibilidade de competição com produtos importados
(Strauss, 2001; Sousa, 2002; Guimarães, 2003; Silvia,
2003).
Diante das necessidades notadas, foi desenvolvido
e montado em laboratório um barramento CAN, baseandose em especificações de camadas física e de enlace de
dados da norma ISO 11783 para dar suporte ao desenvolvimento de sistemas de automação para máquinas e
Minerva, 1(1): 1-6
2
INAMASU & SOUSA
implementos agrícolas por meio de projeto posterior e
implementação de dispositivos e de protocolos de alto
nível. Para isso, foi realizada pesquisa em diversas fontes
de informação sobre as tecnologias empregadas por esses
padrões, sendo implementada uma interface-padrão para
permitir a conexão de diferentes famílias de dispositivos
ao barramento CAN. As seções a seguir apresentam a
sistematização de informações, o desenvolvimento da
interface-padrão e a implementação de barramentos.
O Protocolo CAN e os Protocolos de
Alto Nível
O protocolo CAN, como desenvolvido por Robert
Bosch GmbH, foi padronizado e documentado internacionalmente pela ISO, gerando a norma ISO 11898, para
aplicações de alta velocidade, e a norma ISO 11519,
para aplicações de baixa velocidade. Esses padrões
apresentam camada física e camada de enlace de dados
em acordo com o modelo OSI (Open Systems Interconnection).
As camadas acima da camada de enlace de dados não
são definidas pelas normas ISO 11898 e ISO 11519, ficando
abertas para que cada usuário ou grupo de usuários desenvolva
o próprio padrão, com base em protocolos de camadas
superiores, denominados Protocolos de Alto Nível, com
especificações que atendam às necessidades de cada
aplicação. As diversas formas de implementar uma rede
baseada no CAN dependem das necessidades identificadas
por setor ou grupo e variam de acordo com as estratégias
adotadas para atender a essas necessidades.
A comunicação de dados em uma rede com protocolo
CAN é baseada em mensagens transportadas em quadros
de bits, que, por sua vez, são formados por campos de bits
com determinada função no quadro. Segundo a ISO 11898,
são definidos quatro tipos de quadros de bits: Data Frame
(Quadro de Dados), Remote Frame (Quadro Remoto), Error
Frame (Quadro de Erro) e Overload Frame (Quadro de
Figura 1
Minerva, 1(1): 1-6
Sobrecarga). Há duas versões do protocolo CAN que diferem
pelo formato do quadro de bits. Estas duas versões são: o
Standard CAN (CAN 2.0A), com o identificador composto
por 11 bits, e o Extended CAN (CAN 2.0B), com identificador
composto por dois campos, um com 11 bits e outro com
18 bits (total de 29 bits). A Figura 1 ilustra uma mensagem
CAN e o quadro para transmissão de dados do CAN formado
por diferentes campos de bits.
A Figura 1 mostra que a mensagem CAN é formada
por campo de dados denominado Data Field (Campo de
Dados), ao qual está associado outro campo que caracteriza
a mensagem. No caso do CAN, esse campo identificador
que caracteriza a mensagem é denominado Identifier
(Identificador). Esse campo define também a prioridade
de cada mensagem. O valor do identificador das mensagens de cada nó é exclusivo em uma rede CAN, e quanto
mais baixo o valor do identificador, maior é a prioridade
das mensagens desse nó. Utilizando um identificador, os
vários nós fazem o escalonamento do acesso ao meio.
Os protocolos de alto nível são desenvolvidos
utilizando a mensagem CAN formada pelo campo
identificador e pelo campo de dados. No campo de dados
são dispostos conjuntos de bits representando as informações
que se deseja transmitir, que podem ser, por exemplo:
dados de controle para outros nós, dados coletados por
sensores, dados informando o estado do nó ou de dispositivos
conectados ao nó, solicitação de dados a determinados
nós e parâmetros de configuração para outros nós.
Visão Geral da Norma ISO 11783
O comitê da ISO responsável pela norma ISO 11783
(Tractors and machinery for agriculture and forestry –
Serial control and communications data network) é o
TC23/SC19/WG1. Grande parte da documentação da norma
encontra-se disponível e torna possível a implementação
de redes embarcadas segundo essa padronização.
Formação da mensagem CAN a partir de quadro de bits do CAN.
PROJETO E IMPLEMENTAÇÃO DE UM BARRAMENTO CAN PARA SUPORTE...
O sistema eletrônico que promove a interconexão
de um dispositivo ao barramento é denominado Electronic
Control Unit (ECU) ou Unidade Eletrônica de Controle.
Uma única ECU pode ser responsável pela conexão de
um ou mais dispositivos a um barramento de comunicação.
Também, um dispositivo pode ser conectado a um barramento
por uma ou mais ECUs. O conjunto formado por ECU e
dispositivo constitui um nó CAN. A Figura 2 ilustra um
exemplo de rede segundo o padrão da ISO, disposto em
um trator e com um implemento conectado.
As partes da documentação da norma ISO 11783
são:
l
l
l
l
l
l
l
l
l
l
l
Parte 1: General Standard (Visão Geral da Norma)
Parte 2: Physical Layer (Camada Física)
Parte 3: Data Link Layer (Camada de Enlace de Dados)
Parte 4: Network Layer (Camada de Rede)
Parte 5: Network Management Layer (Camada de
Administração de Rede)
Parte 6: Virtual Terminal (Terminal Virtual)
Parte 7: Implement Messages Application Layer
(Mensagens de Implemento)
Parte 8: Power Train Message (Mensagens Automotivas)
Parte 9: Tractor ECU (ECU do Trator)
Parte 10: Task Controller and Management Computer
Interface (Controlador de Tarefas e Interface para
Computador de Administração)
Parte 11: Mobile Agricultural Data Dictionary (Dicionário
de Dados para Tarefas Agrícolas).
As Partes 2 e 3 possuem as especificações de camada
física e de camada de enlace de dados da norma que são
Figura 2
3
diretamente relacionadas com o protocolo CAN. As Partes
de 4 a 10 possuem especificações de camadas de alto
nível relacionadas com topologia de rede, administração
de rede, mensagens de rede, mensagens de dispositivos e
especificações dos dispositivos especiais Terminal Virtual,
ECU do Trator e Controlador de Tarefas.
O Protocolo CAN e a ISO 11783
Adotaram-se especificações da norma ISO 11898
referentes ao CAN para compor as camadas física e de
enlace de dados da ISO 11783. Além dessas especificações,
outras complementares foram definidas segundo as
necessidades da aplicação agrícola.
A camada física
A Parte 2 referente a especificações de camada física
da ISO 11783 define uma taxa de comunicação de 250
kb/s e adota especificações da norma ISO 11898, como,
por exemplo, codificação NRZ (Non Return to Zero), regra
de violação de bits (Bit-Stuffing) e níveis de sinais elétricos.
São definidos o número máximo de nós igual a 30 por
sub-rede e um comprimento máximo de barramento igual
a 40 m por sub-rede.
O cabo para o barramento especificado é do tipo par
trançado, não blindado e com quatro pares de condutores
elétricos. Dois condutores são utilizados para sinalização
elétrica digital balanceada na comunicação de dados (CAN_L
e CAN_H) e os outros dois condutores alimentam eletricamente
os circuitos de terminação do barramento (TBC_PWR e
TBC_RTN). Além das características citadas, a documentação
de camada física especifica também outras características
elétricas e mecânicas dos componentes do barramento.
Ilustração de uma rede ISO 11783.
Minerva, 1(1): 1-6
4
INAMASU & SOUSA
A camada de enlace de dados
A camada de enlace de dados da norma ISO 11783
adota a versão CAN2.0B do protocolo CAN. O campo
de dados da mensagem possui de 0 a 8 bytes (64 bits) e
o campo identificador possui 29 bits, que caracterizam
a mensagem. Esse campo identificador permite que as
mensagens trocadas sejam vistas como informações com
prioridades diferentes e independentes dos nós que as
produzem. Os nós consumidores podem utilizar filtros
de aceitação de mensagens configurados de modo a
interromper o processador do nó, ou CPU (Central
Processing Unit – Unidade Central de Processamento)
do nó, apenas quando chegam mensagens de interesse
para esse nó.
O mecanismo de acesso ao meio para comunicação
de dados pelo barramento denominado CSMA/NDBA –
Carrier Sense Multiple Access with Non-Destructive Bitwise
Arbitration (Acesso Múltiplo com Detecção de Portadora
com Arbitragem Não Destrutiva por Operação Lógica Bit
a Bit). Esse mecanismo origina um método de acesso ao
meio denominado Arbitragem. Um nó com mensagem
com identificador de menor valor tem maior prioridade
na transmissão da mensagem.
A Parte 3 da norma define, além do protocolo CAN,
formas de utilização dos campos de bits identificador e
campo de dados, que formam uma mensagem CAN, como
ilustra a Figura 3.
Na Figura 3 é definido um esquema de uso de bits
que origina duas Unidades de Protocolo de Dados (Protocol
Data Unit – PDU). Essas duas PDUs são estruturas de
mensagem que permitem diferentes tipos de endereçamentos
para uma mensagem. A estrutura denominada PDU1 permite
que uma ECU envie uma mensagem diretamente para outra
ECU (ponto a ponto: ECU envia mensagens para outra ECU
PDU 1 Priority R D
PDU format
específica). A estrutura denominada PDU2 permite que se
identifique o tipo de dados da mensagem, mas não endereça
a mensagem a uma ECU específica (difusão: ECU envia
mensagens que qualquer ECU pode receber). Definem-se
256 (0 a 255 – 8 bits) endereços possíveis em uma rede
obedecendo os tamanhos dos campos Destination Address
(Endereço de destino) e Source Address (Endereço de Origem)
das duas estruturas possíveis para o identificador (PDU1 e
PDU2). O PGN ou Parameter Group Number (Número
de Grupo de Parâmetro) implementa uma forma de indicar
o conteúdo dos dados de uma mensagem relacionando-a
ao grupo de parâmetros.
A Parte 3 da norma ISO 11783 também especifica
os tempos-limite para a resposta de uma solicitação, espera
por segmento de dado, espera por confirmação e um protocolo
de transporte, com regras definidas para o envio de dados
com mais de 8 bytes (limite máximo para um quadro CAN).
Barramento CAN
O barramento foi projetado considerando
especificações de camada física e de enlace de dados.
Foi desenvolvida uma interface-padrão para adaptar
diferentes tipos de dispositivos (sensores, atuadores, terminais
de controle) e compor as ECUs.
Dispositivos componentes do nó CAN
Na implementação de um padrão baseado no CAN,
os nós são tipicamente constituídos por três módulos
elementares, que são:
l
Transceptor CAN: módulo responsável pela adaptação
dos níveis de tensão entre os circuitos do nó e do
barramento CAN. Também promove a adaptação de
impedâncias e a proteção do nó a faltas.
Destination address
Source address
Parameter group number
PDU 2 Priority R D
Mensagem CAN
Identificador – 29 bits
Figura 3
Minerva, 1(1): 1-6
PDU format
Group extension
Source address
Dados – 64 bits (8 bytes)
PDUs especificadas pela norma ISO 11783.
PROJETO E IMPLEMENTAÇÃO DE UM BARRAMENTO CAN PARA SUPORTE...
l
l
Controlador CAN: módulo central da implementação
e do controle do protocolo.
Sistema Computacional Central: módulo constituído
por CPU, memória, programas computacionais, interface
com o controlador CAN e interfaces para outros
dispositivos, como sensores, atuadores e terminais de
controle. Por intermédio desse módulo são implementados
os protocolos de alto nível.
Os transceptores e controladores são os elementos
básicos para a elaboração de redes CAN, pois determinam
as características de operação de rede, como velocidade
de transferência de dados (taxa de bits), imunidade a
interferências, robustez, capacidade de carga (número de
nós), detecção, sinalização e distinção de erros, detecção
de faltas, custo, entre outras.
Para desenvolvimento do circuito de uma ECU, sendo
o controlador o responsável pela implementação do protocolo
CAN, as demais regras definidas pela norma devem ser
implementadas em um sistema computacional que se
comunique com o controlador. Tal sistema computacional
deve ter capacidade de processamento e de memória
relacionado com as características da ECU, podendo ser,
por exemplo, um simples microcontrolador, se a ECU for
associada a sensores, ou um computador embarcável, se a
ECU for um terminal IHM (interface homem-máquinas).
Os microcontroladores são sistemas computacionais
implementados em um único circuito integrado e permitem
que sejam gravados programas computacionais (rotinas de
programa) que implementam as funções do microcontrolador
em cada circuito. No mercado podem ser encontrados
microcontroladores com controladores CAN integrados ou
Figura 4
5
microcontroladores com interfaces que permitem a integração
fácil de controladores externos ao microcontrolador.
Projeto do circuito de ECU
A Figura 4 ilustra, por meio de diagrama, o circuito
eletrônico de uma interface CAN desenvolvida e testada
em laboratório para permitir a conexão de dispositivos
com interface RS232 ou sensores e atuadores através de
interfaces analógicas ou digitais (Braz et al., 2004).
Como mostrado na Figura 4, o circuito da interface
é composto basicamente por três circuitos integrados, que
são: microcontrolador, transceptor CAN e transceptor RS232.
Os transceptores têm a função de adaptar os níveis de
tensão dos sinais de comunicação para os níveis definidos
para os respectivos padrões. A porta de comunicação RS232C
é baseada em um controlador tipo USART (Universal
Synchronous/Asynchronous Receiver Transmitter) e a
porta CAN, em um controlador CAN. A interface possui
também um módulo para regulação de tensão que abaixa
a tensão provida pelo barramento, normalmente 12 ou
24 V, para 5 V, que é a tensão de alimentação necessária
aos circuitos integrados da interface. O módulo de conexão
para circuito externo permite que entradas e saídas, analógicas
ou digitais, estejam disponíveis diretamente para a conexão
de sensores e atuadores ou através de circuito de condicionamento de sinais. Esse circuito constitui uma interfacepadrão que pode ser utilizada para compor diferentes nós
CAN e formar uma rede CAN. Para projeto da interface
fisicamente compatível com a ISO 11783 escolheram-se
os componentes transceptor CAN e controlador CAN
segundo as especificações camada física e camada de enlace
de dados, definidas pela norma e apresentadas anteriormente.
Diagrama da interface CAN padrão.
Minerva, 1(1): 1-6
6
INAMASU & SOUSA
que o quadro CAN (conjunto de bits formadores da
mensagem) possui 64 bits para transmissão e recebimento
de dados e que o quadro transmitido e recebido pela USART
possui 8 bits, ou seja, um quadro CAN de dados equivale
a 8 quadros USART. Assim, em um quadro CAN cabem
até 8 dados de 8 bits de 8 mensagens recebidas pela RS232C.
Os dados recebidos pelo CAN devem ser remontados em
mensagens diferentes para serem enviadas pela RS232C.
Implementação do barramento
Foi montada em laboratório uma rede CAN composta
por sensores (receptor GPS, sonar e chaves de contato),
atuadores (motores CC e relés) e um computador industrial.
A interface-padrão foi utilizada para permitir a conexão
desses dispositivos ao barrameto através de porta RS232C
ou dos terminais de entrada e saída digitais e analógicos.
Foi elaborado um terminal virtual tipo IHM utilizando o
ambiente de desenvolvimento de programas Labview na
National Instruments. Esse terminal virtual é executado no
computador industrial e permite monitorar a rede CAN
pelo recebimento e envio de mensagens e acompanhamento
do status de cada transmissão. O computador industrial
também possui uma interface de rede sem fio padrão IEEE
802.11b que habilita a integração da rede CAN com a Internet
e amplia as possibilidades de desenvolvimento de aplicações
embarcadas através de enlace de comunicação sem fio. A
Figura 5 ilustra a rede montada.
No processo de conversão da mensagem CAN para
a mensagem no formato requerido pela USART e,
posteriormente, no sentido inverso, levou-se em consideração
Conclusões
O barramento CAN implementado constitui uma
plataforma de desenvolvimento de dispositivos e aplicações
para sistemas de automação de máquinas agrícolas segundo
a ISO 11783. Por meio desse barramento, diferentes
dispositivos podem ser integrados, constituindo uma rede
de comunicação de dados. Também, os resultados
apresentados sobre o projeto e a implementação do
barramento constituem uma referência para orientar grupos
de pesquisa de instituições e de empresas no desenvolvimento
e implementação dessas tecnologias, contribuindo para
que se tornem realidade na agricultura brasileira.
Rede ethernet
sem fio
Computador
portátil
Computador
embarcável
GPS
Sonar
Outros
sensores
Atuadores
Interface
CAN
Interface
CAN
Interface
CAN
Interface
CAN
Interface
CAN
Barramento CAN
Rede ethernet com fio
Rede ethernet sem fio
Outros padrões de comunicação (RS232, USB, etc.)
Figura 5
Ilustração do barramento CAN montado em laboratório.
Referências Bibliográficas
AUERNHAMMER, H. Precision farming: the environmental
challenge. Computers and Electronics in Agriculture, v.
30, n. 1-3, p. 31-43, 2001.
BARBOSA, M.; FARSI, M.; RATCLIFF, K. An overview
of controller area network. Computing & Control Engineering
Journal (Jun.), v. 10, n. 3, p. 113-120, 1999.
Minerva, 1(1): 1-6
BRAZ, D. C.; SOUSA, R. V.; INAMASU, R. Y.; PORTO,
A. J. V. Desenvolvimento de uma interface CAN para
integração de dispositivos embarcados em máquinas
agrícolas. In: CONGRESSO BRASILEIRO DE
ENGENHARIA AGRÍCOLA, 33., 2004, São Pedro. Anais...
São Pedro, 2004.
PROJETO E IMPLEMENTAÇÃO DE UM BARRAMENTO CAN PARA SUPORTE...
BOSCH. CAN Specification Version 2.0. Robert Bosch
GmbH, Stuttgart, 1991.
GUIMARÃES, A. A. Análise da norma ISO11783 e sua
implementação no barramento do implemento de um monitor
de semeadora. 2003. Dissertação (Mestrado) – Escola
Politécnica, Universidade de São Paulo, São Paulo.
HOFSTEE, J. W.; GOENSE, D. Simulation of a controller
area network-based tractor-implement data bus according
to ISO 11783. Journal of Agricultural Engineering Research
(Aug.), v. 73, n. 4, p. 383-394, 1999.
MUNACK, A.; SPECKMANN, H. Communication
technology is the backbone of precision agriculture.
Agricultural engineering international. CIGR Journal of
Scientific Research and Development, v. 3, p. 1-12, 2001.
SILVIA, K. M. R. Agrican: simulador de redes baseadas
no protocolo ISO 11783 para ambiente web. 2003.
Dissertação (Mestrado) – Escola Politécnica, Universidade
de São Paulo, São Paulo.
7
SOUSA, R. V. CAN (Controller Area Network): uma
abordagem para automação e controle na área agrícola.
2002. Dissertação (Mestrado) – Escola de Engenharia
de São Carlos, Universidade de São Paulo, São Carlos.
STONE, M. L. Dynamic address configuration in SAE
J1939. Proc. of the SAE Symposium on Off-Highway
Equipment. Milwaukee, SAE Transactions, 1997. p. 310315.
STONE, M. L.; MCKEE, K. D.; FORMWALT, C. W.;
BENNEWEIS, R. K. An Electronic Communications
Protocol for Agricultural Equipment. ASAE Distinguished
Lecture # 23 of the Agricultural Equipment Technology
Conference (Feb.), Louisville, Kentucky, 1999.
STRAUSS, C. Implementação e avaliação de uma rede
experimental baseada em CAN para aplicações agrícolas.
2001. Dissertação (Mestrado) – Escola Politécnica,
Universidade de São Paulo, São Paulo.
Minerva, 1(1): 1-6
ffffffffffffffffffffffffffff

Documentos relacionados