Frequencímetro Instrumentação eletrônica Daniel Wanderley Honda Fernanda Palhano Xavier de...
Transcript of Frequencímetro Instrumentação eletrônica Daniel Wanderley Honda Fernanda Palhano Xavier de...
Frequencímetro
Instrumentação eletrônica
Daniel Wanderley HondaFernanda Palhano Xavier de Fontes
Sumário
• Objetivos• Métodos utilizados• Método 1• Método 2• Visualização do resultado• Implementação
2
Objetivos
• Realizar um frequencímetro digital• Medir frequências entre 1 Hz e 10 MHz com
atualização de no máximo 2 segundos• Indicar erro no caso de frequências fora da
faixa mesurável• Mudar de gama (Hz, KHz, MHz)
automaticamente
3
Objetivos
• Projeto realizado em VHDL utilizando o programa Xlinx
• Implementado em FPGA Pegasus Digilent Spartan II
4
Métodos utilizados
• Para o cálculo da frequência podem ser utilizados dois métodos:– Contagem das transições do estado baixo para o
estado alto durante um pulso de 1 segundo
5
Métodos utilizados
• Contagem dos pulsos do clock (50 MHz) entre duas transições do estado baixo para o estado alto do sinal de entrada. Em seguida, divisão de 50.000.000 por esse número
6
Método 1
– Blocos utilizados• “creation_etalon’’• “calcul_frequence”• “sch_affichage”
7
Método 1
• “Creation_etalon”
Entradas Entree: Sinal a ser medidoclk: clock de 50 MHzrst: reset
Saídasetalon: sinal de período igual a 2 segundos e ciclo de trabalho de 50%ce: sinal de ativação dos contadores
8
Método 1
• “Calcul_frequence”
9
Método 1
• “ensemble_compteur”
- 8 contadores de 0 à 9 em cascata- Contagem até 99.999.999- Sincronização dos contadores feita através do uso de portas AND- Quando pg = 1 e ce = 1 o contador seguinte é ativado- Resultado em 32 bits
10
Método 1
• “Memoire” e “Detecteur_descendant”
-Transição do estado alto para o estado baixo do sinal etalon ativa a memória - Os contadores devem recomeçar a contar : o mesmo sinal utilizado para ativação da memória, mas com um pequeno retardo introduzido por um flip-flop D
11
Método 1
• “Comparateur”
Entradas clk: clock de 50 MHzE0 à E7: resultado de cada contador
Saídasp1 à p3: ponto b1 à b3: gama de frequência (Hz, KHz ou MHz)aff1 à aff4: valores a serem mostrados nos displays 7 segmentos 12
Método 1
13
Método 1- Simulação
14
– Para este método utilizaremos 3 blocos funcionais: “autorisation”, “compteur” e “ diviseur2”;
15
Método 2
– O bloco “autorisation” tem como objetivo fornecer ao contador a autorização de contar entre dois pulsos de subida sucessivos do sinal de entrada;
16
Método 2
- O bloco “compteur” tem como objetivo contar os pulsos de subida do sinal de referência enquanto o sinal de “autorisation” estiver no nível alto;
17
Método 2
- O bloco “diviseur2” realiza a divisão de 50.000.000 por um número;
18
Método 2
- Para efetuar a divisão utilizamos uma máquina de estado;
19
Método 2
• Simulação:– s_nb_temp: resultado temporário do contador;– nb: resultado final do contador;
20
Visualização do resultado
• “sch_affichage”
21
Visualização do resultado
• “afficheur”
- clock da máquina de estado = 1 KHz- máquina de 4 estados que permite acender cada display de maneira circular
E0
E2
E1E3
sig1 = 0valeur = aff4point = 1
sig2= 0valeur = aff3point = p3
sig3 = 0valeur = aff2point = p2
sig4= 0valeur = aff1point = p1
22
• Implementação:– Utilização completa da memória disponível no
FPGA:
– Efetuar a divisão diretamente em BCD para não utilizar o decodificador BCD, possibilitando assim a implementação dos dois métodos simultaneamente;
23