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