Você está na página 1de 58

UNIVERSIDADE FEDERAL DO ESPRITO SANTO

CENTRO TECNOLGICO
DEPARTAMENTO DE ENGENHARIA ELTRICA
PROJETO DE GRADUAO

PROJETO DE UM GERADOR DE SINAIS EM UMA FPGA

JOO MARCOS DOS SANTOS SOUZA

VITRIA ES
DEZEMBRO/2011
JOO MARCOS DOS SANTOS SOUZA

PROJETO DE UM GERADOR DE SINAIS EM UMA FPGA

Parte manuscrita do Projeto de Graduao


do aluno Joo Marcos dos Santos Souza,
feito sobre 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
DEZEMBRO/2011
JOO MARCOS DOS SANTOS SOUZA

PROJETO DE UM GERADOR DE SINAIS EM UMA FPGA

COMISSO EXAMINADORA:

___________________________________
Prof. Dr. Evandro Ottoni Teatini Salles,
Orientador

___________________________________
Prof. Dr. Andr Ferreira
Examinador

___________________________________
Prof. Dr. Anselmo Frizera Neto
Examinador

Vitria - ES, 29 de Dezembro, 2011


DEDICATRIA

Aos meus familiares e amigos.

i
AGRADECIMENTOS

Agradeo a Deus, aos meus pais Joo Batista de Souza e Vanda Lcia dos
Santos Dilem por acreditarem em mim, s minhas irms pela cumplicidade e aos meus
amigos que agregaram ao meu caminho momentos de diverso e companheirismo.
Agradeo, tambm, aos professores que me proporcionaram momentos de
aprendizagem e, em especial, ao professor Evandro pela pacincia e pelo
conhecimento passado durante a orientao desse projeto.

ii
LISTA DE FIGURAS

Figura 1 - Comunicao SPI com um nico escravo [2] ........................................... 12


Figura 2 Mestre com escravos independentes [2] .................................................. 12
Figura 3 - Exemplo de quadro do RS-232 [4] ........................................................... 13
Figura 4 - Diagrama de Blocos simplificado de um DDS ......................................... 15
Figura 5 - NCO em uma arquitetura DDS ................................................................ 16
Figura 6 - Gerao de uma onda senoidal [10]. ........................................................ 16
Figura 7 - Arquitetura CI AD9854 [11] .................................................................... 19
Figura 8 - Exemplo de roda de fase [13]................................................................... 20
Figura 9 - Efeito da resoluo de 4 bits do DAC [14] ............................................... 21
Figura 10 - Espectro de sada para um DAC de 4 bits (4-Bit Dac Spectrum) [14] ..... 21
Figura 11 - Espectro de sada para um DAC de 8 bits (8-Bit Dac Spectrum) [14] ..... 22
Figura 12 - Spartan-3E Starter Kit [7] ...................................................................... 25
Figura 13 - Pinos de sada do DAC e o CI LTC2624 [7] .......................................... 26
Figura 14 - Detalhes da transmisso SPI no DAC [7] ............................................... 27
Figura 15 - Protocolo de comunicao do SPI para o DAC do CI LTC2624 [7]. ...... 27
Figura 16 - Circuito de Captao Analgica [7] ....................................................... 28
Figura 17 - As 4 chaves deslizantes do Kit FPGA [7] ............................................... 29
Figura 18 - Chaves push-button e o potencimetro digital [7]. ................................. 29
Figura 19 - Resistor pull-down associado ao push-button [7].................................... 30
Figura 20 - Circuito do potencimetro digital [7]. .................................................... 31
Figura 21 - Localizao das portas DCE e DTE [7]. ................................................. 32
Figura 22 - Tela inicial do GUIDE ........................................................................... 33
Figura 23 - Diagrama de Blocos do gerador de sinais desenvolvido. ........................ 35
Figura 24 - Envio do quadro de dados do SPI no estado spi_s1 para o DAC. ........... 36
Figura 25 - Cdigo do clculo do salto de fase ......................................................... 37
Figura 26 - Diagrama temporal de amostragem [12] ................................................ 38
Figura 27 - Mquina de estados da recepo ............................................................ 39
Figura 28 - Criao do objeto serial e parmetros bsicos da comunicao .............. 40
Figura 29 - Interface grfica do gerador de sinais ..................................................... 40
iii
Figura 30 - Onda senoidal com frequncia de 10KHz .............................................. 43
Figura 31 - Onda triangular com frequncia do 10KHz ............................................ 43
Figura 32 - Onda quadrada com frequncia de 10KHz ............................................. 44
Figura 33 - Espectro da onda senoidal com frequncia de 10KHz ............................ 44
Figura 34 - Espectro da onda triangular com frequncia de 10KHz .......................... 45
Figura 35 - Espectro da onda quadrada com frequncia de 10KHz ........................... 45
Figura 36 - Uma onda senoidal gerada no canal A e outra no canal D na frequncia
de 5KHz ................................................................................................................... 46
Figura 37 - Uma onda triangular com offset gerada no canal D na frequncia de
5KHz ....................................................................................................................... 47
Figura 38 - Uma onda triangular com offset gerada no canal A na frequncia de
5KHz ....................................................................................................................... 48
Figura 39 - Onda quadrada na frequncia de 43KHz ................................................ 49
Figura 40 - Onda senoidal na frequncia de 43KHz ................................................. 49
Figura 41 - Onda triangular na frequncia de 43KHz ............................................... 50
Figura 42 - Espectro da onda senoidal na frequncia de 43KHz ............................... 51
Figura 43 - Espectro da onda triangular na frequncia de 43KHz ............................. 51

iv
GLOSSRIO
1. FPGA: Field Programmble Gate Array.
2. VHDL: VHSIC Hardware Description Language.
3. PC: Personal Computer.
4. Vpp: unidade de tenso pico a pico.
5. DAC: Digital to Analogic Converter.
6. DDS: Direct Digital Synthesis.
7. USB: Universal Serial Bus.
8. SPI: Serial Peripheral Interface Bus.
9. EIA: Eletronics Industries Association.
10. LSB: Least Significant Bit.
11. DTE: Data Terminal Equipment.
12. DCE: Data Circuit-Terminating Equipment.
13. VHSIC: Very High Speed Integrated Circuits.
14. CI: Circuito Integrado.
15. ROM: Read-Only Memory.
16. PAM: Pulse-Amplitude Modulation.
17. ADC: Analogic to Digital Converter.
18. DCM: Direct Clock Manager.

v
SUMRIO

