universidade do vale do itajai centro de …siaibib01.univali.br/pdf/carlos cimolin.pdf · iv -...

78
UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE CIÊNCIAS TECNOLÓGICAS, DA TERRA E DO MAR CURSO DE CIÊNCIAS DA COMPUTAÇÃO DESENVOLVIMENTO DE UMA PLATAFORMA DE SISTEMA COMPUTACIONAL EMBARCADO PARA MONITORAMENTO DE DADOS REMOTOS Área de Sistemas Embarcados Carlos Alberto Cimolin Itajaí (SC), julho de 2004

Upload: vonhu

Post on 20-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

UNIVERSIDADE DO VALE DO ITAJAI

CENTRO DE CIÊNCIAS TECNOLÓGICAS, DA TERRA E DO MAR

CURSO DE CIÊNCIAS DA COMPUTAÇÃO

DESENVOLVIMENTO DE UMA PLATAFORMA DE SISTEMA

COMPUTACIONAL EMBARCADO PARA MONITORAMENTO DE DADOS

REMOTOS

Área de Sistemas Embarcados

Carlos Alberto Cimolin

Itajaí (SC), julho de 2004

Page 2: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

UNIVERSIDADE DO VALE DO ITAJAÍ

CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIAS DA COMPUTAÇÃO

RELATÓRIO DO TRABALHO DE CONCLUSÃO DE CURSO II

DESENVOLVIMENTO DE UMA PLATAFORMA DE SISTEMA

COMPUTACIONAL EMBARCADO PARA MONITORAMENTO DE DADOS

REMOTOS

Área de Sistemas Embarcados

Carlos Alberto Cimolin

Relatório apresentado à Banca

Examinadora do Trabalho de Conclusão

do Curso de Ciências da Computação

para análise e aprovação

Itajaí (SC), julho de 2004

Page 3: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

EQUIPE TÉCNICA

Acadêmico Carlos Alberto Cimolin

Professor Orientador Cesar Albenes Zeferino, Dr.

Professor Co-orientador Rafael Luis Cancian, M.Sc.

Coordenadores dos Trabalhos de Conclusão de Curso Anita Maria da Rocha Fernandes, Drª.

Cesar Albenes Zeferino, Dr.

Coordenador do Curso Luis Carlos Martins

i

Page 4: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

DEDICATÓRIA

Dedico este trabalho a meus pais, Isaura

e Décio, que sempre me apoiaram, e

principalmente a minha esposa, Eliete e minha

filha Ana Julia, que me incentivaram nas horas

mais difíceis e tiveram paciência para

suportarem minha ausência.

ii

Page 5: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

SUMÁRIO

LISTA DE ABREVIATURAS E SIGLAS ............................................vi

LISTA DE FIGURAS .......................................................................... viii

LISTA DE TABELAS..............................................................................x

RESUMO .................................................................................................xi

ABSTRACT ............................................................................................xii

I - INTRODUÇÃO ...................................................................................1

1. APRESENTAÇÃO.................................................................................................1

2. JUSTIFICATIVA...................................................................................................2

3. IMPORTÂNCIA ....................................................................................................2

4. OBJETIVOS DO TRABALHO ............................................................................3

4.1.1 Objetivo Geral ...................................................................................................3

4.1.2 Objetivos Específicos.........................................................................................3

5. METODOLOGIA ..................................................................................................4

5.1 Revisão Bibliográfica ...........................................................................................4

5.2 Desenvolvimento...................................................................................................5

II - REVISÃO BIBLIOGRÁFICA..........................................................6

1. SISTEMAS EMBARCADOS................................................................................6

1.1 Definição................................................................................................................6

1.2 Aplicações..............................................................................................................8

1.3 Metodologia de Projeto........................................................................................9

1.3.1 Requisitos ..........................................................................................................11

1.3.2 Especificação.....................................................................................................12

1.3.3 Arquitetura.........................................................................................................12

1.3.4 Componentes .....................................................................................................13

1.3.5 Integração do Sistema .......................................................................................13

iii

Page 6: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

2 MICROCONTROLADORES..............................................................................14

2.1 Arquitetura dos Microcontroladores ...............................................................14

2.2 Exemplos de Microcontroladores .....................................................................17

2.3 Aplicações com Microcontroladores ................................................................19

2.4 Comunicação com Dispositivos de Entrada-e-Saída ......................................20

3 TELEMETRIA......................................................................................................21

3.1 Conceito...............................................................................................................21

3.2 Meios de Comunicação Utilizados ....................................................................22

3.2.1 Telemetria sem Fio ............................................................................................23

3.2.2 Telemetria via Internet ......................................................................................23

3.3 Características dos Meios de Comunicação.....................................................24

3.4 Vantagens da Telemetria sem Fio.....................................................................24

3.5 Desvantagens da Telemetria sem Fio ...............................................................25

3.6 Vantagens da Telemetria via Internet..............................................................25

3.7 Desvantagens da Telemetria via Internet ........................................................26

4 TRABALHOS RELACIONADOS......................................................................26

4.1 Sistema para Telemetria de Sinais Biomédicos Usando Telefonia Celular..26

4.2 Construção de um Protótipo para Automatização de Níveis de Flúmens ....27

4.3 Sistema de Controle Automático para Agricultura Irrigada ........................29

4.4 Telemet – Um Sistema de Telemetria, Controlo e Gestão de Alarmes para

Aplicações Ambientais .............................................................................................30

4.5 Resumo dos Trabalhos Relacionados...............................................................31

III - DESENVOLVIMENTO.................................................................32

1. MODELAGEM ....................................................................................................33

1.1 Análise de requisitos...........................................................................................33

1.2 Especificação.......................................................................................................34

1.3 Projeto Arquitetural ..........................................................................................35

1.4 Projeto Arquitetural de Hardware...................................................................35

iv

Page 7: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

1.5 Projeto Arquitetural de Software .....................................................................36

1.6 Projeto de Componentes....................................................................................37

1.6.1 Componentes de hardware ................................................................................37

1.6.2 Componentes de software .................................................................................37

1.6.3 Dicionário de Dados..........................................................................................41

1.6.4 Especificação de Processos ...............................................................................44

2 IMPLEMENTAÇÃO ............................................................................................47

2.1 Integração e Validação do Sistema...................................................................51

2.1.1 Função read_sensors .........................................................................................52

2.1.2 Funções write_eeprom_ext e read_eeprom_ext................................................52

2.1.3 Função set_date_time........................................................................................53

2.2 Validação do Sistema Integrado .......................................................................53

IV - CONCLUSÕES...............................................................................60

BIBLIOGRAFIA....................................................................................62

v

Page 8: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

LISTA DE ABREVIATURAS E SIGLAS

ASIC Application Specific Integrated Circuits

CEFET-PB Centro Federal de Educação Tecnológica da Paraíba

CISC Complex Instruction Set Computer

CNPDIA Centro Nacional de Pesquisa e Desenvolvimento de Instrumentação

Agropecuária

CPU Central Processing Unit

DSP Digital Signal Processors

DTMF Dual Tone Multi Frequency

EEPROM Electrically Erasable Programmable Ready Only Memory

Embrapa Empresa Brasileira de Pesquisa Agropecuária

FPGA Field Programmable Gate Arrays

FURB Universidade Regional de Blumenau

Hz Hertz

I²C Inter-Integrated Circuit Bus

IP Internet Protocol

ISA-PORTUGAL Instrumentação e Sistemas de Automação, Lda

KB Kilo Bytes

MHz Mega Hertz

NETEB Núcleo de Estudos e Tecnologia em Engenharia Biomédica

PC Personal Computer

RAM Random Acess Memory

RF Rádio Freqüência

RISC Reduced Instruction Set Computer

ROM Read Only Memory

UFPB Universidade Federal da Paraíba

UG Unidade de Gestão

UHF Ultra High Frequency

ULA Unidade Logica e Aritmetrica

UR Unidade Remota

VHF Very High Frequency

vi

Page 9: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

SCL Serial clock

SDA Serial Data

ACK Acknowledge

LCD Display de crystal líquido

RTC Real time clock

vii

Page 10: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

LISTA DE FIGURAS

Figura 1 – Típico sistema computacional embarcado............................................................................... 7

Figura 2 – Passos para projeto de sistemas embarcados ......................................................................... 10

Figura 3 – Arquiteturas: (a) Harvard; e (b) Von-Neumann .................................................................... 16

Figura 4 – Arquitetura do 8051 ............................................................................................................... 17

Figura 5 – Arquitetura do PIC16F84....................................................................................................... 18

Figura 6 – Placa contendo um conversor analógico digital. ................................................................... 20

Figura 7 – Transmissão do barramento I2C............................................................................................. 21

Figura 8 – Esquemático dos componentes do sistema ............................................................................ 27

Figura 9 – Diagrama em blocos dos componentes do sistema................................................................ 28

Figura 10 – Arquitetura e transmissão de dados ..................................................................................... 29

Figura 11 – Vista Explodida de um tensiômetro..................................................................................... 30

Figura 12 – Estrutura global do sistema.................................................................................................. 31

Figura 13 – Diagrama do sistema desenvolvido ..................................................................................... 32

Figura 14 – Figura com quadro descritivo dos requisitos do sistema ..................................................... 33

Figura 15 – Figura com quadro descritivo da especificação do sistema................................................. 34

Figura 16 – Arquitetura de software e hardware..................................................................................... 35

Figura 17 – Diagrama em blocos da arquitetura de hardware................................................................. 35

Figura 18 – Esquema de ligação do microcontrolador com os periféricos ............................................. 36

Figura 19 – Diagrama em blocos da arquitetura de software.................................................................. 36

Figura 20 – Diagrama de contexto do sistema ........................................................................................ 38

Figura 21 – Nível 0 do diagrama de fluxo de dados ............................................................................... 39

Figura 22 – Nível 1 do diagrama de fluxo de dados do processo eeprom_control ................................. 40

Figura 23 – Nível 3 do diagrama de fluxo de dados do processo timer_control..................................... 41

Figura 24 – Esquema de ligação física do hardware da plataforma no PROTEUS ................................ 47

Figura 25 – Esquema de ligação dos sensores no microcontrolador....................................................... 48

Figura 26 – Código da função que efetua a leitura dos sensores ............................................................ 49

Figura 27 – Função de inicialização da comunicação I2C (a); função de fim da comunicação I2C (b).. 49

Figura 28 – Trecho de código da função de gravação na EEPROM externa.......................................... 50

Figura 29 – Display de cristal líquido (a); código da função para imprimir no display (b).................... 50

viii

Page 11: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

Figura 30 – Código da funçõe de gravação da data e da hora................................................................. 51

Figura 31 – Trecho de código da função transmite dados....................................................................... 51

Figura 32 – Trecho de código da função de recepção de dados.............................................................. 51

Figura 31 – Validação da função read_sensors: (a) valor da tensão medida; (b) visualização noLCD . 52

Figura 32 – Memória EEPROM vazia (a); Memória EEPROM com valor gravado(b) ......................... 53

Figura 33 – Relógio de tempo real zerado (a); Relógio de tempo real inicializado (b) .......................... 53

Figura 34 – Fluxograma de funcionamento do sistema .......................................................................... 54

Figura 35 – Fluxograma de funcionamento do sistema (continuação) ................................................... 55

Figura 36 – Plataforma completa realizando uma amostra ..................................................................... 56

Figura 37 – Configuração da varredura dos sensores no PROTEUS...................................................... 57

Figura 38 – Memória EEPROM com amostras armazenadas................................................................. 57

Figura 39 – Validação da comunicação serial......................................................................................... 58

Figura 40 – Memórias internas: (a) do microcontorlador U2; (b) do microcontrolador U4.................. 59

ix

Page 12: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

LISTA DE TABELAS

Tabela 1 - Tabela comparativa de microcontroladores ........................................................................... 19

Tabela 2 - Quadro resumo dos trabalhos relacionados .......................................................................... 31

Tabela 3 - Padrão de valores armazenados na EEPROM ....................................................................... 58

x

Page 13: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

RESUMO

Atualmente, o uso de sistemas de telemetria para monitoramento remoto de informações tem

se difundido devido à necessidade por tais soluções e à facilidade de acesso às tecnologias

necessárias. Este projeto está inserido nesse contexto e visa aplicar a técnica de telemetria e o

conhecimento de sistemas computacionais embarcados para implementar uma plataforma de

monitoramento de dados remotos. Dessa forma, foi realizada uma revisão bibliográfica a fim de

estabelecer as bases necessárias ao projeto. Estudaram-se conceitos e metodologias de projeto de

sistemas computacionais embarcados, assim como conceitos sobre microcontroladores, os quais

integram a maior parte da funcionalidade necessária a esses sistemas. Também foi feita uma revisão

bibliográfica a respeito de sistemas de telemetria, incluindo a descrição de alguns trabalhos

inseridos no mesmo contexto. Esse estudo serviu de base para o desenvolvimento de uma

plataforma de sistema computacional embarcado baseada em microcontrolador PIC16F877 e em

periféricos externos que incluíram uma EEPROM, um relógio de tempo real, um display de cristal

líquido e outros componentes. No desenvolvimento deste projeto foi utilizada uma metodologia

composta por análise de requisitos, especificação dos requisitos, projeto arquitetural, projeto de

componentes e integração do sistema. O software da plataforma foi modelado usando diagramas de

