José de Anchieta Gomes dos Santos. Arquitetura Hardware/Software de um Núcleo NCAP Segundo o Padrão IEEE 1451.1: Uma prova de conceito



Documentos relacionados
Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Disciplina: Introdução à Informática Profª Érica Barcelos

Entrada e Saída. Prof. Leonardo Barreto Campos 1

IW10. Rev.: 02. Especificações Técnicas

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

Um Driver NDIS Para Interceptação de Datagramas IP

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Sistemas Distribuídos

3. Arquitetura Básica do Computador

1. CAPÍTULO COMPUTADORES

Projeto de controle e Automação de Antena

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Serial Paralela USB FireWire(IEEE1394)

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

Visão Geral do Protocolo CANBus


APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO

Componentes de um Sistema de Computador

Barramentos - BUS. Professor Especialista: Airton Ribeiro de Sousa

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Introdução a Informática. Prof.: Roberto Franciscatto

Técnicas de Manutenção de Computadores

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Introdução. Em se tratando de computador, entendemos que memória são dispositivos que armazenam dados com os quais o processador trabalha.

Simulação de coleta de dados em redes de sensores sem o por robôs móveis utilizando a ferramenta Player/Stage

Prof. Esp. Lucas Cruz

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Arquitetura de Computadores Arquitetura de entrada e saída

Permite a coleta de dados em tempo real dos processos de produção, possuindo, também, interfaces para a transferência dos dados para os sistemas

Administração de Sistemas de Informação Gerenciais

1 Introdução Motivação

Quadro de consulta (solicitação do mestre)

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

ULA Sinais de Controle enviados pela UC

Automação Industrial Parte 2

BARRAMENTO DO SISTEMA

Orientação a Objetos

Manual do usuário. Mobile Auto Download

Aula 04 A. Barramentos. Prof. Ricardo Palma

Fundamentos de Hardware

Placas Adaptadoras e montagem de Redes

Introdução a Informática. Prof.: Roberto Franciscatto

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

Arquitetura de Rede de Computadores

Placa Acessório Modem Impacta

PROJETO DE REDES

1

1 Título. 3 Descrição do Problema. Interface Web desenvolvida na plataforma Arduino Mega2560 para acesso aos transdutores baseada no padrão IEEE 1451.

5 Entrada e Saída de Dados:

Introdução à Computação

Hardware de Computadores

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

4 Arquitetura básica de um analisador de elementos de redes

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº

TRATAMENTO E ANÁLISE DE SINAIS DE BAIXA FREQUÊNCIA PARA EMULAÇÃO DE CANAL RÁDIO

Arquitetura de Computadores. Professor: Vilson Heck Junior

Serial ATA (SATA - Serial Advanced Technology Attachment)

Sistemas de Informações Gerenciais

Engenharia de Sistemas Computacionais

Arquitetura de Computadores. Tipos de Instruções

Sistemas Computacionais II Professor Frederico Sauer

Sistema de Computação

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

Aula 04 B. Interfaces. Prof. Ricardo Palma

Organização e Arquitetura de Computadores I. de Computadores

CONSTRUÇÃO DE VEÍCULO MECATRÔNICO COMANDADO REMOTAMENTE

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Admistração de Redes de Computadores (ARC)

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

Introdução aos Computadores

Suporte a redes CAN para Aplicações Embarcadas

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Organização de Computadores 1

imagem ilustrativa Cartilha DIMEP D-SAT

Introdução ao GED Simone de Abreu

1.1. Organização de um Sistema Computacional

Visão geral das redes sem fio

Telecomunicações. Prof. André Y. Kusumoto

Sistemas Operacionais

PARANÁ GOVERNO DO ESTADO

Dispositivos de Memória

Introdução ao Modelos de Duas Camadas Cliente Servidor

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

REFORÇO DE PROGRAMAÇÃO ESTRUTURADA EM LINGUAGEM C PARA GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Implementação de um módulo Ethernet 10/100Mbps com interface Avalon para o processador Nios II da Altera

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

MUDANÇAS NA ISO 9001: A VERSÃO 2015

Barramento - Significado

Transcrição:

José de Anchieta Gomes dos Santos Arquitetura Hardware/Software de um Núcleo NCAP Segundo o Padrão IEEE 1451.1: Uma prova de conceito Natal-RN 2010

José de Anchieta Gomes dos Santos Arquitetura Hardware/Software de um Núcleo NCAP Segundo o Padrão IEEE 1451.1: Uma prova de conceito Dissertação de mestrado apresentada ao Programa de Pós-graduação em Sistemas e Computação do Departamento de Informática e Matemática Aplicada da Universidade Federal do Rio Grande do Norte, como requisito parcial para a obtenção do grau de Mestre em Ciência da Computação. Orientador: Prof. Dr. Ivan Saraiva Silva Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Departamento de Informática e Matemática Aplicada Programa de Pós-graduação em Sistemas e Computação Natal-RN 2010

Catalogação da Publicação na Fonte. UFRN / SISBI / Biblioteca Setorial Especializada do Centro de Ciências Exatas e da Terra CCET. Santos, José de Anchieta Gomes dos. Arquitetura hardware/software de um núcleo NCAP segundo o padrão IEEE 1451.1: uma prova de conceito. Natal, 2010. 89 f. : il. Orientador: Prof. Dr. Ivan Saraiva Silva. Dissertação (Mestrado) Universidade Federal do Rio Grande do Norte. Centro de Ciências Exatas e da Terra. Departamento de Informática e Matemática Aplicada. Programa de Pós-Graduação em Sistemas e Computação. 1. Arquitetura de computador Dissertação. 2. Sensores inteligentes - Dissertação. 3. Padrão IEEE Dissertação. I. Silva, Ivan Saraiva. II. Título. RN/UF/BSE-CCET CDU: 004.2

i Trabalho de Conclusão de Curso de Mestrado sob o título Arquitetura Hardware/- Software de um núcleo NCAP Segundo o Padrão IEEE 1451.1: Uma Prova de Conceito, defendida por José de Anchieta Gomes dos Santos em 06 de Agosto de 2010, em Natal, Estado do Rio Grande do Norte, e aprovado pela banca examinadora constituída pelos professores: Prof. D.Sc. Ivan Saraiva Silva Orientador - UFPI - PpgSC Prof. D.Sc. Marcio Eduardo Kreutz - UFRN Prof. D.Sc. Karla Darlene Nepomuceno Ramos - UERN Prof. D.Sc. Cláudia Maria Fernandes Araújo Ribeiro - UERN

ii Dedico ao meu pai Joaquim Maciel dos Santos (in memórian), que sempre incentivou a minha formação intelectual.