DEDICATRIA ....................................................................................................... I
AGRADECIMENTOS ............................................................................................ II
LISTA DE FIGURAS ........................................................................................... III
GLOSSRIO........................................................................................................... V
SUMRIO ............................................................................................................. VI
RESUMO............................................................................................................ VIII
1 INTRODUO ............................................................................................. 9
1.1 Motivao........................................................................................................ 9
1.2 Objetivos ......................................................................................................... 9
1.3 Diviso da Monografia .................................................................................. 10
2 CONSIDERAES INICIAIS .................................................................. 11
2.1 Protocolos de Comunicao ........................................................................... 11
2.1.1 SPI ........................................................................................................ 13
2.1.2 RS-232.................................................................................................. 13
2.2 XILINX ISE WebPACK Design Software.................................................. 13
2.3 MATLAB ................................................................................................... 14
2.4 Conversor DAC ............................................................................................. 14
2.5 DDS .............................................................................................................. 15
2.5.1 Princpio de Funcionamento ................................................................. 15
2.5.2 Clculo da Frequncia .......................................................................... 17
2.5.3 Blocos Adicionais ................................................................................ 18
2.5.4 Erro de Quantizao ............................................................................. 19
2.5.4 Teorema de Amostragem ...................................................................... 22
3 RECURSOS UTILIZADOS ....................................................................... 24
3.1 Spartan-3E Starter Kit ................................................................................... 24
3.1.1 DAC ..................................................................................................... 25
3.1.2 Chave Deslizante .................................................................................. 28
3.1.3 Chave Push-Button ............................................................................... 29
3.1.4 Chave Rotary Push-Button ................................................................... 30
vi
3.1.5 RS-232 DCE ........................................................................................ 31
3.2 Interfaces Grficas com Usurio no MATLAB ........................................... 32
3.2.1 Criao da GUI .................................................................................... 33
3.2.2 Programando a GUI.............................................................................. 33
4 DESENVOLVIMENTO ............................................................................. 35
4.1 Kit FPGA ...................................................................................................... 35
4.1.1 Controle do Gerador de Sinais .............................................................. 35
4.1.2 Barramento SPI .................................................................................... 36
4.1.3 Clculo da Frequncia .......................................................................... 36
4.1.4 Recepo do RS-232 DCE.................................................................... 38
4.2 MATLAB ................................................................................................... 39
4.2.1 Comunicao ........................................................................................ 39
4.2.2 Controle do Gerador de Sinais .............................................................. 40
5 RESULTADOS E ESPECIFICAES ..................................................... 42
5.1 Introduo ..................................................................................................... 42
5.2 Ambientes de Testes ...................................................................................... 42
5.3 Teste da Forma de Onda ................................................................................ 42
5.4 Teste da Amplitude ........................................................................................ 46
5.5 Teste de Offset ............................................................................................... 47
5.6 Teste da Frequncia ....................................................................................... 48
5.6.1 Frequncia Mxima .............................................................................. 48
CONCLUSES E MELHORIAS FUTURAS ...................................................... 52
REFERNCIAS BIBLIOGRFICAS .................................................................. 54

vii
RESUMO
Esse projeto visa sintetizar um gerador de sinais em uma FGPA (Field
Programmble Gate Array) que pode ser controlado por um computador via
comunicao serial. Atribui-se a esse controle o ajuste da frequncia, da amplitude, do
tipo de onda e do offset da onda gerada.
O principal objetivo da construo de um gerador de sinais atravs de
processamento digital que se pode melhorar sua descrio de acordo com as
necessidades do usurio.
O gerador de sinais desenvolvido gera na sada ondas de tenso de Vpp de at
3,3V. Os sinais fornecidos pelo gerador podem apresentar as formas de onda do tipo
senoidal, quadrada ou triangular. Os resultados obtidos foram satisfatrios dentro das
limitaes do Spartam-3E Starter Kit, baseado na FPGA SPARTAN XC3S500FG320.

viii
9

1 INTRODUO

1.1 Motivao
O uso do gerador de sinais indispensvel em laboratrios de eletrnica, pois
possibilita que os usurios possam calibrar e reparar circuitos eletrnicos analisando o
comportamento dos elementos que compem esses circuitos eletrnicos.
Atualmente, o alto desempenho e a funcionalidade de fcil implementao de
um gerador de sinais, esto tornando o uso de sistemas de processamento de dados
digitais cada vez mais presentes em geradores de funo e processamento de sinais.
Alm disso, o custo reduzido do Kit FPGA possibilita que mais estudantes tenham
acesso a esse tipo de equipamento.
Esse projeto s foi possvel, pois esse Kit FPGA possui o DAC (Digital to
Analog Converter). A integrao de um DAC de bom desempenho na arquitetura DDS
(Direct Digital Synthesis) com processadores digitais faz dessa uma boa alternativa
para vrias aplicaes atravs de circuitos sintetizadores de frequncia. O CI do
Spartam-3E Starter Kit responsvel pelo DAC o LTC2624 [1].
Para obter maior flexibilidade nesse controle, apesar de ser extremamente
vantajoso o controle desse gerador via computador pessoal, esse projeto foi
desenvolvido permitindo que o usurio possa controlar os sinais ou via computador
pessoal ou pelos prprios botes e chaves do Kit FPGA. O controle via computador
pessoal foi desenvolvido via software no ambiente MATLAB e a comunicao entre
o computador pessoal e o Kit FPGA realizado via comunicao serial RS-232
podendo, tambm, usar um adaptador USB (Universal Serial Bus) para RS-232.

1.2 Objetivos
Esse projeto tem como objetivo a realizao de um Gerador de Sinais Digital
baseado em uma FPGA, que pode ser controlado ou por computador pessoal via
MATLAB, atravs da comunicao serial RS-232, ou pelos botes e chaves do Kit
FPGA. Com esse gerador pode-se controlar a frequncia, offset e amplitude da onda
gerada. E podem-se obter ondas do tipo senoidal, triangular e quadrada.
10

O Kit FPGA usado no projeto o Spartan-3E Starter Kit, que possui a FPGA
SPARTAN X3CS500FG320 da XILINX. Esse Kit FPGA possui o DAC do CI
LTC2624 e a porta serial RS-232.

1.3 Diviso da Monografia


No captulo 2, est descrito conceitos bsicos para a implementao do
projeto. O captulo 3 descreve o Kit FPGA e seus recursos usados nesse projeto. No
captulo 4, apresentado o desenvolvimento do projeto na descrio na linguagem
VHDL assim como a elaborao do programa em MATLAB. E, finalmente, no
captulo 5 so apresentados os resultados obtidos com devida anlise das formas de
ondas resultantes.
11

2 CONSIDERAES INICIAIS

Neste captulo, sero apresentados conceitos bsicos para elaborao e para


compreenso desse projeto.

2.1 Protocolos de Comunicao

2.1.1 SPI
A comunicao serial SPI uma comunicao full-duplex sncrona criada pela
Motorola. Esse tipo de comunicao serial realizado no modo mestre/escravo, tendo
o dispositivo mestre a funo de iniciar a comunicao com os dispositivos escravos
[2].
Na transmisso de dados no protocolo SPI, pode-se operar com um dispositivo
mestre e um ou mais dispositivos escravos. E para fazer a interface entre mestre e
escravo, o barramento SPI especifica quatro sinais lgicos, que so comumente
atribudos como:
SCLK (Serial Clock);
MOSI (Master Output, Slave Input);
MISO (Master Input, Slave Output);
SS (Slave Select).
O sinal SCLK corresponde ao relgio que o dispositivo mestre impe aos
dispositivos escravos. O sinal MOSI tem como funo transferir dados de forma serial
do mestre para o dispositivo escravo selecionado. J o sinal MISO corresponde a
comunicao serial do escravo para o mestre. O sinal SS habilita o dispositivo escravo
para qual o dispositivo mestre quer enviar dados. Para entender melhor a atuao
desses sinais da comunicao SPI, primeiramente, conveniente exemplificar com a
atuao do mestre com apenas um dispositivo escravo, como mostrado na Figura 1.
12

Figura 1 - Comunicao SPI com um nico escravo [2]


