Osciloscópio USB
Transcript of Osciloscópio USB
-
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