iii Agradecimentos Depois de mais uma etapa importante que se cumpre da minha vida, eu não poderia deixar de agradecer àqueles que estiveram presentes, me incentivando e apoiando, ou mesmo contribuindo de alguma forma para que esse momento se tornasse prazeiroso. Agradeço a minha família, em especial minha mãe Maria do Rosário e minhas irmâs Raquel e Érica, que sempre me ajudaram nos momentos de diculdades e zeram de tudo para que esta caminhada se tornasse o mais estimulante possível. Agradeço ao meu orientador Ivan Saraiva, pela conança prestada e pelos momentos de aprendizado proporcionados. Não posso deixar de agradecer ao companheiros do laboratório do mestrado, no qual passei um ano convivendo diretamente com os mesmos. Boas histórias e caminhadas longas para o restaurante universitário. Dentre os quais posso lembrar: Isaac, Natal, Cássio, Cléverton, Arinaldo, Stheperson, Íria, Anderson e Valério. Dona Fátima, a frequentadora do laboratório, não poderia deixar de ser lembrada. Muito menos deixaria de agradecer os momentos de convivência, aprendizado e principalmente diversão proporcionados pelos amigos do LASIC. Bruno, Alba, Tadeu, Sílvio, Miklécio e Christiane.

iv Resumo Os sensores inteligentes são dispositivos que se diferenciam dos sensores comuns por apresentar capacidade de processamento sobre os dados monitorados. Eles tipicamente são compostos por uma fonte de alimentação, transdutores (sensores e atuadores), memória, processador e transceptor. De acordo com o padrão IEEE 1451 um sensor inteligente pode ser dividido em módulos TIM e NCAP que devem se comunicar através de uma interface padronizada chamada TII. O módulo NCAP é a parte do sensor inteligente que comporta o processador. Portanto, ele é o responsável por atribuir a característica de inteligência ao sensor. Existem várias abordagens que podem ser utilizadas para o desenvolvimento desse módulo, dentre elas se destacam aquelas que utilizam microcontroladores de baixo custo e/ou FPGA. Este trabalho aborda o desenvolvimento de uma arquitetura hardware/software para um módulo NCAP segundo o padrão IEEE 1451.1. A infra-estrutura de hardware é composta por um driver de interface RS-232, uma memória RAM de 512kB, uma interface TII, o processador embarcado NIOS II e um simulador do módulo TIM. Para integração dos componentes de hardware é utilizada ferramenta de integração automática SOPC Builder. A infra-estrutura de software é composta pelo padrão IEEE 1451.1 e pela aplicação especíca do NCAP que simula o monitoramento de pressão e temperatura em poços de petróleo com o objetivo de detectar vazamento. O módulo proposto é embarcado em uma FPGA e para a sua prototipação é usada a placa DE2 da Altera que contém a FPGA Cyclone II EP2C35F672C6. O processador embarcado NIOS II é utilizado para dar suporte à infra-estrutura de software do NCAP que é desenvolvido na linguagem C e se baseia no padrão IEEE 1451.1. A descrição do comportamento da infra-estrutura de hardware é feita utilizando a linguagem VHDL. Palavras-Chave: Arquitetura de Computadores; Sensores Inteligentes; Padrão IEEE 1451.

v Abstract Smart sensors are dierent of ordinary sensors because they have processing capacity over the data monitored. In general they are composed by a power source, transducers (sensors and actuators), memory, processor and transceiver. According to IEEE 1451 a smart sensor can be divided in TIM and NCAP modules that must to communicate itself through a standard interface called TII. The NCAP module is the part of the smart sensor which contains the processor. Therefore, it is the responsible to attribute the feature of intelligence to the sensor. There are many approaches used to develop this module. Those using low-cost microcontrollers and/or FPGA stand out among them. In this work is shown a hardware/software architecture to a NCAP module following the IEEE 1451.1 standard. The hardware infrastructure is composed by a RS-232 Interface driver, a memory RAM of 512KB, a TII interface, the embedded processor NIOS II and the TIM simulator. To integrate the system is used a tool for automatic integration called SOPC Builder. The software infrastructure is composed by the IEEE 1451.1 standard and the specic application of the NCAP that works simulating the monitoring process of temperature and pressure in oleo wells to identify oil spill. The proposed module is embedded in FPGA and to the prototyping of it is used an Altera's DE2 board that contains the FPGA Cyclone II EP2C35F672C6. The embedded processor NIOS II is used to support the software infrastructure of the NCAP that is developed in C language and based on the IEEE 1451.1 standard. The hardware infrastructure behavior description is made using the VHDL language. Keywords: Computer Architecture; Smart Sensors; Standard IEEE 1451.

vi Sumário Lista de Figuras p. ix Lista de Tabelas p. xi Lista de Abreviaturas e Siglas p. xii 1 Introdução p. 1 1.1 Motivação.................................. p. 3 1.2 Objetivos.................................. p. 5 1.3 Estrutura do documento.......................... p. 5 2 Trabalhos relacionados p. 7 3 Sensores Inteligentes p. 11 3.1 Padrão IEEE 1451............................. p. 14 3.2 Módulo NCAP............................... p. 16 3.2.1 Padrão IEEE 1451.1........................ p. 17 3.2.2 Mínimo IEEE 1451.1........................ p. 23 3.3 Módulo TIM................................ p. 26 3.3.1 Endereçamento........................... p. 27 3.3.1.1 Endereçamento de Canal................. p. 29 3.3.1.2 Endereçamento de Função................ p. 29 3.3.2 Transporte de dados........................ p. 30 3.3.3 Disparo............................... p. 30

vii 3.3.4 Controle............................... p. 31 3.3.5 Estado................................ p. 33 3.3.6 Interrupção............................. p. 34 3.4 Interface Independente de Transdutor................... p. 35 3.4.1 Aspectos Elétricos e Físicos da TII................ p. 35 3.4.2 Protocolos de Comunicação e Sincronização........... p. 37 3.4.2.1 Disparo.......................... p. 37 3.4.2.2 Transferência de Bits................... p. 39 3.4.2.3 Transferência de Bytes.................. p. 39 3.4.2.4 Protocolo de Transferência de Quadro de Leitura... p. 40 3.4.2.5 Protocolo de Transferência de Quadro de Escrita... p. 40 4 Arquitetura Hardware/Software do Núcleo NCAP p. 41 4.1 Placa DE2.................................. p. 42 4.2 NIOS II e SOPC Builder.......................... p. 44 4.3 Infra-estruturas de Hardware e Software................. p. 45 4.3.1 Infra-estrutura de Hardware.................... p. 45 4.3.1.1 Interface RS-232..................... p. 46 4.3.1.2 Interface TII....................... p. 47 4.3.1.3 Simulador do Módulo TIM............... p. 49 4.3.2 Infra-estrutura de Software..................... p. 53 4.3.2.1 Funções de Middleware................. p. 56 4.3.3 Comunicação Hardware/Software................. p. 59 5 Testes e Análises p. 64 5.1 Cenário de Uso............................... p. 64 5.2 Testes de software do NCAP........................ p. 69