fluxo de dados e codificado em linguagem C. Os testes e a validação foram executados em uma

ferramenta de simulação de sistemas eletro-eletrônicos.

xi

Page 14: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

ABSTRACT

Nowadays, telemetry systems has been used in the supervision of remote data due to the

demand for such kind of solution and the availability of the needed technologies. This project is

inserted in this context and aims to apply the telemetry technique and embedded computing to

implement a remote data supervision system. To accomplish with this, it was done a study on

concepts and methodologies related with embedded system design and microcontrollers, which

integrate the most part of the functionality needed for such systems. Furthermore, it was done a

study on telemetry systems, including some related works. This study was the base for the

development of a embedded computing platform based on Microchip PIC16F877 microcontroller

and on external peripherals including an EEPROM, a real-time clock, an liquid crystal display and

others. In the development, it was applied a methodology based on the analysis of requirements,

specification, architectural design, design of components and system integration. Software was

modeled using data flow diagrams and, after, coded in C language. Testing and validation was

based on the simulation of the system in a simulator electronics systems.

xii

Page 15: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

I - INTRODUÇÃO

1. APRESENTAÇÃO

O desenvolvimento contínuo da tecnologia trouxe muitos benefícios para o cotidiano das

pessoas através da automatização de processos que antes eram feitos de forma manual, incluindo a

supervisão e/ou o controle de máquinas, equipamentos, eletrodomésticos ou, simplesmente,

variáveis de um ambiente (eg. temperatura, pressão) para fins estatísticos.

Muitas dessas aplicações baseiam-se no uso de algum sistema computacional embarcado, o

qual, segundo Wolf (2002), pode ser definido como qualquer computador que compõe um sistema

maior e que se baseia em seu próprio microprocessador. Além disso, um sistema computacional

embarcado possui requisitos e características diferentes daquelas encontradas em um sistema

computacional de uso geral. Em particular, ele é dedicado a uma aplicação específica e requer

atenção especial quanto à sua portabilidade, confiabilidade e segurança.

Algumas aplicações também requerem a comunicação com sistemas localizados em pontos

remotos, de modo a permitir o envio e o recebimento de informações transferidas através de algum

meio de comunicação, ou seja, elas requerem o uso de telemetria, a qual é definida como “uma

técnica de sensoreamento de informações e medidas em alguma locação remota e a transmissão dos

dados capturados até um local conveniente, para serem conhecidos ou para controlar processos em

um local remoto” (BRITISH TELECOMM 2000). Ainda, é possível afirmar que a telemetria refere-

se “à transferência de dados medidos remotamente para uma estação de controle central, usando

alguma forma de laço de comunicação. A aquisição de dados é normalmente feita em tempo real,

embora não necessariamente a transmissão seja feita também em tempo real” (MIRI, 2000).

Este trabalho insere-se no contexto acima com o objetivo de desenvolver uma plataforma de

sistema computacional embarcado para medição e transmissão de dados em um sistema de

monitoramento remoto que possa ser utilizada para aplicações que requeiram tais capacidades. Um

exemplo de aplicação vislumbrada consiste na coleta de dados ambientais em que o sistema

embarcado captura valores de um sensor, empacota-os e os envia por algum meio de comunicação a

Page 16: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

2

uma estação de recepção responsável pelo processamento dos dados coletados, conforme

implementado por Einsfeldt (2002).

2. JUSTIFICATIVA

Neste trabalho são aplicados os conhecimentos obtidos no Curso de Ciência da Computação.

Serão aplicados conceitos abordados nas disciplinas das áreas de Arquitetura de Computadores,

Programação, Redes de Computadores, Eletrônica e Análise e Projeto de Sistemas, o que propiciará

a consolidação de tais conceitos e a aquisição de novos conhecimentos sobre assuntos não

abordados ou pouco aprofundados no curso (como, por exemplo, telemetria).

3. IMPORTÂNCIA

A disponibilidade desta plataforma possibilitará o desenvolvimento de novos sistemas

computacionais embarcados destinados à supervisão de dados remotos a serem desenvolvidos pelo

Laboratório de Sistemas Embarcados e Distribuídos (LSED) do Centro de Ciências Tecnológicas da

Terra e do Mar (CTTMar) da Universidade do Vale do Itajaí (UNIVALI). Nesse caso, por exemplo,

tais sistemas facilitam o monitoramento de áreas de meio ambiente (eg. rios e dunas), evitando que

um operador tenha que, periodicamente, deslocar-se ao local monitorado para medir as variáveis-

alvo. Embora a plataforma não esteja restrita a esse domínio de aplicação, sua motivação decorreu

de uma demanda local do Laboratório de Oceanografia Física do CTTMar da UNIVALI por um

sistema que tenha capacidade de obter dados a partir de sensores ambientais e de transmití-los a um

computador central.

Page 17: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

3

4. OBJETIVOS DO TRABALHO

4.1.1 Objetivo Geral

Este trabalho visa aplicar conceitos e tecnologias para desenvolver um sistema embarcado

para medição e transmissão de dados remotamente. Esses dados são coletados por uma estação de

coleta, analisados e empacotados para serem enviados para uma central, onde serão extraídos e

disponibilizados para visualização.

4.1.2 Objetivos Específicos

Os objetivos específicos deste trabalho são:

1. Estudo de conceitos e metodologias associadas ao projeto de sistemas computacionais

embarcados, com vistas ao desenvolvimento do sistema proposto.

2. Estudo de alternativas de arquiteturas de microcontroladores de 8 bits para o desenvolvimento

do sistema.

3. Estudo sobre aspectos associados à telemetria, de modo a identificar alternativas de tecnologias

de transmissão de dados possíveis de serem utilizadas nesse sistema.

4. Realizar uma revisão sobre trabalhos relacionados de modo a identificar as escolhas efetuadas

nos sistemas estudados.

5. Realizar a seleção das alternativas tecnológicas a serem utilizadas no sistema.

6. Efetuar a modelagem do sistema.

7. Efetuar a implementação do projeto.

8. Validação e testes do sistema através de uma ferramenta de simulação.

Page 18: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

4

5. METODOLOGIA

5.1 Revisão Bibliográfica

Inicialmente, foi realizado um levantamento bibliográfico com o objetivo de identificar

referências que permitissem fundamentar os conceitos necessários ao desenvolvimento deste

trabalho. As principais fontes de referência a serem consideradas foram baseadas em livros sobre os

temas abordados, manuais de fabricantes (data sheets) e artigos técnico-científicos. Essas

referências foram obtidas por consulta à biblioteca da UNIVALI, à biblioteca do LSED, sites de

fabricantes de microcontroladores e publicações disponibilizadas na Internet. A partir dessas

referências, foram realizados estudos teóricos e redigidos os capítulos da revisão bibliográfica da

monografia, a qual é composta pelos capítulos que abordarão os seguintes temas: (i) sistemas

computacionais embarcados; (ii) microcontroladores; (iii) telemetria; e (iv) trabalhos relacionados.

No capítulo sobre sistemas computacionais embarcados, buscou-se conhecimentos gerais

sobre características básicas, metodologias de projeto e exemplos de aplicação.

A redação do capítulo sobre microcontroladores tem por objetivo conhecer os tipos básicos

de arquitetura, especificações técnicas de modelos comerciais, exemplos de aplicações com

microcontroladores e o funcionamento básico desses circuitos eletrônicos.

No capítulo sobre a telemetria, foram pesquisados possíveis meios de comunicação

utilizados para aplicações de monitoramento remoto, identificando-se suas características,

vantagens e limitações.

No capítulo sobre trabalhos relacionados, foi feito um estudo sobre algumas aplicações e

implementações de monitoramento de dados remotos descritas na literatura, como forma de

identificar as tecnologias utilizadas em cada caso, a fim de embasar as escolhas a serem tomadas no

projeto aqui proposto.

Page 19: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

5

5.2 Desenvolvimento

Após concluída a revisão bibliográfica, iniciou-se o desenvolvimento do projeto, tendo

iniciado com a pré-modelagem do sistema, a qual foi realizada na fase anterior do trabalho. Essa

pré-modelagem serviu de base para iniciar a o desenvolvimento do software através do compilador

C da CCS para o PIC e da ferramenta de simulação de sistemas eletro-eletrônicos PROTEUS/ISIS

da Labcenter Electronics.

Na primeira fase, o software foi desenvolvido para cada dispositivo periférico

individualmente, validando-se o software, e a integração do microcontrolador com o periférico

através da ferramenta de simulação. Esta fase serviu para aprimorar o conhecimento sobre os

periféricos, bem como sobre o uso do compilador e da ferramenta de simulação PROTEUS, na qual

pode-se visualizar o esquema de ligação física dos componentes.

Após adquirir conhecimento sobre o compilador, os periféricos e a ferramenta de simulação,

foi realizado um refinamento da pré-modelagem e iniciado o desenvolvimento da plataforma. A

mesma foi baseada em um microcontrolador PIC16F877 utilizando dois barramentos I²C de dois

fios, conectados na EEPROM e no relógio de tempo real. Além disso, também foi usado um canal

para acionamento de um LCD e dois fios para comunicação serial RS232.

Após definida a plataforma iniciou-se o desenvolvimento do software e a integração dos

periféricos ao microcontrolador. Essa etapa foi fundamental para analisar o funcionamento da

plataforma e a validação do código gerado. A validação e a integração foram realizadas através do

PROTEUS/ISIS.

A metodologia utilizada no desenvolvimento do projeto foi baseada naquela descrita por

Wolf (2002), a qual inclui as seguintes etapas: análise de requisitos, especificação, projeto

arquitetural, projeto de componentes e integração do sistema. A modelagem foi realizada com a

ferramenta Power Designer Process Analyst 6.1 utilizando diagramas de fluxo de dados.

Page 20: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

II - REVISÃO BIBLIOGRÁFICA

1. SISTEMAS EMBARCADOS 1.1 Definição

Com o constante avanço da tecnologia e principalmente da eletrônica encontram-se, nos dias

de hoje, vários aparelhos que funcionam de forma automática e que oferecem um grande benefício

para a vida moderna. Por exemplo, podem ser citados os telefones celulares que discam por

comando de voz, os fornos de microondas, os televisores que se conectam a Internet, os sistemas

inteligentes de controles de temperatura e tantos outros.

Esse avanço somente foi possível graças ao emprego da microeletrônica nesses

equipamentos e que, segundo Zelenovsky e Mendonça (1999),

“a evolução da microeletrônica e o barateamento das CPUs (Central Processing Unit) viabilizaram o emprego de sistemas computadorizados nos diversos equipamentos. Os cérebros da maioria dos equipamentos modernos são os pequenos computadores que eles trazem embutidos. É claro que esses computadores não se parecem com o que temos sobre nossas mesas. Eles são construídos para tarefas específicas e, na grande maioria das vezes, não contêm disco rígido ou flexível, não precisam de teclado e muito menos de Windows”.

Esses sistemas inteligentes passaram a ser chamados de embedded systems ou embedded

computers, sendo que, em português, são utilizadas as expressões sistemas embarcados, sistemas

embutidos ou sistemas dedicados1.

Segundo Wolf (2002), um sistema embarcado é todo o computador que é um componente

em um sistema maior e que possui seu próprio microprocessador. Esses sistemas possuem uma

combinação de software e hardware, circuitos analógicos ou digitais. Conforme Oyamada e Wagner

(1999), “alguns sistemas podem ser implementados com um microcontrolador de prateleira, 1 Neste texto, serão utilizados os termos “sistema embarcado” e “sistema computacional embarcado” os quais se referem, respectivamente, aos termos originais em inglês embedded system e embedded computing system. Os dois termos se referem a um sistema computacional que é parte de um sistema maior.

Page 21: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

7

processador de sinais digitais ou um microprocessador digital e um software associado, porém

sistemas complexos têm requisitos críticos considerando aspectos como área, velocidade, e

consumo de potência necessitando de um projeto dedicado”.

Ainda segundo Oyamada e Wagner (1999), “o projeto de sistemas embarcados complexos

compreende um conjunto de diferentes tecnologias, ferramentas e estilos de projeto. Um ambiente

de projeto para tais sistemas deve considerar a especificação do sistema, particionamento em

software, hardware digital e partes analógicas, e síntese das partes de hardware e software”.

Um exemplo de sistema embarcado é ilustrado na Figura 1, o qual inclui uma CPU,

memórias ROM (Read Only Memory) e RAM (Random Access Memory), uma memória de dados

não volátil (ex. EEPROM – Electrically Erasable Programmable Ready Only Memory) e

periféricos, como temporizadores e portas de entrada-e-saída (E/S), todos interligados por meio de

um barramento.

Figura 1 – Típico sistema computacional embarcado

Fonte: Zelenovsky e Mendonça (1999).

CPU

Entradas

e

Saídas

Relógio de

Tempo Real

Memória de Dados

não Volátil

RAM

ROM

O desenvolvimento de projetos de sistemas computacionais embarcados pode ser complexo

caso o projetista não possua conhecimento mais específico sobre tais sistemas e por envolver

diversos problemas relacionados ao projeto. Como dizem Carro e Wagner (2003), “o projeto de

sistemas eletrônicos embarcados enfrenta diversos grandes desafios, pois o espaço de projeto

Page 22: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

8

