Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Jak poprawnie zaprojektować i uruchomić pętlę PLL

ghost666 24 Sep 2013 12:34 3588 0
Automation24
  • Wstęp

    Projektowanie i debugowanie gotowej pętli synchronizacji fazy (pętli PLL, ang. phase-locked loop) może być niezmiernie skomplikowane, o ile osoba zajmująca się tym nie posiada szerokiej wiedzy dotyczącej teorii działania pętli PLL. Poniższy artykuł, napisany przez Raya Suna prezentuje pewną uproszczoną metodologię projektowania układu z pętlą PLL oraz pokazuje prosta i logiczną metodę debugowania pętli PLL w przypadku wystąpienia jakichkolwiek problemów z jej uruchomieniem.

    Symulacja

    Trudno jest przewidzieć wszystkie charakterystyki pętli PLL bez wykonywania symulacji komputerowej jej działania w konkretnych warunkach, jakie będą obecne w finalnym układzie. Zatem symulacja powinna być pierwszym krokiem jaki podejmuje się podczas procesu projektowania takiego układu. Autor artykułu zaleca wykorzystanie oprogramowania ADIsimPLL, firmy Analog Devices, do przeprowadzenia symulacji działania rzeczywistego układu. Oprogramowanie to zawiera w sobie funkcjonalności umożliwiające symulowanie parametrów dynamicznych, szumu fazowego (jitter) oraz ograniczenia częstotliwości związane z intermodulacją sygnałów. Oprogramowanie ADIsimPLL dostępne jest tutaj - Link

    Wielu spośród projektantów nie rozumie w jaki sposób wybrać źródło częstotliwości odniesienia, jednakże zależność pomiędzy tą częstotliwością a krokiem częstotliwości wyjściowej jest prosty. W przypadku pętli PLL z podziałem przez N całkowite krok częstotliwości wyjściowej jest równy częstotliwości na wejściu detektora PFD, która jest częstotliwością odniesienia podzieloną przez dzielnik częstotliwości R. W przypadku pętli PLL z podziałem przez N ułamkowe krok częstotliwości jest równy częstotliwości na wejściu PFD podzielonej przez parametr MOD, zatem pozwala to na użycie wyższej częstotliwości odniesienia w celu uzyskania mniejszego kroku częstotliwości wyjściowej. Podczas decydowania nad architekturą pętli (podział przez całkowite N lub ułamkowe N) krok częstotliwości wyjściowej może zostać poświęcony w celu polepszenia parametru szumu fazowego. Z mniejszą częstotliwością na wejściu detektora PFD osiągamy lepszą rozdzielczość częstotliwości wyjściowej, ale wyższy szum fazowy tego sygnału.

    Jako przykład w poniższej tabeli podano dwa scenariusze - jeden w którym potrzebna jest stała częstotliwość wyjściowa z dosyć dużym krokiem, gdzie lepszy będzie podział przez N całkowite i drugi gdzie wymagane są niewielkie zmiany częstotliwości wyjściowej. W drugim przypadku lepiej sprawdzi się układ z podziałem przez N ułamkowe. Do pierwszego przypadku dobrano układ ADF4106 z uwagi na mniejszy szum fazowy w pasmie sygnału wyjściowego, w drugim przypadku wybrano układ ADF4153 z uwagi na możliwość podziału częstotliwości przez N ułamkowe. Szum fazowy jest krytycznym parametrem specyfikacji pętli PLL, jednakże karty katalogowe nie są w stanie podać tego parametru dla dowolnych warunków i aplikacji, dlatego też symulacja oraz testowanie gotowego produktu są krytyczne.

    Wartość szumu fazowego w poszczególnych układach
    Aplikacja z stałą częstotliwością
    RF = 1.8 GHz,
    fosc = 13 MHz
    stała częstotliwość wyjściowa
    GSM1800
    RF = 1.8 GHz,
    fosc = 13 MHz,
    fres = 200 kHz
    ADF4106 PLL z podziałem przez N całkowiteFOM + 10log fpfd + 20log N = –223 + 10log 13 MHz + 20log 138 = –109 dBc/HzFOM + 10log fpfd + 20log N = –223 + 10log 200 kHz + 20log 9000 = –91 dBc/Hz
    ADF4153 PLL z podziałem przez N ułamkoweFOM + 10log fpfd + 20log N = –220 + 10log 13 MHz + 20log 138 = –106 dBc/HzFOM + 10log fpfd + 20log N = –220 + 10log 13 MHz + 20log 138 = –106 dBc/Hz
    WynikPodział przez N całkowite jest lepszyPodział przez N ułamkowe jest lepszy


    Jednakże należy pamiętać że nawet wykorzystanie ADIsimPLL do symulacji działania pętli PLL w rzeczywistych warunkach nie jest idealne. Wyniki otrzymane z symulacji nie będą kompletne, o ile nie posiadamy plików modeli rzeczywistego źródła odniesienia oraz oscylatora kontrolowanego napięciowo (VCO). Jeśli nie posiadamy tych plików do symulacji wykorzystane zostaną elementy idealne. Czas potrzebny na zmodyfikowanie bibliotek odpowiedzialnych za VCO i źródło odniesienia jest wart uzyskania dokładniejszego wyniku podczas symulacji układu.

    Pętla PLL wykorzystuje do działania ujemne sprzężenie zwrotne do kontroli systemu w sposób podobny jak wzmacniacze, zatem koncepcja pasma pętli sprzężenia zwrotnego oraz margines fazy także tutaj znajdą swoje miejsce. Generalnie pasmo pętli sprzężenia powinno być mniejsze niż jedna dziesiąta częstotliwości PFD, a bezpieczny zakres marginesu fazy wynosi od 45 do 60 stopni. Dodatkowo pamiętać należy iż symulacja oraz prototypowanie układu powinno odbywać się na rzeczywistej płytce drukowanej z uwagi na wpływ wartości pasożytniczych elementów elektronicznych i druku PCB na działanie pętli, szczególnie filtra w pętli sprzężenia zwrotnego.

    Czasami zdarza się iż oporniki lub kondensatory nie występują w dokładnych wartościach, jakie są potrzebne w projekcie, zatem inżynier odpowiedzialny za projekt, musi ocenić czy najbliższe dostępne w szeregu wartości sprawdzą się w układzie. W pakiecie ADIsimPLL dostępna jest niewielka funkcja zwana BUILT (w zakładce Tools). Funkcja ta przekształca wartości elementów dyskretnych do najbliższy wartości z szeregów dostępnych komercyjnie, co pozwala na powtórne przeprowadzenie symulacji układu i weryfikację czy dobrane w ten sposób elementy sprawdzają się w aplikacji - czy margines fazy i pasmo pętli sprzężenia zwrotnego są w porządku.

    Rejestry

    Układy pętli PLL firmy Analog Devices wyposażone są w szereg opcji konfigurowanych przez użytkownika, co umożliwia ich elastyczną aplikację w wielu urządzeniach. Jednakże związane jest to także z utrudnieniami gdyż projektant musi odpowiedni poznać wartości wszystkich rejestrów. Wygodnym rozwiązaniem tego problemu jest wykorzystanie oprogramowania ewaluacyjnego poszczególnych układów do ustawienia odpowiednich rejestrów, nawet jeżeli płytka ewaluacyjna nie jest podpięta do symulatora. Następnie możliwe jest zapisanie ustawień poszczególnych rejestrów w pliku .stp lub bezpośrednie zgranie ich z płytki ewaluacyjnej. Symulacja przeprowadzona w ADIsimPLL, pokazana na poniższym obrazku, prezentuje sugerowane wartości wszystkich rejestrów układu, takich jak na przykład prąd rdzenia VCO i inne.

    Jak poprawnie zaprojektować i uruchomić pętlę PLL


    Schemat i projekt PCB

    Podczas projektowania kompletnego układu z pętlą PLL należy pamiętać o kilku istotnych kwestiach. Po pierwsze jest niezwykle istotnym dobranie impedancji wejścia częstotliwości odniesienia tak aby zminimalizować szansę odbicia sygnału. Należy także minimalizować pojemność umieszczoną równolegle do tego wejścia gdyż będzie ona zmniejszała szybkość narastania nadchodzącego sygnału i dodawać będzie niepotrzebny szum do pętli PLL. Wejścia układów pętli PLL opisane są dokładniej w ich kartach katalogowych, gdzie można znaleźć wszystkie potrzebne informacje.

    Po drugie należy pamiętać o separacji linii zasilania sekcji analogowej oraz cyfrowej w celu zminimalizowania interferencji pomiędzy nimi. Szczególnie czułym układem jest tutaj VCO, gdzie zakłócenia i szum w linii zasilającej łatwo może wnikać do sygnału, co w konsekwencji pogarsza parametry wyjściowe pętli PLL. Dokładniejszy schemat projektowania sekcji zasilania do pętli PLL umieszczono w tym artykule - Link (jeśli chcecie mogę go także przetłumaczyć - przyp. tłum.).

    Po trzecie należy pamiętać o umieszczeniu oporników i kondensatorów filtra pętli sprzężenia zwrotnego możliwie blisko układu pętli PLL. Oczywiście ich wartości muszą pokrywać się z tymi z programu do symulacji. Jeżeli podczas uruchomiana układu występują pewne problemy z synchronizacją po zmiane wartości filtra w pętli, należy wrócić do oryginalnych wartości które zostały wyznaczone w programie lub użyte na płytce ewaluacyjnej.

    W kwestii projektu płytki drukowanej podstawowym wyznacznikiem jest separacja sekcji wyjściowej od wejścia i zapewnienie iż skecja cyfrowa urządzenia nie będzie interferowała z sekcją analogową. Na przykład umieszczenie ścieżek interfejsu SPI zbyt blisko wejścia odniesienia lub VCO spowoduje iż w sygnale wyjściowym z pętli PLL pojawiać się będą zakłócenia ilekroć interfejs SPI będzie wykorzystywany do zmiany wartości rejestrów kontrolera PLL.

    Z punktu widzenia termicznego warto jest umieścić wylewkę masy pod układem kontrolera w celu zapewnienia odprowadzenia ciepła przez PCB i dedykowany radiator. Szczególnie w przypadku aplikacji układu w niegościnnych warunkach (wysoka temperatura) należy dokładnie zanalizować kwestie termiczne na PCB i, najlepiej, zasymulować rozchodzenie się ciepła w urządzeniu.

    Efektywne wykorzystanie MUXOUT

    Na początku fazy uruchamiana urządzenia trudno jest ustalić dlaczego pętla PLL nie uruchomiła się. W pierwszej kolejności należy wykorzystać MUXOUT do sprawdzenia czy wszystkie funkcje wewnętrzne układu działają prawidłowo. Zostało to pokazane na poniższym obrazku. Wykorzystanie MUXOUT pozwala pokazać, na przykład, wyjście z licznika R które mówi nam czy wejście sygnału referencyjnego jest w porządku i czy zawartość rejestru zostaje poprawnie zapisana. Skorzystanie z MUXOUT pozwala także sprawdzić status zatrzaśnięcia detektora i wyjście z dzielnika przez N w pętli sprzężenia zwrotnego. Dzięki temu projektant może sprawdzić który z elementów pętli działa niepoprawnie - czy jest to kwestia dzielnika, wzmocnienia czy częstotliwości. Jest to zasadnicza czynność podczas debugowania pętli PLL.

    Jak poprawnie zaprojektować i uruchomić pętlę PLL


    Analiza czasoworozdzielcza

    Podczas debugowania działania pętli PLL wykorzystanie analizy czasoworozdzielczej pozwala na pokazanie i sprawdzenie czy dane zapisywane do rejestrów poprzez interfejs szeregowy SPI są poprawne. Nawet jeżeli odczyty i zapisy przez interfejs dokonywane są bardzo szybko należy się upewnić czy zależności czasowe interfejsu SPI spełniają założenia i czy przesłuch pomiędzy poszczególnymi liniami jest zminimalizowany.

    Zależności czasowe pętli PLL mogą zostać odczytane z karty katalogowej. Pomaga to ustalić iotymalną wartość zegara, szerokość impulsu i inne parametry. Jednakże pamiętać należy o zostawieniu pewnego marginesu bezpieczeństwa, co zapewni poprawne działanie pętli w każdych warunkach. Oscyloskop powinien zostać wykorzystany do sprawdzenia czy zegar i dane znajdują się w odpowiednim, względem siebie, czasie. Jeśli linie zegarowe i danych znajdują się zbyt blisko siebie, przesłuch może spowodować iż energia przebiegu zegarowego zacznie wnikać do linii danych poprzez ścieżki na płytce drukowanej. Takie sprzężenie może powodować szpilki i zniekształcenia w danych w momencie występowania zbocza narastającego sygnału zegarowego. Warto zatem sprawdzić te dwie linie podczas zapisów i odczytów rejestrów układu, szczególnie jeśli pojawiają się na przykład błędy zapisu. Upewnić należy się także iż zachowane są odpowiednie napięcia przebiegów, zgodne z poniższą tabelą.

    Wartość minimalnaWartość typowalWartość maksymalnaJednostka
    Napięcie wejściowe stanu wysokiego, VINH1.5V
    Napięcie wejściowe stanu niskiego, VINL0.6V
    Prąd wejściowy, IINH/IINL±1µA
    Pojemność wejściowa, CIN3.0pF


    Analiza spektralna

    Kwestie widoczne w dziedzinie częstotliwości są dużo częściej spotykanymi problemami i jednocześnie są dużo bardziej złożone w analizie. W pierwszym momencie, po podłączeniu analizatora widma do wyjścia układu, należy sprawdzić czy pętla działa poprawnie. Widoczny powinien być jeden strony stabilny pik częstotliwości wyjściowej. Jeśli nie jest on widoczny oznacza to że pętla nie działa poprawnie i należy powtórzyć kroki opisane powyżej.

    Jeśli pętla PLL działa poprawnie należy zawęzić pasmo analizatora widma i sprawdzić czy szum fazowy w interesującym nas zakresie jest akceptowalny czy nie oraz jak ma się do wyników symulacji. Zmierz wartość szumu fazowego korzystając z kilku pasm - na przykład 1 kHz, 10 kHz oraz 1 MHz. Jeśli rezultaty są niezadowalające należy zanalizować projekt filtra w pętli sprzężenia zwrotnego układu i sprawdzić rzeczywiste wartości użytych komponentów. Następnie sprawdzić należy wejście sygnału odniesienia, czy szum fazowy obecny na nim jest taki sam jak w symulacji. Szum wyznaczony w symulatorze powinien być podobny jak ten w rzeczywistym układzie, no chyba że warunki są inne niż założono lub też źle ustawiono wartości rejestrów układu kontrolera.

    Szum pochodzący z źródeł zasilania nie może być ignorowany, nawet jeśli wykorzystane są niskoszumne stabilizatory LDO. Tak konwertery DC-DC jak i stabilizatory LDO są źródłami szumu. Zazwyczaj, w karcie katalogowej stabilizatora LDO pokazane jest widmo gęstości spektralnej szumów na wyjściu układu, dzięki czemu przewidzieć można wpływ szumu na zasilane układu. Na wykresie poniżej widoczny jest wpływ szumu źródła zasilania na działanie pętli PLL. Do układu należy dobrać odpowiednio niskoszumne stabilizatory, szczególnie te które zasilać będą jądro oscylatora VCO.

    Jak poprawnie zaprojektować i uruchomić pętlę PLL


    Cztery typu zakłóceń wnikać mogą do widma wyjściowego z pętli PLL: zakłócenia PFD/referencji, zakłócenia ułamkowe, całkowite zakłócenia graniczne oraz zakłócenia z źródeł zewnętrznych (takich jak źródła zasilania). Każdy układ z pętlą PLL posiadać będzie co najmniej jedno źródło (lub więcej) i nie da się ich w żaden sposób w pełni wyeliminować. Można oczywiście jedynie zminimalizować poświęcając inne z parametrów.

    Aby uniknąć zakłóceń PFD należy zanalizować wejście sygnału referencyjnego, szczególnie jego zbocze. Zbyt szybkie narastanie lub zbyt duża amplituda zbocza wzbudzać mogą silne zniekształcenia harmoniczne. Istotnym jest także sprawdzenie projektu PCB pod kątem przesłuchu pomiędzy wejściem a wyjściem pętli.

    W celu zminimalizowania ułamkowych zakłóceń dodać można do układu dither, jednak spowoduje to lekkie podniesienie się całkowitego poziomu szumów w systemie. Całkowite zniekształcenia są rzadkie w pętlach PLL i pojawiają się tylko jeśli częstotliwość wyjściowa jest zbyt blisko całkowitej wielokrotności sygnału referencyjnego, co powoduje iż filtr w pętli nie jest w stanie wyeliminować tej składowej dostatecznie dobrze. Prostym wyjściem z tej sytuacji jest zmiana częstotliwości referencyjnej. Na przykład jeśli zakłócenie to występuje przy 1100 MHz dla sygnału wyjściowego 1100,1 MHz i częstotliwości referencyjnej 20 MHz (filtr 100 kHz) można zastosować częstotliwość odniesienia 30 MHz co wyeliminuje zakłócenie przy 1100 MHz.
    Źródła:
    http://www.analog.com/library/analogdialogue/archives/47-09/pll_design.html

    W artykule źródłowym znajduje się także lista literatury polecanej przez autora tym którzy chcieliby posiąść więcej informacji na temat projektowania układów z pętlą PLL.

    Cool? Ranking DIY
    About Author
    ghost666
    Translator, editor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 wrote 11801 posts with rating 9939, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • Automation24