A frequncia de relgio que dispositivo escravo suporta quem vai limitar o
valor do relgio que o dispositivo mestre vai gerar no barramento. A cada perodo de
relgio gerado pelo mestre, o dispositivo escravo recebe 1 bit de dado enviado pelo
dispositivo mestre via linha MOSI e, durante esse mesmo perodo, o dispositivo
escravo envia um bit de dado via MISO para o mestre.
Com o uso de mais de um dispositivo escravo, o sinal de SS vai atuar para
habilitar para qual dispositivo escravo o mestre vai estabelecer comunicao. Para
demonstrar essa possibilidade, um exemplo de configurao SPI com mais de um
escravo a configurao com escravos habilitados por um nico SS. Portanto, nessa
configurao, o mestre habilita unicamente todos os escravos. Outra possibilidade de
configurao SPI com mais de um escravo a que possibilita que cada escravo tenha
seu sinal de SS independente, mostrado na Figura 2 [2].

Figura 2 - Mestre com escravos independentes [2]


13

2.1.2 RS-232
A padronizao do protocolo serial para troca de dados RS-232 foi realizada
em 1969 pela EIA (Electronic Industries Alliance) [3]. Esse padro de comunicao
serial tambm conhecido por EIA RS-232.
Como se trata de um padro serial, a transferncia de dados feita bit a bit.
Alm disso, os dados so transmitidos de forma assncrona, isto , no possui linha de
relgio. A codificao desse protocolo de comunicao mais comumente usada o
start-stop assncrono que faz uso do bit de incio (start bit), seguido por 7 ou 8 bits
de dados, possivelmente um bit de paridade para detectar erros e um bit de parada
(stop bit). A figura 3 exemplifica essa codificao start-stop assncrono com
tamanho da palavra de dados de 8 bits, com o LSB (Least Significant Bit) enviado
primeiramente e sem bit de paridade [4].

Figura 3 - Exemplo de quadro do RS-232 [4]

Normalmente nesse padro, a comunicao realizada do terminal DTE (Data


Terminal Equipament) para o terminal DCE (Data Circuit-Terminating Equipament).
Nesse caso, o sinal TX (Transmitted Data) transmite dados do DTE para DCE, o RX
(Received Data) transmite dados do DCE para DTE, o RTS (Request to Send) faz a
solicitao do DTE para que o DCE se prepare para receber dados e o CTS (Clear to
Send) indica que o DCE est pronto para receber dados [3].

2.2 XILINX ISE WebPACK Design Software


Para elaborar esse projeto foi utilizada a verso 11.1 do ISE WebPACK, que
um ambiente de verso livre da XILINX [5], disponibilizado para sistemas
operacionais do tipo Windows e Linux. Como no foi possvel a instalao do ISE
14

WebPACK no sistema operacional Windows 7 por problemas de compatibilidade, a


alternativa encontrada foi o uso da mquina virtual com o Windows Xp Professional.
O ambiente disponibilizado pela XILINX permite o uso da linguagem
VHDL (VHSIC Hardware Description Language), que a linguagem de descrio de
hardware VHSIC (Very-High-Speed Integrate Circuit), e da linguagem Verilog. Para
realizar esse projeto foi usada a linguagem VHDL, uma vez que essa linguagem atende
suficientemente bem aos requisitos exigidos do projeto.

2.3 MATLAB
O MATLAB um programa computacional muito empregado em ambientes
acadmicos e, essencialmente, o elemento bsico uma matriz que no requer
dimensionamento. Um atrativo para o uso desse programa computacional que muitos
problemas numricos podem ser primeiramente avaliados em um tempo menor do que
se fossem desenvolvidos nas linguagens Fortran, Basic e C uma vez que o mesmo
conta com diversas ferramentas de trabalho conhecidas como Tollbox. Dessa forma,
trata-se de um software interativo, interpretado, de alto desempenho voltado para o
clculo numrico. Essa plataforma permite a utilizao de controles de fluxo
tradicionais, encontrados em diversas linguagens de programao, como tambm
representao e manipulao matricial de dados, o que o torna atrativo para trabalhar
com problemas que possuem carter matemtico.
Quando o MATLAB carregado, a janela de comando (Command Windows)
aberta e, nessa janela, o prompt padro exibido na tela. Sequncias de comandos
podem ser armazenados em arquivos de texto usando o MATLAB Editor como
script ou como funo.

2.4 Conversor DAC


Um DAC um circuito eletrnico capaz de converter uma grandeza digital (um
cdigo binrio) em uma grandeza analgica [6]. A resoluo de um DAC
especificada pelo nmero de bits de entrada do conversor. Por exemplo, a resoluo de
um conversor com 10 bits de entrada referida como tendo uma resoluo de 10-bit. O
15

efeito da resoluo de um DAC mais facilmente entendido pela resoluo da onda


reconstruda.

2.5 DDS
Nesse projeto, usou-se a sntese digital direta (DDS), que uma tcnica de
sistemas de processamento de dados digitais para gerar sinal de sada com frequncia e
fase precisamente controladas [9].

2.5.1 Princpio de Funcionamento


Na sua forma mais simples, um DDS pode ser implementado com uma fonte
precisa de relgio de referncia, um contador de endereo, uma memria ROM (Read-
Only Memory) e um DAC, como ilustrado na Figura 4.
A memria ROM armazena uma tabela (Lookup Table) de valores pr-
definidos. Os endereos dessa tabela so acessados pelo contador de endereos e os
dados acessados por esse endereo correspondem aos valores em binrio da amplitude
da forma de onda que deve ser gerada. Essa palavra binria corresponde entrada do
DAC, que reproduz esse dado digital em um nvel correspondente de tenso [10].

Figura 4 - Diagrama de Blocos simplificado de um DDS

O oscilador lgico programvel, ou do ingls Numerically Controlled Oscilator


(NCO), um circuito composto basicamente pelo acumulador de fase e a Lookup
Table. Na Figura 5, o NCO est destacado em uma arquitetura de DDS.
16

Figura 5 - NCO em uma arquitetura DDS

O circuito NCO funciona como uma roda de fase, do ings phase wheel, na
arquitetura DDS, que seria como um vetor girando ao redor de um ciclo de fase.
Enquanto o vetor gira totalmente ao redor da roda de fase, forma-se uma onda
completa na sada do DAC. O contedo do acumulador de fase corresponde a um
ponto no ciclo da onda gerada. E o nmero de pontos discretos de fase contidos na
roda de fase determinado pela resoluo do acumulador de fase (nmero de bits do
acumulador de fase). A gerao de uma onda senoidal pode ser visualizada na Figura 6
[10].

Figura 6 - Gerao de uma onda senoidal [10]. Em destaque na figura a memria de forma de onda (Waveform
Memory), o sinal gerado (Generated Signal) e a amostra de relgio (Sample Clock).
17

2.5.2 Clculo da Frequncia


A frequncia da onda gerada pela sada do gerador de sinais diretamente
proporcional ao valor do relgio e o salto de fase inversamente proporcional ao
nmero de palavras da lookup table.
O acumulador de fase realmente um contador que incrementa seu nmero
armazenado cada vez que ele recebe um pulso do relgio. O valor de incremento o
valor de salto de fase e somado com a sada do acumulador. Esse valor de salto de
fase determina quantos pontos da roda de fase sero saltados. Quanto maior o salto de
fase mais rpido se termina a roda de fase, em outras palavras, mais rpido se termina
a tabela da forma de onda. Alm disso, quanto maior o salto de fase maior ser a
frequncia da onda gerada na arquitetura DDS.
Para calcular a frequncia de onda gerada de uma arquitetura DDS

bsica que tenha NCO, usa-se (1) em que representa o salto de fase, o

relgio de referncia da arquitetura DDS e equivale ao tamanho do acumulador de

fase,

. (1)

A sada do acumulador de fase linear e no pode ser usada diretamente para