arquitetural a ser explorado é muito vasto” e, também, “por questões de portabilidade e do limite de

consumo de potência sem perda de desempenho, a baixa disponibilidade de memória, a necessidade

de segurança e confiabilidade, a possibilidade de funcionamento em uma rede maior, e o curto

tempo de projeto tornam o desenvolvimento de sistemas computacionais uma área em si”.

Segundo Dias (2001), os sistemas embarcados são normalmente integrados através de

componentes heterogêneos, o que exige o desenvolvimento de metodologias de concepção que

permitam a especificação, a validação, a otimização e a implementação utilizando,

preferencialmente, um modelo unificado ao longo de todo o ciclo de concepção. Os componentes de

hardware podem incluir componentes programáveis, como processadores, microcontroladores ou

DSPs (Digital Signal Processors) e/ou circuitos especializados, como ASICs (Application Specific

Integrated Circuits), FPGAs (Field Programmable Gate Arrays), os quais se comunicam através de

uma arquitetura de comunicação. Os componentes programáveis oferecem mais flexibilidade, pois

podem implementar diferentes aplicações ao executarem códigos diferentes. Entretanto, os circuitos

especializados oferecem melhor desempenho por serem dedicados à implementação da aplicação

alvo. Para resolver os problemas associados a prototipação rápida e à concepção conjunta de

hardware e de software (hardware/software co-design), é necessário o uso de uma metodologia

formal de concepção.

1.2 Aplicações

Os sistemas embarcados são utilizados em diversas áreas, nas quais se deseja substituir

controladores mecânicos ou automatizar e agilizar o processamento e o monitoramento de

informações. Dentre as várias áreas, destaca-se a área automobilística, que evoluiu bastante graças à

computação embarcada. Por exemplo, o processo para controlar a mistura de combustível e o

controle de freios é feito de forma automática, podendo adaptar-se a diversas situações de

combustíveis e terrenos, respectivamente (DIAS, 2001).

Outra área interessante é a área fotográfica. As câmeras antigas eram estritamente mecânicas

e as fotos eram de pouca qualidade. Atualmente, existem máquinas fotográficas que possuem desde

o rebobinador automático até aquelas que batem as fotos automaticamente e as revelam na hora,

além das câmeras totalmente digitais.

Page 23: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

9

Em outra área, como a de eletrônica de consumo, encontram-se diversos eletrodomésticos

com computação embarcada, como, por exemplo, os fornos de microondas que possuem sistemas

para configuração da sua operação e controle da emissão das microondas.

As aplicações de sistemas embarcados vão desde sistemas pequenos, que requerem pouco

processamento, até sistemas complexos que exigem processamento critico e alto desempenho com

execução em tempo real. Em todas elas, os sistemas computacionais caracterizam-se por serem

dedicados a uma aplicação ou a uma pequena faixa de aplicações (MORAES et al, 1998).

1.3 Metodologia de Projeto

A computação embarcada é uma área muito complexa e possui algumas limitações, as quais

são muito importantes e podem definir o futuro e o desempenho do projeto. Algumas questões,

como a quantidade e o tipo de hardware que será utilizado, a definição do prazo do projeto, a

potência que o sistema poderá consumir, a evolução desse sistema (ou seja, novas versões) e

também se o sistema suportará atualizações de software que sejam necessárias após algum tempo de

uso.

A metodologia para construção de um projeto de sistemas embarcados é representada na

Figura 2, na qual são identificados os principais passos a serem seguidos a fim de facilitar a

organização e a comunicação com a equipe de trabalho, que são partes fundamentais para o

desenvolvimento do projeto. Essa metodologia é apresentada por Wayne Wolf (2002) em seu livro

Computer as Components, e será adotada neste trabalho.

A metodologia de projeto, como é mostrado na Figura 2, começa através da identificação

dos requisitos do sistema, na qual é feita uma consulta ao cliente a fim de descrever quais são os

requisitos e funcionalidades que o sistema deverá ter. A seguir é feita a especificação do sistema

com base nesses requisitos, na qual é mostrada uma descrição mais detalhada dos requisitos e como

o sistema irá funcionar sem revelar muitos detalhes do funcionamento. A etapa seguinte,

Arquitetura, define o sistema na forma de componentes, com os módulos, o software e o hardware

especificados. Na etapa de Componentes, é feita a construção desses componentes e, finalmente,

ocorre a integração do sistema completo na última etapa.

Page 24: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

10

Projeto Projeto

Top-Down Botton-Up

Figura 2 – Passos para projeto de sistemas embarcados

Fonte : Wolf (2002).

Integração do Sistema

Componentes

Arquitetura

Especificações

Requisitos

Essa descrição baseia-se no projeto top-down, o qual começa com os requisitos e vai

refinando até os detalhes do projeto. Durante o processo de construção do sistema, são feitas

considerações e previsões de todas as etapas do projeto, prevendo-se o que acontecerá no futuro.

Porém se essas previsões de tempo ou de requisitos não forem atendidas, talvez seja necessário

retornar e alterar as previsões originais. Também é preciso fazer uma análise em cada etapa a fim de

implementar possíveis melhorias e garantir que os requisitos que foram definidos sejam atendidos.

A seguir, é apresentada uma descrição mais detalhada da metodologia a ser utilizada, a qual

é baseada no texto original de Wayne Wolf (2002).

Page 25: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

11

1.3.1 Requisitos

Nesta etapa, é feito um levantamento dos requisitos, identificando-se como o sistema deverá

se comportar e quais as suas características de funcionamento e de construção. Também são feitos

um detalhamento e um refinamento desses requisitos a fim de poder iniciar a construção do projeto.

O levantamento compreende vários níveis de requisitos que vão desde o tamanho e o peso,

(pois as características físicas podem influenciar dependendo do tipo de aplicação), como também o

desempenho, o qual, dependendo da velocidade, seja de transmissão ou de processamento, pode

influenciar bastante tanto no projeto como nos custos finais do produto. Outros requisitos

importantes são o consumo de energia, o qual deve ser reduzido ao máximo dependendo da

aplicação, e o custo, o qual depende em muito da arquitetura utilizada.

Durante a análise de requisitos é importante fazer algumas etapas que facilitem o

acompanhamento e definam o mais precisamente possível a descrição e o funcionamento do

sistema. Dentre essas etapas, a primeira seria definir um nome coerente para o projeto, facilitando a

comunicação entre as equipes de construção.

É importante também estabelecer a finalidade do sistema, detalhar o que ele irá fazer, sua

interface (entradas e saídas do sistema), quais dados (analógicos ou digitais) serão utilizados, como

eles serão coletados (via telemetria, Internet ou localmente) e quais dispositivos de entrada e de

saída serão necessários (como conversores analógico-digitais, atuadores etc).

Além disso, deve-se detalhar as funções, dizendo o que o sistema faz quando recebe um

dado. Como isso afeta no estado do sistema, em que altera a saída para o usuário e quais as funções

são afetadas. Outra análise importante é o desempenho, pois os sistemas embarcados necessitam de

muito tempo para controlar os dispositivos do sistema. Com isso é interessante definir os requisitos

de desempenho o mais cedo possível.

O custo de fabricação também deve ser verificado, dependendo da arquitetura do sistema, o

valor do projeto pode variar bastante, sendo, com isso, a definição de uma arquitetura coerente

bastante importante.

Page 26: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

12

Um outro requisito de um sistema embarcado é o consumo de energia. A grande parte dos

sistemas embarcados são construídos para trabalharem com baterias e, nesse caso o consumo deve

ser mínimo. Além disso, as características mecânicas, como o volume e o peso do produto também

devem ser analisados, pois, em algumas aplicações, esse fator é muito importante.

Nesta etapa, pode-se fazer uma maquete do projeto visando mostrar principalmente o

volume e o peso do sistema, bem como a possível posição dos componentes, a interface com o

usuário e como o usuário poderá interagir com o sistema.

1.3.2 Especificação

A especificação do sistema deve ser clara e bem elaborada, pois ela mostra os requisitos que

o cliente solicitou, diz como o projeto será feito e também o que será seguido para a execução do

mesmo. É importante também para os projetistas, porque uma especificação bem elaborada facilita

o seu trabalho, como também, se for mal elaborada ou incompleta pode comprometer a

implementação e o sucesso do projeto.

É importante especificar algumas características do sistema, como, por exemplo, a interface

com o usuário, de onde vêm os dados, quais as operações do sistema que necessitam de

desempenho, quais os componentes principais, alguns requisitos específicos do projeto, como por

exemplo, um tamanho máximo que o sistema poderá ter e assim por diante.

1.3.3 Arquitetura

O projeto arquitetural do sistema funciona como um diagrama em blocos abstrato da sua

estrutura, servindo futuramente para o projeto de componentes. Nessa abstração, são mostradas as

operações que são executadas e a direção do fluxo de dados entre os blocos, não mostrando os

detalhes da implementação. É necessário dividir o projeto em diagrama de blocos para o software e

para o hardware.

Page 27: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

13

No diagrama de blocos do hardware, é mostrado, por exemplo, uma CPU que interage com a

memória e os dispositivos de entrada e saída. Já o diagrama de blocos do software mostra as

operações que são executadas e a sincronização dessas operações.

A descrição da arquitetura do projeto deve mostrar os detalhes de construção, velocidade,

consumo de energia, como também outras restrições e limitações, pois um projeto arquitetural

errado pode acarretar em uma especificação incorreta do projeto e aparecer na fase final do projeto.

1.3.4 Componentes

No projeto de componentes serão construídos os componentes necessários para a elaboração

do projeto. Esses componentes são obtidos através da descrição da arquitetura do sistema, na qual

são determinados quais componentes serão necessários.

Muitos desses componentes são padronizados, como a CPU e a memória, porém alguns

outros são específicos para o projeto, como, por exemplo, os dispositivos de entrada e saída, os

conversores analógico-digitais, os atuadores e outros que devam ser construídos. Já os componentes

de software podem ter que ser desenvolvidos completamente ou reutilizados de projetos anteriores

ou bibliotecas de componentes.

1.3.5 Integração do Sistema

Nesta etapa é feita a integração de todas as partes do sistema, sendo que essa integração é

um tanto difícil, pois encontrar erros no sistema é mais complicado e limitado. A dificuldade de

analisar os erros deve-se, principalmente, à escassez de ferramentas e à falta de observabilidade

detalhada do sistema, pois às vezes não é possível separá-lo em partes, desde que os componentes

não funcionam individualmente como operam no sistema, e também porque, em muitos sistemas

embarcados, não existem vídeos ou teclados.

Page 28: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

14

2 MICROCONTROLADORES

Com a velocidade que a tecnologia se desenvolve e as grandes inovações que surgem todos

os dias, principalmente da microeletrônica, tem sido possível a integração de centenas de milhares e

até milhões de transistores em uma única pastilha semicondutora. Isso tornou os componentes

eletrônicos mais potentes e confiáveis e, graças a essa integração, começaram a surgir os

processadores que possibilitaram o desenvolvimento dos primeiros computadores eletrônicos, com

a adição de alguns periféricos, como, memória, entradas e saídas, temporizadores e outros (MATIC

2003, MORAES et al,).

Na década de 70 foi possível colocar, no mesmo circuito integrado, o processador e os

periféricos, levando-se ao desenvolvimento dos microcontroladores. Esses dispositivos são

componentes baseados na arquitetura dos microprocessadores e podem ser usados em diversos

projetos de eletrônica, substituindo muitos componentes digitais e melhorando o acabamento e o

desempenho do projeto, principalmente devido à redução do espaço físico ocupado e ao aumento da

eficiência (SOUZA, 2000).

Os microcontroladores possuem todos os componentes necessários para o controle de um

processo, desde a memória interna onde fica o programa, uma memória de dados, portas de entrada

e ou saída e diversos periféricos. Essa é uma das principais características que diferenciam os

microcontroladores dos microprocessadores, nos quais os periféricos não são incluídos na mesma

pastilha da CPU.

Algumas características técnicas dos microcontroladores serão abordadas nas seções a

seguir.

2.1 Arquitetura dos Microcontroladores

Os microcontroladores são basicamente constituídos pelos seguintes componentes: CPU

(Central Processing Unit), as memórias e os periféricos.

Na CPU é feito o processamento das instruções que estão armazenadas seqüencialmente na

memória. A CPU do microcontrolador possui ainda os registradores e contadores, que são unidades

Page 29: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

15

funcionais utilizadas para o armazenamento temporário de bits, possui a ULA (Unidade Lógica e

Aritmética) que é a unidade que executa as operações lógicas e aritméticas do programa e uma

unidade de controle e sincronização que controla e coordena todas as unidades funcionais em uma

seqüência lógica e sincronizada (MARINHO et al, 2001).

As memórias são dispositivos que armazenam as informações em lugares denominados de

localidade de memória, onde são guardadas as informações. Essas localidades de memória possuem

um endereço para que possam ser acessadas, sendo que as informações nelas armazenadas são

usadas para a execução dos programas e são compartilhadas por diversos componentes do sistema.

Existem vários tipos de memórias, as quais podem ser voláteis ou não voláteis. Os

microcontroladores possuem uma memória não volátil, onde é gravado o programa, sendo que, em

geral, essa memória é do tipo FLASH, a qual pode ser regravada várias vezes. Possuem também

