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

Jak zbudować cyfrowy PLL do zwiększania częstotliwości?

30 Sty 2008 14:03 3117 4
  • Poziom 2  
    Potrzebny mi jest układ cyfrowej pętli sprzężenia fazowego (tzw. ADPLL), którego zadaniem było by zwiększenie częstotliwości sygnału wejściowego z poziomu 1 Hz do poziomu 1 kHz, oczywiście z zachowaniem zerowego (lub stałego w czasie) przesunięcia między sygnałami. Takich układów zastosowanych zostało by kilka, i dla każdego sygnałem wejściowym był by sygnał 1 PPS pochodzący od odbiornika GPS, a wyjściowym sygnał sterujący przetwornikiem A/C. W wyniku tego można by otrzymać synchronicznie próbkowanie przebiegów na dużym obszarze. Krótko mówiąc idea jest taka, że wszystkie przetworniki A/C będą próbkować jakiś tam sygnał wejściowy 1000 razy na sekundę, przy czym próbka o numerze 1 pobrana zostanie dokładnie w momencie wystąpienia narastającego zbocza sygnału 1 PPS, tak samo próbka 1001, 2001 itd.

    Wziąłem pod lupę układ 74HC297. W stanie sprzężenia pętli na wyjściu oscylatora cyfrowego otrzymywany jest sygnał o częstotliwości f0*N, gdzie f0 - częstotliwość podstawowa pętli, N - współczynnik określający wielokrotnośc częstotliwości f0 sygnału jakim taktowany jest oscylator oraz jednocześnie moduł licznika znajdującego się w pętli sprzężenia fazowego. Jeżeli dobrze rozumiem, dla f0 = 1 i n = 1.000 na wyjściu oscylatora dostanę sygnał o częstotliwości 1 kHz (1 * 1.000), który będzie moim właściwym sygnałem wyjściowym układu, po podaniu tego sygnału na licznik modulo-1.000 jego częstotliwość zmaleje 1.000-krotnie (do 1 Hz), co umożliwi jego podanie na detektor fazy i porównanie jego fazy z sygnałem wejściowym o takiej samej częstotliwości.

    Jeśli tak, to niby wszystko pięknie zgadza się z założeniami projektu. Niestety pomiary muszą być bardzo dokładnie zsynchronizowane - z dokładnością do 1 µs. Czyli jeśli dobrze kombinuję sygnały podawane na detektor fazy w stanie sprzężenia pętli nie powinny różnic się w fazie o więcej niż 1 µs (pomijając już fakt, że sygnały te będą i tak przesunięte o Π gdy jako detektor fazy użyty zostanie przerzutnik JK wyzwalany zboczem). W publikacji Texas Instruments 'Digital Phase Locked Loop Design Using SN54/74LS297' odnalazłem stwierdzenie, że błąd fazy redukowany jest do zera z rozdzielczością 1/2N okresu sygnału za licznikiem modulo-N. Czyli w tym wypadku wynosi on 1/(2*1.000) = 5*10^-4 okresu czyli 5*10^-4 sekundy. A więc gdy według pętli błąd fazowy równy jest zero wynosi on w rzeczywistości ± 500 µs. Żeby dostać akceptowalną wartość rozdzielczości błędu fazowego (tutaj akurat najbliższa to ± 0,5 µs) wartość N musiała by wynosić 1.000.000 a nie 1.000. No i tutaj pojawia się problem bo w takim wypadku na wyjściu oscylatora dostanę sygnał o częstotliwości 1 MHz a nie 1 kHz, coś tak czuję, że po przepuszczeniu tego przez dzielnik częstotliwości przesunięta zostanie także faza sygnału wyjściowego.

    Jakieś propozycje ? Może mój tok myślenia jest błędny, a może lepiej zainteresować się innym układem (tutaj zaznaczam, że analogowe lub analogowo-cyfrowe PLL odpadają, musi to byc układ w pełni cyfrowy) ?
  • Poziom 13  
    Do podanej aplikacji proponowałbym raczej wyzwalanie pomiaru przetwornika AD narastającym zboczem zegara z GPS. Wtedy każdy z AD może chodzić z pewną różnicą fazy, ale np. na większej częstotliwości np. ~20MHz,co powinno zapewnić wymaganą dokładność równoczesności pomiarów.
  • Poziom 2  
    Niestety w tym przypadku nie jest to możliwe. Myślałem, że nie będzie to konieczne, ale wyjaśnię bardziej szczegółowo zastosowanie takiego układu. Chodzi o to, że w elektroenergetyce wykorzystuj się tzw. PMU (Phase Measurement Unit). Są to urządzenia, które próbkują napięcie z częstotliwością 1 kHz, tak już jest i nie ma się na to żadnego wpływu. No i takie to urządzenia rozmieszczone są na dużym terenie, chcąc więc zapewnić synchroniczność pomiarów potrzebne jest coś w rodzaju globalnego sygnału taktującego o dużej dokładności. W praktyce wygląda to tak, że PMU mogą mieć już wbudowany układ PLL lub nie. Jeśli mają wystarczy im dotarczyc sygnał próbkowany i sygnał 1 PPS, one już się zajmą zwiększeniem jego częstotliwości i wykorzystaniem go do wyzwalania wbudowanego przetwornika A/C. Jeżeli jednak PMU nie posiada układu PLL to należy dostarczyć sygnał próbkowany i sygnał o częstotliwości 1 kHz zsynchronizowany z sygnałem 1 PPS z rozdzielczością 1 µs. No i właśnie mam do czynienia z przypadkiem drugim, a więc potrzebuje układ PLL, który na wyjściu będzie posiadał sygnał o częstotliwości 1 kHz otrzymany na podstawie sygnału 1 PPS (czyli o częstotliwości 1 Hz) przesunięty w fazie nie więcej niż o 1 µs w stosunku do sygnału wejściowego. Układ ma by w pełni cyfrowy aby wyeliminować wpływ czynników zewnętrznych (m.in. temperatury), ponieważ urządzenia takie mogą być instalowane nawet w dosyć skrajnych warunkach.
  • Poziom 13  
    Przy dzieleniu częstotliwości uda Ci się uzyskać zgodność fazy z dokładnością do czasu propagacji przez pojedynczy licznik (<20ns), pod warunkiem, że to będzie dzielnik synchroniczny.
  • Warunkowo odblokowany
    Rozszerzę nieco temat. Mianowicie chciałbym wykorzystać ten układ do zbudowania prostego powielacza częstotliwości. Do dyspozycji mam zegary o częstotliwościach 17,734472MHz oraz 7,88 MHz (definitywnie to płyta C64 i jej układ oscylatora). w gruncie rzeczy chodzi mi o podwojenie częstotliwości 7,88MHz, która i tak jest dzielona wewnątrz układu chipsetu C64 przez 8 co daje częstotliwość taktowania = 0,985MHZ dla CPU. ja bym chciał przetaktować CPU 2x więc muszę doprowadzić do chipsetu 2x większą częstotliwość. Więc mam pytanie czy na układzie 74LS/HCT297 da się zbudować podwajacz częstotliwości ? Ostatecznie czy koledzy mogli by narysować schemat na tym układzie, bo jak na razie nie bardzo rozumiem jego idę pracy ? Ostatecznie jakiś inny dobry podwajacz z możliwością przełancznia TURBO/Normal.