gerar uma forma de onda, exceto a gerao de uma rampa. E a tabela que converte fase
em amplitude, lookup table, usada para fornecer uma verso truncada da sada
instantnea do acumulador de fase.
Nesse projeto, apenas as formas de onda senoidal e triangular possuem lookup
table. A resoluo dessas tabelas de 11bits, isto , o nmero de palavras digitais, que
representam de 0 a 360 da onda, contidas nessas tabelas de 2048, e o tamanho dessa
palavra digital de 12 bits, pois o tamanho de palavra que o DAC do Kit FPGA
estabelece. Na forma de onda quadrada no foi necessrio criao dessa tabela pois
possui apenas dois nveis lgicos, o que facilita a gerao dessa onda.
18

2.5.3 Blocos Adicionais


Uma das vantagens da natureza digital da arquitetura DDS que blocos de
funes digitais podem ser adicionados ao ncleo principal para enriquecer a
capacidade e caractersticas de um dado dispositivo. Para o uso de aplicaes gerais,
um dispositivo DDS inclui um DAC para fornecer na sada um sinal j na forma
analgica. Dispositivos DDS esto disponveis comercialmente com DAC de 10 a 12
bits funcionando a frequncias internas at 1GHz.
Um diagrama em bloco de um dispositivo DDS com capacidades estendidas,
como se pode ver na Figura 7 [11], adiciona blocos como mostrado a seguir:
Um multiplicador do relgio de referncia programvel (REF CLOCK
MULTIPLIER);
A adio de um bloco de soma aps o acumulador de fase (PHASE
ACCUMULATOR) permite que a onda de sada seja atrasada em fase
em correspondncia com a palavra de sintonia digital;
Um multiplicador digital inserido entre a tabela (PHASE-TO-
AMPLITUDE CONVERTER) e o conversor DAC (12-BIT I DAC)
permite a multiplicao de amplitude dos dispositivos DDS;
Um conversor DAC (12-BIT Q DAC OR CONTROL DAC) de alta
velocidade pode ser includo para permitir uma sada em quadratura.
Isto possibilita que o dispositivo DDS fornea frequncia e amplitude
que so perfeitamente casadas em fase. Esse conversor adicional pode
ser controlado por uma interface de controle e usado como um DAC
de controle em vrias aplicaes;
Uma funo de comparador rpido (COMPARATOR) pode ser
integrada que facilita o uso de DDS como gerador de relgio (CLOCK
OUT). O comparador configurado para converter uma forma de
onda qualquer em onda quadrada;
Um registrador de frequncia/fase (PROGRAMMING REGISTERS)
pode ser adicionado, o que permite que palavras de frequncia e de
19

fase possam ser pr-programadas e seus contedos executados via um


simples pino de controle.

Figura 7 - Arquitetura CI AD9854 [11]

2.5.4 Erro de Quantizao


Na arquitetura DDS existe dois tipos de erros de quantizao: um de fase e
outro de amplitude. O erro da quantizao de fase ocorre quando a informao de fase
truncada (reduo no nmero de bits) na sada do acumulador de fase. Esse
truncamento quase sempre necessrio, pois o nmero das posies de dados das
tabelas geralmente menor do que o nmero de combinaes que a palavra binria de
sada pode obter. Um exemplo desse tipo de erro mostrado na roda de fase
ilustrada na Figura 8 [13]. Nesse caso necessrio o truncamento do acumulador de
fase que possui tamanho de 7 bits, enquanto a tabela possui 4 bits de endereo (16
palavras). Essa quantizao de fase acrescenta rudo no sinal de fase e isso produz uma
componente espectral desnecessria na sada do gerador de sinais. Esse tipo de erro
ocorre no projeto, pois a palavra do acumulador de fase possui 42 bits enquanto as
tabelas possuem 11 bits de endereo.
20

Figura 8 - Exemplo de roda de fase [13].

Nesse projeto no ocorreu o erro de quantizao de amplitude, uma vez que o


erro de quantizao de amplitude ocorre quando o nmero de bits da palavra da tabela
tem que ser truncado para possuir o mesmo nmero de bits do DAC.
Considere a Figura 9 [14] no qual um DAC de resoluo de 4 bits usado para
reconstruir uma senide. As linhas verticais representam o perodo de amostragem.
Observa-se o desvio entre o sinal de sada do DAC e a senide perfeita. A distncia
vertical entre o sinal de sada e a senide perfeita o erro introduzido pelo DAC como
consequncia da resoluo finita desse conversor, caracterizando erro de quantizao.
21

Figura 9 - Efeito da resoluo de 4 bits do DAC [14]


Quando a resoluo do DAC aumenta, a distoro da quantizao reduzida,
isto pode ser verificado quando se compara o espectro de frequncia (magnitude) de
um DAC de 4 bits de resoluo da Figura 10 [14] com outro DAC de 8 bits de
resoluo da Figura 11 [14]. Na Figura 10 se observa a existncia de muitos
harmnicos de grande magnitude, que aparecem devido forma distorcida da senide
(4 bits), se comparada com os harmnicos de menor magnitude, Figura 11, agora
obtidos a partir de uma senide de 8 bits.

Figura 10 - Espectro de sada para um DAC de 4 bits (4-Bit Dac Spectrum) [14]. Temos a magnitude
normalizada (Normalized Magnitude) versus a frequncia relativa (Relative Frequency).
22

Figura 11 - Espectro de sada para um DAC de 8 bits (8-Bit Dac Spectrum) [14]. Temos a magnitude
normalizada (Normalized Magnitude) versus a frequncia relativa (Relative Frequency).

2.5.5 Teorema de Amostragem


Para converter sinal contnuo (analgico) em um sinal discreto (digital), usa-se
o processo chamado amostragem. Nesse processo, em certos intervalos de tempo so
amostrados dados do sinal contnuo. O perodo T de amostragem, perodo entre
amostras, fixado para facilitar a interpretao do sinal amostrado. Quando um sinal
analgico amostrado em certa frequncia Fa, isso resulta no fenmeno de
desdobramento espectral onde a banda base do sinal repetida e deslocada em
mltiplos inteiros de F (tanto para valores positivos como negativos). Se, por exemplo,
um sinal de largura de banda F for reproduzido a uma taxa de amostragem de Fa, o
espectro do sinal amostrado contm cpias do espectro original com frequncias
mltiplas da frequncia de amostragem: 0, Fa, 2Fa, 3Fa, 4Fa...
Segundo o Teorema de Amostragem, um sinal limitado em frequncia com
energia finita, no tendo componente espectral acima de uma frequncia Fm, a taxa de
amostragem Fa desse sinal, para que possa posteriormente ser reconstrudo
perfeitamente (sob o ponto de vista terico), deve ser igual ou maior que duas vezes a
maior frequncia do espectro desse sinal Fa 2Fm. Define-se, tambm, que a metade
23

da taxa de amostragem chamada de taxa de Nyquist e corresponde ao limite mximo


de frequncia do sinal que pode ser reproduzido.
Assim, para a amostragem, a fim de garantir que o sinal seja limitado em banda
(exigncia do Teorema da Amostragem), deve-se pr-filtrar esse sinal com um filtro
passa-baixas com frequncia de corte menor que a frequncia de Nyquist. Esse filtro
chamado de filtro anti-aliasing.
Na reconstruo de um sinal analgico, a partir de um sinal digital, realizada a
decodificao e a converso do sinal digital para um sinal analgico em amostras
PAM (Pulse-Amplitude Modulation). Depois, feita a filtragem do sinal PAM por um
filtro passa-baixa com a frequncia de corte igual frequncia de Nyquist.
24