viii 5.3 Resultados de custo e desempenho da infra-estrutura de hardware... p. 74 6 Conclusões e Trabalhos Futuros p. 77 6.1 Trabalhos Futuros.............................. p. 78 Referências p. 80 Apêndice p. 83 Funções da Hardware Abstraction Layer do NIOS............... p. 83 Anexo p. 85 Código dos Estados do Software do NCAP................... p. 85

ix Lista de Figuras 1 Diagrama de blocos do NCAP do RIICS. Adaptado: (KOCHAN et al., 2004). p. 9 2 Estrutura do NCAP baseado em FPGA. Adptado: (TURCHENKO et al., 2005)..................................... p. 9 3 Componentes básicos de um típico sensor inteligente........... p. 12 4 (a) Modelo de um sensor inteligente. (b) Modelo de sensor inteligente com a divisão em módulos TIM, NCAP e TII. Adaptado: Song e Lee (2008)..................................... p. 13 5 Situação onde há comunicação entre NCAPs................ p. 18 6 Hierarquia de classes do modelo de objeto do IEEE 1451.1. Fonte: (STEPANENKO et al., 2006).......................... p. 21 7 Hierarquia de classes do mínimo IEEE 1451.1. Fonte: Stepanenko et al. (2006)..................................... p. 25 8 Diferentes formas de se implementar o módulo TIM. Fonte: Martins (2005). p. 28 9 Estrutura de endereçamento completo. Adaptado: IEEE-Std-1451.2-1997 (1997).................................. p. 28 10 Ciclo de disparo no TIM. Fonte: Martins (2005).............. p. 31 11 Interface Independente de transdutor entre o STIM e o NCAP. Fonte: Martins (2005)................................ p. 35 12 Protocolo geral de transferência de dados. Fonte: Martins (2005).... p. 38 13 Placa de desenvolvimento DE2. Fonte: Altera (2009)........... p. 43 14 Arquitetura do NCAP............................ p. 45 15 Arquitetura da Interface TII........................ p. 48 16 Arquitetura do simulador do TIM..................... p. 50

x 17 Escolha da variação randômica a partir do número randômico gerado pelo Xorshift................................. p. 52 18 Maquina de estados da infraestrutura de software............. p. 55 19 Comunicação NCAP e TII via Barramento Avalon............ p. 60 20 Writedata enviado pelo barramento e o modo como a interface TII o interpreta................................... p. 61 21 Address enviado pelo barramento e o modo como a interface TII o interpreta..................................... p. 62 22 Cenário de uso para o NCAP proposto................... p. 65 23 Placas DE2 se comunicando através de uma interface RS-232...... p. 65 24 Função de inicialização do NCAP...................... p. 66 25 Função de espera do NCAP......................... p. 68 26 Projeto nal do NCAP integrado no SOPCBuilder............ p. 70 27 Teste da inicialização pelo Performance Counter.............. p. 71 28 Função de vericação do NCAP....................... p. 73 29 Vericação de chave de solicitação..................... p. 74 30 Função de inicialização do NCAP...................... p. 85 31 Função de espera do NCAP......................... p. 86 32 Função de vericação do NCAP....................... p. 87 33 Função de inatividade do NCAP...................... p. 88 34 Função de publicação do NCAP....................... p. 89

xi Lista de Tabelas 1 Tipos primitivos de dados.......................... p. 19 2 Direção da comunicação........................... p. 29 3 Comandos de controle do módulo TIM................... p. 32 4 Registrador de estados padrão........................ p. 33 5 Registrador de estados Auxiliar....................... p. 34 6 Denição das portas da TII......................... p. 36 7 Atribuição de pinos e cores recomendada pelo padrão para a TII.... p. 37 8 Registradores do driver de interface RS-232 da Altera........... p. 46 9 Tabela de funções comuns do TIM..................... p. 52 10 Tabela de chaves de publicação e subscrição do padrão IEEE 1451.1... p. 58 11 Tabela das novas chaves de publicação................... p. 59 12 Tabela de comandos de controle....................... p. 62 13 Tabela de latência média de resposta a solicitação............. p. 72 14 Tabela de custo do NCAP.......................... p. 75 15 Tabela de desempenho das operações do NCAP.............. p. 75

xii Lista de Abreviaturas e Siglas LANs - Local Area Networks MEMS - Micro-Electro Mechanical Systems TC-9 - Technical Committee on Sensor Technology NIST - National Institute of Standards and Technology NCAP - Network Capable Application Processor TIM - Transducer Independent Module TII - Transducer Independent Interface VHDL - VHSIC Hardware Description Language VHSIC - Very High Speed Integrated Circuits RSCH - Redes de Sensores para o Corpo Humano CAN - Controller Area Network USB - Universal Serial Bus IRC - controlador de interface e reprogramação TEDS - Transducer Eletronic Data Sheet UML - Unied Modeling Lenguage CAD - Conversor Analógico-Digital CDA - Conversor Digital-Analógico ASIC - Application Specic Integration Circuit SPI - Serial Peripheral Interface IDE - Integrated Development Environment SOPC - System-On-a-Programmable-Chip GUI - Graphical User Interface

xiii UART - Universal Asynchronous Receiver/Transmitter ISR - Interruption Service Routine HAL - Hardware Abstraction Layer

1 1 Introdução O monitoramento de variáveis ambientais tais como temperatura, som, luz e pressão é uma atividade que possibilita a análise remota de dados medidos através de um sistema de controle e medida de informação. Os modernos sistemas de controle e medida da informação possuem seus recursos distribuídos e são normalmente construídos como redes locais, também conhecidas como LANs (Local Area Networks). Esses sistemas permitem que os dados possam ser monitorados remotamente por um usuário que pode estar próximo ao local de medida, bem como localizado a centenas de quilômetros de distância do mesmo, recebendo essas informações através de uma rede como a Internet. O transdutor é o componente de um sistema de controle e medida composto por sensores ou atuadores e em certos casos ambos. O sensor realiza a medição da variável desejada transformando um fenômeno físico em um formato digital capaz de ser computado e analisado pelo usuário, enquanto o atuador recebe uma informação em formato digital e a transforma em um fenômeno físico, o que possibilita o usuário interagir com o ambiente monitorado (SONG; LEE, 2008). Segundo Oliveira (2004), os avanços na tecnologia dos sistemas micro-eletromecânicos MEMS (Micro-Electro Mechanical Systems) zeram com que os sensores pudessem realizar atividades além daquelas necessárias para gerar apenas uma correta representação dos dados. Esses sensores passaram a fazer parte de uma nova classe conhecida como sensores inteligentes. Os sensores inteligentes se diferenciam do sensor comum por possuírem a capacidade de processamento on-board sobre os dados monitorados. Essa característica permite que decisões sejam tomadas em tempo-real no próprio sensor inteligente. Desse modo, apenas os dados que necessitam de uma análise mais complexa é que são enviados para o usuário nal 1. 1 Usuário nal é aquele que irá realizar as análises sobre os dados coletados, podendo também enviar comandos a serem realizados pelo sensor inteligente.

