Elektroda.pl
Elektroda.pl
X
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Miernik częstotliwości program VHDL - Spartan 3

29 Gru 2008 15:23 3586 13
  • Poziom 9  
    Witam
    Mam do zaprojektowania miernik częstotliwości, który ma wykonywać pomiar nie wykorzystując "metody bramkowej" (wyznaczania przy pomocy wbudowanego zegara bramki czasowej o długości np. 1s i zliczania w tym czasie ilości impulsów). Jak inaczej można dokonać pomiaru. Chodzi mi tu o ideę programu. Układ dla którego wykonuje projekt to Spartan 3. Generator kwarcowy 50MHz.
    Jeżeli jest ktoś w stanie mi pomóc to z góry dzięki. Jak do tej pory przychodzi mi do głowy jedynie wcześniej wspomniana "metoda bramkowa" którą już kiedyś wykorzystałem do takiego miernika.
  • PCBway
  • Poziom 11  
    metoda bramkowa masz na mysli ze "licznik zlicza iles tam impulsow by byla 1s" i wtedy sprawdzasz stan zliczonych impulsow ? zreszta nei wiem po co robic inna metoda jesli ta jest sprawdzona :P
  • Poziom 9  
    Lukian21 napisał:
    metoda bramkowa masz na mysli ze "licznik zlicza iles tam impulsow by byla 1s" i wtedy sprawdzasz stan zliczonych impulsow ? zreszta nei wiem po co robic inna metoda jesli ta jest sprawdzona :P


    Wspominając o metodzie bramkowej miałem na myśli sposób jaki opisałeś. Muszę zrobić to inną metodą ponieważ metoda bramkowa ma podobno mniejszą dokładność ( tak powiedział opiekun mojego projektu). Projekt ten wykonuje w ramach zaliczenia na uczelni...
  • PCBway
  • Poziom 27  
    majm napisał:
    /.../Muszę zrobić to inną metodą/.../

    mysle, ze powinienes z opiekunem projektu wyjasnic, co mozesz,
    a czego nie mozesz wykorzystac;
    w zasadzie kazdy pomiar w elektronice cyfrowej opiera
    sie na zliczeniu okreslonych impulsow w czasie jakiejs
    bramki; roznice sa w zliczanych impulsach i sposobie
    generowania bramki;
    a moze masz to zrobic analogowo i w fpga tylko przetworzyc
    wynik na wyswietlacz ?

    J.A
  • Poziom 14  
    mam taki oto prosty (choć dość abstrakcyjny) pomysł:

    zbuduj generator o przestrajanej częstotliwości w zakresie jakim chcesz prowadzić pomiar. następnie przestrajaj go o zadany krok w stałym odstępie czasu. zbocze uzyskanego sygnału porównuj ze zboczami sygnału pomiarowego. jeśli uzyskasz pełną zgodność to na podstawie wiadomości o ustawionej częstotliwości na generatorze uzyskasz wynik o częstotliwości pomiarowej :)

    poza tym trochę poszperałem i okazuje się że nie do końca wszystkie metody pomiaru częstotliwości opierają się na pomiarze poprzez bramkowanie. istnieje również od groma metod opartych na pomiarach odstępu czasu (metoda ekspansji czasu, metoda podwójnego noniusza). ostatnia z nich jest wyczerpująco opisana (i zaimplementowana w FPGA!) w rozprawie rozprawie
    lektura godna polecenia:)
  • Poziom 42  
    _greis_ napisał:
    zbuduj generator o przestrajanej częstotliwości w zakresie jakim chcesz prowadzić pomiar. następnie przestrajaj go o zadany krok w stałym odstępie czasu. zbocze uzyskanego sygnału porównuj ze zboczami sygnału pomiarowego. jeśli uzyskasz pełną zgodność to na podstawie wiadomości o ustawionej częstotliwości na generatorze uzyskasz wynik o częstotliwości pomiarowej :)
    To nie jest zbyt abstrakcyjny pomysł, dokładnie w ten sposób działa PLL.
  • Poziom 14  
    Cytat:
    w ten sposób działa PLL


    jasne, tylko tu poruszamy zagadnienie implementacji w układzie cyfrowym. pll to w uproszczeniu detektor przesunięcia fazowego plus filtr dolnoprzepustowy. natomiast ja miałem na myśli proste porównanie dwóch przebiegów na podstawie wiadomości o ich zboczach.
    detektor fazy (np w postaci bramki xor) byłby potrzebny jesli chcielibyśmy zsynchronizować dwa sygnały. w tym przypadku wystarczy zliczyć ilość taktów pomiędzy zboczami sygnałów mierzonych i odpowiednio wykorzystać wynik tej operacji.
  • Poziom 16  
    zmierz okres i przelicz tak działa wiele profesjonalnych mierników częstotliwości
  • Poziom 9  
    uhu napisał:
    zmierz okres i przelicz tak działa wiele profesjonalnych mierników częstotliwości


    Wypróbuję tą metodę na razię, mam tylko jedno trywialne pytanie.
    Jak wykonać dzielenie w układzie Spartana, bo w przeszłości miałem problem z wykorzystaneim tej funkcji.
  • Poziom 14  
    zagadnienie o podobnej tematyce ( i podobnymi trudnosciami) było roziwijane nie tak dawno tu

    ps. metoda pomiaru okresu i przeliczania taktów zegara jest również metodą bramkową (bramkujesz sygnał zegara a nie sygnał mierzony)
  • Poziom 23  
    Witam


    Znalazłem w miesięczniku Elektor 1/1993 opis metody
    pomiaru częstotliwości na zasadzie odwróconego zliczania
    impulsów. Polega to na tym, że w zadanym czasie bramkowania
    mierzymy jednocześnie częstotliwość wzorcową i mierzoną.
    Następnie obliczamy fwe przez podzielenie stanów dwóch liczników
    a następnie pomnożenie rezultatu przez częstotliwość wzorcową.
    Metoda ta ma umożliwiać pomiar niskich częstotliwości z dużą
    dokładnością.
  • Poziom 14  
    zgadza się bo przecież:
    T=Nclk/fclk=Nx/fx => fx= Nx/Nclk*fclk

    tylko w jaki sposób zamierzasz zaimplemetować dzielenie zmiennoprzecinkowe (Nclk>>Nx)?
  • Poziom 9  
    _greis_ napisał:

    tylko w jaki sposób zamierzasz zaimplemetować dzielenie zmiennoprzecinkowe (Nclk>>Nx)?


    Tu właśnie jest sedno sprawy poruszone. Wie ktoś może jak należy wykonać dzielenie dla dużych liczb?
  • Poziom 27  
    majm napisał:
    /.../Wie ktoś może jak należy wykonać dzielenie/.../

    opisalem pomysl [zarys pomyslu] pomiaru czestotliwosci bez koniecznosci
    dzielenia [a w kazdym razie bez dzielenia 'on-line' w fpga] w watku:
    Miernik częstotliwości program VHDL;
    moze sam opis jest troche metny, ale idea - jesli sie ja w koncu
    mimo slabosci opisu zrozumie - jest prosta i latwa, jestem gotow pomoc
    w jej realizacji jesli bys sie na ten sposob zdecydowal;
    ---------------
    calkowita prywata i 'off-topic', mam nadzieje, ze moderatorzy
    mi wybacza:
    trzymajcie za mnie jutro kciuki znajomi i uzytkownicy elektrody ... :)

    J.A