uma memória não volátil do tipo EEPROM, a qual armazena os dados que não podem ser perdidos

mesmo quando ocorre falta de energia, como, por exemplo, dados sobre a temperatura fixada para

reguladores de tensão. No caso de uma queda de energia, se esses dados fossem perdidos, seria

necessário calibrar novamente o sistema, porém com isso ele perderia sua eficácia. Eles incluem

ainda uma RAM que guarda os dados temporários, os quais são necessários para a execução do

programa e, caso falte energia, esses dados não seriam cruciais para o retorno do sistema

(MARINHO et al, 2001).

Os periféricos incluem circuitos auxiliares (ex. temporizadores e contadores) e circuitos de

entrada-e-saída, como, por exemplo, conversores analógico-digitais e portas de comunicação serial,

entre outros.

O desempenho do microcontrolador depende da sua arquitetura interna, ou seja, do modo

como ele foi projetado tanto no hardware como no software. Existem alguns tipos básicos de

arquitetura de microprocessador/microcontrolador: (i) Von-Neumann ou Harvard; e (ii) CISC ou

RISC.

Na arquitetura de Von-Neumann, mostrada na Figura 3.b, os barramentos de dados e

endereços são compartilhados entre as memórias de dados e programa durante a comunicação com

a CPU. Nessa arquitetura, quando a CPU esta acessando a memória de programa, ela não pode

Page 30: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

16

acessar a memória de dados, porque usa o mesmo barramento para as duas memórias. (MARINHO

et al, 2001).

(a) (b)

Figura 3 – Arquiteturas: (a) Harvard; e (b) Von-Neumann

Fonte: Matic (2003).

Na arquitetura Harvard (Figura 3.a), ao contrário da Von-Neumann, existem dois

barramentos internos, sendo um para dados e outro para instruções de programa. Esse tipo de

arquitetura permite que, enquanto uma instrução é executada, outra instrução seja buscada na

memória, tornando assim o processamento mais rápido (SOUZA, 2000).

As arquiteturas CISC caracterizam-se por terem um conjunto de instruções grande e

diversificado. Tipicamente, incluem algumas centenas de instruções, sendo que uma mesma

operação pode suportar diversos modos de endereçamento. Além disso, as instruções costumam ter

tamanhos e tempos de execução diferentes e possuem também um micro código. Essa

complexidade dificulta o aprendizado do conjunto de instruções para o desenvolvimento de

programas e limita o desempenho do microprocessador.

Na arquitetura RISC, o conjunto de instruções é menor, incluindo apenas algumas dezenas

de instruções que implementam um número bastante limitado de modos de endereçamento, o que

facilita e torna mais dinâmico o aprendizado, porém dificulta a implementação, quando é construído

o código em baixo nível. Como não existem instruções prontas para determinadas funções, elas

devem ser construídas, exigindo assim um certo grau de habilidade do programador (SOUZA,

2000).

Page 31: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

17

Em uma verificação feita com um microprocessador CISC com cerca de 200 instruções,

constatou-se que o processamento era feito na maior parte do tempo apenas com umas 10

instruções, sendo que a maioria poderia ser implementada através das instruções básicas,

diminuindo muito assim o conjunto de instruções e também podendo aumentar a memória

disponível nos componentes (MARINHO et al, 2001).

2.2 Exemplos de Microcontroladores

A seguir são descritos dois microcontroladores comerciais (8051 e PIC 16F84) visando

ilustrar suas características básicas sem se ater a detalhes, os quais podem ser obtidos diretamente

nos seus datasheets.

O microcontrolador 8051 da Intel, cuja organização é ilustrada na Figura 4, possui uma

arquitetura Von-Neumann/CISC com palavra de dados de 8 bits e cerca de 111 instruções

(considerando-se todos os modos de endereçamento) com tamanho variando de 8 a 24 bits.

Figura 4 – Arquitetura do 8051

Fonte: Intel (2003)

Page 32: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

18

Internamente, o 8051 inclui uma memória de dados de 128 bytes e uma memória de

programa de 4096 bytes. Ele possui quatro portas de comunicação, cujos bits podem ser

endereçados individualmente ou em grupo sob a forma de uma porta de 8 bits, dois temporizadores

de 16 bits e um controlador de comunicação serial (INTEL, 2003).

O microcontrolador PIC 16F84 da Microchip utiliza uma arquitetura Harvard/RISC de 8 bits

com 35 instruções de tamanho único (14 bits). Ele integra uma memória de dados de 68 bytes e uma

memória de programa FLASH com 1024 palavras de 14 bits. Possui 13 pinos de entrada-e-saída

agrupados em duas portas (PORTA de 5 bits e PORTB de 8 bits). Inclui ainda um temporizador de

8 bits e uma memória EEPROM de 64 bytes. A organização do PIC 16F84 é ilustrada na Figura 5,

na qual destacam-se os barramentos separados para dados e instruções, a ULA, as memórias

(FLASH, RAM e EEPROM), as portas de comunicação e os registradores especiais, entre outros.

Figura 5 – Arquitetura do PIC16F84

Fonte: Microchip (1998).

Page 33: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

19

Na Tabela 1 é mostrado um quadro resumo com alguns tipos de microcontroladores e suas

características de construção, como por exemplo, memória de programa, memória EEPROM,

interrupções.

Tabela 1 - Tabela comparativa de microcontroladores

Característica PIC16F873 PIC16F877 PIC18F242 PIC18F452 Freqüência de

operação 20 Mhz 20 Mhz 40 MHz 40 MHz

Memória de Programa 4K 8K 16K 32K

Memória de Dados Volátil 192 368 768 1536

Memória não Volátil EEPROM 128 256 256 256

Interrupções 13 14 17 18 I/O Ports Ports A,B,C Ports A,B,C,D,E Ports A,B,C Ports A,B,C,D,E Timers 3 3 4 4

Comunicação Serial MSSP,USART MSSP,USART MSSP,Addressabl

e,USART MSSP,Addressa

ble,USART Conversor A/D

10 bits 5 canais 8 canais 5 canais 8 canais

Set de Instruções 35 35 75 75 Pinos 15 40 28 40

Fonte : Microchip (2003)

2.3 Aplicações com Microcontroladores

Os microcontroladores são utilizados em diversas aplicações, como eletrodomésticos,

alarmes, fechaduras elétricas, automóveis, celulares, brinquedos, sistemas de segurança, também

usado para cartões inteligentes e dispositivos alimentados por baterias, devido ao seu baixo

consumo (MATIC, 2003).

A memória não volátil que possuem torna mais fácil o uso em dispositivos que requerem o

armazenamento permanente de vários parâmetros, necessários para o funcionamento do sistema,

como códigos de transmissores, velocidade de um motor, freqüências de recepção, etc.

Page 34: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

20

Pode-se ilustrar alguns exemplos da aplicação de microcontroladores, como o conversor

analógico digital, mostrado na Figura 6, o qual possui uma resolução de 8 bits, com 8 entradas

analógicas com nível de 0 a 5V. Essas entradas podem ser selecionadas manualmente por jumpers

ou pelo próprio microcontrolador.

Figura 6 – Placa contendo um conversor analógico digital.

Fonte : Kit (2003)

2.4 Comunicação com Dispositivos de Entrada-e-Saída

Os sistemas embarcados são compostos por diversos componentes eletrônicos e a

comunicação entre esses componentes pode ser feita de várias formas, dentre elas, a utilização do

protocolo I2C.

O protocolo de comunicação I2C (Inter-Integrated Circuit Bus) foi desenvolvido pela Philips

para facilitar a interconexão de componentes eletrônicos. É um protocolo serial composto por dois

barramentos: SCL (serial clock) e SDA (serial data). Os dois barramentos operam com níveis de

tensão de 0 e 5 volts e as regras de comunicação serial do start bit (inicio da comunicação) e do stop

bit (final de comunicação), devem ser seguidas.

O barramento SCL estabelece o sincronismo para a comunicação serial entre os módulos e

ele indica quando uma informação pode ser considerada válida. Essa indicação é definida quando o

nível lógico do SCL está alto, ou seja, em 1. Quando isso acontece, sabe-se que o dado que esta no

barramento SDA é um dado válido.

Page 35: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

21

Para iniciar uma transmissão, um sinal de start condition é gerado da seguinte forma. O

barramento SCL se mantém em nível lógico alto, enquanto que o barramento SDA deve passar de

nível alto para baixo. Para finalizar uma transmissão, é gerado um sinal de stop condition, onde o

barramento SCL se mantém em nível lógico alto e o barramento SDA deve passar de baixo para

alto, como pode ser visto na Figura 7.

Figura 7 – Transmissão do barramento I2C

Fonte: Risnik (2002).

A comunicação através do I2C permite a conexão com diversos periféricos que são

identificados por um endereço único e estes podem operar como master ou slave. O master é quem

gerencia a transferência de dados, determinando a taxa de transferência, o inicio e o fim da

transmissão. O slave é comandado pelo master e reconhece os dados transmitidos. Para que a

transferência de dados inicie, após o start e o endereçamento estarem prontos, é necessário que o

slave (escravo) envie um sinal de reconhecimento chamado de acknowledge (ACK).

3 TELEMETRIA

3.1 Conceito

A telemetria é uma técnica utilizada para medir e monitorar dados, os quais são coletados

por uma estação remota (ou base) e transmitidos por meio de um canal de comunicação a um

controle central, no qual eles são manipulados para serem tratados e visualizados, ou armazenados,

para futuras análises (DAVE e L-3 COMUNICATIONS, 2003).

A técnica de telemetria pode tratar dados de vários tipos, como, por exemplo, dados físicos,

biológicos ou ambientais. Ela é usada, principalmente, para agrupar dados de vários locais

Page 36: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

22

diferentes, os quais podem estar distantes ou próximos, como também podem estar em locais

inacessíveis ou de difícil acesso para serem coletados. (DAVE, 2003).

A transmissão dos dados pode ser feita por diversos meios de comunicação, como por

exemplo, linha telefônica (convencional e/ou celular), satélite ou ondas de rádio ou ainda via

Internet.

3.2 Meios de Comunicação Utilizados

Os meios de comunicação utilizados para transmissão dos dados podem variar dependendo

da aplicação ou da localização dos dados. Cabe ao projetista definir qual tecnologia de transmissão

é a mais apropriada para o projeto.

Devido ao alto custo dos meios de comunicação, as técnicas de transmissão podem variar

dependendo da aplicação. Para reduzir o custo de utilização do canal de comunicação, pode-se

agrupar diferentes dados na forma de um pacote a ser transmitido, evitando que a conexão seja

estabelecida a cada dado individual ou que a mesma seja mantida por um longo período.

Esse custo implica o preço da utilização do canal devido às informações adicionais a ser

transferidas no estabelecimento e cancelamento de cada conexão (overhead de comunicação) e,

também, no consumo de energia em sistemas alimentados por baterias. Após ser recebido pelo

controle central, os dados são desempacotados para serem tratados, armazenados e/ou visualizados

(L-3 COMUNICATIONS, 2003).

A telemetria possui algumas classificações que dependem do sistema de comunicação que

ela utiliza, dentre as quais pode-se destacar, a telemetria sem fio, a qual é feita através de ondas de

rádio, ou a telemetria via Internet, que é feita através de inter redes.

A seguir são mostradas algumas características dessas duas técnicas mais utilizadas e

difundidas.

Page 37: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

23

3.2.1 Telemetria sem Fio

Pode-se definir a telemetria sem fio como sendo a comunicação entre duas máquinas, uma

de controle e outra de coleta de dados, através de uma rede sem fio, a qual pode ser feita, por

exemplo, com antenas de radiofreqüência (RF) ou via satélite, tendo como principal finalidade o

controle ou monitoramento (DAVE, 2003).

Os sinais utilizados para a transmissão através de ondas de radio podem ser do tipo VHF

(Very High Frequency) ou UHF (Ultra High Frequency). Os sinais VHF possuem uma faixa de

freqüência que varia de 30 até 300 MHz, já os sinais UHF variam até 3 GHz (Mega Hertz).

Na telemetria por ondas de radiofreqüência, para se fazer a transmissão dos dados, é

necessário transformar os sinais digitais que estão no sistema em sinais analógicos, os quais serão

transmitidos pelas ondas eletromagnéticas na freqüência de rádio, e, depois de serem recebidos e

conferidos, são novamente transformados para sinais digitais. Deve-se verificar ainda que, no

processo de transmissão, os dados devem possuir uma certa potência que garanta a sua perfeita

transmissão sem distorção e que o receptor possa interpretá-lo corretamente (EINSFELDT, 2002).

Segundo Dave (2003), o processo de monitoramento das aplicações de telemetria sem fio

funciona através da emissão de um pooling, pelo qual o controle pode enviar um sinal de pooling a

uma base solicitando os dados, ou ainda as bases podem possuir modems que gerem o sinal de

pooling por si só. Esse processo é iniciado quando o controle manda um sinal para a base

perguntando se existe algum dado para ser transmitido. A base, por sua vez, retorna enviando os

dados ou apenas informando que não possui dados para transmitir. Esse processo se repete até todas

as bases serem contatadas e, então, o processo é reiniciado.

3.2.2 Telemetria via Internet

A principal característica da telemetria via Internet é que ela funciona através do protocolo

IP (Internet Protocol) e tem as características de uma aplicação cliente/servidor, na qual a estação

