osciloscópio usb

Upload: joycecris

Post on 13-Oct-2015

89 views

Category:

Documents


0 download

TRANSCRIPT

  • UNIVERSIDADE FEDERAL DO ESPRITO SANTO

    CENTRO TECNOLGICO DEPARTAMENTO DE ENGENHARIA ELTRICA

    PROJETO DE GRADUAO

    DESENVOLVIMENTO DE UM OSCILOSCPIO VIRTUAL DE BAIXO CUSTO COM INTERFACE USB

    IGOR VESCOVI DEVENS

  • VITRIA ES FEVEREIRO/2008

    IGOR VESCOVI DEVENS

    DESENVOLVIMENTO DE UM OSCILOSCPIO VIRTUAL DE BAIXO CUSTO COM INTERFACE USB

    Parte escrita do Projeto de Graduao do aluno Igor Vescovi Devens, feito sob a orientao do Professor Dr. Evandro Ottoni Teatini Salles, apresentado ao Departamento de Engenharia Eltrica do Centro Tecnolgico da Universidade Federal do Esprito Santo, para obteno do grau de Engenheiro Eletricista.

  • VITRIA ES

    FEVEREIRO/2008

    IGOR VESCOVI DEVENS

    DESENVOLVIMENTO DE UM OSCILOSCPIO VIRTUAL DE BAIXO CUSTO COM INTERFACE USB

    COMISSO EXAMINADORA: ___________________________________ Prof. Dr. Evandro Ottoni Teatini Salles Orientador ___________________________________ Eng. Marcelo Souza Fassarella Co-orientador ___________________________________ Prof. Dr. Teodiano Freire Bastos Filho Examinador ___________________________________ Prof. Dr. Hans-Jorg Andreas Schneebeli Examinador

    Vitria - ES, 11, Fevereiro, 2008

  • i

    DEDICATRIA

    Aos meus amigos da Engelite.

  • ii

    AGRADECIMENTOS

    Agradeo a Deus, meus pais, Torricelli e Angela e meu irmo, Arthur, pelo

    apoio. Sem esquecer dos amigos e da namorada, que tiveram muita pacincia durantes

    os meses e meses em que me ocupei deste projeto e me ausentei de tantas cervejas.

    Obrigado tambm a Marcelo Fassarella pela sugesto do tema e profissionalismo, ao

    meu Orientador Evandro, pela sua pacincia e apoio, e a equipe da Geocontrol pela

    confiana e experincia que l adquiri.

  • iii

    LISTA DE FIGURAS

    Figura 1 - Sinal Analgico. .......................................................................................... 17

    Figura 2 - Sinal Discretizado no Tempo. ..................................................................... 17

    Figura 3 - Sinal Discretizado no tempo e na Amplitude. ............................................ 18

    Figura 4 - Diagrama de blocos de um ADC por Aproximao Sucessiva. ................. 20

    Figura 5 - Stellaris LM3S811 Evaluation Board. ........................................................ 25

    Figura 6 -Diagrama de blocos do Hardware do Osciloscpio Virtual via USB. ......... 26

    Figura 7 - Osciloscpio Virtual via USB conectado ao computador. ......................... 27

    Figura 8 - Circuito Divisor de tenso. ......................................................................... 29

    Figura 9 - Filtro RC. .................................................................................................... 30

    Figura 10 - Filtro RC utilizado. ................................................................................... 31

    Figura 11 - Circuito semi-completo de tratamento do sinal de entrada....................... 32

    Figura 12 - Circuito completo de tratamento do sinal de entrada. .............................. 33

    Figura 13 - Anlise no tempo do circuito. ................................................................... 33

    Figura 14 - Anlise na freqncia do circuito. ............................................................ 34

    Figura 15 - Circuito de tratamento do sinal na placa. .................................................. 34

    Figura 16 - Circuito do oscilador independente. ......................................................... 35

    Figura 17 - Circuito do oscilador independente na placa. ........................................... 35

    Figura 18 - Fluxograma do programa principal. .......................................................... 38

    Figura 19 - Fluxograma da interrupo do conversor AD. .......................................... 39

    Figura 20 - Interface grfica do Software. ................................................................... 40

    Figura 21 - Manipulao da biblioteca grfica. ........................................................... 41

    Figura 22 - Manipulao do Software do Osciloscpio Virtual via USB. .................. 42

    Figura 23 - Senoidal de 10 Hz, osciloscpio USB. ..................................................... 45

    Figura 24 - Senoidal de 10 Hz, osciloscpio analgico. ............................................. 45

    Figura 25 - Senoidal de 220Hz, osciloscpio USB. .................................................... 46

    Figura 26 - Senoidal de 220 Hz, osciloscpio analgico. ........................................... 47

    Figura 27 - Senoidal de 10 Khz, osciloscpio USB. ................................................... 47

    Figura 28 - Senoidal de 10 KHz, osciloscpio analgico. ........................................... 48

    Figura 29 - Quadrada de 51 Hz, osciloscpio USB. .................................................... 49

  • iv

    Figura 30 - Quadrada de 51 Hz, osciloscpio analgico. ............................................ 49

    Figura 31 - Quadrada de 6 KHz, osciloscpio USB. ................................................... 50

    Figura 32 - Quadrada de 6 KHz, osciloscpio analgico. ........................................... 51

    Figura 33 - Quadrada de 10 KHz, osciloscpio USB. ................................................. 51

    Figura 34 - Quadrada de 10 KHz, osciloscpio analgico. ......................................... 52

    Figura 35 - Triangular de 52 Hz, osciloscpio USB. .................................................. 53

    Figura 36 - Triangular de 52 Hz, osciloscpio analgico. ........................................... 53

    Figura 37 - Triangular de 5,06 KHz, osciloscpio USB. ............................................ 54

    Figura 38 - Triangular de 5,06 KHz, osciloscpio analgico. ..................................... 55

    Figura 39 - Anlise de amplitude Mxima. ................................................................. 55

    Figura 40 - Anlise de amplitude Mnima. .................................................................. 56

    Figura 41 - Senoidal de 30 KHz no Osciloscpio USB. ............................................. 57

    Figura 42 - Quadrada de 30 KHz no Osciloscpio USB. ............................................ 57

    Figura 43 - Triangular de 30 KHz no Osciloscpio USB. ........................................... 58

    Figura 44 - Diagrama de blocos do projeto futuro. ..................................................... 63

    Figura 45 - Memria SRAM auto-incrementvel. ....................................................... 64

    Figura 46 - Futura verso do Osciloscpio Virtual via USB em fase de

    desenvolvimento. ......................................................................................................... 65

    Figura 47 - Esquemtico do LM3S811 da Kit da Luminary Micro. ........................... 87

    Figura 48 - Esquemtico do CI FTDI2232c do Kit (Serial x USB). ........................... 88

  • v

    LISTA DE TABELA

    Tabela 1 - Codificao Binria da Tenso. .................................................................. 19

    Tabela 2 - Classes USB. .............................................................................................. 22

    Tabela 3 - Custo Aproximado do Hardware do Osciloscpio Virtual via USB. ......... 62

  • vi

    GLOSSRIO

    1. AD: Analog to Digital.

    2. ADC: Analog to Digital Converter.

    3. ARM: Advanced RISC Machine.

    4. Bluetooth especificao industrial para reas de redes pessoais sem fio

    (Wireless Personal Area Networks PANs).

    5. bps: Bits per Second.

    6. CDC: Connected Device Configuration.

    7. COM port: Porta de comunicao.

    8. FFT: Fast Fourier Transform

    9. Filtro RC: Filtro Resistivo e Capacitivo.

    10. Half Duplex: Sistema que oferece comunicao em duas direes, mas apenas

    uma por vez. Ex: Walkie Talkie.

    11. HID: Human Interface Device.

    12. Hub USB: Perifrico que permite que vrios outros perifricos USB se

    conectem a uma mesma porta USB.

    13. IrDA: Infrared Data Association.

    14. JTAG: Joint Test Action Group.

    15. MP3: MPEG-1 Audio Layer 3.

    16. PenDrive: Memria Flash para armazenamento de dados com conexo USB.

    17. Plotar: Desenhar.

    18. Plug and Play: Caracterstica de um perifrico que pode ser adicionado a um

    computador sem a necessidade de configurao ou instalao.

    19. RISC: Reduced Instruction Set Computer.

    20. Smart Card: Carto com circuito embarcado capaz de processar dados.

    21. RS232: Recommended Standard 232.

    22. Trigger: Gatilho.

    23. UART: Universal Asynchronous Receiver and Transmitter.

    24. Wifi: Tecnologia de redes sem fios embarcadas.

  • vii

  • viii

    SUMRIO

    DEDICATRIA ........................................................................................................... I

    AGRADECIMENTOS .............................................................................................. II

    LISTA DE FIGURAS ............................................................................................... III

    LISTA DE TABELA .................................................................................................. V

    GLOSSRIO ............................................................................................................. VI

    RESUMO ..................................................................................................................... X

    1 INTRODUO .............................................................................................. 11

    1.1 Motivao.......................................................................................................... 11

    1.2 Objetivo ............................................................................................................. 13

    1.3 Metodologia ...................................................................................................... 13

    1.4 Diviso da Monografia ..................................................................................... 14

    2 CONVERSO ANALGICA DIGITAL .................................................... 16

    2.1 Tipos de conversores AD .................................................................................. 18

    2.2 Aproximao Sucessiva .................................................................................... 18

    3 UNIVERSAL SERIAL BUS (USB) .............................................................. 21

    3.1 Verses da USB ................................................................................................ 21

    3.2 Classes dos Perifricos USB ............................................................................. 21

    3.3 Caractersticas eltricas da USB ....................................................................... 23

    3.4 Conversor USB para Serial (UART) ................................................................ 24

    4 O PROJETO DESENVOLVIDO ................................................................. 25

    4.1 Hardware ........................................................................................................... 25

    4.2 Microcontrolador .............................................................................................. 27

    4.3 Circuito de Tratamento do Sinal de Entrada ..................................................... 28

    4.3.1 Circuito Divisor de Tenso ...................................................................... 28

    4.3.2 Dimensionamento do Filtro ..................................................................... 29

    4.3.2.1 Filtro passa baixas RC ................................................................ 30

    4.3.3 Circuito de Offset de Tenso ................................................................... 31

    4.3.4 Oscilador Independente Ponta de prova ............................................... 35

    4.4 Firmware ........................................................................................................... 36

  • ix

    4.4.1 Explicao da lgica e Fluxograma ........................................................ 36

    4.4.2 Continuidade da Anlise ......................................................................... 39

    4.5 Software ............................................................................................................ 40

    4.5.1 Caractersticas do Grfico ....................................................................... 40

    4.5.2 Configuraes do Osciloscpio ............................................................... 41

    5 RESULTADO ................................................................................................. 44

    5.1 Ondas Senoidais ................................................................................................ 44

    5.1.1 Onda Senoidal a 10 Hz ............................................................................ 44

    5.1.2 Ondas Senoidais 220 Hz .......................................................................... 45

    5.1.3 Onda Senoidal a 10 KHz ......................................................................... 47

    5.2 Ondas Quadradas .............................................................................................. 48

    5.2.1 Ondas Quadradas 51 Hz .......................................................................... 48

    5.2.2 Ondas Quadradas 6 KHz ......................................................................... 50

    5.2.3 Ondas Quadradas 10 KHz ....................................................................... 51

    5.3 Ondas Triangulares ........................................................................................... 52

    5.3.1 Ondas Triangulares 52 Hz ....................................................................... 52

    5.3.2 Ondas Triangulares 5,06 KHz ................................................................. 54

    5.4 Anlise das Amplitudes Mxima e Mnima ..................................................... 55

    5.5 Anlise com freqncia acima da Projetada ..................................................... 56

    6 CONCLUSO E MELHORIAS FUTURAS ............................................... 59

    6.1 Melhorias Futuras de Hardware ........................................................................ 62

    6.2 Melhorias Futuras de Firmware e Software ...................................................... 65

    REFERNCIAS BIBLIOGRFICAS ..................................................................... 67

    APNDICE A ............................................................................................................. 69

    APNDICE B ............................................................................................................. 73

    APNDICE C ............................................................................................................. 86

  • x

    RESUMO

    Este Projeto de Graduao teve como pressuposto a proposta de integrar o

    conhecimento adquirido durante o curso de Engenharia Eltrica com nfase em

    eletrnica e telecomunicaes, com um projeto interessante e de grande utilidade.

    Foi desenvolvido um Osciloscpio Virtual via USB envolvendo o projeto de

    circuitos eletrnicos, filtros eletrnicos, firmwares, softwares, comunicao Serial

    USB. O projeto permite que se capture sinais previamente digitalizados por uma placa

    conectada a uma porta USB de um computador pessoal. A placa utilizada para captura

    (kit Stellaris) est baseada em um microcontrolador LM3S811 que possui ncleo

    ARM Cortex M3, utilizando a tecnologia Thumb 2. Foram desenvolvidos tanto o

    firmware do microcontrolador quanto o software que executado no computador

    pessoal, para permitir a visualizao da onda capturada. Realizaram-se testes com

    diversos tipos de ondas peridicas padronizadas para avaliar o desempenho do sistema.

    A largura de banda mxima do sinal de entrada foi de 10KHz, limitada pela taxa de

    converso do mdulo A/D do microcontrolador. Os resultados foram satisfatrios,

    demonstrando a viabilidade da proposta. A base terica adquirida durante a graduao

    e o estmulo de se projetar e construir um equipamento primordial ao Engenheiro

    Eletricista, foi o alicerce central deste projeto.

  • 11

    1 INTRODUO

    1.1 Motivao Em projetos eletrnicos, o Osciloscpio um equipamento muito importante,

    pois permite ao desenvolvedor e ao tcnico observar o formato do sinal em estudo.

    Contudo, seja ele Analgico ou Digital, uma ferramenta de alto custo, por isso nem

    sempre se tem acesso a este aparelho.

    Quando se trata de um Osciloscpio Analgico tem-se um preo um pouco

    mais acessvel do que os Osciloscpios Digitais. Entretanto, so ferramentas de

    tecnologia antiga, grandes, pesados e possuem pouca aplicao para um desenvolvedor

    que deseje alm de visualizar a onda, salvar a imagem do sinal, imprimir, ou mesmo

    armazenar os pontos coletados para utilizar em algum software para ps-

    processamento.

    Em contrapartida, temos os Osciloscpios Digitais, com um desempenho

    melhor, e com a possibilidade de contar com analisador de espectro embutido, tela

    colorida, vrios canais, interface com o computador e um valor de custo maior,

    proporcional a todas suas vantagens.

    Atualmente, possvel encontrar osciloscpios analgicos, de baixa qualidade,

    com preo girando em torno de R$1.200,00 (2 canais de entrada e largura de banda de

    20MHz) e osciloscpios digitais de tima qualidade com preos em torno de

    R$3.500,00 (2 canais, largura de banda de 60MHz, tela colorida, 500M amostras por

    segundo de captura em cada canal e recursos matemticos como transformada rpida

    de Fourier). Caso se deseje osciloscpios analgicos de boa qualidade, o preo sobe

    consideravelmente (em alguns casos mais que duplica), o que acaba por reforar ainda

    mais a migrao de um osciloscpio analgico para o digital. Na verdade, observa-se

    que os fabricantes tradicionais de osciloscpios, que produziam instrumentos

    analgicos de excelente qualidade, migraram quase todos para produzir

    exclusivamente equipamentos digitais. De todas as formas, pese ao preo dos

    equipamentos tanto analgicos como digitais, o custo ainda elevado para boa parte

    dos usurios.

  • 12

    Por outro lado, no estgio atual da tecnologia, onde o computador porttil

    deixou de ser um luxo para se tornar um instrumento de trabalho para o tcnico e o

    desenvolvedor, interessante aproveitar seu potencial de clculo e armazenamento nas

    atividades que envolvam desenvolvimento e manuteno de equipamentos eletro-

    eletrnicos. Assim, hoje em dia comum integrar ao computador instrumentos de

    medies, conhecidos agora como instrumentos virtuais que, no nosso caso torna-se

    um osciloscpio virtual.

    Portanto, o usurio interessado em um osciloscpio digital mais simples, capaz

    de ir a campo integrado por exemplo a um notebook (ou mesmo para uso laboratorial),

    mas com funes consideradas essenciais ao desenvolvedor ou projetista moderno,

    pode empregar este tipo de equipamento. Um dispositivo deste tipo permite que

    inclusive algoritmos tpicos de processamento digital de sinais sejam realizados in loco

    no computador, o que pode contribuir para uma rpida avaliao de um sinal, recurso

    este impensvel para Osciloscpios Analgicos.

    A fim de se preencher essa necessidade de um Osciloscpio de baixo custo,

    com desempenho mediano (largura de banda pequena) e interface com um computador

    surgem como opo os Osciloscpios Virtuais, onde a visualizao dos sinais

    analisados exibida em um software executado em um computador comum.

    O BitScope (www.bitscope.com) o exemplo mais difundido deste tipo de

    equipamento. No sitio do fabricante, alm de ser vendido, so tambm fornecidos os

    esquemas eltricos para quem quiser construir o seu prprio equipamento (o esquema

    fornecido utiliza comunicao via porta paralela para com o PC). Os preos

    atualmente giram em torno de US$425,001, o que daria algo em torno de R$765,00

    reais (na data da confeco desta monografia, US$1,00 R$1,80), valor este sem as

    taxas de importao e frete que podem chegar a at 100%.

    Neste sentido, o projeto aqui apresentado mostra o desenvolvimento de um

    Osciloscpio Virtual, projeto este que apresenta avanos quando comparado a um

    Projeto de Graduao anterior intitulado, Uso Do Computador Pessoal No

    1 Sinal de entrada de, no mximo 100 MHz de largura de banda, 2 canais A/D de 40 Mega-Amostras por

    segundo, 32 kB de buffer de memria.

  • 13

    Desenvolvimento De Um Analisador De Espectro De Baixa Freqncia, desenvolvido

    por Walter Anjos em [15]. Este utilizava comunicao via porta paralela com o

    computador, para assim transferir os dados coletados por um hardware de aquisio de

    dados com conversor A/D dedicado. A anlise de espectro nesse projeto anterior era

    feita atravs de uma Transformada Rpida de Fourier (FFT). E como era necessrio

    capturar uma seqncia de amostras do sinal, esse equipamento tambm funcionava

    como um Osciloscpio. Contudo, sua interface grfica era complicada e tanto o

    Osciloscpio quanto o Analisador de Espectro no permitiam anlises ininterruptas.

    Neste novo projeto a comunicao utilizada a USB, mantendo-se, portanto,

    compatvel com o padro de comunicao atual dos computadores. O software possui

    uma interface grfica (GUI) amigvel e compatvel com o Windows 98, 2000 e XP,

    permite anlises ininterruptas do sinal amostrado e funes de Trigger. Alm disso, o

    microcontrolador utilizado possui uma tecnologia mais avanada e o circuito de

    aquisio de dados mantm uma comunicao bidirecional com o computador.

    Contudo, no h a funo de Analisador de Espectro nesta verso. Entretanto,

    melhorias diversas devem ser feitas como proposta futura, levando o Osciloscpio

    Virtual aqui apresentado a ter desempenho capaz de satisfazer at mesmo usurios

    mais exigentes.

    1.2 Objetivo O objetivo deste projeto construir um Osciloscpio Virtual via USB, que

    uma porta de comunicao rpida e padro, alm de um software de visualizao.

    Todo o projeto foi baseado sobre a plataforma de desenvolvimento Stellaris

    LM3S811 Evaluation Board da Luminary Micro, que possui um microcontrolador

    ARM7 Thumb2 e um circuito integrado de comunicao Serial x USB.

    1.3 Metodologia Foi feita inicialmente uma pesquisa na internet para analisar projetos

    semelhantes, analisando idias e possibilidades de arquiteturas do projeto. Arquiteturas

    simples e complexas foram pesquisadas, assim como a disponibilidade de material

  • 14

    para desenvolvimento do projeto, componentes e exemplos de cdigos. Estes foram os

    pontos iniciais para o incio do desenvolvimento do trabalho.

    Duas arquiteturas de hardware mostraram-se interessantes a princpio, contudo

    a mais otimizada foi descartada durante a fase de desenvolvimento de hardware,

    devido a sua alta complexidade. A utilizao de um kit de desenvolvimento mostrou-

    se mais atrativa e facilitou a finalizao da primeira fase do projeto.

    A segunda etapa do desenvolvimento voltou-se para uma implementao em

    conjunto do firmware e do software. Antes, entretanto, foi necessrio decidir qual seria

    a plataforma de desenvolvimento utilizada, assim como a linguagem de programao.

    Optou-se pela linguagem C e a plataforma de desenvolvimento da Keil, Vision 3,

    devido aos cdigos de exemplos pr-existentes para esta plataforma. Quanto ao

    software optou-se pelo Borland C++ Builder, devido s facilidades grficas da

    plataforma e devido biblioteca grfica utilizada, que fora desenvolvida para a

    plataforma da Borland.

    Com o hardware, firmware e software operando, iniciou-se a etapa mais

    simples do hardware, que foi o desenvolvimento do circuito de tratamento de sinal de

    entrada e o oscilador independente. Nesta fase, fez-se o uso intenso do Pspice para

    simulao. Apenas quando verificado em simulao todo o funcionamento desses dois

    circuitos, os prottipos foram criados e testados.

    A etapa final do projeto foi focada em uma bateria de testes e comparao

    entre as capacidades do Osciloscpio USB e de um osciloscpio analgico comum de

    20 MHz. Realizados todos os testes a monografia foi preparada.

    1.4 Diviso da Monografia Esta monografia est divida em captulos tericos, desenvolvimento, testes,

    concluso e apndices.

    Nos Captulos 2 e 3, temos a teoria de conversores AD e comunicao USB.

    Todo o desenvolvimento do hardware, firmware e software do projeto est

    descrito no Captulo 4. No Captulo 5 temos os teste e resultados obtidos com o

    Osciloscpio Virtual projetado.

  • 15

    Concluso e Melhorias Futuras esto descritas no Captulo 6. Os Apndices A

    e B contm o cdigo fonte do firmware e do software, respectivamente, enquanto no

    Apndice C temos alguns esquemticos do kit da Luminary Micro utilizado.

  • 16

    2 CONVERSO ANALGICA DIGITAL

    A necessidade de se coletar dados do mundo real que esto em formato

    analgico e arquiv-los em formas digitais nos fora a utilizar conversores analgico-

    digital, tambm conhecidos como ADC (Analog to Digital Converter A/D).

    Um sinal analgico contnuo na amplitude e no tempo, possuindo qualquer

    valor de amplitude dentro da sua faixa de variao para qualquer instante de tempo.

    Coletar dados com tal preciso e constncia infinitesimal impossvel. O que os ADCs

    fazem amostrar repetidas vezes o sinal, sendo que o valor da amplitude de cada

    amostragem discretizada, ou seja, s pode medir valores especficos.

    Portanto, como no temos uma cpia digital fiel do sinal real, podemos perder

    qualidade do sinal amostrado. Um mtodo de se precaver contra isso obedecer ao

    Teorema de Nyquist2.

    De acordo com o Teorema de Nyquist a quantidade de amostras por unidade

    de tempo de um sinal, chamada taxa de amostragem, deve ser maior que o dobro da

    largura de banda contida no sinal a ser amostrado, para que possa ser reproduzido

    fielmente. A metade da taxa de amostragem chamada taxa de Nyquist e corresponde

    ao limite mximo de freqncia do sinal que pode ser reproduzido. Como no

    possvel garantir que o sinal no contenha sinais acima deste limite (distores,

    interferncias, rudos, etc...), necessrio filtrar o sinal com um filtro passa baixo com

    freqncia de corte igual (ou menor) taxa de Nyquist, ou filtro anti-aliasing.

    Ressalta-se que teoricamente, um sinal contnuo, limitado em banda, se

    amostrado conforme o teorema, possui erro de reconstruo (retornando do domnio

    discreto para o contnuo) igual a zero, ou seja, a reconstruo perfeita. Entretanto,

    para se considerar um sinal digital, necessrio discretizar tambm a amplitude de

    cada amostra. Esta segunda discretizao, entretanto, introduz erros que impedem a

    2 Este teorema foi enunciado por Claude Shannon, que homenageou Nyquist, dando seu nome a ele pelos desenvolvimentos realizados anteriormente, dos quais Shannon se valeu. O procedimento de amostragem, mas com carter mais matemtico,

    sob o ponto de vista de aproximao de funes contnuas, tambm foi enunciado, independentemente, por Whittaker e

    Kotelnikov, [12[

  • 17

    reconstruo do sinal com erro zero (retornando do domnio digital para o contnuo),

    uma vez que somos obrigados a associar uma palavra binria de dimenso finita para

    cada amostra. O erro introduzido por este passo irrecupervel e d origem a uma das

    maiores fontes de rudo em sinais digitais que conhecido como rudo de quantizao.

    Modelos demonstram que, em quantizao uniforme, que bastante empregada em

    instrumentos de medio, para cada bit extra na palavra binria, a relao sinal/rudo

    eleva-se em 6dB [2].

    Nas Figuras 1, 2 e 3 [1] pode-se observar graficamente o efeito da

    digitalizao em um sinal analgico.

    Figura 1 - Sinal analgico.

    Figura 2 - Sinal discretizado no tempo.

  • 18

    Figura 3 - Sinal discretizado no tempo e na amplitude.

    Os valores permissveis (discretos) esto (geralmente) igualmente espaados

    ao longo de toda a faixa dinmica de converso, e o nmero de valores discretos

    dependente do nmero de bits (largura da palavra) do conversor usado.

    2.1 Tipos de conversores AD Os tipos mais importantes de conversores AD so:

    9 Rampa ou Integrao (simples e dupla); 9 Aproximao Sucessiva; 9 Paralelo (ou Flash).

    Assim, como na maioria dos microcontroladores, o conversor AD utilizado

    pelo LM3S811 da Luminary Micro utiliza o mtodo de Aproximao Sucessiva. Este

    o mtodo mais utilizado em microcontroladores por oferecer uma taxa de amostragem

    satisfatria para a maioria das aplicaes e tambm por ser de baixo custo e baixo

    consumo quando comparado com os ADC flash.

    Algumas caractersticas do ADC do LM3S811 so os seus quatro canais de

    entrada, capacidade de amostragem de at 500.000 amostras por segundo e uma faixa

    de 0 a 3 Volts com preciso de 10 bits, sendo que 0 V convertido para o valor binrio

    de 0000000000b e 3 V 1111111111b.

    2.2 Aproximao Sucessiva O mtodo da aproximao sucessiva precisa de um nmero fixo de ciclos de

    clock para chegar a um resultado. Como o prprio nome sugere, opera atravs de

  • 19

    comparaes que iniciam por um valor pr-determinado e, atravs de comparaes

    sucessivas, encontra o dado equivalente ao valor analgico de entrada.

    Um diagrama de blocos do funcionamento interno do ADC por Aproximao

    Sucessiva pode ser visualizado na Figura 4 [1].

    Figura 4 - Diagrama de blocos de um ADC por Aproximao Sucessiva.

    Para analisar o funcionamento do conversor A/D por aproximao sucessiva,

    tomemos um projeto que consiste em um conversor com intervalo de 0V a 15V e um

    degrau de tenso de 1V. Deste modo, obtm-se 16 nveis e so necessrios 4 bits, que

    geram a relao da Tabela 1.

    Tabela 1 - Codificao Binria da Tenso.

    Tenso (V) bit3 bit2 bit1 bit0

    0 0 0 0 0

    1 0 0 0 1

    2 0 0 1 0 3

    3 0 0 1 1 4

    4 0 1 0 0 2

    5 0 1 0 1

    6 0 1 1 0

    7 0 1 1 1

  • 20

    8 1 0 0 0 1

    9 1 0 0 1

    10 1 0 1 0

    11 1 0 1 1

    12 1 1 0 0

    13 1 1 0 1

    14 1 1 1 0

    15 1 1 1 1

    De acordo com a Tabela 1, o valor de tenso central de 8V, sendo o ponto de

    partida para a comparao com o sinal analgico de entrada. Os prximos nveis de

    comparao, que so definidos pelo valor de entrada (Vin), tm os bits remanejados de

    forma a resultar em um dado de sada correspondente ao valor analgico de entrada.

    Se a entrada Vin for menor que a tenso com a qual est sendo comparada

    (VinVcomp, mantm-se o bit em questo e coloca-se o prximo bit em 1.

    Por exemplo, se tivermos um valor de entrada igual a 3,7 volts, (1 passo) o

    conversor compara com 8 volts (na Tabela 1 representado pelo valor binrio 1000b),

    verifica que menor, torna o bit3=0 e o bit2=1. (2 passo), ficando desta maneira com

    4V (na Tabela 1 representado pelo valor binrio 0100b). Uma nova comparao

    realizada e, como 4V ainda maior que 3,7V, deve-se tornar o bit2=0 e o bit1 =1 (3

    passo). Em seguida tem-se 2V (na Tabela 1 representado pelo valor binrio 0010b),

    que menor que 3,7V, e o sistema mantm bit1=1 e coloca bit0=1 (4 passo). Desta

    forma, tem-se 3V (na Tabela 1 representado pelo valor binrio 0011b). Como o

    conversor possui um degrau de 1V, o valor de sada correspondente aos 3,7V de

    entrada, ser 3V. Observe que, neste caso, o sistema ainda considera Vin = 3,7V maior

    que 3V. Como anteriormente j foi verificado que este valor menor do que 4V e

    maior do que 2V, logicamente, para o sistema, a tenso de sada s poder ser 3V.

  • 21

    3 UNIVERSAL SERIAL BUS (USB)

    A tecnologia USB fornece a facilidade da conexo plug and play alm da

    enorme taxa de comunicao de dados. A sua compatibilidade tambm algo

    fundamental, visto que atualmente a IEEE no exige mais que um computador pessoal

    tenha portas serial e paralela. Portanto, nos computadores mais modernos comum

    encontrarmos apenas portas USB para conectar perifricos ao computador.

    3.1 Verses da USB A comunicao USB classificada em quatro tipos:

    9 USB 1.0 Foi a primeira gerao da comunicao USB e capaz de atingir taxas de 1.5 Mbps (USB LOW SPEED) e 12 Mbps (FULL SPEED).

    9 USB 1.1 Verso com correes da USB 1.0. 9 USB 2.0 USB HIGH SPEED. Possui capacidade de comunicao de 480

    Mbps (60 MBps). a tecnologia mais aplicada nos perifricos de alta

    velocidade, tais como HDs externos, WebCams, Cmeras Digitais e Pen

    Drives.

    9 USB 3.0 USB SUPER-SPEED que ainda est em carter experimental. Sua taxa de comunicao chegar a mais de 4.8 Gbps (600MBps) e utilizar

    fibra ptica, ultrapassando at as altas taxas atingidas na comunicao

    SATA2 e FireWire.

    3.2 Classes dos Perifricos USB Os perifricos USB podem ter uma classe totalmente dedicada pelo

    desenvolvedor ou pertencer a uma classe padro, usando assim um driver genrico

    passando a ser reconhecido sem a necessidade de pr-instalao de drivers.

    Na Tabela 2 temos a lista de classes de configurao do perifrico USB.

  • 22

    Tabela 2 - Classes USB.

    Classe Uso Descrio Exemplo

    00h Perifrico Informao da classe utilizada -

    01h Interface udio Microfone, placas de som

    02h Duplo Comunicao e controle CDC Ethernet e modem

    03h Interface

    Interface Homem - Mquina -

    Human Interface Device

    (HID)

    Teclado e mouse

    05h Interface Fsico -

    06h Interface Imagem -

    07h Interface Impressora -

    08h Interface Armazenamento de dados -

    Mass Storage

    Pen Drive USB, Leitor de carto de

    memria, Tocador de MP3

    09h Perifrico Hub USB

    0Ah Interface CDC-Data

    Essa classe utilizada em conjunto

    com a 02h - Comunicao e controle

    CDC

    0Bh Interface Smart Card -

    0Dh Interface Segurana -

    0Eh Interface Vdeo Webcam

    DCh Duplo Perifrico de Diagnstico -

    E0h Interface Controlador Sem Fio

    (Wireless) Adaptador Wi-Fi, Bluetooth

    EFh Duplo Diversos ActiveSync

    FEh Interface Aplicao Especfica IrDA

  • 23

    FFh Duplo Especfico do Vendedor

    3.3 Caractersticas eltricas da USB O cabo USB pode chegar a at 5 metros de comprimento sem

    comprometimento da comunicao High Speed. Esse limite de comprimento se deve

    ao tempo de resposta mximo de 1500ns para que um dado enviado seja considerado

    recebido ou perdido. Contudo, com a utilizao de Hubs podem-se atingir maiores

    distncias.

    O cabo constitudo de quatro fios, sendo dois para sinais de dados e os outros

    dois para alimentao. A alimentao constituda de um fio GND (comum) e outro

    de +5Volts, capaz de fornecer inicialmente apenas 100mA, mas com requisio de

    mais corrente pode chegar a at 500mA drenados do computador. Isso traz uma

    enorme vantagem comparada com as comunicaes serial RS232 e paralela, pois agora

    o perifrico no s capaz de se comunicar em uma taxa de comunicao mais alta e

    ser plug and play, como tambm pode ser alimentado pelo mesmo cabo que o conecta

    ao computador.

    A comunicao USB acontece de maneira serial por um par tranado com

    impedncia de 90 Ohms +/- 15%. Os fios de dados so chamados de D+ e D-. A

    sinalizao utilizada Half Duplex diferencial, onde o sinal propagado no fio D+

    possui seu sinal complementar (invertido) no fio D-. Ao chegar ao circuito os fios D+

    e D- entram, respectivamente, nas entradas no-inversora e inversora de um circuito

    subtrator. Como o rudo igual em ambos os fios do par tranado, ao chegar no

    subtrator o seu sinal cancelado enquanto o mdulo das Amplitudes dos sinais D+ e

    D- so somados. Deste modo, evitam-se os efeitos do rudo eletromagntico em cabos

    longos.

    Os nveis de tenso variam de acordo com padro USB utilizado. Para as

    comunicaes Low Speed e Full Speed o nvel lgico baixo dado de 0 a 0,3 volts e o

    nvel lgico alto dado de 2,8 a 3,6 volts. J na comunicao High Speed os sinais

    variam de 400mV, com uma impedncia de 45 ohms para o comum ou uma impedncia diferencial de 90 Ohms.

  • 24

    A USB utiliza um protocolo especial para negociar o modo High Speed,

    chamado de Chirping. Um perifrico que utiliza USB HS (High Speed), a princpio

    sempre inicia a comunicao em modo FS (Full Speed). Aps receber um sinal de

    reset feita uma negociao com o Hub ou outro controlador da USB onde o

    perifrico saber se poder ou no comunicar-se em HS.

    Outra caracterstica importante da USB que ela permite que at 127

    perifricos se comuniquem no mesmo barramento USB do hospedeiro. Para conseguir

    isto basta utilizar hubs USB para, alm de prolongar o cabo, possibilitar novas

    conexes.

    Mesmo com todos os prs a comunicao USB possui um problema. Devido

    s enormes facilidades que oferece ao usurio final ela requer uma maior

    complexidade de hardware e software ao desenvolvedor. Mesmo que j tenhamos um

    hardware USB pronto, ainda assim necessrio desenvolver um driver (caso o

    hardware no utilize uma classe padro) e um software de maior complexidade quando

    comparado com as tradicionais comunicaes serial e paralela.

    3.4 Conversor USB para Serial (UART) A fim de aproveitar a conectividade do padro USB e ainda manter a

    facilidade de desenvolvimento dos dispositivos seriais RS232, dispositivos que no

    necessitam das taxas de transmisso de dados to altas como as da USB 1.1 e 2.0,

    podem utilizar conversores USB para UART.

    Visto que os protocolos so diferentes, necessrio utilizar um circuito

    integrado que faz essa converso. Com isso, podemos utilizar a tradicional UART em

    uma extremidade e a USB na outra extremidade, bastando apenas a instalao de um

    driver no computador para que assim o computador passe a reconhecer o perifrico

    como uma ComPort virtual, mantendo desta forma a compatibilidade com diversos

    perifricos.

    O hardware do kit fornecido pela Luminary Micro utiliza esse tipo de soluo

    para o desenvolvedor. O CI (circuito integrado) utilizado o FT2232C que contm

    duas UARTs e uma USB 2.0 (Full Speed).

  • 25

    4 O PROJETO DESENVOLVIDO

    4.1 Hardware O projeto foi desenvolvido com base em um kit de desenvolvimento da

    Luminary Micro, Stellaris LM3S811 Evaluation Board (Figura 5), que contm um

    circuito com um microcontrolador ARM LM3S811 da Luminary Micro, um CI de

    comunicao Serial USB, FT2232C, fabricado pela FTDI e capaz de se conectar a

    um computador via porta USB, mas manter o protocolo de comunicao serial

    (UART) com o Microcontrolador e com os softwares do computador atravs de drivers

    fornecidos pela prpria FTDI.

    Figura 5 - Stellaris LM3S811 Evaluation Board.

    Toda a programao JTAG da placa de desenvolvimento pode ser feita

    utilizando a conexo USB existente na placa, servindo tanto para programao quanto

    para comunicao. A fonte de alimentao do circuito vem dos 5 V fornecidos pela

    porta USB.

    O Kit conta ainda com um display de OLED (Organic Led) monocromtico de

    96 colunas x 16 linhas. O display pode ser programado serialmente via UART ou por

    I2C. Contudo, este display no chegou a ser utilizado no projeto do osciloscpio USB.

    Alguns esquemticos do Stellaris LM3S811 Evaluation Board encontram-se

    no Apndice C.

    O projeto do Osciloscpio ainda conta com um circuito de tratamento do sinal

    de entrada que composto por um circuito divisor de tenso para reduzir o sinal de

  • 26

    entrada de 20 para 1,5 V e de -20 para -1,5 V; e um circuito para introduzir um offset

    de 1,5 V no sinal de entrada, para que o valor do sinal de entrada fique na faixa de

    leitura do ADC do LM3S811, que vai de 0 a 3 volts. Em srie com esses 2 circuitos foi

    adicionado um filtro RC passa baixas, para atenuar as freqncias acima da capacidade

    do Osciloscpio.

    H ainda um circuito que utiliza para gerar uma onda quadrada peridica

    independente do microcontrolador, a fim de servir como pino de teste para o

    Osciloscpio. Desta forma, a gerao da onda de teste independente do circuito do

    microcontrolador, de modo a permitir averiguar se o microcontrolador est

    funcionando corretamente.

    Na Figura 6 apresentado um diagrama de blocos do hardware do projeto

    seguido de uma foto sua implementao na Figura 7.

    Figura 6 -Diagrama de blocos do hardware do Osciloscpio Virtual via USB.

  • 27

    Figura 7 - Osciloscpio Virtual via USB conectado ao computador.

    4.2 Microcontrolador O microcontrolador LM3S811 possui ncleo ARM Cortex M3 que utiliza a

    tecnologia Thumb 2. A linha Cortex M3 baseada no ncleo ARMv7-M e foi

    desenvolvida para ter alto desempenho e baixo custo. Parte disso devido tecnologia

    Thumb 2 que, em troca de uma pequena perda de desempenho, reduz o consumo de

    energia e tambm o uso de memria, diminuindo o custo do CI. Outra caracterstica da

    tecnologia Thumb a de permitir que o ncleo ARM de 32 bits trabalhe com

    memrias de 16 e de 8 bits.

    A seguir listam algumas caractersticas do microcontrolador utilizado. Para

    mais informaes ver o data sheet do LM3S811 [13].

    9 Memria Flash de 64 Kbytes; 9 Memria SRam de 8 Kbytes; 9 Freqncia mxima de operao de 50 MHz; 9 Possui 3 Timers de 32 bits; 9 Possui 2 UART por hardware; 9 Possui 1 I2C por hardware; 9 Possui 1 SPI por hardware;

  • 28

    9 Quatro canais de entrada no ADC de 10 bits; 9 Taxa de amostragem do ADC pode chegar a 500.000 amostras por

    segundo;

    9 Possui 1 sensor e temperatura; 9 Possui 1 comparador analgico; 9 Pode ter de 1 a 32 pinos destinados a GPIO; 9 Seu encapsulamento de 48 pinos LQFP; 9 Interface JTAG.

    Caractersticas Eltricas bsicas:

    9 Alimentao nominal de 3,3 V, podendo chegar ao mnimo de 3,0 V e mximo de 3,6 V;

    9 Consumo para caractersticas nominais executando while (1); 70 mA.

    4.3 Circuito de Tratamento do Sinal de Entrada A entrada analgica do Osciloscpio USB est definida para analisar uma

    faixa de +20 V a -20 V. Contudo, o conversor AD do LM3S811 possui uma faixa de

    leitura de tenso de 0 a 3 V apenas. Portanto, necessrio um circuito para reduzir os

    + 20 V para 1,5 V, -20 V para -1,5 V, e um circuito para deslocar o nvel de tenso de

    -1,5 a +1,5 para 0 a 3 V.

    Em srie a esses circuitos h tambm um filtro RC passa baixas com a

    finalidade de filtrar sinais de alta freqncia, devido ao fato de a largura de banda

    analisada ser de apenas 10 kHz.

    4.3.1 Circuito Divisor de Tenso O Circuito divisor de tenso composto por apenas 2 resistores para gerar

    uma queda de tenso de no mximo 1,5 Volts para uma tenso de entrada de 20 Volts

    conforme se v na Figura 8.

  • 29

    Figura 8 - Circuito Divisor de tenso.

    4.3.2 Dimensionamento do Filtro Um filtro eltrico um circuito seletivo de freqncia que permite a passagem

    de ondas eltricas que tenham freqncia dentro de uma determinada faixa, e que

    atenua ondas eltricas que possuam outras freqncias.

    A resposta em freqncia de um filtro caracterizada por uma faixa de

    passagem e uma faixa de rejeio havendo normalmente uma regio de transio entre

    elas. As freqncias dentro da faixa de passagem so transmitidas com baixa

    atenuao e distoro reduzida, enquanto que as freqncias compreendidas na faixa

    de rejeio sofrem atenuao elevada (CARVALHO, Rogrio Muniz. Princpios de

    Comunicaes, Vitria, 2003, p.77)

    Os filtros podem ser:

    Filtro passa baixas: quando atenua apenas as freqncias acima da freqncia de corte.

    Filtro passa altas: quando atenuas apenas as freqncias abaixo da freqncia de corte.

    Filtro passa faixa: Quando permite passagem de um sinal apenas em uma certa faixa de freqncia, atenuando os sinais com freqncia

    menor que a freqncia de corte inferior e os sinais com freqncia

    acima da freqncia de corte superior.

    Filtro rejeita faixa: o filtro que atenua apenas os sinais com freqncia dentro de uma certa faixa de valores.

  • 30

    4.3.2.1 Filtro Passa Baixas RC O filtro RC um filtro de 1 Ordem que atenua 6dB por dcada aps a

    freqncia de corte. O clculo de sua freqncia de corte dado por:

    . (1)

    Na Figura 9 tem-se um circuito de um Filtro RC.

    Figura 9 - Filtro RC.

    Nas baixas freqncias existe muito tempo para que o capacitor se carregue fazendo com que ele se comporte como um circuito aberto.

    Logo Vout valer o mesmo que Vin.

    Nas altas frequncias, o capacitor no tem tempo de se carregar totalmente. Por isso, o circuito em questo funciona como um divisor

    de tenso, e quando a freqncia se torna muito mais alta do que a

    freqncia de corte, ele passa a se comportar como um curto, fazendo

    com que Vout valha zero.

    Embora testes demonstraram que o osciloscpio desenvolvido, por limitaes

    da taxa de amostragem do ADC, no tratou sinais com largura de banda maior que 10

    KHz, a freqncia de corte do filtro utilizado no foi de 10 kHz, isso devido ao fato de

  • 31

    que no ponto da freqncia de corte o filtro apresenta uma queda de 3dB de

    magnitude. Portanto, a fim de manter o sinal de 10 kHz com perdas mnimas, foi

    utilizada uma freqncia de corte mais alta. No caso, a freqncia de 80 kHz atendeu

    os requisitos desejados. Na figura 10 so apresentados os valores do filtro RC

    calculado para o projeto.

    Figura 10 - Filtro RC utilizado.

    Clculo da freqncia de corte utilizando a Equao 1:

    Para Fc = 80 KHz, e C = 1 nF, temos R = 2 K Ohms.

    Embora todos os clculos e Figuras apresentadas sugerem que a resistncia

    utilizada no filtro RC de 2 K ohms, no momento da construo do circuito foi

    utilizado o valor comercial de 2,2 K ohms. Isto faz com que a freqncia de corte do

    circuito seja aproximadamente 73 kHz.

    4.3.3 Circuito de Offset de Tenso

    A soma de um offset de 1,5 Volts feita colocando-se uma fonte CC de 1,5

    Volts em srie com o sinal de analgico de entrada. O sinal de entrada passa a ter um

  • 32

    terra virtual que na verdade est 1,5 V acima do terra do circuito geral do

    Osciloscpio.

    Figura 11 - Circuito semi-completo de tratamento do sinal de entrada.

    Na Figura 11 a fonte V1 adiciona um offset de +1,5 V ao sinal analgico V2,

    como pode ser visto em toda anlise CC do circuito.

    Como necessria uma fonte de 1,5 V para gerar o offset no sinal analgico de

    entrada e temos disposio apenas um pino de 3,3 V para uso geral, utilizou-se um

    divisor de tenso neste pino de 3,3 V para termos nossa fonte de 1,5 V. Optou-se por

    um simples divisor resistivo uma vez que necessrio apenas deslocar a onda de

    entrada, posto que a impedncia de entrada do circuito de converso do C bastante

    elevada. Sendo assim, o circuito de tratamento do sinal de entrada fica como o da

    Figura 12, onde a impedncia R4 simboliza a carga, no caso, o conversor analgico

    digital.

  • 33

    Figura 12 - Circuito completo de tratamento do sinal de entrada.

    O resultado obtido com esse circuito, em uma anlise no tempo, com V2

    sendo uma senoidal de 20 V e 20 kHz apresentado na Figura 13.

    Figura 13 - Anlise no tempo do circuito.

    Fazendo uma anlise na freqncia, obtemos o resultado esperado, que o

    inicio da atenuao do sinal por volta de 10 kHz. A escala em Y do grfico da Figura

    14 o ganho em dB, e em X temos a freqncia por dcada.

  • 34

    Figura 14 - Anlise na freqncia do circuito.

    A fim de reduzir rudos e tambm de manter um conector padro de

    osciloscpio (Conector de Painel - BNC), foi includo no PCB final da placa de

    tratamento do sinal o Conector de Painel, conforme se v na Figura 15.

    Figura 15 - Circuito de tratamento do sinal na placa.

  • 35

    4.3.4 Oscilador Independente Ponta de prova Assim como outros osciloscpios o Osciloscpio USB projetado tambm

    possui uma ponta de prova para verificar se o mesmo est operando corretamente, e

    para verificar a integridade do cabo coaxial utilizado.

    Para garantir sua funo de teste, este circuito quase totalmente independente

    do resto do Osciloscpio, utilizando apenas a alimentao de 5 V (4,6 Volts

    aproximadamente) fornecida pela porta USB. O circuito foi projetado utilizando um CI

    555 para gerar uma onda de aproximadamente 1 kHz a partir do equacionamento de

    circuitos astveis encontrado em [10].

    Figura 16 - Circuito do oscilador independente.

    Na Figura 16 temos o esquema do circuito oscilador de 1 kHz, e na Figura 17

    o prottipo em placa.

    Figura 17 - Circuito do oscilador independente na placa.

  • 36

    4.4 Firmware O firmware de controle do LM3S811 foi desenvolvido utilizando as

    bibliotecas fornecidas pela Luminary Micro para a Stellaris LM3S811 Evaluation

    Board. Esta biblioteca, DriverLib.lib, permite a manipulao de todos os perifricos:

    UART, SPI, Timers, ADC, etc.

    Outra facilidade fornecida pela Luminary Micro foi uma enorme quantidade

    de exemplos de cdigos para facilitar a compreenso das bibliotecas e encurtar o

    tempo de desenvolvimento do projeto.

    Todo o cdigo do firmware foi desenvolvido em Linguagem C, a mesma

    linguagem em que foi desenvolvida a biblioteca do kit da Luminary Micro. O

    ambiente de desenvolvimento utilizado foi o Vision, e o compilador foi o RealView

    C/C++ Compiler, ambos de propriedade da Keil TM.

    O cdigo fonte do firmware encontra-se no apndice A.

    4.4.1 Explicao da lgica e Fluxograma O programa do firmware do Osciloscpio USB divide-se em duas partes

    principais, uma o main, cujo fluxograma encontra-se na Figura 18, e a outra o

    cdigo de interrupo do conversor AD, cujo fluxograma encontra-se na Figura 19.

    No main so definidas as configuraes de trabalho do microcontrolador e de

    seus perifricos, so inicializadas as variveis globais e o programa entra em loop

    infinito esperando que o buffer de leitura do conversor AD seja preenchido para depois

    envi-lo via interface serial da UART0 para o CI FT2232C, onde o dado enviado ao

    PC. Vale lembrar que ao final de cada envio de dados o buffer de entrada da UART0

    verificado para saber se houve ou no mudana na escala de leitura do sinal.

    Na interrupo do ADC feita a leitura do sinal do conversor cada vez que

    essa funo acionada pela interrupo gerada pelo Timer1. Durante essa rotina,

    verificado se o buffer com os dados recolhidos anteriormente est sendo transmitido

    (varivel selec); caso no esteja sendo transmitido nenhum dado, o dado lido do

    ADC deslocado, aproveitando-se apenas os 8 bits mais significativos dos 10 bits, e

  • 37

    esse byte armazenado no buffer (de acordo com a escala utilizada), que tem o seu

    ponteiro incrementado.

    O fato de ser utilizado apenas 8 bits dos 10 bits convertidos deve-se ao fato de

    que a utilizao de apenas 8 bits por amostra facilita e agiliza a transmisso via porta

    serial, deste modo caso fosse feita uma funo de captura e transmisso direta de

    dados ao PC, sem pr-armazenamento em um buffer, a utilizao de apenas 8 bits por

    amostra diminuiria o gargalo criado pela transmisso da porta serial. Contudo essa

    rotina ficou para uma prxima verso e o conversor A/D acabou subutilizado.

    Quando o buffer est cheio, ou seja, 800 pontos lidos, a rotina main se

    encarrega de transmiti-lo.

    Figura 18 - Fluxograma do programa principal.

  • 38

    Figura 19 - Fluxograma da interrupo do conversor AD.

    Um conceito importante que deve ser compreendido como funciona a escala

    de leitura do sinal. O interesse de se implementar este artifcio foi o de manter um

    nmero pequeno de pontos armazenados no buffer seja qual fosse a freqncia do sinal

    que se deseja visualizar. Para melhor compreenso, feita uma anlise do problema

    real; como vemos a seguir.

    O conversor AD do LM3S811 no projeto est trabalhando a cerca de 130.000

    amostras por segundo. Caso seja analisada uma onda de 10 kHz, significa que sero

    feitas aproximadamente 13 amostras por perodo de onda. Para um microcontrolador

    ARM trabalhando a 50 MHz, uma taxa de transferncia da UART de 460.800 bps e

    um Microcomputador de 1GHz, armazenar, transmitir, efetuar clculos e desenhar 13

    pontos na tela no ser um grande problema.

  • 39

    Contudo, caso o sinal em questo seja de baixa freqncia, como 10 Hz,

    necessrio armazenar, transmitir, efetuar clculos e desenhar 13000 pontos para ver

    um perodo completo do sinal. O que no to simples. Isso exigiria hardwares mais

    potentes e softwares otimizados.

    Este problema resolvido com o sistema de escalas. Se o usurio do software

    seleciona uma opo de grandeza do sinal de alta freqncia, o firmware passa a

    armazenar todos os pontos lidos e transmiti-los ao PC, onde sero desenhados.

    Caso o usurio selecione opes de mais baixa freqncia o firmware passa a

    armazenar no buffer de transmisso apenas 1 ponto a cada 10 (ou mais) pontos lidos,

    fazendo um processo de descarte de amostras conhecido como sub-amostragem.

    A escala mantida proporcional para que a quantidade de pontos transmitidos

    seja sempre a de 800 pontos, e a quantidade de pontos desenhados tela seja no mximo

    400.

    O fato de o nmero de pontos desenhados no grfico ser no mximo a metade

    do nmero de pontos armazenados e enviados pelo microcontrolador est relacionado

    com a funo de trigger via software. Maiores detalhamentos podem ser encontrados

    no Apndice B.

    Uma dificuldade encontrada no firmware foi a manipulao do conversor A/D,

    pois o data sheet do LM3S811 o descreve como capaz de realizar 500 mil amostras por

    segundo. Entretanto, na prtica no foi possvel faz-lo trabalhar a mais que 130 mil

    amostras por segundo, devido a problemas de travamento da execuo do cdigo

    quando submetido a taxas mais altas e devido dificuldades de se manipular o

    perifrico do conversor A/D.

    4.4.2 Continuidade da Anlise Para evitar o gargalo criado pela comunicao Serial USB, que no firmware

    de 460.800 bps (taxa mxima aceita pela UART do microcontrolador LM3S811)

    todo o firmware foi projetado para:

    o Primeiro Amostrar e guardar os dados amostrados.

  • 40

    o Segundo Quando o buffer estiver cheio, parar o armazenamento dos dados e enviar os dados pela porta serial.

    Deste modo, o limite de amostragem no mais ser ditado pela transmisso

    serial, no entanto, para altas freqncias podem haver perdas de algum evento, visto

    que enquanto os dados armazenados so enviados, nenhum dado do ADC ser

    coletado.

    4.5 Software Todo software foi desenvolvido em linguagem C++, na plataforma Borland

    C++. Para fazer a parte grfica (SCOPE) foi utilizada uma biblioteca gratuita fornecida

    em [8]. A comunicao serial foi desenvolvida com o material encontrado em [11]. O

    cdigo fonte completo e comentado do software do Osciloscpio USB est no

    Apndice B.

    A interface final do Software ficou como mostrado na Figura 20.

    Figura 20 - Interface grfica do Software.

  • 41

    4.5.1 Caractersticas do Grfico Visto que a biblioteca grfica utilizada gratuita, mas no cdigo aberto (o

    cdigo aberto apenas para quem comprar), certas caractersticas no foram possveis

    mudar, tais como o ttulo sobre o grfico, Scope, a inscrio no eixo X, Samples ao

    invs de Amostras, e a inscrio no eixo Y, Y Axis, quando o ideal nesse caso seria

    Tenso.

    No entanto, essa biblioteca fornece inmeras vantagens como a facilidade de

    programao, auto-zoom, impresso, salvar imagem do grfico (cone destacado na

    Figura 21), alm de permitir o desenho de mais de um canal no mesmo grfico. Porm,

    esta ltima ferramenta no foi utilizada visto que o projeto foi de um osciloscpio de

    apenas um canal.

    Figura 21 - Manipulao da biblioteca grfica.

    4.5.2 Configuraes do Osciloscpio Todas as configuraes necessrias para se fazer uma anlise correta no

    Osciloscpio USB esto disponveis no menu localizado na lateral direita (Figura 22).

    Saber manipular o menu imprescindvel ao usurio.

  • 42

    Figura 22 - Manipulao do Software do Osciloscpio Virtual via USB.

    1 Como a comunicao Serial USB, ao conectar a placa ao PC ser

    criada uma ComPort Virtual para a troca de dados com a placa. Portanto, para utilizar

    o osciloscpio, deve-se inicialmente selecionar em qual ComPort est conectada a

    placa.

    2 O modo de captura ininterrupta desenha o contedo lido do ADC na tela

    sem passar por nenhum algoritmo para gatilhar a onda em momentos iguais.

    Portanto, disponibiliza-se um sinal atualizado na tela, porm sem nenhuma seqncia.

    3 A captura com Auto Trigger mantm a tela sempre com um sinal

    atualizado, mas esse sinal passa por um algoritmo que sempre tenta iniciar o desenho

    da onda a partir do primeiro ponto onde o sinal cruza o seu valor mdio com derivada

    positiva.

  • 43

    4 O Trigger Manual se assemelha ao Auto Trigger com a nica diferena de

    que ao invs de iniciar o desenho pelo valor mdio, inicia-se pelo valor contido na

    caixa de texto logo abaixo.

    5 A Captura nica ideal quando se deseja uma foto esttica da forma de

    onda, como, por exemplo, quando se deseja calcular seu perodo ou amplitude. Para

    atualizar o grfico, quando esta opo estiver selecionada, basta clicar em Capturar.

    6 O Ajuste de Offset serve para se fazer correes no sinal de entrada. Esta

    funo soma o valor contido na caixa de texto, logo abaixo dela, ao valor do sinal lido

    pelo ADC. Com isso, pode-se deslocar toda onda no eixo da Tenso.

    7 A Grandeza do Sinal Medido um campo apenas para ajuste de escala e

    melhor visualizao do grfico.

    8 A Escala nos mostra aproximadamente quantos micro-segundos possui

    cada amostra do sinal.

    9 Na caixa de texto Amostras deve ser inserido o nmero de amostras

    feitas para se completar um perodo do sinal.

    10 Quando o item 9 for realizado basta pressionar o boto Converter que

    sero fornecidos a freqncia e o comprimento de onda do sinal baseados na Escala e

    no nmero de amostras.

  • 44

    5 RESULTADO

    Os testes do Osciloscpio USB foram realizados no Laboratrio de Eletrnica

    Digital da Universidade Federal do Esprito Santo. Para a realizao dos testes foi

    utilizado um Osciloscpio Analgico, de 20 MHz, um Gerador de Sinal de at 2 MHz,

    um Laptop (onde foi executado o Software do Osciloscpio USB), e o circuito do

    projeto em questo.

    Nos testes realizados foram comparados os resultados obtidos com o

    Osciloscpio USB e com o Osciloscpio Analgico para diversas formas de ondas

    peridicas.

    Os valores comparados foram:

    Amplitude do sinal mensurado; Freqncia do sinal mensurado; Qualidade do sinal mensurado.

    5.1 Ondas Senoidais

    5.1.1 Onda Senoidal a 10 Hz Gerador de Sinal: Senide de 10 Hz.

    Resultado obtido pelo Osciloscpio USB:

    Amplitude: Vmax = + 5,7 Volts. Vmin = - 8,6 Volts.

    Freqncia: 10,3 Hz aproximadamente. Qualidade: Muito rudo.

    Na Figura 23 tem-se a imagem do programa em execuo neste teste.

  • 45

    Figura 23 - Senoidal de 10 Hz, osciloscpio USB.

    Resultados obtidos com o osciloscpio analgico (teste exibido na Figura 24):

    Amplitude: Vmax = + 5,4 Volts. Vmin = - 8,4 Volts.

    Freqncia: 10 Hz aproximadamente. Qualidade: Ruim, o sinal preciso, contudo no pode ser visualizado

    completamente na tela por ser de baixa freqncia. Isso ocorre devido ao

    mtodo de reconstruo do sinal utilizado nos osciloscpios analgicos, onde

    so necessrios vrios perodos de onda para a amostrar um perodo na tela.

    Figura 24 - Senoidal de 10 Hz, osciloscpio analgico.

  • 46

    5.1.2 Ondas Senoidais 220 Hz Gerador de Sinal: Senoide de 220Hz.

    Resultado obtido pelo Osciloscpio USB:

    Amplitude: Vmax = + 5,7 Volts. Vmin = - 8,6 Volts.

    Freqncia: 218 Hz aproximadamente. Qualidade: Com rudo.

    Na Figura 25 tem-se a imagem do programa em execuo neste teste.

    Figura 25 - Senoidal de 220Hz, osciloscpio USB.

    Resultados obtidos com o osciloscpio analgico (teste exibido na Figura 26):

    Amplitude: Vmax = + 5,4 Volts. Vmin = - 8,4 Volts.

    Freqncia: 227 Hz aproximadamente. Qualidade: Boa.

  • 47

    Figura 26 - Senoidal de 220 Hz, osciloscpio analgico.

    5.1.3 Onda Senoidal a 10 kHz Gerador de Sinal: Senoide de 10 kHz.

    Resultado obtido pelo Osciloscpio USB:

    Amplitude: Vmax = + 5,3 Volts. Vmin = - 8,3 Volts.

    Freqncia: 10,3 kHz aproximadamente. Qualidade: Baixa definio (poucas amostras por perodo).

    Na Figura 27 tem-se a imagem do programa em execuo neste teste.

    Figura 27 - Senoidal de 10 kHz, osciloscpio USB.

  • 48

    Resultados obtidos com o osciloscpio analgico (teste exibido na Figura 28):

    Amplitude: Vmax = + 5,4 Volts. Vmin = - 8,4 Volts.

    Freqncia: 10 KHz aproximadamente. Qualidade: Boa.

    Figura 28 - Senoidal de 10 KHz, osciloscpio analgico.

    5.2 Ondas Quadradas

    5.2.1 Ondas Quadradas 51 Hz Gerador de Sinal: Quadrada de 51 Hz.

    Resultado obtido pelo Osciloscpio USB:

    Amplitude: Vmax = + 6,1 Volts. Vmin = - 9,1 Volts.

    Freqncia: 51 Hz aproximadamente. Qualidade: Boa. O rudo est bem visvel, contudo, devido freqncia e

    amplitude do sinal amostrado, o rudo no est interferindo negativamente na

    anlise do sinal.

    Na Figura 29 tem-se a imagem do programa em execuo neste teste.

  • 49

    Figura 29 - Quadrada de 51 Hz, osciloscpio USB.

    Resultados obtidos com o osciloscpio analgico (teste exibido na Figura 30):

    Amplitude: Vmax = + 6,0 Volts. Vmin = - 8,5 Volts.

    Freqncia: 52 Hz aproximadamente. Qualidade: Boa. Bontudo, por ser um sinal de baixa freqncia, a imagem do

    sinal fica piscando na tela.

    Figura 30 - Quadrada de 51 Hz, osciloscpio analgico.

  • 50

    5.2.2 Ondas Quadradas 6 kHz Gerador de Sinal: Quadrada de 6 kHz.

    Resultado obtido pelo Osciloscpio USB:

    Amplitude: Vmax = + 6,1 Volts. Vmin = - 9,2 Volts.

    Freqncia: 6,1 kHz aproximadamente. Qualidade: Boa.

    Na Figura 31 tem-se a imagem do programa em execuo neste teste.

    Figura 31 - Quadrada de 6 kHz, osciloscpio USB.

    Resultados obtidos com o osciloscpio analgico (teste exibido na Figura 32):

    Amplitude: Vmax = + 6,0 Volts. Vmin = - 8,5 Volts.

    Freqncia: 5,9 kHz aproximadamente. Qualidade:Boa.

  • 51

    Figura 32 - Quadrada de 6 KHz, osciloscpio analgico.

    5.2.3 Ondas Quadradas 10 kHz Gerador de Sinal: Quadrada de 10 kHz

    Resultado obtido pelo Osciloscpio USB:

    Amplitude: Vmax = + 6,1 Volts. Vmin = - 9,1 Volts.

    Freqncia: 10 kHz aproximadamente. Qualidade: Ruim. Devido baixa taxa de amostragem no circuito, a onda

    quadrada passa a perder a sua forma.

    Na Figura 33 tem-se a imagem do programa em execuo neste teste.

    Figura 33 - Quadrada de 10 kHz, osciloscpio USB.

  • 52

    Resultados obtidos com o osciloscpio analgico (teste exibido na Figura 34):

    Amplitude: Vmax = + 6,0 Volts. Vmin = - 8,5 Volts.

    Freqncia: 10 kHz aproximadamente. Qualidade:Boa.

    Figura 34 - Quadrada de 10 kHz, osciloscpio analgico.

    5.3 Ondas Triangulares No sero apresentados os resultados em freqncias de 10 kHz para as ondas

    triangulares, visto que durante os testes esse tipo de sinal apresentou uma distoro

    grande no Osciloscpio USB, inviabilizando comparaes. A amostra do sinal a 10

    kHz ficou semelhante a uma senide.

    5.3.1 Ondas Triangulares 52 Hz Gerador de Sinal: Triangular de 52 Hz.

    Resultado obtido pelo Osciloscpio USB:

    Amplitude: Vmax = + 5,3 Volts. Vmin = - 8,7 Volts.

    Freqncia: 52 Hz, aproximadamente. Qualidade: Boa. O rudo est bem visvel, contudo, devido freqncia e

    amplitude do sinal amostrado, o rudo no est interferindo negativamente na

    anlise do sinal.

  • 53

    Na Figura 35 tem-se a imagem do programa em execuo neste teste.

    Figura 35 - Triangular de 52 Hz, osciloscpio USB.

    Resultados obtidos com o osciloscpio analgico (Figura 36):

    Amplitude: Vmax = + 5,0 Volts. Vmin = - 8,5 Volts.

    Freqncia: 53 Hz aproximadamente. Qualidade: Boa. Contudo, por ser um sinal de baixa freqncia, a imagem do

    sinal fica piscando na tela.

    Figura 36 - Triangular de 52 Hz, osciloscpio analgico.

  • 54

    5.3.2 Ondas Triangulares 5,06 kHz Gerador de Sinal: Triangular de 5,06 kHz.

    Resultado obtido pelo Osciloscpio USB:

    Amplitude: Vmax = + 5,3 Volts. Vmin = - 7,7 Volts.

    Freqncia: 5,29 kHz aproximadamente. Qualidade: Razovel. A baixa taxa de amostragem do ADC j comea a

    deformar o sinal.

    Na Figura 37 tem-se a imagem do programa em execuo neste teste.

    Figura 37 - Triangular de 5,06 kHz, osciloscpio USB.

    Resultados obtidos com o osciloscpio analgico (Figura 38):

    Amplitude: Vmax = + 5,0 Volts. Vmin = - 8,0 Volts.

    Freqncia: 5,00 kHz, aproximadamente. Qualidade: Boa. Contudo, por ser um sinal de baixa freqncia, a imagem do

    sinal fica piscando na tela.

  • 55

    Figura 38 - Triangular de 5,06 kHz, osciloscpio analgico.

    5.4 Anlise das Amplitudes Mxima e Mnima Na anlise de amplitude mxima o gerador de sinal no conseguiu gerar

    nenhuma tenso capaz de saturar o Osciloscpio Virtual via USB (ver Figura 39), visto

    que esse foi projetado para analisar de -20 a +20 V (o que foi comprovado em uma

    anlise CC).

    Figura 39 - Anlise de amplitude Mxima.

    Durante a anlise de baixa amplitude do sinal de entrada observa-se uma

    relao sinal/rudo baixa, interferindo bastante na leitura do sinal. O sinal observado na

    Figura 40 possui amplitude prxima a 150 mV que o limite de funcionamento do

    Osciloscpio USB, visto que embora o ADC trabalhe com uma amostragem com

  • 56

    preciso de 10 bits, apenas os 8 mais significativos so utilizados. Portanto, visto que o

    Osciloscpio USB pode ler uma faixa de -20 a +20 Volts e que no possui ajuste de

    escala por hardware, a preciso do sinal lido por volta de 155 mV.

    Figura 40 - Anlise de amplitude mnima.

    5.5 Anlise com freqncia acima da Projetada Estes testes foram realizados apenas com o intuito de verificar o

    comportamento do Osciloscpio em freqncias muito acima das quais foi projetado

    (10 kHz). Nas Figuras 41, 42 e 43 apresentado o Osciloscpio Virtual via USB

    analisando uma onda Senoidal de 30 kHz, uma onda Quadrada de 30 kHz e uma onda

    Triangular e 30 kHz, respectivamente.

  • 57

    Figura 41 - Senoidal de 30 kHz no Osciloscpio USB.

    Figura 42 - Quadrada de 30 kHz no Osciloscpio USB.

  • 58

    Figura 43 - Triangular de 30 kHz no Osciloscpio USB.

    A amostragem digital de aproximadamente 110 K amostras por segundo

    permite ao Osciloscpio uma definio de menos que 4 pontos por perodo de onda

    para um sinal de 30 KHz, o que muito pouco para se desenhar um sinal com

    qualidade3. Portanto, o grfico fica totalmente distorcido e conforme se observa nas

    Figuras 41, 42 e 43, impossvel distinguir o formato do sinal analgico com to

    poucas amostras.

    3 Mas observe que, pelo teorema de Nyquist, esta taxa garante uma reconstruo do sinal analgico sem o fenmeno de aliasing sobreposio de cpias do sinal. Este um dos motivos que um osciloscpio digital de

    largura de banda de 60MHz exija 500M amostras por segundo de amostragem. Por exemplo, em sistemas de energia eltrica assume-se, para efeitos de digitalizao e manipulao matemtica, um mnimo de 6 amostras

    por cada perodo da onda senoidal.

  • 59

    5.6 Anlise dos Resultados Nos testes de freqncia foi verificado que a freqncia mxima de anlise do

    Osciloscpio por volta de 10 KHz. Isso se deve ao fato do nmero de amostras por

    segundo do conversor analgico digital do LM3S811 ter chegado a no mximo cerca

    de 110.000, o que um valor muito abaixo das 500.000 amostras por segundo que

    dada no data sheet do microcontrolador como o limite deste ADC. Este valor foi um

    compromisso entre taxa de amostragem respeitando Nyquist e a garantia de uma

    quantidade mnima de amostras representadando o sinal digitalizado na tela do

    computador.

    Quando se testou freqncias acima de 10 KHz, o nmero de pontos por

    perodo de onda desenhado na tela passou a ser muito baixo, menos de 10 por perodo,

    caindo assim a qualidade do sinal digitalizado. Conforme se v no sub-capitulo 5.5, a

    queda da qualidade foi tal que no se diferencia mais as formas de ondas senoidais,

    quadrada e triangular para sinais de freqncias prximas a 30 Khz.

    Vale lembrar que estamos no domnio digital e embora o teorema de Nyquist

    mostre que basta amostrar no dobro da taxa da maior freqncia do sinal para

    convert-lo posteriormente ao domnio analgico, fiel ao sinal de entrada (desde que

    se empregue um filtro de reconstruo cuja resposta impulsiva seja dada pela funo

    sinc, irrealizvel na prtica por ser no causal, da somente no plano terico se

    consegue reconstruo perfeita do sinal analgico), a representao digital fica

    comprometida com poucas amostras por perodo E, como no h nenhum ps-

    processamento no sinal amostrado, onde utilizou-se uma linha reta para interligar os

    pontos, o que vemos no grfico apenas uma seqncia de pontos amostrados.

    Ainda com relao ao aumento da distoro do sinal no grfico do Osciloscpio

    Virtual, com o aumento da freqncia, nota-se que medida em que se aumenta a

    freqncia do sinal amostrado o formato de onda que menos se distorce a senoidal.

    Isso facilmente explicvel pela srie trigonomtrica de Fourier:

    Uma funo pedirica da varivel angular , x(), com perodo de

    repetio de 2 radianos, pode ser desenvolvida em uma srie de termos em seno e

    cosseno de mltiplos inteiros de , chamada de Srie Trigonomtrica de Fourier, desde

  • 60

    que satisfaa s Condies de Dirichlet. (CARVALHO, Rogrio Muniz. Princpios

    de Comunicaes, Vitria, 2003, p.27)

    As Equaes 2 e 3 mostram respectivamente a Srie Trigonomtrica de

    Fourier para uma onda triangular de amplitude A e uma onda quadrada de amplitude

    A.

    ( ) ( )[ ]tfksenkAtx

    k

    k

    01

    2

    1

    12212)1(8)(

    = +=

    , [2]

    ( ) ( ) ( )[ ]tfksenkAtx

    k0

    1122

    124 =

    +

    = . [3]

    Ou seja, sinais sinusoidais so os nicos que so representados por uma raia

    espectral exatamente no valor da freqncia do sinal e valor zero para qualquer outra

    freqncia. Qualquer deformao no formato de um sinal sinusoidal (inclua-se neste

    caso as ondas triangular e retangular) gera componentes espectrais (harmnicos) com

    valor diferente de zero para mltiplos da freqncia fundamental, o que exige uma

    maior taxa de amostragem. Observe que, teoricamente, no conseguiramos amostrar

    (e talvez gerar!) uma triangular e uma retangular uma vez que estas so ilimitadas em

    banda (infinitos harmnicos). Mas, aplicando-se o bom senso, com alguns harmnicos

    acima da fundamental temos um sinal triangular e retangular muito prximo do

    aceitvel. Da a importncia do filtro de entrada, conhecido como pr-filtro, para

    limitar a banda, filtro este previsto no Teorema de Nyquist. Toda a teoria de Shannon

    foi feita para sinais limitados em banda, o que exige o pr-filtro.

    Quanto aos nveis de tenso verifica-se no sub-capitulo 5.4 que as tenses mais

    altas so menos sensveis a rudos, enquanto baixas tenses de entrada, 1 Volt por

    exemplo, o circuito esta sujeito a muitas interferncias. Isso ocorre principalmente

    devido a grande faixa de tenso (+/- 20 V) que o osciloscpio capaz de analisar.

    Fazendo com que sinais de entrada com pequenos valores de tenso sejam reduzidos a

    valores muito pequenos no circuito divisor de tenso. Isso faz com que o sinal

  • 61

    analisado chegue ao pino de entrada do ADC com um nvel de tenso muito prximo

    aos nveis de tenso dos rudos do circuito (relao sinal/rudo baixa). Fazendo com

    que a anlise seja de m qualidade. Ou seja, necessrio uma adapatao da faixa

    dinmica do sinal faixa de converso do conversor.

    Outro fator que deve ser notado de que apesar de o conversor ser de 10 bits,

    apenas os 8 bits mais significativos so considerados. Portando a preciso do

    Osciloscpio de apenas 40/256, 156 mili-volts aproximadamente. Muitos

    osciloscpios digitais profissionais, de baixo custo, trabalham com 8 bits por amostra

    (este o caso dos osciloscpios digitais do DEL).

    Portanto, por se tratar de um projeto de baixo custo, ver Tabela 3, quando

    comparado aos osciloscpios digitais e analgicos que existem no mercado, o

    Osciloscpio Virtual via USB desenvolvido mostra-se como uma opo simples e

    indicada para circuitos de baixa freqncia e nveis de tenso maiores que 1 Volt, visto

    que suscetvel a rudos.

    Quanto ao clculo da freqncia do sinal (micro-segundos por amostragem),

    como a taxa de amostragem do sinal no alta, quando se analisa sinais de ordem de

    grandeza prximos a 10.000 Hz a preciso da medida da freqncia passa a ser

    pequena, acumulando erros que tendem a aumentar com o aumento da freqncia do

    sinal amostrado. No caso de uma onda de 10 KHz, como visto no sub-capitulo 5.1.3, o

    erro dessa medida foi de +307 Hz.

    Na Tabela 3 apresentada uma planilha de custo aproximado do equipamento

    projetado. O custo final do Osciloscpio Virtual via USB por volta de R$ 47,00 o

    que est muito abaixo do valor de mercado de Osciloscpios Analgicos (

    Aproximadamente R$ 1.200,00) e Osciloscpios Digitais mais simples (por volta de

    R$ 3.500,00) mais barato tambm do que a verso mais simples do BitScope (US$

    425,00).

    Tabela 3 - Custo Aproximado do Hardware do Osciloscpio Virtual via USB.

    Descrio Componente Custo unitrio em lotes de 100

    [4]

  • 62

    Microcontrolador LM3S811 $4,20 CI USB x Serial FTDI2232L $6,92 Cristal 6 MHz HC49 $0,44

    Regulador 3,3V LP3981 $0,60 Conector USB Tipo B $0,93 Cabo USB 3M A male to B male $1,87

    Timer lm555 $0,66 2 Capacitores C Ceramicos SMD 50V $0,14 10 Resistores R 100mW SMD $0,70

    Conector de Painel Femea $3,00 PCB 2 camadas 80mmx80mm $6,00

    Custo Total $25,46

    Custo Total em Reais R$ 45,83 Custo Total + Importao

    100 reais / 100 peas = R$1,00 R$ 46,83

    Com um aumento no muito alto no custo total do projeto, possvel fazer

    inmeras melhorias no projeto, fazendo com que seja concorrente a algumas verso do

    BitScope mas mantendo-se a um custo muito abaixo.

    6 CONCLUSES E MELHORIAS FUTURAS

    Uma mudana em toda a estrutura do hardware poderia tornar o Osciloscpio

    USB uma opo de uso at mesmo a usurios mais exigentes.

    Inicialmente um sistema de proteo de sobre tenso na entrada analgica

    utilizando diodos rpidos aumentaria a durabilidade do equipamento.

    A utilizao de um CI ADC tipo Flash de altssima taxa de amostragem para

    substituir o ADC do microcontrolador daria ao equipamento uma grande largura de

    banda, com dezenas de milhes de amostras por segundo. Aliado ao ADC como um CI

    discreto seria importante o uso de uma memria SRAM auto incrementvel com taxas

    de escrita compatveis com a taxa de amostragem do ADC, com isso teramos todo um

    circuito independente de amostragem e armazenamento de dados coletados

    trabalhando juntos em um clock de altssima freqncia fornecida por um oscilador

    externo.A incluso de um trigger por hardware (CI detector de cruzamento por nvel)

  • 63

    poderia dar segunda verso do projeto uma capacidade de anlise de freqncias da

    mesma taxa de amostragem do conversor A/D. Isso possivel se for utilizado um

    recurso muito utilizado em Osciloscpios Analgicos, onde cada amostragem do sinal

    capturado apenas um ponto por periodo de onda, de modo que a primeira amostra

    capturada em um no primeiro periodo da onda com um atraso t0, a segunda amostra

    capturada no segundo periodo da onda, mas agora com um atraso t1. E deste modo

    uma sequencia de pontos capturada e possibilita a remontagem do sinal em alta

    freqncia.

    A transmisso dos dados ao PC poderia ser simplificada no nvel de hardware

    utilizando-se um microcontrolador com uma porta USB como perifrico incluso.

    claro que, alm de mudanas no firmware, essas modificaes exigiriam uma mudana

    na comunicao do software do PC, pois deixaria de ser interpretada como uma

    comunicao serial e passaria a ser USB. No mais no haveria grandes modificaes.

    Na Figura 44 pode-se verificar um diagrama de blocos de um projeto com as

    melhorias descritas acima.

  • 64

    Figura 44 - Diagrama de blocos do projeto futuro.

    Vale lembrar que neste projeto futuro no h um contador externo para

    atualizar a linha de endereamento da memria SRAM, por isso ela deve ser auto-

    incrementvel capaz de sequenciar a escrita e leitura em todas as linhas de endereo,

    diferentemente de muitas SRAMs que auto-incrementam apenas 4 endereo seguidos.

    Um exemplo de CI com essas caractersticas o CY7C09159AV (Figura 45),

    produzido pela Cypress, trata-se de uma SRAM paralela que alem de ser auto-

    incrementvel, dual port, ou seja, possui duas memrias auto-incrementveis

    totalmente independentes em um mesmo encapsulamento.

    Figura 45 - Memria SRAM auto-incrementvel.

  • 65

    A utilizao de um microcontrolador com ncleo ARM em um novo projeto

    pode no ser necessria visto que as altas taxas de amostragem e comunicao entre o

    conversor AD e a memria SRAM so independentes no microcontrolador. Contudo

    seu uso ainda interessante caso deseje-se programar em firmware algum

    processamento sobre os dados amostrados, visto a alta taxa de processamento que um

    microcontrolador ARM pode fornecer.

    Este projeto de hardware com diversas melhorias j teve sua implementao

    iniciada, conforme ve-se na Figura 46, contudo o sistema hardware e firmware ainda

    no se encontra operante. O circuito possui um microcontrolador ARM7 da Atmel,

    AT91SAM7S64, com porta USB Full Speed inclusa, uma memria SRAM dual-port

    autoincrementavel capaz de operar a 50 MHz, CY7C09159AV, um ADC flash de 80

    MHz, 8 bits, paralelo, da Analog Devices, AD9283_c, onde tanto a memria quanto o

    ADC so gatilhados por um oscilador de 50MHz para trabalharem sincronizadamente.

    Uma primeira verso da placa de circuito impressa ja foi feita, contudo modificaes

    podem ser necessrias.

    Figura 46 - Futura verso do Osciloscpio Virtual via USB em fase de desenvolvimento.

    6.2 Melhorias Futuras de Firmware e Software Nenhum tratamento ao sinal digitalizado foi implementado em software, para

    uma futura verso seria interessante incluir um cdigo para realizar interpolaes entre

    os pontos a fim de possibilitar um grfico de melhor qualidade para freqncias

    prximas a freqncia mxima. A criao de uma funo de coleta de pontos

  • 66

    sequnciais para armazenamento em um arquivo tambm uma importante evoluo

    para o software do Osciloscpio Virtual, visto que deste modo os sinais anlisados

    poderam ser ps-processados.

    Outra melhoria possvel seria a utilizao de algum tipo de filtro digital com o

    intuito de reduzir os rudos. Ambas so implementaes em nvel de cdigo, mas as

    que exigirem maior complexidade e grandes bibliotecas matemticas devem ser

    preferencialmente realizadas em software visto que computadores pessoais possuem

    muito mais potncia de processamento e memria do que microcontroladores.

    Fugindo um pouco das melhorias em qualidade do sinal, pode-se tambm

    gerar cdigos para dar mais funes ao projeto. O uso de uma FFT para se obter a

    funo de Analisador de Espectro no equipamento interessante. O software poderia

    tambm fornecer os dados por ele recebidos como um servidor de FTP, fazendo com

    quem qualquer outro PC conectado na mesma rede, pudesse, tendo IP e porta, e com o

    software do Osciloscpio instalado, ver os grficos em tempo real estando em

    qualquer lugar do mundo.

  • 67

    REFERNCIAS BIBLIOGRFICAS

    [1] ALMEIDA, AILSON ROSETTI DE. Conversores Digital/Analgicos (DAC)

    e Analgico/Digitais (ADC). [on line]. Disponvel:

    http://www.ele.ufes.br/~ailson/digital2/adda.pdf [capturado em 08 out. 2007].

    [2] CARVALHO, ROGRIO MUNIZ. Princpios de Comunicaes. 3 Ed.

    Vitria, ES. 2003.

    [3] UNIVERSAL SERIAL BUS. Universal Serial Bus Class Definitions. [on

    line] Disponvel: http://www.usb.org/developers/devclass_docs/usbcdc11.pdf

    [capturado em 10 nov. 2007].

    [4] DIGI-KEY.COM. Oramento de Componentes Eletrnicos. [on line].

    Disponvel: http://www.digikey.com [ capturado em 10 fev. 2008].

    [5] LUMINARY MICRO. Application Note AN01209-01: ADC OverSampling

    Techniques. [on line]. Disponvel: http://www.luminarymicro.com [capturado

    em 15 out. 2007].

    [6] LUMINARY MICRO. Application Note AN01247-00: Using the Stellaris

    Microcontroller Analog-to-Digital Converter. [on line]. Disponvel:

    http://www.luminarymicro.com [capturado em 15 out. 2007].

    [7] LUMINARY MICRO. Data sheet EVB_LM3S811: Eval Board Users

    Manual and Schematics. [on line]. Disponvel:

    http://www.luminarymicro.com [capturado em 4 out. 2007].

    [8] MITOV SOFTWARE. PlotLab 3.0. [on line]. Disponvel:

    http://www.mitov.com/html/download_plotlab.html [capturado em 20 set.

    2007]

    [9] WIKIPEDIA. Universal Serial BUS. [on line]. Disponvel:

    http://en.wikipedia.org/wiki/USB [capturado em 28 out. 2007].

  • 68

    [10] FILHO, TEODIANO FREIRE BASTOS. Apostila de Eletrnica Bsica II.

    Vitria, 2005.

    [11] SALTEADORES. Serial Communication with Borland C++ Builder. [on

    line]. Disponvel: http://maikel.galeon.com/serie/bcbcomm.html [capturado em

    10 set. 2007].

    [12] UNSER, M. Sampling-50 years after Shannon,Proceedings of the IEEE, Vol.

    88, n. 4, Abril 2000, pp. 569-587.

    [13] LUMINARY MICRO. Data sheet DS-LM3S811-1972: LM3S811

    Microcontroller Data Sheet. [on line]. Disponvel:

    http://www.luminarymicro.com [capturado em 4 out. 2007].

    [14] LUMINARY MICRO. Application Note. [on line]. Disponvel:

    http://www.luminarymicro.com [capturado em 15 out. 2007].

    [15] Anjos, W. L. F. "USO DO COMPUTADOR PESSOAL NO

    DESENVOLVIMENTO DE UM ANALISADOR DE ESPECTRO DE

    BAIXA FREQNCIA", Projeto de Graduao - DEL - CT - UFES, abril de

    2004.

  • 69

    APNDICE A

    O cdigo comentado do firmware implementado em C, no Vision , utilizando

    as bibliotecas fornecidas pela Luminary Micro. Todas as bibliotecas podem ser

    encontradas em [14].

    #include "hw_ints.h" //

    #include "hw_memmap.h" //

    #include "hw_types.h" //

    #include "adc.h" //

    #include "debug.h" // Incluso das Bibliotecas

    #include "gpio.h" // da Luminary Micro

    #include "interrupt.h" //

    #include "sysctl.h" //

    #include "timer.h" //

    #include "uart.h" //

    #include "globals.h" //

    #include "random.h" //

    unsigned char selec;

    char adc_buffer1[2000];

    int cont0,cont1,cont2,cont_def;

    unsigned long total_data, g_ulWheel;

    // Interrupo por Timer do ADC

    void ADCIntHandler(void)

    {

    unsigned long ulData;

    // Limpa a interrupo do ADC

    ADCIntClear(ADC_BASE, 0);

    // Leitura do Dado do Conversor AD

    ADCSequenceDataGet(ADC_BASE, 0, &ulData);

    if (selec == 0) // Habilita escrita no buffer de leitura do ADC

    { // somente se o flag 'selec' valer zero.

    cont0++; // incrementa o contador da escala de tempo

    // quando o contador da escala atingir o valor definido

  • 70

    if (cont0 == cont_def) //

    { //

    cont0 = 0; // zera o contador da escala

    //Rotina da Luminary para diminuir o erro da leitura

    RandomAddEntropy(ulData);

    g_ulWheel = ((g_ulWheel * 58982) + (ulData * 6554)) / 65536;

    // Transforma o valor adquirido (float) em um char e armazena no buffer

    adc_buffer1[cont1] = ((ulData24);

    // Ponteiro do buffer incrementado.

    cont1++;

    }

    }

    }

    int main(void)

    {

    int i;

    // Configura o Clock do Sistema em 50Mhz

    // onde SYSCTL_SYSDIV_4 divide a freqncia do PLL, que de 200MHz

    // por 4, gerando um clock interno de 50Mhz

    SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |

    SYSCTL_XTAL_6MHZ);

    // Ativa Perifricos

    SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC);

    // Conversor Analgico Digital

    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);

    // GPIO A -> Pinos da UART0

    SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1);// Timer 1

    SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0); // UART0

    // Configura o ADC pra amostrar o Sinal Analgico quando o Timer gatilhar

    // ADC_TRIGGER_TIMER

    // configura o ADC amostrar

    // por tempo dado pelo Timer1

    ADCSequenceConfigure(ADC_BASE, 0, ADC_TRIGGER_TIMER, 0);

    ADCSequenceStepConfigure(ADC_BASE, 0, 0,

    ADC_CTL_CH1 | ADC_CTL_IE | ADC_CTL_END);

    ADCSe