3 RECURSOS UTILIZADOS

Este captulo descreve o Kit FPGA e seus recursos usados nesse projeto do
gerador de sinais. Alm disso, esse captulo descreve a ferramenta de criao de
interfaces grficas com os usurios (GUIs) no MATLAB.

3.1 Spartan-3E Starter Kit


Para a elaborao desse gerador de sinais foi usado o Kit FPGA do modelo
Spartan-3E Starter Kit, como mostrado na Figura 12 [7], baseado na FPGA SPARTAN
XC3S500FG da XILINX. A FPGA possui como caractersticas 10.476 clulas
lgicas e 232 pinos de entrada e sada. Os principais recursos contidos na placa desse
Kit FPGA so:
64 MByte (512 Mbit) de DDR SDRAM, interface de dados x16;
16 MByte (128 Mbit) de NOR Flash paralela (Intel StrataFlash);
16 Mbit de Flash SPI;
LCD de 2 linhas por 16 caracteres;
Porta PS/2 para mouse ou teclado;
Porta para monitor VGA;
Porta Ethernet 10/100;
2 portas de 9 pinos RS-232 (DTE e DCE);
Porta USB para carregar a FPGA/CPLD e interface de depurao;
Oscilador de 50 MHz;
4 sadas para um conversor D/A baseado em SPI;
2 entradas para um conversor A/D com pr-amplificador de ganho
programvel baseado em SPI;
Potencimetro digital com chave sem reteno;
8 LEDs;
4 chaves deslizantes;
4 chaves sem reteno;
Entrada para oscilador SMA;
25

Entrada para oscilador DIP de 8 pinos.

Figura 12 - Spartan-3E Starter Kit [7]


Os componentes do Kit FPGA utilizados nesse projeto so: o DAC, a porta
serial DCE RS-232, 5 botes do tipo push buttons, duas chaves deslizantes e um
potencimetro digital.

3.1.1 DAC
O Spartan-3E Starter Kit possui o CI LTC2624 [1], mostrado na Figura 13 [7],
que responsvel pela converso DAC com resoluo de 12 bits. Esse conversor
possui 6 pinos de sada. O pino VCC possui a tenso fixa de 3,3V, o GND a tenso
de referncia do Kit FPGA e os pinos A, B, C e D so os pinos de sada. Os pinos A e
B possuem como referncia a tenso de 3,3V 5%, enquanto os pinos C e D possuem
como referncia a tenso de 2,5V 5%.
Para usar esse conversor DAC, usa-se a comunicao serial SPI. Nessa
comunicao o dispositivo mestre a prpria FPGA, que estabelece o valor de relgio
26

(SPI_SCK) e transmite dados de forma serial (SPI_MOSI) para o dispositivo escravo,


que no caso o DAC. Ao mesmo que recebem dados da FPGA, o DAC envia dados na
forma serial (SPI_MISO) de volta FPGA.

Figura 13 - Pinos de sada do DAC e o CI LTC2624 [7]

Depois que o DAC_CS passa para nvel baixo, a FPGA transmite dados no
barramento SPI_MOSI, que envia primeiramente o bit mais significativo dos 32 bits
do protocolo que o CI LTC2624 suporta. Esse chip captura o dado do SPI_MOSI na
subida de relgio SPI_SCK e a taxa de relgio mxima que o DAC suporta de
50MHz. O LTC2624, por sua vez, transmite dados pelo SPI_MISO na descida de
relgio do SPI_SCK [7].
Depois que a palavra de 32 bits for transmitida, o DAC_CS passa para o nvel
lgico alto. Esses detalhes da comunicao da FPGA com o DAC podem ser
verificados na Figura 14 [7].
27

Figura 14 - Detalhes da transmisso SPI no DAC [7]

Dentro do DAC, a interface SPI formada por um registrador de


deslocamento de 32 bits. E a palavra que esse registrador armazena contm a palavra
de 12 bits de dados, que corresponde a 4096 nveis possveis de tenso.
O quadro do protocolo para o DAC est ilustrado na Figura 15 [7]. Dos 32 bits
do quadro, os 8 bits mais significativos e os 4 bits menos significativos so dont care.
Os 4 bits referentes ao campo COMMAND consistem em operaes de escrever e de
atualizao e, nesse projeto, foi preenchido como COMMAND[3:0]=0011, que
atualiza imediatamente a sada DAC com o valor de dados especificado no quadro. O
campo ADDRESS indica, como se v na Figura 15 [7], os canais que devero ser
usados na sada do DAC que, no caso desse gerador de sinais, DAC[3:0]=1111. E o
campo DATA representa a palavra de 12 bits de dados para a converso digital-
analgica.

Figura 15 - Protocolo de comunicao do SPI para o DAC do CI LTC2624 [7].


Alm do DAC, O barramento SPI do Kit FPGA compartilhado com o
circuito de captao analgica do Kit FPGA. Na Figura 16 [7], podem ser observados
28

esquerda os pinos de entrada da captao analgica, assim como os seus dois CIs
integrantes: o LTC1407A-1 Dual A/D [18] e o LTC6912-1 Dual Amp [16]. O Spartan-
3E Starter Kit possui captura analgica, como se v na figura 16 [7], sendo que cada
canal afetado pelo pr-amplificador de ganho programado digitalmente. O sistema
conta tambm com um conversor analgico para digital, ou em ingls Analog to
Digital Converter (ADC).

Figura 16 - Circuito de Captao Analgica [7]

3.1.2 Chave Deslizante


Esse Kit FPGA disponibiliza 4 chaves deslizantes. Quando est na posio
HIGH, a chave conecta FPGA com a tenso de 3,3V, isto , o nvel lgico alto. E
quando a chave est na posio LOW ela conectada FPGA com a tenso de
referncia GND da placa, correspondendo o nvel lgico baixo. A figura 17 [7] mostra
essas 4 chaves que o Kit FPGA possui.
29

Figura 17 - As 4 chaves deslizantes do Kit FPGA [7]

3.1.3 Chave Push-Button


O Kit FPGA possui 4 chaves do tipo push-button e, nesse caso, so nomeadas
como BTN_NORTH, BTN_WEST, BTN_EAST e BTN_SOUTH (botes norte, oeste,
leste e sul) como pode-se ver na Figura 18 [7]. O tipo de chave push-button tambm
conhecido como chave sem reteno.

Figura 18 - Chaves push-button e o potencimetro digital [7].


30

Quando esse tipo de chave pressionado, o pino correspondente FPGA recebe


a tenso de 3,3V (nvel lgico alto), como pode ser visto na Figura 19 [7], o push-
button associado a um resistor do tipo pull-down. E quando a chave no for
pressionada, a FPGA recebe o nvel lgico baixo.

Figura 19 - Resistor pull-down associado ao push-button [7].

3.1.4 Chave Rotary Push-Button


A chave rotary push-button presente na placa do Kit FPGA est indicada no
centro da Figura 18 [7]. Essa chave possui duas funes: potencimetro digital e outra
chave push-button.
Quando essa chave tem a funo de potencimetro digital, seu funcionamento
baseado em um contador que incrementa e decrementa de acordo com o sentido de
giro definido pelo programador. Na rotao desse potencimetro, duas chaves do tipo
push-button operam dependendo do sentido de giro do potencimetro, uma chave
fecha antes da outra. Quando no h giro da chave, as duas esto fechadas e, nesse
caso, gera-se o nvel lgico baixo. Essa operao pode ser exemplificada na Figura 20
[7].
31

