Escolar Documentos
Profissional Documentos
Cultura Documentos
CENTRO TECNOLGICO
DEPARTAMENTO DE ENGENHARIA ELTRICA
PROJETO DE GRADUAO
VITRIA ES
DEZEMBRO/2011
JOO MARCOS DOS SANTOS SOUZA
VITRIA ES
DEZEMBRO/2011
JOO MARCOS DOS SANTOS SOUZA
COMISSO EXAMINADORA:
___________________________________
Prof. Dr. Evandro Ottoni Teatini Salles,
Orientador
___________________________________
Prof. Dr. Andr Ferreira
Examinador
___________________________________
Prof. Dr. Anselmo Frizera Neto
Examinador
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
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.
2 CONSIDERAES INICIAIS
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
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].
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.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].
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
bsica que tenha NCO, usa-se (1) em que representa o salto de fase, o
fase,
. (1)
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).
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.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
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
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 20 - Circuito do potencimetro digital [7]. O resistor pull-up de cada pino de entrada gera 1 quando a
chave est aberta.
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.
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
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)
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).
.
38
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.
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
5 RESULTADOS E ESPECIFICAES
5.1 Introduo
Esse captulo apresenta os resultados obtidos nas formas de onda com a sntese
desse gerador de sinais.
Figura 36 - Uma onda senoidal gerada no canal A e outra no canal D na frequncia de 5KHz
47
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
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