2 Em 1993, o Comitê Técnico em Tecnologia dos Sensores - TC-9 (Technical Committee on Sensor Technology) da Sociedade de Instrumentação e Medidas IEEE - IEEE Instrumentation and Measurement Society com a parceria do Instituto Americano de Padrões e Medidas - NIST (National Institute of Standards and Technology ) criaram uma iniciativa que dividiu o sensor inteligente em dois módulos. Um deles é o módulo NCAP (Network Capable Application Processor ) ou processador de aplicação capaz de se comunicar em rede que é responsável pelo processamento de dados e comunicação do sensor em rede com o usuário nal. O outro é o módulo TIM (Transducer Independent Module) ou módulo independente de transdutor que contém os transdutores (sensores e atuadores), o equipamento de conversão de sinal e de condicionamento do mesmo. Essa iniciativa levou a uma série de especicações para o desenvolvimento padronizado desses módulos que passaram a se comunicar através de uma interface também padronizada chamada TII (Transducer Independent Interface) ou Interface Independente de Transdutor. Essas especicações constituem o padrão IEEE 1451 que tem entre seus objetivos proporcionar que módulos TIM e NCAP de diferentes fabricantes possam operar em conjunto. O módulo NCAP é a parte do sensor inteligente responsável por atribuir inteligência ao mesmo, uma vez que é capaz de realizar o processamento dos dados. Desse modo, esse módulo passa a conter o elemento principal que diferencia o sensor inteligente de um sensor comum. Este é um fato que contribuiu para que o presente trabalho possua seu foco sobre esse módulo. Em Mayikiv et al. (2007) podem ser vistas algumas das abordagens utilizadas para o desenvolvimento de módulos NCAPs. Nesse trabalho é feita uma análise dessas abordagens, a qual conclui que o desenvolvimento de NCAP utilizando microcontroladores e/ou FPGA reete uma tendência nessa área de pesquisa. Neste trabalho é desenvolvido um módulo NCAP completamente embarcado em uma FPGA. Esse módulo é desenvolvido baseado no padrão IEEE 1451.1 que especica os requisitos necessários ao software desse módulo para que possa ocorrer a troca de informação entre NCAPs. Esse software é implementado utilizando a linguagem C e protoripado na placa DE2 da Altera através do suporte do processador embarcado NIOS II. Esse NCAP possui módulos de comunicação entre NCAPs através de uma interface RS-232 e com o módulo que simula o TIM através de um módulo de interface TII que segue o padrão IEEE 1451.2. Tanto o módulo que simula o TIM como a interface TII são desenvolvidos utilizando a linguagem de descrição de hardware VHDL (VHSIC Hardware Description

3 Language), também chamada de linguagem de descrição de hardware High Speed Integrated Circuits). VHSIC (Very No decorrer deste documento são apresentados maiores detalhes sobre as abordagens de desenvolvimento de módulos NCAP e sobre sensores inteligentes. Esses sensores serão apresentados de acordo com o padrão IEEE 1451. 1.1 Motivação Os sensores estão sendo utilizados em várias aplicações que estão presentes na vida das pessoas, abrangendo desde atividades como automação industrial ou o controle e monitoramento da condição ambiental a sistemas de transporte inteligentes ou de defesa militar. Em Machado (2005), é destacado o uso de sensores em áreas de grande importância como aviação: auxiliando no controle de tráfego aéreo; medicina: na utilização das RSCH (Redes de Sensores para o Corpo Humano) que servem para monitorar a temperatura do corpo e auxiliar na identicação de patologias como a trombose; militar: detectando a presença de inimigos ou substâncias químicas em um determinado local; meio ambiente: monitorando a temperatura e até mesmo abalos sísmicos, vulcões ou terremotos em uma região; tráfego: monitorando o respeito ao limite de velocidade estabelecido nas vias; industrial: monitoramento dos dispositivos de fábrica. O uso de sensores permite o monitoramento de variáveis como temperatura, pressão, aceleração e potencial ácido sem a necessidade do usuário se deslocar ao local de monitoramento. Desse modo, mesmo à distância o usuário pode ter acesso e controle sobre os dados monitorados, o que se torna de grande utilidade em situações como a de alerta de incêndio em regiões orestais ou mesmo na detecção de abalos sísmicos próximos a represas. Nesses casos, o uso de sensores pode captar um aumento elevado na temperatura ou fenômenos que indiquem abalos sísmicos e assim a população próxima a esses locais pode ser alertada com antecedência. São muitos os benefícios que essa tecnologia trás para os seres humanos e por isso toda a contribuição e pesquisa nessa área assume um valor relevante diante da sociedade. O aumento do uso de sensores no cotidiano das pessoas tem sido estimulado pelo desenvolvimento na área dos microprocessadores, sistemas embarcados e comunicação sem o. Outro fator estimulante foi o avanço na tecnologia dos transdutores (sensores e atuadores) que propiciou a inclusão de microcontroladores como complemento do sensor,

4 agregando a ele funcionalidades não restritas apenas a aquisição de dados. Desse modo o sensor passou a executar programas de correção, efetuar calibrações e interligar-se em rede para o compartilhamento de dados e informações (SAUSEN et al., 2007),(OLIVEIRA, 2004). Devido a esses avanços o sensor passa a ter característica inteligente, uma vez que é capaz de realizar algum tipo de processamento de dados on-board sobre os dados monitorados. O padrão IEEE 1451 dividiu o sensor inteligente em módulos TIM e NCAP que utilizam a TII como interface padrão de comunicação. No módulo NCAP, que é o foco desse trabalho, se encontram o processador, a memória e o transceptor, ou seja, a parte de processamento de dados, de armazenamento dos mesmos e de comunicação. Por conter o processador, o módulo NCAP é considerado como o módulo responsável por atribuir inteligência ao sensor inteligente (GUMUDAVELLI et al., 2009). Este fato faz com que as pesquisas acerca do NCAP possuam uma certa relevância. Até pouco tempo atrás trabalhos como os de Wobschall (2002) e Viegas et al. (2005) evidenciavam o signicativo avanço que representa o padrão IEEE 1451, bem como a limitação na adoção desse padrão por parte das empresas devido a falta de NCAP disponível. Atualmente, já podem ser encontrados alguns trabalhos como Franzl e Gurkan (2009) e Viegas et al. (2007) que abordam o desenvolvimento de módulos NCAP seguindo esse padrão. Porém, ainda podem ser encontrados casos como o da Smart Sensor System que desenvolve e disponibiliza um módulo TIM sem desenvolver o módulo NCAP. Ao invés disso, é disponibilizado um NCAP virtual que só executa sob o sistema operacional Windows e necessita do Microsoft Visual Studio. Tais requisitos especícos acabam tornando alto o custo desse NCAP e abrem espaço para uma abordagem de desenvolvimento baseada em microcontroladores ou FPGA. Um importante e recente trabalho na área de sensores inteligentes é Mayikiv et al. (2007). Esta literatura trata dos assuntos e abordagens existentes utilizados para o desenvolvimento de módulos NCAPs. Nele pode-se encontrar as empresas que estão desenvolvendo esses módulos e qual a abordagem utilizada pelas mesmas. Também é mostrado que a abordagem de desenvolvimento utilizando microcontroladores de baixo custo representa uma tendência nessa área de pesquisa. Os estudos bibliográcos acerca dos sensores inteligentes possibilitaram identicar como uma forma signicativa de contribuição para o presente trabalho o desenvolvimento de uma arquitetura hardware/software de um núcleo NCAP que opere de acordo com o padrão IEEE 1451.1. Tal arquitetura é uma nova abordagem de desenvolvimento que

5 serve como uma prova de conceito para um NCAP completamente embarcado em FPGA. 1.2 Objetivos O objetivo deste trabalho é o desenvolvimento de um módulo NCAP usando FPGA. Esse módulo deve prover a parte de inteligência do sensor inteligente por atribuir ao mesmo a capacidade de processamento de dados simples. Além disso, ele deve possuir capacidade de comunicação em rede tanto com outro NCAP através de uma interface RS- 232 como com o módulo TIM através de uma interface serial padronizada. Esse trabalho pode ser subdividido nos seguintes objetivos especícos: ˆ Contribuir com uma fonte a mais de pesquisa na área de sensores inteligentes e o uso do padrão IEEE 1451. ˆ Estudo das abordagens de desenvolvimento já existentes para módulo NCAP. ˆ Desenvolvimento de infra-estruturas de hardware e software para um NCAP que sigam o padrão IEEE 1451. ˆ Uso de uma FPGA para desenvolvimento do NCAP e seus módulos de comunicação de alto e baixo nível. ˆ Desenvolvimento de funções de middleware para o NCAP. ˆ Realizar testes e análises sobre o módulo NCAP desenvolvido. ˆ Concluir sobre os resultados dos testes e análises feitos sobre o NCAP. 1.3 Estrutura do documento Este trabalho se encontra organizado em 6 capítulos que estão sub-divididos em seções. Cada capítulo procura contribuir de alguma forma para o esclarecimento da pesquisa. Existem também alguns capítulos teóricos que possuem informações extras acerca de sensores inteligentes e não apenas sobre o módulo NCAP que é o foco deste trabalho. O capítulo 2 apresenta os trabalhos relacionados a este e que contribuíram de alguma forma para o desenvolvimento do mesmo. Esse capítulo inicia com uma visão mais geral sobre trabalhos na área de sensores inteligentes, porém seu nal tem um foco no módulo NCAP que é o objeto de estudo desse trabalho.

6 O capítulo 3 aborda a tecnologia dos sensores inteligentes, seus conceitos, denições e sua relação com o padrão IEEE 1451. Além do módulo NCAP esse capítulo apresenta o módulo TIM e a interface independente de transdutor para que em teoria o trabalho possa abranger todo o sensor inteligente, sendo assim, uma fonte de pesquisa mais rica e completa. O capítulo 4 apresenta a proposta desse trabalho. Os módulos que serão desenvolvidos, bem como os equipamentos e linguagens que são utilizados para este m. Este capítulo também apresenta alguns detalhes sobre a característica do módulo implementado, bem como as infra-estruturas de hardware e software do NCAP. No capítulo 5 são expostos os testes e análises do módulo NCAP desenvolvido, bem como o cenário de uso que foi simulado nos testes. O capítulo 6 possui as conclusões sobre o trabalho e os trabalhos futuros que podem ser realizados a partir das contribuições que foram deixadas por este.

7 2 Trabalhos relacionados Na literatura podem ser encontradas algumas obras relacionadas com a área de pesquisa deste trabalho. Alguns desses trabalhos abordam pesquisas mais gerais sobre sensores inteligentes enquanto outras possuem um foco mais especíco no módulo NCAP, assim como este trabalho. Entre os trabalhos que possuem propósito mais geral acerca dos sensores inteligentes podem ser destacados o de Buzdugan e Nascu (2008), de Hamrita et al. (2005) e de Song e Lee (2008). Em Buzdugan e Nascu (2008) pode ser encontrada uma visão geral sobre a tecnologia dos sensores inteligentes e sua relação com o padrão IEEE 1451. Três tipos de aplicações são desenvolvidas com o uso de sensores inteligentes. A primeira trata-se de uma interface de aquisição de dados para o controle e monitoramento de aplicações industriais. A segunda é um sistema de controle e aquisição de dados para diminuir os erros dos estudantes na conexão dos equipamentos de hardware em laboratório. A terceira aplicação é um sistema de gerenciamento de energia baseado em sensores inteligentes. Para essas aplicações foram desenvolvidos sensores inteligentes seguindo o padrão IEEE 1451. Na obra de Hamrita et al. (2005) são apresentados os avanços ocorridos na área dos sensores inteligentes, bem como conceitos e denições importantes nessa área. Esse trabalho possui um foco em redes de sensores inteligentes sem o. Nele é desenvolvido um sistema integrado utilizando sensores MICA2DOT do projeto MOTES da universidade de Berkeley. Os sensores desse sistema são dirigidos a eventos e o acesso aos dados são feitos através da tecnologia RFID. Em Song e Lee (2008) é apresentado o padrão IEEE 1451 e seus modos de desenvolvimento. Nela é claramente apresentada a diferença entre um sensor inteligente comum e um sensor inteligente seguindo esse padrão. Nela também podem ser encontradas todas as normas existentes na família IEEE 1451, bem como as normas que ainda se encontram em fase de projeto.

8 Outros trabalhos possuem um foco nas abordagens de implementação do módulo NCAP. Tais implementações visam o desenvolvimento de um módulo com capacidade de processamento, capaz de se comunicar em rede com o usuário nal e com o módulo TIM. Em Mayikiv et al. (2007), é feita uma comparação entre algumas abordagens de desenvolvimento existentes para o módulo NCAP, onde são destacadas suas vantagens e desvantagens. Portanto, considerando esse trabalho, a seguir serão apresentadas essas abordagens, bem como as empresas ou instituições responsáveis pelo seu desenvolvimento. Uma abordagem é a da 3eTechnologies International que é uma empresa que desde o ano de 2006 foi adquirida pela EF Johnson Technology (TECHNOLOGIES, 2009). Essa empresa implementava um módulo NCAP com propósito especíco para sistemas de controle militar. O módulo implementado por essa empresa é baseado em um processador Intel Pentium e tem como requisito o sistema operacional Microsoft Windows. A sua vantagem é o suporte à uma ampla quantidade de interfaces de rede e ao processamento de dados avançados. Porém, os requisitos especícos impostos sobre o equipamento tornam seu custo de implementação alto. Outra abordagem é a da Kontron que é uma empresa que trabalha com computação embarcada nas áreas de telecomunicação, computação móvel, computação medicinal e aeroespacial (KONTRON, 2009). Esta empresa possui uma série de controladores de rede denominados ThinkIO, capazes de realizar funções similares as de um módulo NCAP. Para realizar suas funções esses controladores necessitam de um processador Intel Celeron M (600MHz) ou um Pentium M (1,4GHz) e como sistema operacional necessitam do Microsoft Windows XP Embedded. Eles possuem suporte a um amplo conjunto de interfaces de comunicação, entre elas estão CAN (Controller Area Network), USB (Universal Serial Bus) e duas portas Ethernet. Seu custo é bastante elevado devido aos requisitos necessários para o seu desenvolvimento. A Esensors Inc. trabalha com o monitoramento de variáveis ambientais através de sensores (ESENSORS, 2009). O módulo NCAP desenvolvido por essa empresa é baseado em microcontroladores. Ele possui uma interface Ethernet para comunicação de alto nível e sete outras diferentes interfaces para comunicação em baixo nível. Essa abordagem de desenvolvimento tem a vantagem de possuir um baixo custo devido ao uso de microcontroladores de baixo custo em sua implementação, porém não possui nenhum processamento de dados especíco, o que diminui o seu potencial de inteligência. O RIICS (Research Institute of Intelligent Computer Systems ) é um instituto de Tecnologia da informação (TI) que trabalha com o gerenciamento de projetos e integração de

9 sistemas (RIICS, 2009). O NCAP implementado por esse instituto possui uma arquitetura baseada em dois microcontroladores de baixo custo. Um desses microcontroladores é responsável por realizar processamento de dados, enquanto o outro atua como controlador de conguração. O NCAP possui suporte a um conjunto de interfaces de comunicação tais como RS-232, RS-485, SPI e ISA-8. O uso dos microcontroladores reduz bastante o custo de implementação desse módulo e ele possui a vantagem em relação ao NCAP da Esensors pelo fato de possuir capacidade de processamento de dados. A gura 1 mostra o diagrama de blocos do NCAP do RIICS. Nela pode-se ver o microcontrolador principal se comunicando com a memória e com o IRC (controlador de interface e reprogramação), este por sua vez é o responsável por controlar a comunicação entre o controlador principal e as interfaces de hardware. Figura 1: Diagrama de blocos do NCAP do RIICS. Adaptado: (KOCHAN et al., 2004). Um outro módulo NCAP que não foi abordado por Mayikiv et al. (2007) é o NCAP baseado em FPGA de Turchenko et al. (2005). Esse NCAP é uma evolução do NCAP reprogramável baseado em microcontroladores de baixo custo do RIICS. Ele possui uma arquitetura formada por dois microcontroladores de baixo custo e faz uso de um FPGA para dar suporte a interfaces de alta velocidade como CAN e USB. Figura 2: Estrutura do NCAP baseado em FPGA. Adptado: (TURCHENKO et al., 2005). Na gura 2 é mostrada a estrutura do NCAP baseado em FPGA. Nesse NCAP o IRC

10 é formado por um microcontrolador que atua como controlador de conguração, por um FPGA e por uma interface de hardware. A seguir será apresentado um capítulo sobre sensores inteligentes. Esse capítulo possui um foco no padrão IEEE 1451 e por isso serão apresentados os módulos NCAP e TIM, bem como a interface TII.

11 3 Sensores Inteligentes Um transdutor é um dispositivo capaz de transformar um tipo de energia em outro. Ele pode ser formado por sensores ou atuadores e em certos casos por ambos. Nesse sentido, um sensor é um transdutor que gera um sinal elétrico proporcional a um parâmetro físico, químico ou biológico, enquanto um atuador é um transdutor que aceita um sinal elétrico e o torna em um efeito físico (SONG; LEE, 2008). Segundo Hamrita et al. (2005), existem três gerações de sensores. A primeira geração é composta por sensores que realizam apenas o monitoramento dos dados a serem medidos. A segunda geração é composta por sensores que possuem a capacidade de realizar cálculos computacionais sobre os dados monitorados. E a terceira geração possibilita que esses sensores possam se comunicar e trocar informações entre si. Esses sensores formam o que se conhece por redes de sensores. A primeira e a segunda geração são vistas em Al-Ali et al. (2005) como sendo sensores ordinários e sensores inteligentes, respectivamente. Segundo o mesmo, um sensor ordinário é aquele que necessita de um circuito externo dedicado para realizar a análise de sinal, compensação de erro e ltragem dos dados monitorados. Já o sensor inteligente é o sensor que possui um circuito interno para realizar o condicionamento de sinal e para proporcionar um processamento especíco dos dados no sistema. Alguns sensores inteligentes podem ser reprogramados para que possam atender a novos requisitos do usuário. Uma boa denição de sensores inteligentes pode ser encontrada em Zhang et al. (2004). Essa denição diz que um sensor inteligente é aquele que possui funcionalidades além daquelas necessárias para gerar a correta representação dos dados sensoriados ou das medidas controladas. Essas denições permitem diferenciar um sensor inteligente de um sensor comum. O sensor comum possui as funções básicas necessárias para a medição e a correta representação dos dados sensoriados. O sensor inteligente possui a capacidade de processamento sobre os dados sensoriados, bem como a capacidade de diagnóstico on-board sobre o es-

12 tado do sensor. A capacidade de processamento do sensor inteligente faz com que ele possa realizar processamentos simples sobre os dados sensoriados, o que permite que o sensor possa tomar decisões em tempo-real quanto ao estado da aplicação. Já a capacidade de diagnóstico on-board se refere à capacidade do sensor poder identicar e gerenciar o consumo de energia, testar a comunicação com outros sensores ou mesmo com outros dispositivos que possam estar ligados a ele. Entenda-se por processamento simples aquele que permite uma análise de dados criteriosa até um certo ponto limitado pelo poder computacional do equipamento. Nesse caso ele é simples quando comparado com o poder computacional do equipamento que o usuário nal poderá dispor para uma análise mais criteriosa dos dados. Assim, o sensor inteligente realiza o processamento simples dos dados sensoriados e quando necessário uma análise mais criteriosa os dados são enviados para o usuário nal, onde é feita uma análise complexa dos dados. Para que possa realizar suas funcionalidades um sensor inteligente é composto tipicamente por dispositivos de condicionamento de sinal, memória, microcontrolador, fonte de energia, transceptor e um ou mais sensores. Os sensores são os dispositivos responsáveis por realizar a medição e o controle da variável monitorada. Os dispositivos de condicionamento de sinal são responsáveis por realizar a conversão e o armazenamento do sinal medido em um formato digital. A fonte de energia irá fornecer a alimentação necessária para que o sensor inteligente possa realizar suas funções. O microcontrolador é o dispositivo responsável por realizar todo o processamento necessário e que atribui inteligência ao sensor. A memória é utilizada para o armazenamento de dados e do programa de execução do microcontrolador. Figura 3: Componentes básicos de um típico sensor inteligente.

13 A gura 3 mostra um típico sensor inteligente dividido em três partes: o elemento sensor, formado pelo sensor e o circuito de condicionamento e conversão de sinal. O elemento processador, formado por microcontrolador e memória. E a parte de comunicação, formada pelo transceptor. Na base de tudo está a fonte de alimentação que fornece a energia necessária ao funcionamento de todos os elementos. O padrão IEEE 1451 é o responsável por realizar a divisão do sensor inteligente em módulos TIM e NCAP. O módulo TIM é a parte do sensor que contém os transdutores, circuito de condicionamento de sinal, conversores de dados e as TEDS (Transducer Eletronic Data Sheet). O módulo NCAP é a parte composta pelo processador, pela memória e pelo transceptor. A gura 4 ilustra a comparação entre um sensor inteligente comum e o sensor inteligente particionado em módulos pelo padrão IEEE 1451. Figura 4: (a) Modelo de um sensor inteligente. (b) Modelo de sensor inteligente com a divisão em módulos TIM, NCAP e TII. Adaptado: Song e Lee (2008). Entre os motivos dessa divisão está o fato de que um determinado fabricante domina melhor a tecnologia presente no módulo TIM enquanto outro fabricante possui melhor domínio sobre a tecnologia presente no NCAP. Desse modo, a divisão do sensor inteligente em dois módulos permite que o usuário possa escolher entre as melhores tecnologias presentes no mercado, combinando um TIM e um NCAP que melhor se adeqüem a sua aplicação. A seguir será discutido a respeito do padrão IEEE 1451. Será apresentado como esse

14 padrão surgiu, quais os seus objetivos, os avanços ocorridos e quais as perspectivas futuras para o mesmo. 3.1 Padrão IEEE 1451 Em 1993, o Comitê Técnico em Tecnologia dos Sensores - TC-9 da Sociedade de Instrumentação e Medidas IEEE começou a trabalhar na denição de um padrão de interfaceamento para conexão de transdutores inteligentes em rede. Essa sociedade obteve a parceria do Instituto Americano de Padrões e Medidas - NIST. A IEEE e o NIST decidiram iniciar uma série de workshops sobre padronização de interfaces. Como resultado surgiram os grupos de trabalho que formularam as especicações da família de normas 1451. O primeiro workshop do NIST/IEEE ocorreu em março de 1994 e teve como tema interfaces para transdutores inteligentes. Em setembro do mesmo ano foi realizado outro workshop, onde foi apresentado o conceito de especicações de transdutores no formato eletrônico. Esse conceito deu origem às Folhas de Dados Eletrônicas dos Transdutores ou TEDS. Essas folhas de dados possuem informações sobre os transdutores armazenadas em memória. Elas serão melhor discutidas na seção 3.3, que fala sobre o módulo TIM que é onde estão localizadas as TEDS. Esses eventos motivaram a formação de dois grupos de trabalho denominados IEEE P1451.1 (em fase de projeto) e o IEEE P1451.2(também em fase de projeto). Quando ocorreu o terceiro workshop, em maio de 1995, foram introduzidos os primeiros conceitos de interoperabilidade e plug and play 1 em redes de transdutores. No ano seguinte foram criados dois novos grupos de trabalho, o IEEE P1451.3 e o IEEE P1451.4. Em 1997, foi aprovado o padrão IEEE 1451.2. Esta norma foi criada com o objetivo de padronizar a interface entre transdutores e processadores de rede. Para tanto, foram denidos o Módulo de Interface para Transdutores Inteligentes (STIM - Smart Transducer Interface Module) ou TIM, a Interface Independente de Transdutores (TII) e as especicações das TEDS (IEEE-STD-1451.2-1997, 1997). O TIM sozinho não possui características de inteligência, mesmo assim ele é chamado de STIM em alguns casos. Isso se deve não ao fato de o TIM possuir inteligência, mas sim ao fato dele compor o sensor inteligente, no caso TIM e NCAP juntos. 1 Plug and play é um termo que se refere ao processo de conexão e posterior funcionamento de um dispositivo em um determinado sistema, sem a necessidade de recongurações.

15 Em 1999, foi aprovado o padrão IEEE 1451.1 que foi criado com o objetivo de padronizar o software da interface entre processador de aplicação capaz de se comunicar em rede (NCAP) e as redes de controle. Para alcançar essa padronização foi desenvolvido um modelo de objetos comum, onde são denidos os blocos dos transdutores, os blocos de funções e os blocos de rede. Esse modelo de objeto é baseado na orientação a objetos e serve para que dois módulos NCAP possam trocar informações em rede (IEEE-STD- 1451.1-1999, 1999). Esse padrão se encontra ativo, porém ainda está passando por uma revisão devido ao lançamento do padrão IEEE 1451.0 que aborda características comuns de membros da família do padrão IEEE 1451 que já existiam antes do seu lançamento em 2007. Em 2003, foi aprovado o padrão IEEE 1451.3 que especica a forma de comunicação para um arranjo de vários transdutores distribuídos conectados a um mesmo NCAP, cujas informações devem ser lidas de forma sincronizada por um barramento ligado ao NCAP (IEEE-STD-1451.3-2003, 2003). Em 2004, foi aprovado o padrão IEEE 1451.4. Esta norma especica como um sinal analógico, associado a um transdutor, e um sinal digital podem ser disponibilizados através de um mesmo barramento. Após ser ligado o transdutor, as informações digitais como as TEDS são disponibilizadas por esse barramento, que em seguida muda para o modo analógico e passa a transmitir os dados coletados pelo transdutor. Este padrão se torna bastante importante para aplicações que necessitam de elevadas taxas de aquisição de dados (IEEE-STD-1451.4-2004, 2004). Em 2007, foram aprovados o padrão IEEE 1451.0 e o padrão IEEE 1451.5. O padrão IEEE 1451.0 tem como objetivo servir como uma diretriz base para todas as outras normas da família IEEE 1451, neste caso ele possui uma unicação das TEDS (IEEE-STD-1451.0-2007, 2007). O padrão IEEE 1451.5 tem como objetivo adicionar as aplicações denidas no padrão para o ambiente de redes sem o. Desse modo, o NCAP pode se comunicar com vários módulos TIM utilizando protocolos wireless diferentes para cada comunicação. Por exemplo, o NCAP pode se comunicar com um TIM utilizando o padrão 802.11, com um segundo TIM seguindo o padrão Bluetooth e com um terceiro seguindo o padrão Zigbee. Nesse caso os TIMs são chamados de WTIM (Wireless Transducer Interface Module) (IEEE-STD-1451.5-2007, 2007). Atualmente, existem em fase de projeto o IEEE P1451.6 e o IEEE P1451.7. O primeiro propõe uma rede de alta velocidade baseada no sistema CANOpen, com diversos módulos contendo transdutores, e a denição de uma camada de segurança no modelo de comuni-

16 cação (IEEE-P1451.6, 2009). O segundo propõe a denição de um protocolo e uma interface de comunicação entre transdutores e sistemas RFID (IEEE-P1451.7, 2009). A grande vantagem do padrão IEEE 1451 é a possibilidade de interoperabilidade entre um módulo TIM de um fabricante e o módulo NCAP de outro fabricante. Essa característica permite que o usuário possa trabalhar com módulos TIM e NCAP que melhor se adeqüem a sua aplicação, mesmo que esses sejam de fabricantes diferentes. Isso se deve a interface padrão TII e a característica plug and play associada a esses módulos através das TEDS, que são consideradas como o coração do padrão. A seguir serão apresentados os módulos do sensor inteligente e a interface padrão segundo o IEEE 1451. É importante que se saiba que apesar de todo o sensor inteligente ser apresentado como referencial teórico, o foco deste trabalho é o módulo NCAP. 3.2 Módulo NCAP O NCAP é um dispositivo que funciona como um microcontrolador realizando operações simples sobre os dados coletados pelo TIM. Ele também é o responsável por enviar comandos a serem realizados pelo TIM, sendo que para isso ele utiliza a interface independente de transdutor. Segundo Kochan et al. (2005), o NCAP realiza processamento de dados simples onboard e deixa para que o usuário nal realize uma análise mais criteriosa sobre os dados. Assim, o principal objetivo desse módulo é o processamento de dados em tempo real. A parte de comunicação desse módulo deve fornecer capacidade de comunicação de baixo nível que é a comunicação com o módulo TIM e comunicação de alto nível que é o modo como é chamado a comunicação entre NCAPs, bem como entre um NCAP e o usuário nal (MAYIKIV et al., 2007). A comunicação de baixo nível pode ser feita através de uma interface serial periférica que siga o modelo especicado pelo padrão. Essa interface é denida pelo padrão IEEE 1451.2 e será apresentada na seção 3.4. O NCAP pode utilizar outras interfaces seriais ou paralelas para essa comunicação, pois assim ele possui compatibilidade com um número maior de módulos TIMs existentes. Em 2007, o padrão IEEE 1451.5 foi aprovado e desde então passou a existir uma forma padronizada de comunicação wireless de baixo nível para o NCAP. Na comunicação de alto nível o NCAP pode utilizar uma interface Ethernet ou se

17 necessário uma forma de comunicação wireless. O padrão IEEE 1451.1 que dene o modelo de objeto para o NCAP permite a troca de informações entre dois ou mais NCAPs através da rede de alto nível. O NCAP pode conter dois tipos de memórias. Uma delas é a memória de dados onde estarão armazenados os dados colhidos pelo TIM e que o NCAP deve armazená-los para que possa processá-los. A outra memória é a programável, onde deve estar localizado o programa de execução do NCAP. Existem duas abordagens de memória programável que podem ser utilizadas no desenvolvimento de NCAPs. Uma opção é fazer uso de uma memória RAM e a outra é implementar utilizando uma memória Flash-ROM. Na primeira abordagem o programa de execução é guardado em uma memória RAM que deve ser recarregada toda vez que o NCAP for inicializado. Nesse caso, para que o programa de execução comece a executar é necessário esperar a inicialização do NCAP, que este tenha acesso a rede e que o programa seja completamente enviado pelo usuário. No NCAP remotamente reprogramável de Kochan et al. (2004), que foi apresentado entre os trabalhos relacionados, o envio desse programa não leva mais que alguns segundos. A outra abordagem utiliza uma memória Flash-ROM que mantém o programa de execução armazenado mesmo quando o sensor é desligado ou reiniciado. Essa abordagem é aconselhada para situações em que a comunicação entre o NCAP e o usuário nal não é normalizada, como é o caso da Internet. Em redes como a Internet não se tem uma conexão dedicada ao envio do programa de execução, não podendo ser prevista sua velocidade de transmissão. Para os testes e análises do NCAP deste trabalho foi utilizada uma memória RAM, a qual era recarregada sempre que necessário realizar novos testes depois do NCAP ter sido desligado. Diferentemente do NCAP de Kochan et al. (2004), o módulo do presente trabalho não utiliza reprogramação remota através de uma rede. 3.2.1 Padrão IEEE 1451.1 O padrão IEEE 1451.1 se baseia na linguagem orientada a objetos para especicar toda a hierarquia e módulos que deve possuir o software do NCAP. O seu objetivo principal é o desenvolvimento de um modelo de objeto comum para que os módulos NCAPs possam trocar dados entre si (STEPANENKO et al., 2006). É importante ressaltar que apesar do padrão denir toda a hierarquia baseado na orientação a objetos ele deixa livre para que

18 o desenvolvedor do NCAP possa utilizar outras linguagens que não sejam orientadas a objeto, como por exemplo C. Caso o desenvolvedor escolha uma implementação em uma linguagem que não seja orientada a objetos ele deve implementar diretamente todas as funções providas por todas as classes do padrão. Ou seja, devem haver módulos que englobem todas as funcionalidades de todos os objetos do padrão (IEEE-STD-1451.1-1999, 1999). A gura 5 ilustra bem uma situação que necessita dessa troca de dados entre dois módulos NCAPs. Na gura um recipiente deve ser mantido a uma temperatura constante, ou seja, com pequenas variações. Para manter a temperatura constante o sistema faz uso de um sensor ordinário, um aquecedor, um ventilador, três sensores inteligentes e um computador para o usuário nal do sistema. O NCAP3 recebe a informação da temperatura captada pelo sensor comum através do TIM3 e envia para o NCAP2. Este compara o valor recebido com o limiar de temperatura estabelecido e, caso necessário, envia o comando para que o TIM2 aumente ou diminua a potência do aquecedor. Se o sistema perceber que a energia do aquecedor está acabando ele faz com que o aquecedor possua uma potência constante e que economize energia. Assim o NCAP3 passa a enviar os dados para o NCAP1 e as variações passam a ser feitas na velocidade do ventilador.caso aconteça algum problema e a temperatura do sistema ultrapasse os limiares estabelecidos pelo usuário nal, este é informado pelo NCAP1 através da rede. Figura 5: Situação onde há comunicação entre NCAPs.