Figura 20 - Circuito do potencimetro digital [7]. O resistor pull-up de cada pino de entrada gera 1 quando a
chave est aberta.

3.1.5 RS-232 DCE


Esse Kit FPGA possui duas portas seriais RS-232: uma fmea (conector DCE) e
um macho (conector DTE). Esses conectores RS-232 mencionados esto ilustrados na
Figura 21 [7]. Como no desenvolvimento desse projeto foi necessrio apenas o uso do
conector DCE apenas ser mostrado o funcionamento do conector DCE.
32

Figura 21 - Localizao das portas DCE e DTE [7].

Como pode ser visto na Figura 21 [7], os pinos R7 e M14 da FPGA so ligados
ao mdulo Maxim. Esse mdulo faz a converso dos valores lgicos da FPGA do pino
M14 para valores de tenses apropriados da porta RS-232 e, tambm, faz a converso
dos valores de tenses da porta serial para nveis lgicos para o pino M14.

3.2 Interfaces Grficas com Usurio no MATLAB


Para controlar o gerador de sinais de maneira fcil, foi usada nesse projeto uma
interface grfica GUI (Grafical User Interface), disponibilizada pelo MATLAB. A
importncia do seu uso para permitir que o acesso ao gerador de sinais possa ser
realizado por pessoas sem nenhum conhecimento em MATLAB [8].
33

3.2.1 Criao da GUI


Existem dois modos de se criar uma GUI, que so: criando diretamente por
linha de comando e, simplificando drasticamente a tarefa, o uso da funo GUIDE.
O GUIDE (Graphical User Interface Development Environment) um
ambiente de criao de interfaces grficas. Esse ambiente fornece um conjunto de
ferramentas para a criao de GUIs. Estas ferramentas simplificam o processo de
diagramao e programao de interfaces grficas. A tela inicial da criao de uma
GUI mostrada na Figura 22. Quando se cria uma GUI no GUIDE, este se encarrega
de criar dois arquivos: o arquivo de corpo da interface grfica, que salvo em uma
extenso .fig e o arquivo que contm as funes que controlam a GUI, este arquivo
salvo na extenso .m do MATLAB.

Figura 22 - Tela inicial do GUIDE


3.2.2 Programando a GUI
Podemos trabalhar facilmente a GUI colocando objetos como botes e caixas
de texto diretamente na rea de layout. Quando um objeto criado devem-se
programar as aes atribudas a esse objeto para que se tenha interao com o usurio.
34

Para cada objeto criado, pode-se gerar uma funo callback no arquivo de
extenso .m. E a ao desse objeto ser determinada pelo objeto criado e com as
atribuies realizadas por esse objeto no arquivo .m.
35

4 DESENVOLVIMENTO

4.1 Kit FPGA


Essa seo mostra a implementao dos recursos do Kit FPGA para o controle
do gerador de sinais.
O controle das funes atribudas a esse gerador pode ser executado ou via
chaves disponveis do Kit FPGA ou via computador.

4.1.1 Controle do Gerador de Sinais


O diagrama de blocos da Figura 23 mostra o funcionamento do gerador de
sinais desenvolvido. Para o controle da frequncia, o salto de fase somado ao
registrador de fase, permitindo, dessa forma, o incremento na roda de fase que, depois
do truncamento, acessa as palavras das tabelas de onda. Para o controle atravs do Kit
FPGA, pode-se incrementar ou decrementar usando as chaves BTN_EAST e
BTN_WEST, respectivamente. E esse incremento e decremento de frequncia pode ser
de 10Hz, 100Hz, 1KHz e 5KHz, que pode ser selecionado com as chaves deslizantes
SW0 e SW1.

Figura 23 - Diagrama de Blocos do gerador de sinais desenvolvido.


Para controlar a forma de onda atravs do Kit FPGA, usa-se a chave
BTN_NORTH, no qual ser controlado por um contador de tamanho 3. Nesse
controle, selecionado se o gerador de sinais vai obter na sada uma onda senoidal,
triangular ou quadrada.
No controle da amplitude no Kit FPGA, usa-se o potencimetro digital que
especifica o valor a ser multiplicado da palavra selecionada nas tabelas. O aumento da
36

amplitude da onda gerada ocorre quando o potencimetro digital girado no sentido


horrio e a reduo da onda ocorre quando se gira no sentido anti-horrio.
Alm disso, possvel ativar o reset atravs do BTN_SOUTH que resultaria em
uma onda do tipo senoidal, com frequncia de 10KHz e com Vpp de 3,35%, para os
canais A e B do DAC e 2,5V5%, para os canais C e D.

4.1.2 Barramento SPI


Como se verifica na atribuio ao spi_clk na Figura 24, o uso do barramento
SPI nesse projeto foi explorado com a mxima frequncia possvel, isto , 50MHz
(clk). Alm disso, o uso do SPI exclusivo para o DAC nesse projeto.
No estado spi_s1, da mquina de estados que representa esse barramento SPI,
os 32 bits do quadro da palavra do SPI so enviados via spi_mosi para o CI LTC2624,
como se v no cdigo da Figura 24. Quando o contador cont possui o valor inteiro 31,
o registrador reg_spi carregado com os 32 bits do prximo quadro que vo ser
enviados de forma serial atravs do sinal spi_mosi para o DAC. No estado spi_s0 o
dac_cs recebe o nvel lgico 1 que interrompe o envio de dados para o DAC por um
ciclo de relgio. J no estado spi_s1, o dac_cs recebe o nvel lgico 0, que permite ao
DAC receber o quadro de 32 bits de dados.

Figura 24 - Envio do quadro de dados do SPI no estado spi_s1 para o DAC.

4.1.3 Clculo da Frequncia


Para controlar a frequncia desse gerador de sinais, realizado o clculo do
salto de fase, que pode ser tratado nessa arquitetura DDS como a palavra de sintonia.
Como a onda quadrada no precisa de Lookup table, por possuir dois nveis de tenso
37

apenas, usa-se o contador para fazer a comparao de cada meio ciclo de onda.
Portanto, para gerar a frequncia desejada nesse projeto usou-se

(2)

para o clculo do salto de fase. Nessa equao o a palavra de sintonia

para o controle da frequncia, a frequncia desejada na sada da arquitetura DDS


representada por , o nmero de bits de endereo das tabelas e o

relgio de referncia.
Como foi adotado tabelas de tamanho 2048 (11 bits de endereo) e a
frequncia de referncia usada foi de 50MHz (relgio da placa do Kit FPGA), a
equao 2 especificamente para esse projeto resultaria em
(3).

A constante de valor 0,00135168 foi multiplicada por 2, isto representa em


binrio que essa constante foi deslocada 32 vezes para esquerda. Isso facilita a
descrio em VHDL, pois elimina o uso do ponto flutuante. Depois, usa-se o
truncamento de 11 bits para acessar o endereo da Lookup Table. Essa maneira de
controle de frequncia foi bem satisfatria, pois resultou em uma preciso boa, erro
desprezvel em relao a frequncia desejada, na forma de onda gerada. A Figura 25
mostra a descrio do processo que realiza esse clculo.

Figura 25 - Cdigo do clculo do salto de fase

.
38

4.1.4 Recepo do RS-232 DCE