central envia um sinal para a estação de coleta, solicitando que os dados sejam transmitidos. Pode-

se, ainda, ter um sistema em que a estação de coleta transmita os dados automaticamente de tempos

Page 38: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

24

em tempos e sempre para uma determinada porta de conexão em um endereço IP previamente

especificado. Porém, para que essa transmissão funcione, tanto a estação de coleta como a estação

central devem estar conectadas a um provedor de acesso á Internet (SRC,2003).

O uso da Internet para fazer a comunicação entre a base e a estação de controle melhora

bastante o desempenho do sistema, como também a qualidade dos dados. Além disso, esse sistema

permite a manipulação de múltiplas sessões baseadas no protocolo IP.

3.3 Características dos Meios de Comunicação

A transmissão de dados através dos meios de comunicação pode ser feita de duas formas:

serial ou paralela. Na primeira, utilizada em grandes distâncias, os dados são transmitidos bit a bit,

enquanto que, na segunda, mais utilizada em distancias curtas, vários bits são transmitidos

simultaneamente através de meios físicos paralelos.

A comunicação pode ainda ser síncrona ou assíncrona. Na comunicação síncrona, existe um

sincronismo entre o emissor e o receptor, sendo que o bloco de dados possui bits de controle no

inicio e no fim do bloco. Mesmo quando não há mensagens, o transmissor envia bits especiais para

manter o sincronismo. Na comunicação assíncrona, o bloco possui alguns bits adicionais, como

start bit e stop bit, os quais indicam o inicio e o fim do bloco, sendo que, com isso, não existe a

necessidade de manter o sincronismo, pois o receptor sabe quando o bloco inicia e termina

(TAFNER.1996).

Outra característica da comunicação entre o emissor e o receptor é quanto ao sentido da

comunicação que pode ser classificada como: (i) simplex, quando a comunicação ocorre em um

único sentido por vez; (ii) half-duplex, quando ela ocorre nos dois sentidos, porém não ao mesmo

tempo; ou (iii) full-duplex, a qual possibilita a transmissão e recepção dos dados ao mesmo tempo

(TAFNER.1996).

3.4 Vantagens da Telemetria sem Fio

A telemetria sem fio possui algumas vantagens que devem ser analisadas. Dentre as

vantagens pode-se citar a operação em uma gama grande de freqüências e sinais diferentes, desde a

Page 39: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

25

faixa de sinais de radiofreqüência até os sinais de satélite. Ela também pode ser utilizada em locais

onde não existem linhas de comunicação convencionais e possui uma facilidade de relocação

(DAVE, 2003).

Pode-se citar como um exemplo muito conhecido a telemetria na Fórmula 1, na qual os

equipamentos do carro são monitorados intensivamente. A velocidade de rotação do motor, a

temperatura do motor, os movimentos da suspensão, a velocidade do carro, a força lateral para as

curvas, a tração do motor e outros, são controlados por diversos sensores posicionados no carro e

transmitidos para a central que fica nos boxes da equipe. Essas informações são transmitidas em

tempo real através de pooling por uma antena que fica no carro até os boxes, onde são tratadas e,

dependendo da situação, servem para alterar o desempenho do veiculo (CASCOROSSO,2003).

3.5 Desvantagens da Telemetria sem Fio

Segundo Dave (2003), pode-se citar como desvantagens da telemetria sem fio a necessidade

de uso de repetidores para retransmitir o sinal, devido às irregularidades da superfície que

restringem o alcance do sinal a cerca de 40 quilômetros.

Uma outra desvantagem é a posição da antena, a qual deve evitar os obstáculos que

interferem na transmissão, como os morros, prédios e locais que causem distorção do sinal, como

por exemplo, as redes de alta tensão e os transformadores de energia elétrica. Isso requer o uso de

aparelhos especiais que corrijam essa distorção, porém ocasionando aumento de custos (DAVE,

2003). Existe também a necessidade de desviar o sinal, evitando que ele passe por locais onde possa

interferir no funcionamento de equipamentos de alta periculosidade, como em aeroportos.

3.6 Vantagens da Telemetria via Internet

A telemetria via Internet possui algumas vantagens, dentre as quais pode-se citar o uso do

protocolo IP, o qual é bastante estável e conhecido, podendo prover múltiplas sessões e também a

redundância de conexões em longas distâncias. Além disso, o custo das conexões e a popularização

da Internet facilitam seu uso nas aplicações de telemetria.

Page 40: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

26

3.7 Desvantagens da Telemetria via Internet

Uma das principais desvantagens da telemetria via Internet é a dificuldade de relocação. Por

possuir uma conexão fixa é mais difícil de ser mudada de local. Uma outra desvantagem é a

necessidade de uma conexão com um provedor de Internet.

4 TRABALHOS RELACIONADOS

Neste capítulo são analisados quatro trabalhos que utilizaram tecnologia de telemetria para

monitoramento de dados remotos. São identificados os componentes e os meios de comunicação

adotados e o funcionamento desses sistemas. Contudo, nas referências utilizadas nem todas as

informações necessárias estavam disponíveis.

4.1 Sistema para Telemetria de Sinais Biomédicos Usando Telefonia Celular

Este sistema foi desenvolvido por Borges e Leite (2003) do Centro Federal de Educação

Tecnológica da Paraíba (CEFET-PB) e do Núcleo de Estudos e Tecnologia em Engenharia

Biomédica (NETEB/UFPB). O principal objetivo desse sistema é monitorar remotamente e em

tempo real a freqüência cardíaca de indivíduos submetidos a esforços físicos.

O sistema funciona basicamente com uma unidade remota, a qual capta o sinal do

eletrocardiograma, identifica os batimentos cardíacos e envia tons DTMF (Dual Tone Multi

Frequency) para um aparelho celular acoplado ao sistema. Já a estação de recepção, a qual é

baseada em um microcomputador PC (Personal Computer), possui uma interface com a linha

telefônica, um detector de tons DTMF, um circuito de comunicação com a porta paralela do

microcomputador e um software desenvolvido em linguagem C, o qual calcula os tempos

transcorridos entre dois tons recebidos, identificando a freqüência cardíaca do indivíduo. Os dados

da freqüência cardíaca podem ser armazenados em arquivos para análises e tratamento futuros.

Na Figura 8, pode-se observar o diagrama de blocos dos componentes do sistema, o qual

possui uma unidade remota composta por um amplificador de instrumentação, por filtros, uma CPU

baseada em um microcontrolador Intel 80C552, um gerador de tons DTMF e por um circuito que

faz o acoplamento com o aparelho celular. A estação de recepção possui uma interface que recebe

Page 41: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

27

os tons DTMF e os transfere para o microcomputador pela porta paralela, essa interface consiste em

circuito de conexão com a linha telefônica, a qual possui detector de chamada em curso e, também,

uma outra interface que faz a comunicação com o computador.

Figura 8 – Esquemático dos componentes do sistema

Fonte: Borges & Leite (2003).

4.2 Construção de um Protótipo para Automatização de Níveis de Flúmens

Esse sistema foi desenvolvido por pesquisadores da FURB (EINSFELDT, 2002) visando ser

uma solução para monitoramento do nível do rio Itajaí-Açu na cidade de Blumenau através da

medição e do comportamento dos flúmens (rios). Em outras palavras, o sistema visa automatizar o

processo de leitura de réguas de medição de nível utilizando conversão de sinais analógico-digitais,

controle baseado em microcontroladores PIC e comunicação via radiofreqüência.

O funcionamento do sistema é representado no diagrama de blocos da Figura 9. O sistema é

composto de um módulo de controle, o qual faz a comunicação com o microcomputador através da

porta serial, um módulo de base, o qual identifica se o pacote recebido esta solicitando uma leitura

Page 42: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

28

e, então, ele passa o controle para o módulo de coleta, sendo que esse, faz a leitura do nível através

de potenciômetros deslizantes, converte os sinais de analógico para digital e os repassa ao módulo

de base para serem transmitidos para o modulo de controle, onde os dados são repassados para o

microcomputador.

Figura 9 – Diagrama em blocos dos componentes do sistema

Fonte : Einsfeldt (2002).

Os componentes utilizados na construção do sistema são os microcontroladores PIC

16F84A (para os módulos de controle e de base) e PIC 16F876 (para o módulo de coleta, o qual foi

utilizado porque possui conversor analógico-digital), transistores de RF, cristais de 4MHz, antenas

de celular, reguladores de tensão e um potenciômetro deslizante.

Page 43: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

29

4.3 Sistema de Controle Automático para Agricultura Irrigada

O sistema que foi desenvolvido por Torre Neto (1996), pesquisador da Embrapa/CNPDIA,

tem como finalidade fazer o controle da agricultura irrigada através de tensiômetros, os quais são

instrumentos utilizados para medir a quantidade de água disponível no solo. A comunicação se

baseia no uso de rádiofreqüência. Os sensores e atuadores instalados para fazer a monitoração são

interligados em único cabo, formando uma arquitetura de barramento. Como se pode ver na Figura

10, eles são conectados a um dispositivo para transmissão e essas transmissões podem ser feitas via

rádiofreqüência ou através de cabo, dependendo da distância.

Figura 10 – Arquitetura e transmissão de dados

Fonte : Torre Neto (1996).

Os principais componentes do sistema são os tensiômetros, termômetros para solo e sensores

climatológicos (medem velocidade/direção do vento, temperatura e umidade do ar). Na Figura 11, é

mostrado um tensiômetro, o qual possui um transdutor de pressão, o qual converte a sucção em

sinal elétrico analógico e um circuito microcontrolado, o qual converte os sinais analógicos em

digitais, processa e armazena provisoriamente as leituras para serem transmitidas e realiza a

conexão com o barramento.

Page 44: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

30

O funcionamento básico consiste em fazer o monitoramento da quantidade de água no solo,

através das informações que são fornecidas pelos sensores instalados no campo, os quais fazem a

coleta e a transformação dos sinais analógicos para digitais, e transmitem essas informações através

do barramento onde estão conectados até o microcomputador PC, onde essas informações são

processadas e analisadas.

Figura 11 – Vista Explodida de um tensiômetro

Fonte: Torre Neto (1996).

Conexão para o barramento

Circuito microcontrolado miniaturizado

Transdutor de pressão

4.4 Telemet – Um Sistema de Telemetria, Controlo e Gestão de Alarmes para

Aplicações Ambientais

O sistema desenvolvido por Landeck et al. (1998) é um sistema integrado de telemetria,

controle e gestão de alarmes capaz de monitorar e gerir remotamente estações de captação de água.

O sistema permite ao usuário analisar as variáveis e interagir com o sistema a fim de garantir um

perfeito funcionamento e controle das estações, bem como o acompanhamento permanente e um

histórico de dados que servem de apoio à manutenção e para a elaboração de relatórios.

A estrutura global do sistema pode ser observada na Figura 12, onde as unidades de gestão

(UG) são responsáveis pela monitoração, configuração das unidades, processamento das

informações coletadas e gestão centralizada das notificações de alarme. As unidades remotas (UR),

Page 45: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

31

as quais são instaladas nas estações de tratamento, fazem a aquisição dos dados, controle, gestão de

alarmes e a comunicação com as unidades de gestão. A comunicação entre as unidades de gestão e

remota é feita via modem celular. Os componentes mais específicos do sistema não foram descritos,

pois a literatura disponível não apresenta maiores detalhes.

Figura 12 – Estrutura global do sistema

Fonte : Landeck et al (1998)

4.5 Resumo dos Trabalhos Relacionados

Na Tabela 2 é apresentado um quadro resumo que identifica as características básicas dos

sistemas de telemetria descritos acima. São listadas as instituições nas quais os sistemas foram

desenvolvidos, a aplicação alvo de cada sistema, o microcontrolador utilizado (quando informado

na literatura disponível) e o tipo de comunicação adotada.

Tabela 2 - Quadro resumo dos trabalhos relacionados

Instituição CEFET-PB e UFPB FURB EMBRAPA ISA-PORTUGAL Aplicação Telemetria de

freqüência cardíaca Automatização da Leitura de Níveis de Flúmens

Sistema para Controle de Agricultura Irrigada

Telemetria, controlo e gestão de alarmes para aplicações ambientais

Microcontrolador 80C552 PIC16F8XX Não informado Não informado Comunicação usada pela estação coletora

Telefonia sem fio

Rádio-freqüência Rádio-freqüência e/ou via cabo

Telefonia sem fio

Page 46: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

III - DESENVOLVIMENTO

A revisão bibliográfica apresentada na parte anterior foi direcionada ao estudo de sistemas

computacionais embarcados microcontrolados e da aplicação dos mesmos no desenvolvimento de

sistemas de telemetria. O estudo apresentado serviu para o desenvolvimento de uma plataforma para

monitoramento de dados remotos, a qual é baseada em um microcontrolador PIC16F877. A

principal finalidade da plataforma é realizar o monitoramento de dados através de sensores

conectados ao microcontrolador, segundo uma configuração pré-estabelecida. Os dados coletados

são processados e armazenados em uma memória não-volátil para futura transferência por meio da

interface serial, conforme é ilustrado na Figura 13. Nas seções a seguir, é apresentada a descrição da

plataforma implementada.

Figura 13 – Diagrama do sistema desenvolvido

Memória não Volátil

Sensores

PC

RS232

