Zdolność precyzyjnego odmierzania czasu leży u podstaw rozwoju całej ludzkiej cywilizacji. Stworzenie zegara, który działa w każdej pozycji i w każdych warunkach leżało u podstaw nawigacji morskiej. O ile szerokość geograficzną da się obliczyć na podstawie wysokości słońca nad horyzontem, o tyle określenie długości wymaga wiedzy, która jest godzina w wybranym miejscu, względem którego tę długość się oblicza. Do dalszego rozwoju zegarów i zegarków przyczyniła się kolej - gdy każda osada wzdłóż linii kolejowej ustawia swoje zegary z pomocą zegara słonecznego, ciężko jest uwzględnić te różnice w rozkładzie. Dalszy rozwój nauki i technologii, zwłaszcza elektroniki i radiokomunikacji wymusiły konieczność stworzenia coraz dokładniejszych zegarów, generatorów i filtrów częstotliwości i jej mierników. Rozwiązania stricte mechaniczne osiągnęły granicę swoich możliwości, rozwiązania elektromechaniczne ją przesunęły, lecz dopiero niepozorny minerał pozwolił ją przesunąć o wiele dalej.
Niepozorny kryształ
Kwarc jest niezwykle powszechnym minerałem, jest kluczowym składnikiem granitu i innych skał magmowych. Występuje bardzo często w skałach osadowych, takich jak piaskowiec i łupek. Jest powszechnym składnikiem łupków, gnejsów, kwarcytów i innych skał metamorficznych. Sam kwarc to inaczej dwutlenek krzemu, ale zależnie od zawartych domieszek występuje pod wieloma nazwami jako minerał i kamień szlachetny: od kryształu górskiego, przez kwarce dymne i różowe po ametysty, agaty, tygrysie oczy czy nawet zwykły krzemień.
Jak zatem taki powszechny minerał stał się podstawą odmierzania czasu, generowania i filtrowania częstotliwości, a nawet istotnym komponentem zestawu melomana? Dwa słowa: efekt piezoelektryczny. Przepuszczanie prądu przez kryształ kwarcu powoduje, iż ten ulega mechanicznej deformacji. Działa to też w drugą stronę - fizyczne zgniatanie bądź uderzanie w kryształ wytwarza w nim ładunek elektryczny. Najprostszym przykładem praktycznego wykorzystania tego zjawiska są tanie zapalniczki i zapalarki elektryczne, gdzie naciśnięcie przycisku bądź dźwigni powoduje najpierw powolne ściśnięcie, a potem gwałtowne rozprężenie kryształu kwarcu, co wytwarza impuls wysokiego napięcia rzędu kilku do kilkunastu kilowoltów. Ale od robienia iskier do odmierzania czasu jest kawałek drogi.
Ksylofony, dzwony, gongi i kryształy
Idiofony to grupa instrumentów muzycznych, gdzie elementem wytwarzającym dźwięku jest ciało stałe wzbudzane do drgań przez uderzanie, pocieranie, szarpanie czy dęcie (dmuchanie). Częstotliwość drgań zależy od wymiarów albo drgającego ciała i/lub dołączonej doń komory rezonansowej. Skupmy się na idiofonach, gdzie częstotliwość dźwięku zależy od wymiarów elementu drgającego, zwanego wibratorem. W ksylofonie wibratorami są drewniane płytki, w gongu metalowa płyta, w przypadku dzwonów rurowych są to metalowe rury (jak sama nazwa wskazuje). Każdy z tych instrumentów jest strojony wstępnie przez użycie konkretnych wymiarów wibratora, a potem dostrajany przez usuwanie niewielkich ilości materiału, aż do osiągnięcia pożądanych wysokości dźwięku. Materiał można też dodać, choć nie zawsze jest to praktyczne.
Kryształ kwarcu też jest swoistym wibratorem i ma określoną częstotliwość rezonansową. Jednak w przypadku kwarcu po uderzeniu, potarciu, szarpnięciu czy dęciu nie usłyszymy dźwięku. Za to na oscyloskopie możemy zobaczyć drgania wytworzonej w krysztale elektryczności. Częstotliwość tych drgań, podobnie jak w idiofonach, zależy od fizycznych wymiarów kryształu (a także jego struktury i czystości). Ten fakt jest podstawą strojenia rezonatorów kwarcowych.
W rezonatorze kwarcowym nie znajdziemy jednak niczego, co będzie wzbudzać drgania w kawałeczku kwarcu. Żadnych młotków, pałeczek czy dmuchawy. Za wszystko odpowiada efekt piezoelektryczny: impuls prądu odkształca kryształ wzbudzając w nim drgania, te drgania zaś wzmacniają i osłabiają ten impuls zgodnie z częstotliwością rezonansową. Teraz wystarczy te drgania prądu wzmocnić i część podać ponownie na wejście rezonatora, by uzyskać stabilne oscylacje. Jeśli jednak na wejście rezonatora podamy miks różnych częstotliwości, a wyjście podłączymy do wzmacniacza, to zamiast generatora oscylacji uzyskamy filtr, który wzmocni tylko częstotliwość rezonansową.
Rezonatory kwarcowe
Typowy rezonator kwarcowy ma postać metalowej puszki (różnej wielkości) z dwoma wyprowadzeniami. Na obudowie znajdziemy najczęściej oznaczenie częstotliwości rezonansowej oraz symbol lub kod pozwalający zidentyfikować producenta. Symbol i schemat zastępczy rezonatora wyglądają tak:
Jak widać, rezonator zachowuje się jak szeregowo-równoległy obwód rezonansowy RLC. Znając wartości poszczególnych elementów możemy obliczyć impedancję rezonatora, czyli jego rezystancję dla wybranej częstotliwości. Nie ma jednak takiej konieczności, gdyż istotne parametry znajdziemy w notach katalogowych. Sposobów realizacji rezonatorów jest kilka, zależnie od położenia elektrod i kształtu samego elementu drgającego. Spójrzmy na wnętrza typowych rezonatorów kwarcowych:
Po lewej rezonator kwarcowy 32,768kHz, po prawej rezonator na częstotliwości liczone w MHz. Ten pierwszy ma kształt klasycznego kamertonu i drga w analogiczny sposób. Drugi wygina się niczym gong lub membrana, a jego częstotliwość drgań zależy od grubości płytki kwarcu.
Rezonatory kwarcowe w roli oscylatorów zwykle współpracują z układami scalonymi, które mają wbudowane niemal wszystko potrzebne, by rezonator rezonował. Czasami jednak zachodzi potrzeba zbudowania własnego oscylatora. Przedstawię trzy przykładowe rozwiązania poniżej.
Oscylatory Colpittsa
Na początek prosty układ Colpittsa współpracujący z rezonatorami o częstotliwości od 1MHz do 5MHz:
Rezystory R1 i R3 ustalają polaryzację bazy tranzystora. R4 ustala napięcie wyjściowe układu. R2 zaś izoluje tranzystor od zasilania i ogranicza prąd kolektora. Kondensatory C2 i C5 tworzą dzielnik napięcia w obwodzie sprzężenia, ustalając jego maksymalny poziom. C4 i rezonator Y1 tworzą szeregowy obwód rezonansowy, przy czym C4 pozwala na zmianę częstotliwości w niewielkim zakresie. C3 pełni rolę filtra składowej stałej. C1 filtruje zaś zasilanie.
Jeśli chcemy użyć rezonatora o innej częstotliwości, niż n schemacie, należy zmienić wartości C2 i C5. Im niższa częstotliwość, tym większe powinny być pojemności. Układ nie powinien być nadmiernie obciążany, gdyż to może wpłynąć na jego pracę. Ulepszonym wariantem jest układ poniższy, który ma szerszy zakres częstotliwości pracy z rezonatorami od 1,5MHz do 20MHz:
Poza zmianą wartości elementów do układu dodany został stopień wyjściowy w układzie wspólnego kolektora, dzięki któremu całość zachowuje się stabilnie w szerokim zakresie częstotliwości.
Oscylator Pierce'a
Poniższy układ w różnych wariantach jest powszechnie stosowany w układach scalonych, i nie tylko. Jego prostota i możliwość realizacji z użyciem także inwertera czyni go popularnym sposobem generowania sygnałów zegarowych w układach cyfrowych.
Dławik L1 odcina układ od zasilania dla zakresu częstotliwości oscylacji i jest niezbędny do właściwej jego pracy. Kondensator C2 tworzy pętlę dodatniego sprzężenia zwrotnego, rezystor R1 zaś ogranicza jej głębokość i obciąża bramkę tranzystora JFET Q1. C4 jest częścią obwodu rezonansowego z rezonatorem Y1 i pozwala na jego przestrajanie w pewnym zakresie.
Oczywiście praktycznych rozwiązań układowych jest dużo więcej, ale myślę, że te podstawowe układy na początek wystarczą każdemu.
Generatory kwarcowe
Generatory kwarcowe od rezonatorów różnią się tym, iż są aktywnymi układami wymagającymi zasilania, oferującym w zamian gotowe, zintegrowane źródło sygnału zegarowego. Wewnątrz generatora znajduje się rezonator kwarcowy oraz obwód oscylatora, najczęściej w konfiguracji Pierce'a, oraz bufor wyjściowy pozwalający zasilać wiele układów CMOS lub TTL. Generatory te mogą oferować wyższe częstotliwości pracy niż zwykłe rezonatory, gdyż mogą pracować nie na częstotliwości bazowej rezonatora, ale na którejś z jego częstotliwości harmonicznych. Można oczywiście zmusić rezonator do takiej pracy samemu, ale układ jest bardziej skomplikowany i wymaga dokładności w projektowaniu i w wykonaniu. Przez to gotowe generatory bywają bardziej praktyczne.
Problemy
Rezonatory i generatory kwarcowe mają trzy podstawowe problemy:
1. Fabryczny rozrzut parametrów.
2. Podatność na zmiany temperatury.
3. Starzenie się.
W specyfikacji każdego rezonatora znajdziemy informację na temat tolerancji, stopnia starzenia i wpływu temperatury, najczęściej podawane w ppm, czyli częściach na milion. Dla przykładu weźmy tani rezonator kwarcowy dla zegarków o częstotliwości rezonansowej 32.768kHz. Konkretnie będzie to rezonator LFXTAL002996BULK od IQD. W tabeli znajdziemy informację, iż podstawowa tolerancja w temperaturze 25°C wynosi ±16ppm. Ale ile to będzie w hercach? Policzmy:
(32768Hz / 1000000) * 16 = 0,524288Hz.
Zatem wartość bazowa rezonatora może się różnić o ±0,524288Hz. Dalej, nota podaje, iż rezonator starzeje się o maksymalnie ±5ppm na rok w temperaturze 25 stopni Celsjusza, czyli o ±0,16384Hz. Trochę niżej znaleźć można wykres i wzór na obliczenie wpływu temperatury na częstotliwość. Dla tego rezonatora wzór wygląda tak:
Δf/fo = -0,034±0,006 * (T-To)^2 ppm
Typowo To przyjmuje wartość 25°C, T zaś to temperatura pracy rezonatora. Liczba -0,034±0,006 to współczynnik temperatury, oraz jego tolerancja, wyrażane w ppm/°C. Jak to się liczy w praktyce? Załóżmy, że rezonator pracuje w zegarku naręcznym, i od kontaktu ze skórą rozgrzał się do temperatury 35°C. Podstawmy to do wzoru:
Δf/fo = -0,034±0,006 * (35°C-25°C)^2 ppm = -0,034±0,006 * (10)^2 = -0,034±0,006 * 100 = -3,4±0,6ppm.
Zatem nasz rezonator może mieć częstotliwość niższą od nominalnej o 0,1114112Hz ±0,0196608Hz. O ile zatem zegarek będzie się spóźniał, bo to też warto by było wiedzieć? Policzmy dla jednego miesiąca:
(60*60*24*30)/1000000 * -3,4±0,6ppm = 2,592 * -3,4±0,6ppm = --8,8128±1,5552s.
Ale, ale, trzeba doliczyć jeszcze rozrzut początkowy:
2,592 * ±16ppm = ±41,472s
Po zsumowaniu zatem wychodzi błąd -8,8128 ±43,0272s, czyli nasz zegarek może się spóźniać o nawet 51,84 sekundy, albo chodzić za szybko o 34,8992 sekundy na miesiąc. A nie uwzględniliśmy jeszcze starzenia się rezonatora. Co miesiąc trzeba doliczyć błąd w wysokości ±1,08s.
Może zatem inny przykład, bliższy elektronikowi, czyli budujemy miernik częstotliwości do 40MHz używając rezonatora kwarcowego 8MHz. Tym razem wybór padł na rezonator LF XTAL003156 od IQD. Nota wygląda cokolwiek inaczej. Zamiast wykresu i wzoru do obliczania zmiany częstotliwości względem temperatury mam wartość ±50ppm, i wykres pokazujący 5 różnych przypadków z mało dokładną skalą. Dodatkowo sam rezonator ma tolerancję ±30ppm. Co tu się dzieje?
Po kolei, najpierw o wpływie temperatury: te ±50ppm jest podane dla pełnego zakresu pracy, tj. od -20 do 70 stopni Celsjusza. Na wykresie to tak jednak nie wygląda. Dla -20°C wartości współczynnika temperaturowego mieszczą się w zakresie -12-20ppm, a dla 70°C w zakresie -23-7ppm. Producent nie podaje dokładniejszych danych, bo to tani rezonator, wystarczająco dobry do współpracy z mikrokontrolerem w temperaturze bliskiej nominalnych 25°C. Tolerancja rozrzutu częstotliwości na poziomie ±30ppm oznacza też, iż nasz miernik częstotliwości może mierzyć z błędami. Dokładnie to z błędem ±30Hz na każdy MHz. Sam rezonator może mieć częstotliwość od 7,999760MHz do 8,000240MHz.
Dlaczego rezonator kwarcowy dla zegarków ma lepsze parametry, niż rezonator kwarcowy ogólnego przeznaczenia? To proste: ten pierwszy został od początku zoptymalizowany do (w miarę dokładnego) odmierzania czasu. Praca z niższą częstotliwością i kształt kamertonu powaliły na lepszą optymalizację procesu produkcji, a przez to redukcję rozrzutu parametrów. Ze względu na kształt temperatura wpływa na na rezonator w bardzo określony sposób. Rezonatory na wyższe częstotliwości drgają na kilka różnych sposobów, przez co temperatura wpływa na ich drgania w różnych kierunkach, i nie zawsze tak samo. Dlatego właśnie rozrzut parametrów w zakresie wpływu temperatury jest tak wielki - producent może zagwarantować pewną częstotliwość w konkretnej temperaturze, tj. w 25°C, a im dalej od tej temperatury, tym większa będzie losowość możliwych odchyłek od częstotliwości bazowej. W normalnych sytuacjach odchyłki o 30-50Hz na każdy MHz to nie jest wielki problem, ale co, jeśli zależy nam na dokładności? Jest kilka rozwiązań...
TCXO, TCVCXO, OCXO i lepsze zegary
Skrót TCXO oznacza Temperature Compensated Crystal Oscillator, czyli oscylator kwarcowy skompensowany termicznie. Jest to element, który poza właściwym kwarcem i oscylatorem z nim współpracującym zawiera czujnik termiczny i układ zmieniający częstotliwość oscylatora zależnie od temperatury. Producent dokonał pomiaru zmian częstotliwości zależnie od temperatury rezonatora i użył tych danych dla całej produkcji. Dla przykładu generator 20MHz LFTCXO063784BULK od IQD. Wstępna tolerancja to ±0,5ppm, czyli ±10Hz. Stabilność termiczna to aż ±0,14ppm dla całego zakresu temperatur, czyli w całym zakresie pracy generator zmieni częstotliwość o ±1,4Hz. Starzenie się wynosi ±0,02ppm na dzień, ale nie więcej niż ±1ppm na rok.
Skrót TCVCXO oznacza Temperature Compensated, Voltage Controlled Crystal Oscillator, czyli oscylator kwarcowy skompensowany termicznie regulowany napięciem. W praktyce to jest to samo, co TCXO, tylko ma dodatkowe wejście pozwalające wyregulować częstotliwość w niewielkim zakresie. Ma to sens pod warunkiem, iż mamy miernik częstotliwości o jeden rząd wielkości dokładniejszy, niż nasz generator. Weźmy na przykład LFTVXO009912BULK od IQD. Stabilność temperaturowa to imponujące ±0,5ppm, czyli dla tego rezonatora o częstotliwości 10MHz jest to ±5Hz. Dodatkowo wejście sterujące pozwala zmieniać częstotliwość o przynajmniej ±5ppm. Starzenie jest na poziomie ±1ppm w pierwszym roku. Potem spada. Imponujące, prawda?
Skrót OCXO oznacza Oven Controlled Crystal Oscillator czyli oscylator kwarcowy kontrolowany termicznie (piecem). W tym wypadku rezonator kwarcowy jest ogrzewany do określonej temperatury pracy i termicznie odizolowany od warunków zewnętrznych. Termostat stabilizuje temperaturę i gwarantuje jej stałość. Układy te są najdokładniejszymi generatorami kwarcowymi dostępnymi na rynku. Stosowane są w sprzęcie pomiarowym wysokiej klasy, gdzie zwiększony pobór prądu nie ma znaczenia, ale dokładność i stabilność już ma. Płacimy za to wysoką cenę, tj. kilkaset złotych za jeden element. A co w zamian? Spójrzmy na generator 10MHz LFOCXO063800BULK od IQD. Nota podaje wstępną tolerancję na poziomie ±500ppb (części na miliard), czyli inaczej ±0,5ppm, czyli ±5Hz. Jak na razie to żaden cud. Ale stabilność temperaturowa wynosi od ±10ppb do ±100ppb. Czyli od ±0,1Hz do ±1Hz. Starzenie się zaś wynosi ±5ppb na dzień maksymalnie, i ±500ppb na rok, też maksymalnie. Ponadto dostępny jest też wariant z wejściem do regulacji częstotliwości.
Czy jest coś lepszego? Tak, i jest to coś, co sam chciałbym kupić. Tym czymś jest rubidowy wzorzec częstotliwości. Kiedyś używane wzorce pochodzące ze stacji bazowych GSM kosztowały 50 dolarów na ebaju, teraz ceny zaczynają się od dwustu dolców. Nowy wzorzec rubidowy na Alliexpress kosztuje 959 dolarów, czyli ponad 4500 złotych. Takie wzorce są dostępne też w Polsce, ale tam cen nie podają, bo to urządzenia nie sprzedawane zwykle "cywilom". Dlaczego o nich w ogóle wspominam? A no ze względu na niesamowitą wręcz stabilność, typowo na poziomie ±1-2 x 10^-11 /1s. To oznacza, że wzorzec 10MHz zmieni swoją częstotliwość o 0,01-0,02Hz w ciągu sekundy. Dryft w ciągu stu sekund nie będzie większy niż 0,001-0,002Hz. Długofalowo można dopisać jeszcze dwa zera - rubidowe zegary atomowe się nie starzeją tak, jak kwarce.
Rozwiązania budżetowe dla większej dokładności
Jeśli mamy odbiornik GPS z wyjściem pps (impuls co sekundę na poziomie sygnału zegarowego generowanego przez satelity z użyciem pokładowych zegarów atomowych), możemy go wykorzystać do pomiaru i kalibracji rezonatorów. Imć Roman Black sporządził ponad 10 lat temu kilka przykładowych algorytmów, które można znaleźć tutaj.
Dalej, można zbudować "piekarnik" dla rezonatora i utrzymywać go w podwyższonej temperaturze - rozwiązanie dużo tańsze od gotowych OCXO, ale potrzebne będzie skalibrowanie tego raz na rok. Starzenie się będzie sporym problemem, stąd ta konieczność. Można użyć rezonatora zegarkowego i połączyć go z układem generatora PLL by uzyskać większą częstotliwość. Układy PLL, czyli Phase-Locked Loop kontrolują oscylatory sterowane napięciem (VCO - Voltage Controlled Oscillator) w ten sposób, iż częstotliwość oscylatora jest dzielona n razy, a potem faza podzielonego sygnału jest porównywana z fazą sygnału zegarowego. Różnice w fazie zmieniają napięcie sterujące oscylatorem, aż fazy będą takie same. Wartość n ustala częstotliwość oscylacji.
Za 40-50 złotych na znanym portalu aukcyjnym można kupić chińskie moduły OCXO 10MHz, ponoć skalibrowane z tolerancją do ±0,01Hz. Na zdjęciach puszka generatora nie ma żadnych oznaczeń, nie ma też noty katalogowej, więc to kupowanie w ciemno, zwłaszcza że generatory OCXO ze sklepu kosztują 8-12 razy więcej...
Jeśli celem użycia precyzyjnego źródła zegarowego jest budowa zegara, to można rozważyć użycie odbiornika DCF-77, albo modułu ESP8266 do pobierania bieżącego czasu z serwera NTP raz na dobę. W tym drugim przypadku warto robić to nie co równe 24 godziny, ale odliczać 65536 sekund między kolejnymi synchronizacjami, by nie obciążać serwerów NTP. Da to synchronizację co 18 godzin, 12 minut i 16 sekund. Myślę, że to wystarczy nawet dla najbardziej pedantycznego maniaka punktualności.
Mam nadzieję, iż to kompendium okaże się przydatne. Zapraszam do komentowania i zadawania pytań - postaram się udzielić na nie odpowiedzi.
Niepozorny kryształ
Kwarc jest niezwykle powszechnym minerałem, jest kluczowym składnikiem granitu i innych skał magmowych. Występuje bardzo często w skałach osadowych, takich jak piaskowiec i łupek. Jest powszechnym składnikiem łupków, gnejsów, kwarcytów i innych skał metamorficznych. Sam kwarc to inaczej dwutlenek krzemu, ale zależnie od zawartych domieszek występuje pod wieloma nazwami jako minerał i kamień szlachetny: od kryształu górskiego, przez kwarce dymne i różowe po ametysty, agaty, tygrysie oczy czy nawet zwykły krzemień.
Jak zatem taki powszechny minerał stał się podstawą odmierzania czasu, generowania i filtrowania częstotliwości, a nawet istotnym komponentem zestawu melomana? Dwa słowa: efekt piezoelektryczny. Przepuszczanie prądu przez kryształ kwarcu powoduje, iż ten ulega mechanicznej deformacji. Działa to też w drugą stronę - fizyczne zgniatanie bądź uderzanie w kryształ wytwarza w nim ładunek elektryczny. Najprostszym przykładem praktycznego wykorzystania tego zjawiska są tanie zapalniczki i zapalarki elektryczne, gdzie naciśnięcie przycisku bądź dźwigni powoduje najpierw powolne ściśnięcie, a potem gwałtowne rozprężenie kryształu kwarcu, co wytwarza impuls wysokiego napięcia rzędu kilku do kilkunastu kilowoltów. Ale od robienia iskier do odmierzania czasu jest kawałek drogi.
Ksylofony, dzwony, gongi i kryształy
Idiofony to grupa instrumentów muzycznych, gdzie elementem wytwarzającym dźwięku jest ciało stałe wzbudzane do drgań przez uderzanie, pocieranie, szarpanie czy dęcie (dmuchanie). Częstotliwość drgań zależy od wymiarów albo drgającego ciała i/lub dołączonej doń komory rezonansowej. Skupmy się na idiofonach, gdzie częstotliwość dźwięku zależy od wymiarów elementu drgającego, zwanego wibratorem. W ksylofonie wibratorami są drewniane płytki, w gongu metalowa płyta, w przypadku dzwonów rurowych są to metalowe rury (jak sama nazwa wskazuje). Każdy z tych instrumentów jest strojony wstępnie przez użycie konkretnych wymiarów wibratora, a potem dostrajany przez usuwanie niewielkich ilości materiału, aż do osiągnięcia pożądanych wysokości dźwięku. Materiał można też dodać, choć nie zawsze jest to praktyczne.
Kryształ kwarcu też jest swoistym wibratorem i ma określoną częstotliwość rezonansową. Jednak w przypadku kwarcu po uderzeniu, potarciu, szarpnięciu czy dęciu nie usłyszymy dźwięku. Za to na oscyloskopie możemy zobaczyć drgania wytworzonej w krysztale elektryczności. Częstotliwość tych drgań, podobnie jak w idiofonach, zależy od fizycznych wymiarów kryształu (a także jego struktury i czystości). Ten fakt jest podstawą strojenia rezonatorów kwarcowych.
W rezonatorze kwarcowym nie znajdziemy jednak niczego, co będzie wzbudzać drgania w kawałeczku kwarcu. Żadnych młotków, pałeczek czy dmuchawy. Za wszystko odpowiada efekt piezoelektryczny: impuls prądu odkształca kryształ wzbudzając w nim drgania, te drgania zaś wzmacniają i osłabiają ten impuls zgodnie z częstotliwością rezonansową. Teraz wystarczy te drgania prądu wzmocnić i część podać ponownie na wejście rezonatora, by uzyskać stabilne oscylacje. Jeśli jednak na wejście rezonatora podamy miks różnych częstotliwości, a wyjście podłączymy do wzmacniacza, to zamiast generatora oscylacji uzyskamy filtr, który wzmocni tylko częstotliwość rezonansową.
Rezonatory kwarcowe
Typowy rezonator kwarcowy ma postać metalowej puszki (różnej wielkości) z dwoma wyprowadzeniami. Na obudowie znajdziemy najczęściej oznaczenie częstotliwości rezonansowej oraz symbol lub kod pozwalający zidentyfikować producenta. Symbol i schemat zastępczy rezonatora wyglądają tak:
Jak widać, rezonator zachowuje się jak szeregowo-równoległy obwód rezonansowy RLC. Znając wartości poszczególnych elementów możemy obliczyć impedancję rezonatora, czyli jego rezystancję dla wybranej częstotliwości. Nie ma jednak takiej konieczności, gdyż istotne parametry znajdziemy w notach katalogowych. Sposobów realizacji rezonatorów jest kilka, zależnie od położenia elektrod i kształtu samego elementu drgającego. Spójrzmy na wnętrza typowych rezonatorów kwarcowych:
Po lewej rezonator kwarcowy 32,768kHz, po prawej rezonator na częstotliwości liczone w MHz. Ten pierwszy ma kształt klasycznego kamertonu i drga w analogiczny sposób. Drugi wygina się niczym gong lub membrana, a jego częstotliwość drgań zależy od grubości płytki kwarcu.
Rezonatory kwarcowe w roli oscylatorów zwykle współpracują z układami scalonymi, które mają wbudowane niemal wszystko potrzebne, by rezonator rezonował. Czasami jednak zachodzi potrzeba zbudowania własnego oscylatora. Przedstawię trzy przykładowe rozwiązania poniżej.
Oscylatory Colpittsa
Na początek prosty układ Colpittsa współpracujący z rezonatorami o częstotliwości od 1MHz do 5MHz:
Rezystory R1 i R3 ustalają polaryzację bazy tranzystora. R4 ustala napięcie wyjściowe układu. R2 zaś izoluje tranzystor od zasilania i ogranicza prąd kolektora. Kondensatory C2 i C5 tworzą dzielnik napięcia w obwodzie sprzężenia, ustalając jego maksymalny poziom. C4 i rezonator Y1 tworzą szeregowy obwód rezonansowy, przy czym C4 pozwala na zmianę częstotliwości w niewielkim zakresie. C3 pełni rolę filtra składowej stałej. C1 filtruje zaś zasilanie.
Jeśli chcemy użyć rezonatora o innej częstotliwości, niż n schemacie, należy zmienić wartości C2 i C5. Im niższa częstotliwość, tym większe powinny być pojemności. Układ nie powinien być nadmiernie obciążany, gdyż to może wpłynąć na jego pracę. Ulepszonym wariantem jest układ poniższy, który ma szerszy zakres częstotliwości pracy z rezonatorami od 1,5MHz do 20MHz:
Poza zmianą wartości elementów do układu dodany został stopień wyjściowy w układzie wspólnego kolektora, dzięki któremu całość zachowuje się stabilnie w szerokim zakresie częstotliwości.
Oscylator Pierce'a
Poniższy układ w różnych wariantach jest powszechnie stosowany w układach scalonych, i nie tylko. Jego prostota i możliwość realizacji z użyciem także inwertera czyni go popularnym sposobem generowania sygnałów zegarowych w układach cyfrowych.
Dławik L1 odcina układ od zasilania dla zakresu częstotliwości oscylacji i jest niezbędny do właściwej jego pracy. Kondensator C2 tworzy pętlę dodatniego sprzężenia zwrotnego, rezystor R1 zaś ogranicza jej głębokość i obciąża bramkę tranzystora JFET Q1. C4 jest częścią obwodu rezonansowego z rezonatorem Y1 i pozwala na jego przestrajanie w pewnym zakresie.
Oczywiście praktycznych rozwiązań układowych jest dużo więcej, ale myślę, że te podstawowe układy na początek wystarczą każdemu.
Generatory kwarcowe
Generatory kwarcowe od rezonatorów różnią się tym, iż są aktywnymi układami wymagającymi zasilania, oferującym w zamian gotowe, zintegrowane źródło sygnału zegarowego. Wewnątrz generatora znajduje się rezonator kwarcowy oraz obwód oscylatora, najczęściej w konfiguracji Pierce'a, oraz bufor wyjściowy pozwalający zasilać wiele układów CMOS lub TTL. Generatory te mogą oferować wyższe częstotliwości pracy niż zwykłe rezonatory, gdyż mogą pracować nie na częstotliwości bazowej rezonatora, ale na którejś z jego częstotliwości harmonicznych. Można oczywiście zmusić rezonator do takiej pracy samemu, ale układ jest bardziej skomplikowany i wymaga dokładności w projektowaniu i w wykonaniu. Przez to gotowe generatory bywają bardziej praktyczne.
Problemy
Rezonatory i generatory kwarcowe mają trzy podstawowe problemy:
1. Fabryczny rozrzut parametrów.
2. Podatność na zmiany temperatury.
3. Starzenie się.
W specyfikacji każdego rezonatora znajdziemy informację na temat tolerancji, stopnia starzenia i wpływu temperatury, najczęściej podawane w ppm, czyli częściach na milion. Dla przykładu weźmy tani rezonator kwarcowy dla zegarków o częstotliwości rezonansowej 32.768kHz. Konkretnie będzie to rezonator LFXTAL002996BULK od IQD. W tabeli znajdziemy informację, iż podstawowa tolerancja w temperaturze 25°C wynosi ±16ppm. Ale ile to będzie w hercach? Policzmy:
(32768Hz / 1000000) * 16 = 0,524288Hz.
Zatem wartość bazowa rezonatora może się różnić o ±0,524288Hz. Dalej, nota podaje, iż rezonator starzeje się o maksymalnie ±5ppm na rok w temperaturze 25 stopni Celsjusza, czyli o ±0,16384Hz. Trochę niżej znaleźć można wykres i wzór na obliczenie wpływu temperatury na częstotliwość. Dla tego rezonatora wzór wygląda tak:
Δf/fo = -0,034±0,006 * (T-To)^2 ppm
Typowo To przyjmuje wartość 25°C, T zaś to temperatura pracy rezonatora. Liczba -0,034±0,006 to współczynnik temperatury, oraz jego tolerancja, wyrażane w ppm/°C. Jak to się liczy w praktyce? Załóżmy, że rezonator pracuje w zegarku naręcznym, i od kontaktu ze skórą rozgrzał się do temperatury 35°C. Podstawmy to do wzoru:
Δf/fo = -0,034±0,006 * (35°C-25°C)^2 ppm = -0,034±0,006 * (10)^2 = -0,034±0,006 * 100 = -3,4±0,6ppm.
Zatem nasz rezonator może mieć częstotliwość niższą od nominalnej o 0,1114112Hz ±0,0196608Hz. O ile zatem zegarek będzie się spóźniał, bo to też warto by było wiedzieć? Policzmy dla jednego miesiąca:
(60*60*24*30)/1000000 * -3,4±0,6ppm = 2,592 * -3,4±0,6ppm = --8,8128±1,5552s.
Ale, ale, trzeba doliczyć jeszcze rozrzut początkowy:
2,592 * ±16ppm = ±41,472s
Po zsumowaniu zatem wychodzi błąd -8,8128 ±43,0272s, czyli nasz zegarek może się spóźniać o nawet 51,84 sekundy, albo chodzić za szybko o 34,8992 sekundy na miesiąc. A nie uwzględniliśmy jeszcze starzenia się rezonatora. Co miesiąc trzeba doliczyć błąd w wysokości ±1,08s.
Może zatem inny przykład, bliższy elektronikowi, czyli budujemy miernik częstotliwości do 40MHz używając rezonatora kwarcowego 8MHz. Tym razem wybór padł na rezonator LF XTAL003156 od IQD. Nota wygląda cokolwiek inaczej. Zamiast wykresu i wzoru do obliczania zmiany częstotliwości względem temperatury mam wartość ±50ppm, i wykres pokazujący 5 różnych przypadków z mało dokładną skalą. Dodatkowo sam rezonator ma tolerancję ±30ppm. Co tu się dzieje?
Po kolei, najpierw o wpływie temperatury: te ±50ppm jest podane dla pełnego zakresu pracy, tj. od -20 do 70 stopni Celsjusza. Na wykresie to tak jednak nie wygląda. Dla -20°C wartości współczynnika temperaturowego mieszczą się w zakresie -12-20ppm, a dla 70°C w zakresie -23-7ppm. Producent nie podaje dokładniejszych danych, bo to tani rezonator, wystarczająco dobry do współpracy z mikrokontrolerem w temperaturze bliskiej nominalnych 25°C. Tolerancja rozrzutu częstotliwości na poziomie ±30ppm oznacza też, iż nasz miernik częstotliwości może mierzyć z błędami. Dokładnie to z błędem ±30Hz na każdy MHz. Sam rezonator może mieć częstotliwość od 7,999760MHz do 8,000240MHz.
Dlaczego rezonator kwarcowy dla zegarków ma lepsze parametry, niż rezonator kwarcowy ogólnego przeznaczenia? To proste: ten pierwszy został od początku zoptymalizowany do (w miarę dokładnego) odmierzania czasu. Praca z niższą częstotliwością i kształt kamertonu powaliły na lepszą optymalizację procesu produkcji, a przez to redukcję rozrzutu parametrów. Ze względu na kształt temperatura wpływa na na rezonator w bardzo określony sposób. Rezonatory na wyższe częstotliwości drgają na kilka różnych sposobów, przez co temperatura wpływa na ich drgania w różnych kierunkach, i nie zawsze tak samo. Dlatego właśnie rozrzut parametrów w zakresie wpływu temperatury jest tak wielki - producent może zagwarantować pewną częstotliwość w konkretnej temperaturze, tj. w 25°C, a im dalej od tej temperatury, tym większa będzie losowość możliwych odchyłek od częstotliwości bazowej. W normalnych sytuacjach odchyłki o 30-50Hz na każdy MHz to nie jest wielki problem, ale co, jeśli zależy nam na dokładności? Jest kilka rozwiązań...
TCXO, TCVCXO, OCXO i lepsze zegary
Skrót TCXO oznacza Temperature Compensated Crystal Oscillator, czyli oscylator kwarcowy skompensowany termicznie. Jest to element, który poza właściwym kwarcem i oscylatorem z nim współpracującym zawiera czujnik termiczny i układ zmieniający częstotliwość oscylatora zależnie od temperatury. Producent dokonał pomiaru zmian częstotliwości zależnie od temperatury rezonatora i użył tych danych dla całej produkcji. Dla przykładu generator 20MHz LFTCXO063784BULK od IQD. Wstępna tolerancja to ±0,5ppm, czyli ±10Hz. Stabilność termiczna to aż ±0,14ppm dla całego zakresu temperatur, czyli w całym zakresie pracy generator zmieni częstotliwość o ±1,4Hz. Starzenie się wynosi ±0,02ppm na dzień, ale nie więcej niż ±1ppm na rok.
Skrót TCVCXO oznacza Temperature Compensated, Voltage Controlled Crystal Oscillator, czyli oscylator kwarcowy skompensowany termicznie regulowany napięciem. W praktyce to jest to samo, co TCXO, tylko ma dodatkowe wejście pozwalające wyregulować częstotliwość w niewielkim zakresie. Ma to sens pod warunkiem, iż mamy miernik częstotliwości o jeden rząd wielkości dokładniejszy, niż nasz generator. Weźmy na przykład LFTVXO009912BULK od IQD. Stabilność temperaturowa to imponujące ±0,5ppm, czyli dla tego rezonatora o częstotliwości 10MHz jest to ±5Hz. Dodatkowo wejście sterujące pozwala zmieniać częstotliwość o przynajmniej ±5ppm. Starzenie jest na poziomie ±1ppm w pierwszym roku. Potem spada. Imponujące, prawda?
Skrót OCXO oznacza Oven Controlled Crystal Oscillator czyli oscylator kwarcowy kontrolowany termicznie (piecem). W tym wypadku rezonator kwarcowy jest ogrzewany do określonej temperatury pracy i termicznie odizolowany od warunków zewnętrznych. Termostat stabilizuje temperaturę i gwarantuje jej stałość. Układy te są najdokładniejszymi generatorami kwarcowymi dostępnymi na rynku. Stosowane są w sprzęcie pomiarowym wysokiej klasy, gdzie zwiększony pobór prądu nie ma znaczenia, ale dokładność i stabilność już ma. Płacimy za to wysoką cenę, tj. kilkaset złotych za jeden element. A co w zamian? Spójrzmy na generator 10MHz LFOCXO063800BULK od IQD. Nota podaje wstępną tolerancję na poziomie ±500ppb (części na miliard), czyli inaczej ±0,5ppm, czyli ±5Hz. Jak na razie to żaden cud. Ale stabilność temperaturowa wynosi od ±10ppb do ±100ppb. Czyli od ±0,1Hz do ±1Hz. Starzenie się zaś wynosi ±5ppb na dzień maksymalnie, i ±500ppb na rok, też maksymalnie. Ponadto dostępny jest też wariant z wejściem do regulacji częstotliwości.
Czy jest coś lepszego? Tak, i jest to coś, co sam chciałbym kupić. Tym czymś jest rubidowy wzorzec częstotliwości. Kiedyś używane wzorce pochodzące ze stacji bazowych GSM kosztowały 50 dolarów na ebaju, teraz ceny zaczynają się od dwustu dolców. Nowy wzorzec rubidowy na Alliexpress kosztuje 959 dolarów, czyli ponad 4500 złotych. Takie wzorce są dostępne też w Polsce, ale tam cen nie podają, bo to urządzenia nie sprzedawane zwykle "cywilom". Dlaczego o nich w ogóle wspominam? A no ze względu na niesamowitą wręcz stabilność, typowo na poziomie ±1-2 x 10^-11 /1s. To oznacza, że wzorzec 10MHz zmieni swoją częstotliwość o 0,01-0,02Hz w ciągu sekundy. Dryft w ciągu stu sekund nie będzie większy niż 0,001-0,002Hz. Długofalowo można dopisać jeszcze dwa zera - rubidowe zegary atomowe się nie starzeją tak, jak kwarce.
Rozwiązania budżetowe dla większej dokładności
Jeśli mamy odbiornik GPS z wyjściem pps (impuls co sekundę na poziomie sygnału zegarowego generowanego przez satelity z użyciem pokładowych zegarów atomowych), możemy go wykorzystać do pomiaru i kalibracji rezonatorów. Imć Roman Black sporządził ponad 10 lat temu kilka przykładowych algorytmów, które można znaleźć tutaj.
Dalej, można zbudować "piekarnik" dla rezonatora i utrzymywać go w podwyższonej temperaturze - rozwiązanie dużo tańsze od gotowych OCXO, ale potrzebne będzie skalibrowanie tego raz na rok. Starzenie się będzie sporym problemem, stąd ta konieczność. Można użyć rezonatora zegarkowego i połączyć go z układem generatora PLL by uzyskać większą częstotliwość. Układy PLL, czyli Phase-Locked Loop kontrolują oscylatory sterowane napięciem (VCO - Voltage Controlled Oscillator) w ten sposób, iż częstotliwość oscylatora jest dzielona n razy, a potem faza podzielonego sygnału jest porównywana z fazą sygnału zegarowego. Różnice w fazie zmieniają napięcie sterujące oscylatorem, aż fazy będą takie same. Wartość n ustala częstotliwość oscylacji.
Za 40-50 złotych na znanym portalu aukcyjnym można kupić chińskie moduły OCXO 10MHz, ponoć skalibrowane z tolerancją do ±0,01Hz. Na zdjęciach puszka generatora nie ma żadnych oznaczeń, nie ma też noty katalogowej, więc to kupowanie w ciemno, zwłaszcza że generatory OCXO ze sklepu kosztują 8-12 razy więcej...
Jeśli celem użycia precyzyjnego źródła zegarowego jest budowa zegara, to można rozważyć użycie odbiornika DCF-77, albo modułu ESP8266 do pobierania bieżącego czasu z serwera NTP raz na dobę. W tym drugim przypadku warto robić to nie co równe 24 godziny, ale odliczać 65536 sekund między kolejnymi synchronizacjami, by nie obciążać serwerów NTP. Da to synchronizację co 18 godzin, 12 minut i 16 sekund. Myślę, że to wystarczy nawet dla najbardziej pedantycznego maniaka punktualności.
Mam nadzieję, iż to kompendium okaże się przydatne. Zapraszam do komentowania i zadawania pytań - postaram się udzielić na nie odpowiedzi.
Cool? Ranking DIY