O Kit FPGA recebe dados do PC via RS-232 DCE. Foi definido para essa
recepo assncrona uma taxa de 115,2KHz, 7 bits de dados, um bit de parada
(mximo valor em geral admitido pelas UARTs dos computadores pessoais). Como o
Kit FPGA tem que receber os dados de forma assncrona, dois temporizadores foram
criados: count e half_count. O temporizador count possui o tempo de estouro de um
bit recebido e o outro a metade desse tempo. Alm disso, um contador counter foi
criado para recepo dos dados [12].
Como a mquina de estados da recepo atua com o relgio de 50MHz e taxa
de recepo de 115,2KHz, para a criao do temporizador count foi usado um
contador de 434, enquanto que para o temporizador half_count foi usado um
temporizador de 217. A criao desses temporizadores foi necessria para que as
amostragens do sinal rs232_dce_rxd sejam feita na metade de durao de cada bit na
comunicao serial estabelecida. Essa comunicao pode ser ilustrada na Figura 26
[12].

Figura 26 - Diagrama temporal de amostragem [12]

A mquina de estados que representa essa recepo est ilustrada na Figura 27.
No primeiro estado dessa mquina, o estado rx_s0, o contador counter recebe o valor
7 e esse estado espera o sinal rs232_dce_rxd estar no nvel lgico 0 passar para o
estado rx_s1. A mquina de estados espera o fim da temporizao do half_count, que
tem a finalidade de receber na metade de recepo de cada bit de dado, para passar
39

para o estado rx_s2. Neste estado, o contador counter decrementado a cada tempo
equivalente a temporizao do count e, enquanto isso, a palavra de dados recebida.
Quando esse contador counter estiver em 0, o estado passar para rx_s3 que aguarda a
temporizao do half_count terminar para ir para o estado rx_s0.

Figura 27 - Mquina de estados da recepo

4.2 MATLAB
Essa seo mostra a realizao da comunicao do ambiente MATLAB com o
Kit FPGA e a interface grfica criada por esse ambiente.

4.2.1 Comunicao
Os parmetros bsicos configurados para a comunicao RS-232 entre o Kit
FPGA e o PC so: taxa de transmisso, tamanho da palavra, bit de paridade, tamanho
de bit de parada e controle de fluxo. Para a criao dessa comunicao, foi
parametrizado da seguinte forma [12]:
Taxa de transmisso: 115,2Kbit/s;
Tamanho da palavra: 7 bits;
Bit de paridade: nenhum;
40

Tamanho do bit de parada: 1 bit;


Controle de fluxo: nenhum.
E para a criao dos parmetros bsicos do objeto serial, tem-se o cdigo no
ambiente MATLAB da Figura 28.

Figura 28 - Criao do objeto serial e parmetros bsicos da comunicao

4.2.2 Controle do Gerador de Sinais


Para o controle das funes do gerador de sinais desenvolvido, foi usada
interface grfica no PC. No controle da frequncia, se criou 8 objetos do tipo push
button, como se v na Figura 29.

Figura 29 - Interface grfica do gerador de sinais


41

Para controlar a forma de onda, realiza-se uma multiplexao no controle por


computador pessoal, que seleciona ou a onda quadrada, ou a onda triangular ou a onda
senoidal, dependendo do desejo do usurio. Na interface grfica do MATLAB, usa-
se o menu pop-up, mostrado na Figura 29.
Na interface grfica do MATLAB, o controle da amplitude realizado via
dois objetos, um de incremento e outro de decremento, do tipo push button, como se
pode ver na Figura 29. A amplitude da onda possui 9 nveis possveis. E o controle do
offset realizado, tambm, por um push-button.
Alm disso, para flexibilizar o controle do projeto, existe a alternativa de se
fazer o controle desse projeto ou pelo PC ou pela placa do Kit FPGA. Usa-se para isso
um menu pop-up indicando o controle via PC, nomeado como REMOTO, ou via Kit
FPGA, nomeado como FPGA.
42

5 RESULTADOS E ESPECIFICAES

5.1 Introduo
Esse captulo apresenta os resultados obtidos nas formas de onda com a sntese
desse gerador de sinais.

5.2 Ambientes de Testes


Os testes foram feitos no Laboratrio de Sistemas Neurais CISNE da UFES.
Para testar os resultados do projeto usaram-se os seguintes equipamentos:
PC;
Kit FPGA;
Cabo serial RS-232 direto;
Osciloscpio digital.
No Kit FPGA foi sintetizado o projeto do gerador de sinais que foi ligado ao
PC via RS-232. No PC foi carregado o script do MATLAB juntamente com a sua
interface grfica do gerador de sinais. No Kit FPGA, o pino D com o pino GND e,
tambm, o pino A com o pino GND do conversor DAC foram conectados para a
visualizao do sinal no osciloscpio digital Tektronix TDS 1002 que opera com a
largura de banda de at 60MHz e taxa de amostragem de 1GS/s.

5.3 Teste da Forma de Onda


Esse gerador de sinais foi desenvolvido para gerar ondas do tipo senoidal,
triangular e quadrada. Sendo assim, na Figura 30, Figura 31 e Figura 32 as respectivas
formas de onda so mostradas atuando na frequncia de 10KHz e, na Figura 33, Figura
34 e Figura 35, os respectivos espectros de frequncia.
43

Figura 30 - Onda senoidal com frequncia de 10KHz

Figura 31 - Onda triangular com frequncia do 10KHz


44

Figura 32 - Onda quadrada com frequncia de 10KHz

Figura 33 - Espectro da onda senoidal com frequncia de 10KHz


45

Figura 34 - Espectro da onda triangular com frequncia de 10KHz

Figura 35 - Espectro da onda quadrada com frequncia de 10KHz


46

5.4 Teste da Amplitude


Os canais de sada do DAC do Kit FPGA fornecem tenses entre 0V at 3,3V
(nos canais A e B) e entre 0V at 2,5V ( nos pinos C e D) com tolerncia de 5%.
Dessa forma, a Figura 36 mostra uma onda senoidal na frequncia 5KHz com o
Vpp de 3,3V, com o uso do canal A, juntamente com uma onda de mesma frequncia,
porm com Vpp de 2,5V, com o uso do canal D.

Figura 36 - Uma onda senoidal gerada no canal A e outra no canal D na frequncia de 5KHz
47

5.5 Teste de Offset


O offset programado nesse gerador uma constante que corresponde cerca de
25% do Vpp, dessa forma nos canais A e B o valor do offset corresponde a
aproximadamente 0,83V, enquanto nos canais C e D, essa constante vale
aproximadamente 0,63V. Na Figura 37, temos a presena do offset para uma onda
triangular na frequncia de 5KHz com a sada do DAC no canal D. E, na mesma
frequncia, temos na Figura 38 a presena do offset em uma onda triangular no canal A
do DAC.

Figura 37 - Uma onda triangular com offset gerada no canal D na frequncia de 5KHz
48

Figura 38 - Uma onda triangular com offset gerada no canal A na frequncia de 5KHz

5.6 Teste da Frequncia


Nota-se com o aumento da frequncia, o aparecimento de quinas
arredondadas nos sinais gerados [12]. Dessa forma, foram analisadas maiores e
menores frequncias das ondas geradas.
5.6.1 Frequncia Mxima
O critrio usado para determinar a frequncia mxima da onda gerada desse
projeto quando comea arredondar as quinas na onda quadrada com o aumento da
frequncia [12]. Escolheu-se a onda quadrada por ser esta a mais crtica em termos de
contedo harmnico. A frequncia mxima medida, ver Figura 39, com esse critrio
foi de 43KHz. E, depois dessa constatao, foi analisado a onda triangular e a senoidal
com essa mesma frequncia, como se observa, respectivamente, na Figura 40 e na
Figura 41.
49

