frequencímetro instrumentação eletrônica daniel wanderley honda fernanda palhano xavier de...
TRANSCRIPT
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