Sensores

Microcontrolador

Resumidamente, o processo de medição é feito por meio de varreduras periódicas com

intervalos da ordem de dezenas de minutos (tipicamente uma hora). Uma vez iniciada uma

varredura, faz-se a amostragem de todos os sensores a uma taxa configurável que expressa o

número de amostras por minuto durante um intervalo pré-definido. Por exemplo, em uma dada

configuração, o sistema “desperta” a cada hora e, durante os 4 minutos seguintes colhe 60 amostras

(taxa = 15 amostras por minuto) de cada sensor. O conjunto de valores medidos é armazenado na

memória não volátil externa, sendo dois bytes para cada valor lido. Uma vez concluída a varredura,

é feito o cálculo da média dos valores medidos para cada sensor e, então, é criado um registro na

memória não volátil contendo apenas o cabeçalho e as médias calculadas.

Page 47: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

33

1. MODELAGEM

A metodologia aplicada neste trabalho baseou-se naquela apresentada por Wolf (2002), a

qual foi descrita no Capítulo 1 da revisão bibliográfica. Nesta seção, é apresentada a modelagem da

plataforma desenvolvida, incluindo a análise dos requisitos, a especificação e o projeto arquitetural,

o qual é dividido em duas partes, hardware e software, e o projeto dos componentes. A integração

do sistema é apresentada na seção seguinte (Implementação).

1.1 Análise de requisitos

Os requisitos estabelecidos para este projeto são listados na Figura 14.

Nome do projeto Monitor de dados.

Finalidade do

sistema

Aquisição de dados de sensores analógicos, processamento e transmissão

através de um meio de comunicação para uma estação central baseada em um

computador pessoal

Entradas Sinais adquiridos vindos de sensores analógicos;

Comandos recebidos de uma estação central; e

Botão de Reset do sistema.

Saídas Dados pós-processados transmitidos para uma estação central;

Indicadores luminosos de funcionamento do protótipo (on/off); e

Display de cristal líquido.

Função Adquirir dados de vários sensores, com várias taxas de amostragem, processar

esses dados, armazena-los e transmití-los para uma estação central.

Desempenho Não é tão crítico. O sistema deve ser capaz de adquirir e transmitir dados por

meio de um sistema de comunicação.

Custo O custo aproximado é de R$ 300,00 por unidade.

Consumo O consumo de energia é uma parte crítica quando o sistema é alimentado por

baterias.

Tamanho O projeto deve ser menor que 20 × 20 × 20 centímetros.

Peso O protótipo não deverá ultrapassar dois quilogramas.

Figura 14 – Figura com quadro descritivo dos requisitos do sistema

Page 48: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

34

1.2 Especificação

A especificação (mostrada na Figura 15) apresenta um nível maior de detalhamento dos

requisitos levantados anteriormente e define alguns parâmetros de desempenho para a

implementação do sistema.

Finalidade Adquirir dados de sensores instalados remotamente, fazendo um pré-

processamento dos dados, o armazenamento temporário desses dados e a

transmissão dos mesmos para uma estação central.

Entradas Sinais analógicos: estado dos sensores.

Sinais digitais: como dados lidos da EEPROM externa e parâmetros de

configuração recebidos por meio do sistema de comunicação.

Saídas Sinais digitais: dados escritos na EEPROM externa e dados enviados por meio

do sistema de comunicação.

Funções Adquirir dados de sensores analógicos com diferentes taxas de amostragens.

Gravar e ler dados em uma memória não volátil.

Calcular a média dos dados a serem transmitidos.

Permitir alterar a configuração de alguns parâmetros, através de comandos

recebidos da estação central.

Manter um relógio de tempo real, sincronizado com o relógio da estação central.

Utilizar protocolo de comunicação do tipo I²C com dispositivos externos.

Possuir capacidade de armazenar até 32Kbits de dados em memória não-volátil.

Disponibilizar reset, através do botão de reset.

Desempenho O sistema dever possuir uma taxa de amostragem que seja compatível com os

sensores conectados e o meio de comunicação utilizado.

Consumo O consumo de energia enfrenta algumas limitações, sendo que o sistema dever

ter uma autonomia de 3 dias de funcionamento sem necessidade de recarregar as

baterias

Figura 15 – Figura com quadro descritivo da especificação do sistema

Page 49: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

35

1.3 Projeto Arquitetural

O projeto arquitetural do sistema é dividido em duas partes, o software e o hardware. Na

Figura 16 é mostrada uma visão geral da plataforma, a qual possui a camada de aplicação, que é o

software desenvolvido diretamente sobre o hardware, não possuindo sistema operacional ou drivers

de dispositivos e a camada do hardware propriamente dito.

Figura 16 – Arquitetura de software e hardware

Hardware

Aplicação (SW)

1.4 Projeto Arquitetural de Hardware

Na Figura 17 é apresentado um maior detalhamento do hardware utilizado na plataforma,

onde tem-se, além da camada de aplicação, o microcontrolador e os periféricos externos, tais como

sensores, display de cristal líquido (LCD), EEPROM serial, relógio de tempo real (RTC - Real Time

Clock) serial e um dispositivo para comunicação serial RS232.

Figura 17 – Diagrama em blocos da arquitetura de hardware

Aplicação (sw)

PIC

RS232 Sensores RTC I²C EEPROM I²C

LCD

Na Figura 18 tem-se um detalhamento do esquema de ligação do microcontrolador com os

periféricos, explicitando o sistema de comunicação utilizado por cada dispositivo. A EEPROM e o

RTC utilizam barramento serial I2C, o display de cristal líquido utilizando um barramento de 8 bits

Page 50: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

36

paralelos, os sensores são analógicos, e a comunicação serial é feita com dois fios, sem controle de

fluxo.

Figura 18 – Esquema de ligação do microcontrolador com os periféricos

P I C

Sensores

RS232

RTC I²C

EEPROM I²C

LCD

1.5 Projeto Arquitetural de Software

Na Figura 19 é visualizado o diagrama em blocos da arquitetura de software, a qual é

composta pelos componentes de software como, por exemplo, o gerenciador, o controlador dos

sensores, o controlador do LCD, o controlador da EEPROM, o controlador do timer e o controlador

da RS232.

Figura 19 – Diagrama em blocos da arquitetura de software

Controlador dos Sensores

Controlador LCD

Controlador EEPROM

Controlador Timer

Controlador RS232

Hardware

Gerenciador

Page 51: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

37

1.6 Projeto de Componentes

O projeto dos componentes especifica os componentes de hardware e software que foram

utilizados e desenvolvidos durante a implementação do sistema embarcado, sendo esta etapa

dividida em componentes de hardware e componentes de software, como será apresentado a seguir.

1.6.1 Componentes de hardware

Não foi necessário desenvolver nenhum componente de hardware, de modo que utilizou-se

apenas dispositivos comercias, os quais são especificados abaixo:

• Microcontrolador PIC16F877;

• Memória FLASH EEPROM de 32KB;

• Relógio de tempo real da Dallas, modelo DS1302;

• LCD (2x16), duas linhas por dezesseis colunas;

• Potenciômetros que oferecem uma tensão de entrada variável;

• Resistores; e

• Voltímetros digitais, para ler e validar a tensão de leitura.

1.6.2 Componentes de software

O software a ser executado no microcontrolador PIC16F877 foi desenvolvido em linguagem

C, com o uso do compilador PCWH Compiler da CCS.

O PCWH compiler foi desenvolvido para ambiente WINDOWS, possui a capacidade de

transformar a linguagem C para a linguagem de montagem dos microcontroladores PIC. Algumas

das características importantes que justificam o uso desse compilador na implementação de código

para sistemas microcontralados são: (i) eficiência no código gerado, (ii) grande quantidade de

funções e bibliotecas na linguagem C, (iii) grande portabilidade entre os microcontroladores PIC no

código gerado.

Page 52: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

38

A seguir, na Figura 20, é ilustrado o desenho do diagrama de contexto do sistema, o qual

traz as entidades externas, como o computador PC, o relógio de tempo real, o display de crystal

líquido e a memória EEPROM externa, os quais irão interagir com o sistema. São visualizados

também os fluxos de dados que interagem entre o processo principal e as entidades.

Figura 20 – Diagrama de contexto do sistema

Page 53: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

39

Na Figura 21, é apresentado o diagrama de fluxo de dados do sistema, obtido através da

explosão do diagrama de contexto, onde são apresentados os principais processos do sistema

interligados entre si, juntamente com seus fluxos de dados.

Figura 21 – Nível 0 do diagrama de fluxo de dados

Page 54: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

40

No detalhamento do processo eeprom_control, o qual tem a função de manipular a gravação

e a leitura dos dados da memória EEPROM externa, obtém-se o nível 2 do diagrama de fluxo de

dados, conforme apresentado na Figura 22.

Figura 22 – Nível 1 do diagrama de fluxo de dados do processo eeprom_control

Page 55: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

41

O diagrama da Figura 23 apresenta o detalhamento do nível 3 do diagrama de fluxo de

dados que se refere ao processo timer_control, o qual tem a função de configurar e consultar o

relógio de tempo real.

Figura 23 – Nível 3 do diagrama de fluxo de dados do processo timer_control

1.6.3 Dicionário de Dados

O dicionário de dados é responsável pelo detalhamento dos fluxos de dados e dos dados

utilizados na modelagem estruturada através do diagrama de contexto. Nesta etapa é visualizada a

composição dos fluxos de dados.

Nome : Data

Tipo : Byte + Byte + Byte

Descrição : * Estrutura que contém a data atual do sistema no formato dd/mm/aa *

Page 56: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

42

Nome : Hora

Tipo : Byte + Byte

Descrição : * Estrutura que contém a hora atual do sistema no formato hh/mm *

Nome : valor_leitura_sensor

Tipo : Inteiro de 16 bits

Utilização : *variável que armazena o valor da leitura do sensor *

Nome : periodo_de_amostragem

Tipo : byte

Utilização : *variável que contém o período de amostragem em minutos *

Nome : taxa_de_amostragem

Tipo : byte

Utilização : *variável que contém a taxa de amostragem em amostras por minuto *

Nome : variaveis_por_amostra

Tipo : byte

Utilização : *variável que contém o número de sensores lidos em cada amostra *

Nome : cabeçalho

Tipo : estrutura

Descrição : data + hora + periodo_de_amostragem + taxa_de_amostragem + variaveis_por_amostra

Nome : media

Tipo : float

Utilização : *variável de 32 bits que contém a média das leituras *

Nome : Inf_read_eeprom_ext

Utilização : Gerenciador(s) eeprom_control(e) eeprom externa2(s)

Descrição : Inf_read_eeprom_ext = [media | valor_leitura_sensor]

Page 57: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

43

Nome : Inf_wr_eeprom_ext

Utilização : Gerenciador(s) eeprom_control(e) eeprom externa2(e)

Descrição : Inf_wr_eeprom_ext = [media | cabeçalho + valor_leitura_sensor]

Nome : Inf_write_date_time

Utilização : Gerenciador(s) timer_control(e) write_date_time(e)Real_Time2(e)

Descrição : Inf_write_date_time = [Data | Hora]

Nome : Inf_read_date_time

Utilização : Gerenciador(s) timer_control(e) read_date_time(e)Real_Time2(s)

Descrição : Inf_read_date_time= [ Data | Hora]

Nome : Inf_Leitura

Utilização : Gerenciador(s) Pc (e)

Descrição : * Inf_Leitura = media que é transmitida para a estação central *

Nome : Inf_Parametros_Configuração

Utilização : Pc(s) Gerenciador (e) EEPROM_Interna (e)

Descrição : * Parametros de configuração que indicam taxa de amostragem e período em minutos *

Nome : mensagem

Utilização : Gerenciador (s) display_control (s) lcd (e)

Descrição : * mensagen do tipo string enviada para o display*

Page 58: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

44

1.6.4 Especificação de Processos

Nas seções anteriores foram apresentados os fluxos de dados entre os processos e o

dicionário de dados. A seguir será especificado o funcionamento de cada processo do sistema.

1.6.4.1 Processo 1.1 : eeprom_control

Este processo é responsável pela leitura dos dados na memória EEPROM externa quando

solicitados pelo modulo de gerenciamento (gerenciador). A leitura dos dados é feita serialmente,

através do barramento I2C. O processo aguarda o endereço da memória a ser lido e invoca a função

que faz a leitura do dado naquele endereço.

Este processo é acionado principalmente para fazer a leitura das amostras e da média que

estão armazenadas na memória.

O algoritmo do processo funciona da seguinte forma:

1. Recebe o endereço a ser lido;

2. Ativa a comunicação I²C;

3. Envia os primeiros 8 bits do endereço a ser lido;

4. Envia os 8 bits restantes do endereço;

5. Faz a leitura do dado; e

6. Finaliza a comunicação I²C.

1.6.4.2 Processo 1.2 : write_eeprom_ext

Este processo é responsável pela gravação dos dados recebidos do modulo gerenciador na

EEPROM externa. O processo recebe o endereço de 16 bits e o dado de 8 bits para iniciar a

gravação. Após os dados são gravados serialmente, bit a bit, através do barramento I²C.

O processo é acionado para gravar inicialmente o cabeçalho da varredura e após as

respectivas amostras de cada sensor.

Page 59: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

45

O algoritmo de funcionamento do processo opera como a seguir:

1. Recebe o endereço de 16 bits;

2. Ativa a comunicação I²C;

3. Envia os 8 primeiros bits do endereço;

4. Envia os 8 bits restantes;

5. Envia o dado de 8 bits; e

6. Finaliza comunicação I²C.

1.6.4.3 Processo 3.1 : read_date_time

Este processo faz a leitura da data e hora de um relógio de tempo real da Dallas modelo

DS1302, através de comunicação serial utilizando barramento I²C. A leitura é feita na respectiva

posição de memória de cada valor.

O processo é acionado para ler o ano, o mês, o dia, a hora e o minuto, os quais são utilizados

para preencher o cabeçalho de cada varredura dos sensores.

O processo funciona com um algoritmo conforme a seguir:

1. Recebe o endereço de leitura (depende do modelo do relógio);

2. Ativa o reset do dispositivo;

3. Envia o endereço de leitura serialmente via I²C;

4. Faz a leitura do valor (pode ser na subida ou descida do clock, dependo do modelo);

5. Desativa o reset do dispositivo encerrando a comunicação I²C; e

6. Devolve o valor lido ao processo que solicitou.

1.6.4.4 Processo 3.2 : write_date_time

Processo responsável pela inicialização e atualização da data e hora do relógio de tempo real

do sistema, o qual possui informação de ano, mês, dia, hora, minuto e segundos, sendo que cada

valor é gravado em um endereço de memória diferente no dispositivo. A inicialização é feita

serialmente através de barramento I²C e os dados de inicialização, data e hora, são fornecidos pelo

processo gerenciador. O processo aceita ainda a inicialização de todos os valores do relógio

Page 60: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

46

simultaneamente ou de um determinado valor específico. O algoritmo de funcionamento do

processo é baseado no esquema a seguir:

1. O processo recebe os valores de inicialização;

2. Ativa o reset do dispositivo;

3. Envia o endereço de memória para gravação serialmente pelo barramento I²C;

4. Envia o valor a ser gravado serialmente pelo barramento I²C; e

5. Desativa o reset do dispositivo encerrando a comunicação.

1.6.4.5 Processo 5 : display_control

Processo responsável pelo envio de mensagens de caracteres para o display. Os caracteres

recebidos do processo gerenciador já devem estar em formato ASCII e são enviados serialmente

para o display de cristal líquido. O processo display_control funciona da seguinte forma

1. Na inicialização do programa o display é inicializado, ligado e o cursor ativado para

piscar, este processo ocorre através do envio de comandos específicos para o display; e

2. O envio dos caracteres é feito ativando os pinos de controle do display e enviando os

dados paralelamente no port especificado.

1.6.4.6 Processo 4 : sensors_control

Neste processo é feita a ativação do canal ao qual se deseja fazer a leitura. Após a ativação o

processo aguarda a conversão do valor e envia os dados para o processo gerenciador para serem

armazenados. O algoritmo do processo pode ser descrito como a seguir:

1. O processo recebe o número do canal ao qual deve ser feita a conversão de dados;

2. O canal solicitado é ativado;

3. Aguarda a conversão do valor; e

4. Retorna o valor ao processo gerenciador.

Page 61: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

47

2 IMPLEMENTAÇÃO

O sistema embarcado foi desenvolvido utilizando um microcontrolador PIC16F877

interligado a três potenciômetros analógicos e um gerador de sinal senoidal, os quais representam os

sensores; um relógio de tempo real (Dallas modelo DS1302), o qual utiliza comunicação serial I²C;

uma memória EEPROM externa (do tipo FM24C256), a qual também utiliza comunicação serial

I²C; um componente MAX232, o qual faz a comunicação serial RS232; e um display de cristal

líquido que possui duas linhas e dezesseis colunas com interface paralela. Abaixo, na Figura 24, é

visualizado o esquema de ligação física do hardware da plataforma, no qual U1 é o

microcontrolador, U3 é a memória EEPROM e U4 é o relógio de tempo real.

Figura 24 – Esquema de ligação física do hardware da plataforma no PROTEUS

Page 62: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

48

O software do projeto foi desenvolvido usando-se o compilador C PCWH (versão 3.182) da

CCS®. Para a implementação do esquema de hardware, teste e validação da plataforma projetada,

foi utilizada uma ferramenta chamada PROTEUS/ISIS 6.3®, a qual faz simulação de circuitos e

componentes eletro-eletrônicos.

Utilizando a ferramenta PROTEUS/ISIS 6.3®, pode-se observar, na Figura 25, a conexão

dos potenciômetros e do gerador de sinal, os quais estão ligados nos pinos AN0, AN1, AN2 e AN3

do microcontrolador.

Figura 25 – Esquema de ligação dos sensores no microcontrolador

A leitura e a conversão dos valores é executada pelo PortA do microcontrolador, sendo que

o conversor AD utiliza 10 bits. Para isso foi implementada uma função que ativa esse Port,

selecionando o canal ao qual se deseja fazer a leitura. Uma função de uma biblioteca disponível

com o compilador (read_adc) efetua a conversão analógico-digital e, após, é feito um pré-

processamento dos dados para calcular o valor da tensão elétrica medida. Esse cálculo é efetuado a

fim de converter o valor do AD em um valor inteiro de dois bytes para o armazenamento na

EEPROM. A função de leitura é visualizada a seguir na Figura 26.

Page 63: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

49