Figura 39 - Onda quadrada na frequncia de 43KHz

Figura 40 - Onda senoidal na frequncia de 43KHz


50

Figura 41 - Onda triangular na frequncia de 43KHz

Pode-se verificar essa distoro na anlise espectral de frequncia, como se v


na Figura 42 e na Figura 43. Verifica-se a presena de mais componentes espectrais na
onda triangular, Figura 43, do que na onda senoidal, Figura 42. Isso ocorre porque a
onda triangular, ao contrrio da onda senoidal, possui quinas nos picos e estas quinas
esto distorcidas.
51

Figura 42 - Espectro da onda senoidal na frequncia de 43KHz

Figura 43 - Espectro da onda triangular na frequncia de 43KHz


52

CONCLUSES, MELHORIAS E PROJETOS FUTUROS

Nesse trabalho foi apresentado desenvolvimento de um gerador de sinais


baseado em uma FPGA sintetizado atravs do Kit FPGA do modelo SPARTAN-3E
Starter Kit, com ncleo Xilinx XC3S500E Spartan-3E FPGA.
Esse Kit FPGA contm o DAC do CI LTC2624, que tem resoluo de 12 bits e
seu barramento SPI opera at 50MHz. Isso possibilitou que a frequncia mxima de
amostragem seja de aproximadamente 1,5MHz, pois o quadro de envio de dados do
SPI tem tamanho de 32 bits, alm do chip-select a cada quadro enviado. O Kit FPGA
tambm permitiu comunicao com o PC atravs da porta RS-232 DCE, sendo CI
Maxim que faz adaptao em nvel de tenso entre os nveis lgicos da FPGA com os
nveis lgicos da porta RS-232.
Os resultados obtidos nesse projeto foram satisfatrios, pois permitiram a
gerao de 3 formas de onda (quadrada, triangular e senoidal) com razovel preciso
na frequncia desejada. O controle desse gerador de sinais similar aos geradores de
sinais que se encontram no mercado, isto , possibilita o controle da forma de onda, da
frequncia, da amplitude e de offset.
As formas de ondas geradas possuem distores quando atuam acima de
43KHz. A limitao do hardware a principal causa do aparecimento dessas
distores. O CI LTC2624 no possui filtro na sada aps a converso digital-
analgico e o Kit FPGA no possibilita o uso de filtro na sada desse CI. Outra
limitao que, mesmo o conversor com 12 bits de preciso, possvel apenas a
gerao de ondas de Vpp de 3,3V (canais A e B do DAC) e de Vpp de 2,5V (canais C
e D do DAC).
Uma alternativa de melhoria seria a incluso de um circuito externo de um filtro
do tipo passa-baixa na sada dos canais do DAC para reduzir essas distores e
possibilitar a gerao desejvel de sinais com maiores frequncias. Alm disso, um CI
conversor que possibilitasse uma maior frequncia de referncia para aumentar a taxa
de amostragem. Isso vantajoso mesmo que o relgio de referncia da placa fosse
inferior ao mximo permitido do CI conversor, pois poderia ser implementado uma
53

descrio VHDL que implementaria um mdulo DCM (Direct Clock Manager) que
multiplicaria o valor da frequncia de referncia. E, tambm, proporcionaria que o
compartilhamento do barramento SPI de um DAC com um conversor ADC resultasse
em uma atuao satisfatria de ambos para a gerao das ondas.
Como projeto futuro pode-se desenvolver um gerador de formas de ondas
programvel, que descarregaria qualquer tabela criada de um sinal a partir de um
ambiente como MATLAB em uma FPGA via comunicao serial. Isso traria maior
flexibilidade ao usurio. Outra possibilidade incluir um gerador de sinais com um
osciloscpio virtual em uma nica descrio VHDL. Porm, essa incluso resultaria
uma menor taxa de amostragem por conta do compartilhamento da comunicao SPI
dos conversores ADC e DAC, especificamente para o kit de FPGA utilizado.
54

REFERNCIAS BIBLIOGRFICAS

[1] LINEAR TECHNOLOGY. LTC2604/LTC2614/LTC2624. [on line] Disponvel:


http://cds.linear.com/docs/Datasheet/2604fd.pdf [capturado em 14 de dez. 2011].
[2] Byte Paradigm. Introduction to SPI and IC protocols. [on line]. Disponvel:
http://www.byteparadigm.com/kb/article/AA-00255/22/Introduction-to-SPI-and-IC-
protocols.html [capturado em 10 de fev. 2012].
[3] CAMI Research Inc. The RS232 STANDARD. [on line]. Disponvel:
http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html [capturado em
10 de fev. 2012].
[4] fCoder Group International. RS-232 Waveforms. [on line]. Disponvel:
http://www.lookrs232.com/rs232/waveforms.htm [capturado em 12 de dez. 2011].
[5] XILINX. Xilinx ISE WebPACK Design Software. [on line]. Disponvel:
http://www.xilinx.com/ [capturado em 12 de dez. 2011].
[6] Sica, Carlos. Sistemas Automticos com Microcontroladores 8031/8051. 1 Ed.
1996.
[7] XILINX. Spartan-3E FPGA Starter Kit Board User Guide. [on line].
Disponvel:
https://www.digilentinc.com/Data/Products/S3EBOARD/S3EStarter_ug230.pdf
[capturado em 10 nov. 2011].
[8] UNESP. Construindo Interfaces Grficas com o MATLAB. [on line].
Disponivel:
http://www4.fct.unesp.br/simposios/SMAT/2010/documentos/Apostila_MC_11.pdf
[capturado em 14 dez. 2011].
[9] IEEE Long Island Section. A Technical Tutorial on Digital Signal Synthesis. [on
line]. Disponvel:
http://www.ieee.li/pdf/essay/dds.pdf [capturado em 10 de fev. de 2012].
[10] National Instruments. Understanding Direct Digital Synthensi. [on line].
Disponvel: http://zone.ni.com/devzone/cda/tut/p/id/5516. [capturado em 12 de dez. de
2011].
55

[11] Alibaba.com. AD9854/PCB. [on line]. Disponvel:


http://www.alibaba.com/product-gs/366021337/AD9854_PCB.html. [capturado em 12
de dez. de 2011].
[12] Medeiros, I. Z. PROJETO DE UM OSCILOSCPIO VIRTUAL
BASEADOEM UMA FPGA, Projeto de Graduao - DEL - CT- UFES, julho de
2009.
[13] Zs. Ppay. DDS Technology. [on line]. Disponvel:
http://www.hit.bme.hu/~papay/sci/DDS/start.htm. [capturado em 11 de dez. de 2011].
[14] Departamento de Eletrnica e Microeletrnica da UNICAMP. DDS Digital
Direct Synthensis. [on line]. Disponvel:
http://www.demic.fee.unicamp.br/~elnatan/ee610/23a%20Aula.pdf. [capturado em 1
de dez. de 2011].
[15] LINEAR TECHNOLOGY. LTC1407-1/LTC1407A-1. [on line] Disponvel:
http://cds.linear.com/docs/Datasheet/14071fb.pdf. [capturado em 22 de dez. 2011].
[16] LINEAR TECHNOLOGY. LTC6912. [on line] Disponvel:
http://cds.linear.com/docs/Datasheet/6912fa.pdf. [capturado em 22 de dez. 2011].

Você também pode gostar