int16 read_sensors(byte canal) { int16 val16,valor; set_adc_channel(canal); // escolhe o canal de leitura valor = read_adc(); // efetua a conversão A/D delay_ms(20); if (valor) valor += 1; val16 = (valor * 4) + ((int32)valor * 113)/128; return (val16); } Figura 26 – Código da função que efetua a leitura dos sensores

Na Figura 27 são ilustradas duas funções importantes na comunicação serial através do

barramento I2C. Na Figura 27.a, tem-se a função de inicialização (start) da comunicação, na qual os

pinos de clock (scl) e dados (sda) são ativados e desativados em uma seqüência pré-definida. Na

Figura 27.b, tem-se a função de fim (stop) da comunicação, na qual os pinos de clock e dado

também são ativados e desativados para encerrar a comunicação.

void I2C_start (void) { output_low(scl); output_high(sda); output_high(scl); output_low(sda); output_low(scl); }

void I2C_stopx (void) { output_low(scl); output_low(das); output_high(scl); output_high(sda); }

(a) (b) Figura 27 – Função de inicialização da comunicação I2C (a); função de fim da comunicação I2C (b)

A memória EEPROM externa FM24C256 utiliza o barramento serial I2C para a

comunicação e está conectada aos pinos RC1 e RC2 do microcontrolador. O acesso às memórias,

externa ou interna, é feito byte a byte. Na Figura 28, tem-se um trecho do código da função de

gravação na EEPROM externa, a qual foi explicada anteriormente na especificação dos processos.

Page 64: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

50

No código, ao lado de cada chamada, existe um comentário que explica a ação realizada.

void write_eeprom_ext(int16 address, int data) { short int status; i2c_start(); i2c_write(0xa0); // endereça dispositivo 0 i2c_write(address>>8); // primeiros 8 bits do endereço i2c_write(address); // oito bits restantes do endereço i2c_write(data); // dado a ser gravado i2c_stop(); // para a transmissão // (...) Figura 28 – Trecho de código da função de gravação na EEPROM externa

O display de cristal líquido é conectado nos Ports B e D do microcontrolador, utilizando 8

pinos de dados (RB[7.. 0]) e 3 pinos de controle (RD[2..0]), como mostra a Figura 29.a. Na

Figura 29.b, tem-se o código da rotina de escrita no display, onde os pinos de controle (lcd_rs,

lcd_rw e lcd_e) são acionados em uma seqüência pré-estabelecida, enquanto o dado a ser impresso

é colocado no Port B.

(a)

void Lcd_write(dado) { output_high(lcd_rs);// ativa lcd_rs output_low(lcd_rw); // desativa lcd_rw output_high(lcd_e); // ativa lcd_e output_b(dado); // envia dado output_low(lcd_e); // desativa lcd_e }

(b)

Figura 29 – Display de cristal líquido (a); código da função para imprimir no display (b)

O relógio de tempo real (RTC) utilizado na plataforma foi o DS1302 da Dallas, o qual

utiliza comunicação serial I²C e mantém informações de ano, mês, dia, hora, minuto e segundo

(além do dia da semana). As informações do relógio são armazenadas em posições de memória pré-

definidas conforme o modelo do dispositivo utilizado. Na Figura 30, é visualizada a rotina de

inicialização da data e da hora no dispositivo.

Page 65: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

51

void rtc_set_datetime(byte dia, byte mes, byte ano, byte hora, byte min) { write_ds1302(0x86,dia); // escreve o dia write_ds1302(0x88,mes); // escreve o mes write_ds1302(0x8c,ano); // escreve o ano write_ds1302(0x84,hora); // escreve a hora write_ds1302(0x82,min); // escreve os minutos write_ds1302(0x80,0); // escreve os segundos } Figura 30 – Código da funçõe de gravação da data e da hora

A comunicação RS232 utilizada foi implementada conforme é mostrado abaixo. A função

de transmissão, visualizada na Figura 31, faz a transmissão dos dados utilizando o bit TRMT do

registrador de transmissão (TXSTA) do microcontrolador. Na função de recepção, mostrada na

Figura 32, utiliza-se o bit RX9D do registrador de recepção (RCSTA) do microcontrolador,

representado no código pela variável flag_rc.

void usart_transmite (char dado) { while (!txsta.trmt); // aguarda o buffer de transmissão esvaziar txreg = dado; // coloca novo caractere para transmissão } Figura 31 – Trecho de código da função transmite dados

char usart_recebe (void) { while (!flag_rc); // aguarda a recepção de caracteres return rxreg; // retorna o caractere recebido } Figura 32 – Trecho de código da função de recepção de dados

2.1 Integração e Validação do Sistema

A integração do sistema foi feita gradativamente na medida em que os componentes eram

desenvolvidos, até chegar ao sistema completo. A validação seguiu o mesmo procedimento, visando

identificar eventuais erros já na fase de implementação de cada componente. Para a integração e

validação dos módulos do sistema foi utilizada a ferramenta de simulação PROTEUS/ISIS, como

será mostrado, a seguir.

Page 66: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

52

2.1.1 Função read_sensors

A função que efetua a leitura dos sensores foi validada conforme ilustrado a seguir. Na

Figura 31.a, o voltímetro mostra qual é a tensão aplicada ao pino AN0 do microcontrolador. Esse

valor foi convertido para o formato digital e armazenado em uma variável inteira de 16 bits, pois o

ADC é de 10 bits. Após, é feito o cálculo da tensão medida a qual é mostrado no display de cristal

líquido, como pode-se observar na Figura 31.b.

(a) (b)

Figura 31 – Validação da função read_sensors: (a) valor da tensão medida; (b) visualização no LCD

2.1.2 Funções write_eeprom_ext e read_eeprom_ext

As funções de gravação e leitura de dados na EEPROM externa foram testadas e validadas

pela gravação de dados em endereços da memória e leituras sucessivas, com a comparação entre os

dados enviados e recebidos. Pode-se visualizar melhor a validação dessas funções através da

ferramenta de simulação, como é detalhado a seguir. Na Figura 32.a, tem-se a memória vazia, onde

todas as posições marcam 0xFF (255 em hexadecimal). Já na Figura 32.b, pode-se observar os

dados gravados em bytes, sendo os dois primeiros bytes o valor da leitura do sensor ilustrada

anteriormente (Figura 31), onde tem-se 0x0F e 0x9F, o que corresponde a 3.999 Volts.

Page 67: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

53

(a) (b)

Figura 32 – Memória EEPROM vazia (a); Memória EEPROM com valor gravado(b)

2.1.3 Função set_date_time

A função responsável pela atualização da data e hora do relógio de tempo real também foi

validada fazendo-se as gravações nos endereços correspondentes de cada valor e constatando a

gravação através da leitura desses valores. Esta função também pôde ser validada através da

visualização na ferramenta de simulação, conforme é ilustrado na Figura 33.

Na Figura 33.a tem-se o relógio de tempo real zerado, e na Figura 33.b mostra-se a sua

visualização após ele ter sido atualizado com o horário 09:15:00 e a data 01-10-02.

(a) (b)

Figura 33 – Relógio de tempo real zerado (a); Relógio de tempo real inicializado (b)

2.2 Validação do Sistema Integrado

Nesta seção será apresentado o funcionamento da plataforma durante uma varredura de

dados, feito com o uso da ferramenta de simulação PROTEUS. Um exemplo simplificado de uma

Page 68: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

54

varredura consiste em ler os quatro sensores (ou seja, quatro variáveis) representados por três

potenciômetros e um gerador de sinal ligados ao microcontrolador, com uma taxa de amostragem

de 5 amostras por minuto, durante um período de varredura de 1 minuto.

A amostra é realizada através da leitura de cada sensor, iniciando pelo sensor ligado ao pino

AN0 até o pino AN3. Os valores dos sensores são armazenados na EEPROM externa e ocupam dois

bytes de memória cada um. Após a leitura dos sensores, é calculada a média de cada sensor e essa

média é gravada na EEPROM externa precedida por um cabeçalho composto por ano, mês, dia ,

hora, minuto e a configuração da varredura (taxa de amostragem, número de variáveis e período de

varredura). Nas figuras a seguir, através do fluxograma do sistema, pode-se observar a seqüência do

processo utilizado para a realização da varredura.

(a) (b) Figura 34 – Fluxograma de funcionamento do sistema

F

V

2

Flag = 1

1

Timer = tempo entre varreduras

Começa varredura, lendo RTC e inicializando o cabeçalho com

parâmetros de configuração, data e horário da varredura

1

Calcula tempo entre amostras e número de amostras

Configura Timer0

Configura Conversor AD

Aguarda parâmetros de configuração

Inicializa dispositivos

Inicio

Na Figura 34.a, no início do processo da varredura, primeiramente são inicializados os

dispositivos externos, tais como: relógio de tempo real, função de comunicação RS232 e display de

Page 69: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

55

cristal líquido. Após, o sistema aguarda a recepção dos parâmetros de configuração (num_sensores

e taxa_amostragem), configura os ports do conversor A/D, o timer0 e calcula o tempo entre

amostras e o número de amostras. Continuando, conforme é mostrado na Figura 34.b, o sistema

aguarda o tempo estabelecido entre as varreduras, o que é determinado quando a rotina de

atendimento da interrupção do timer ativa o flag (= 1). Após, é disparada a varredura fazendo a

inicialização do cabeçalho com a data e o horário obtidos através da leitura do relógio de tempo real

e com os parâmetros de configuração da varredura.

Na Figura 35, tem-se a continuação do fluxograma, no qual o sistema começa configura o

timer e fica aguardando o tempo entre as amostras. Após, faz as leituras dos sensores e armazena as

leituras na EEPROM externa. Então, calcula as médias dos sensores e o endereço de gravação da

varredura; grava o cabeçalho e as médias na EEPROM externa; transmite as médias através da

RS232; e retorna ao ponto 1 onde aguarda novamente o tempo para iniciar uma nova varredura.

Figura 35 – Fluxograma de funcionamento do sistema (continuação)

F

Timer = tempo entre mostras Flag = 0

V

Flag = 1

V

F

1

Transmite as médias via RS232

Grava cabeçalho e as médias

Calcula endereço de gravação da varredura

Calcula média das amostras

Conta_amostra <

num_amostra

Grava amostras na EEPROM

Faz leitura dos sensores

2

Page 70: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

56

Abaixo, na Figura 36, tem-se a visualização da plataforma completa com os três

potenciômetros e o gerador de sinal, a memória, o relógio de tempo real, o circuito MAX232 e um

LCD conectado ao microcontrolador U1, os quais representam a plataforma de coleta dos dados. O

microcontrolador U6, o qual representa a estação central, possui um display de cristal liquido e um

componente MAX232 que é responsável pela comunicação serial.

Figura 36 – Plataforma completa realizando uma amostra

Page 71: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

57

A configuração da varredura pode ser visualizada na ferramenta de simulação conforme é

ilustrada a seguir na Figura 37. A varredura foi configurada com uma taxa de 5 amostras por

minuto, durante um período de um minuto e com quatro variáveis.

Figura 37 – Configuração da varredura dos sensores no PROTEUS

Na Figura 38, visualizada abaixo, tem-se o conteúdo da EEPROM externa preenchida com o

cabeçalho e a leitura dos sensores. A primeira linha (0000) possui oito bytes que contém o

cabeçalho da varredura (nesta ordem: ano, mês, dia, hora, minuto, período, taxa e número de

variáveis, ou sensores). Cada uma das cinco linhas sucessivas (0008 a 0028) corresponde a uma

amostra com os valores medidos para os quatro sensores (dois bytes por sensor).

Figura 38 – Memória EEPROM com amostras armazenadas

Page 72: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

58

Na Tabela 3, abaixo, pode-se visualizar o padrão utilizado para o armazenamento das

amostras de cada sensor, onde é apresentado o valor em hexadecimal, o valor em decimal e o valor

corresponde para o sistema.

Tabela 3 - Padrão de valores armazenados na EEPROM

Valor armazenado Valor em Decimal Valor para o sistema (volts) 03ED 1000 1.00 09C4 2500 2.50 0BBA 3000 3.00 1195 4500 4.50

Nas figuras a seguir, tem-se o teste da comunicação serial via RS232, o qual foi realizado

fazendo-se a comunicação entre dois microcontroladores. Na Figura 39, representa-se um circuito

com os dois microcontroladores (U2 e U4) interligados por meio da uma interface serial. Esse

circuito foi modelado no PROTEUS e utilizado para validar a rotina de comunicação via RS232.

Figura 39 – Validação da comunicação serial

Page 73: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

59

Na Figura 40.a tem-se que a leitura do sensor conectado ao pino AN0 do microcontrolador

U2 é gravada na memória interna do mesmo. Já na Figura 40.b, é visualizada a gravação da mesma

leitura na memória interna do microcontrolador U4, após a recepção pela porta serial.

(a)

(b)

Figura 40 – Memórias internas: (a) do microcontorlador U2; (b) do microcontrolador U4

Page 74: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

IV - CONCLUSÕES

A área de sistemas embarcados para monitoramento de dados remotos ainda é uma área em

desenvolvimento e bastante promissora.

Durante o desenvolvimento do trabalho proposto foram consolidados conhecimentos na área

de sistemas computacionais embarcados, como, por exemplo, microcontroladores, telemetria,

protocolos de comunicação entre dispositivos, metodologias de projeto, aplicações e tecnologias de

sistemas embarcados, assim como o funcionamento de diversos componentes eletrônicos.

O objetivo deste trabalho foi desenvolver uma plataforma de sistema embarcado para

monitoramento de dados remotos, pré-processamento desses dados, transmissão desses dados por

um meio de comunicação e recepção em uma estação central baseada em um computador PC.

Após os estudos, desenvolvimento, testes e validação do sistema, e, de acordo com os

resultados obtidos, foram alcançados os seguintes objetivos (conforme texto apresentado na

introdução):

1. Estudar conceitos e metodologias associadas ao projeto de sistemas computacionais

embarcados, com vistas ao desenvolvimento do sistema proposto.

2. Aprender alternativas de arquiteturas de microcontroladores de 8 bits para o

desenvolvimento do sistema.

3. Estudar aspectos associados à telemetria, de modo a identificar alternativas de

tecnologias de transmissão de dados possíveis de serem utilizadas nesse sistema.

4. Realizar uma revisão sobre trabalhos relacionados de modo a identificar as escolhas

efetuadas nos sistemas estudados.

5. Realizar a seleção das alternativas tecnológicas a serem utilizadas no sistema.

6. Efetuar a modelagem do sistema.

7. Efetuar a implementação do projeto.

8. Validação e testes do sistema através de uma ferramenta de simulação.

Page 75: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

61

Entretanto, até o momento da redação deste texto para a submissão à banca, a validação do

sistema completo foi limitada ao uso da ferramenta Proteus, embora os seus componentes tenham

sido testados, individualmente em um kit de prototipação de microcontrolador.

Durante a execução do trabalho ocorreram algumas dificuldades relacionadas

principalmente ao protótipo de hardware, a seguir são listadas as principais dificuldades:

• Apreender uma nova linguagem de programação;

• Falta de experiência na área de sistemas embarcados;

• Falta de alguns componentes físicos para os testes;

• Compreender o funcionamento dos microcontroladores;

• Compreender o processo de comunicação do microcontrolador com os periféricos através

dos diversos modos de comunicação, tais como RS232, I²C.

Após a disponibilização de um kit de prototipação baseado no PIC16F877, foi possível

realizar a validação de alguns dos componentes de software, porém, conforme já comentado, resta

efetuar a validação física do sistema completo.

Como continuidade deste projeto sugere-se o desenvolvimento dos seguintes trabalhos:

• Implementar o protocolo para comunicação via modem;

• Implementar rotina de configuração remota da plataforma.

• desenvolver um sistema de comunicação para a estação central que comunique-se com o

microcontrolador disponibilize os dados recebidos de maneira automática ao usuário.

Page 76: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

BIBLIOGRAFIA

KIT DIDÁTICO 8051. Disponível em <http://www.aldevan.com.br/kit8051m/>. Acesso em: 20

out. 2003.

ANIDO, M. L. Sistemas embutidos. Disponível em:

<http://labase.nce.ufrj.br/sistemas_embutidos/> Acesso em: 22 set. 2003.

BERG, B.V.; Groppe, P. Controle remoto por telefone celular, Revista Eletrônica &

Microinformática, São Paulo, n.11, p.7-11, fev. 2003.

BORGES , F. F. Sistema para telemetria de sinais biomédicos usando telefonia celular.

Disponível em: <http://bioinfo.cpgei.cefetpr.br/anais/sabi2001/trablargo/041lborges.pdf>. Acesso

em: 18 de ago. de 2003.

CASCOROSSO. Telemetria. Disponível em <http://www.f1info.it/telemetria.htm>. Acesso em: 02

de nov. 2003.

DAVE, V. The third eye of the water supply manager – radio telemetry. Disponível em:

<http://home.123india.com/vasantdave/EYENOPIC.hmt>. Acesso em: 29 out. 2003.

DEMARCO, Tom. Análise Estruturada e Especificação de Sistema. 3.ed., Rio de Janeiro:

Campus, 1989.

DIAS, A. F. Concepção conjunta hardware/software de sistemas embarcados de processamento de

imagens, In: WORKSHOP EM TRATAMENTO DE IMAGENS NPDI/DCC/UFMG, 2001, Belo

Horizonte. Anais... Belo Horizonte: UFMG, 2001.

EINSFELDT, G.J. Construção de um protótipo para automatização da leitura de niveis de

flúmens, 2002. 79f. Monografia (Bacharelado em Ciência da Computação)–Faculdade Regional de

Blumenau, Blumenau, 2002.

Page 77: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

63

INTEL. MCS microcontroller family user´s manual. Disponível em:

<http://www.intel.com/design/MCS51/MANUALS/27238302.pdf. Acesso em: 20 out. 2003.

L-3 COMUNICATIONS TELEMETRY & INSTRUMENTATION. Telemetry Tutorial.

Disponível em: <http://www.ti.l-3com.com/tutorial/preface.html > . Acesso em: 20 de nov. 2003.

MARINHO, J. E. S.; Marinho, E. S. Mini-curso de microcontrolador, Saber Eletrônica, São Paulo,

n.2, fev. 2001.

MATIC, N. Microcontroladores PIC on-line. Belgrado : MikroElektronica, 2003. Disponível em:

<http://www.mikroelektronika.co.yu/portuguese/product/books/picbook/00.htm>. Acesso em: 27

out. 2003.

MICROCHIP. FLASH-based 8-bits CMOS microcontroller. Arizona, 2003. 161 p.

MIRI, ENGINEERING WEBSITE. What does this word Telemetry mean? 2003. Disponível

em: <http://www.miri.com.au/other_telemetry.htm>. Acesso em: 18 ago. 2003.

MORAES, F.G. et al, Um ambiente de compilação e simulação para processadores embarcados

parametrizáveis. Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS). Faculdade de

Informática. Porto Alegre. Disponível em < http://www.iberchip.org/VII/cdnav/pdf/52.pdf>. Acesso

em: 25 set. 2003.

OYAMADA, M. S.; WAGNER, F. R. Co-simulação de sistemas eletrônicos embarcados. In:

SEMANA ACADÊMICA DO PPGC, 4.,1999, Porto Alegre. Anais... Porto Alegre: PPGC da

UFRGS, 1999. p.347-350.

RISNIK,D.M. Two-wire Bus. Disponível em: <http://www.geocities.com/SiliconValley/Program/

3430/i2c.htm>. Acesso em: 16 dez. 2003.

SOUZA, D.J. Desbravando o PIC. 1.ed., São Paulo: Érica, 2000.

Page 78: UNIVERSIDADE DO VALE DO ITAJAI CENTRO DE …siaibib01.univali.br/pdf/Carlos Cimolin.pdf · IV - CONCLUSÕES ... Figura 8 – Esquemático dos componentes do sistema ... sistema computacional

64

SRC- SEIMOLOGY RESEARCH CENTRE. Technical Notes: Internet Telemetry. Disponível em:

<http://www.seis.com.au/TechNotes/Tn200302B_Inet_Telem.html>. Acesso em: 20 nov. 2003.

TORRE NETO, A. Recomendações técnicas sobre sistemas de controle automáticos para

agricultura irrigada. Disponível em: <http://www.cnpdia.embrapa.br/informativos/RT05_96.pdf>.

Acesso em: 21 set. 2003.

TAFNER, M.; STRINGARI, S.; LOESCH, C. Comunicação de dados utilizando a linguagem C.

Blumenau: FURB, 1996. 90 p.

What is telemetry? Disponível em: http://www.in4ma.co.uk/faq/telemetry.html>. Acesso em: 23

out. 2003.

WOLF, W. What is embedded computing?. IEEE Computer, [S.l.], v.35, n.1, p.136-137, jan.

2002.

WOLF,W. Computer as components: principles of embedded computing system design. [S.l.]:

Morgan Kaufmann Publishers. 2001. 663p.

ZELENOVSKY, R.; MENDONÇA, A.; Introdução aos sistemas embutidos. Disponível em:

<http://www.mzeditora.com.br/artigos/embut.htm>. Acesso em: 22 set. 2003.