Streszczenie

Jitter to rozrzut chwili, w której zdarzenie naprawdę następuje względem chwili idealnej. W układach nanosekundowych jest tak samo realnym ograniczeniem jak pasmo oscyloskopu, impedancja linii albo maksymalna częstotliwość zegara. Jeśli chcemy ustawiać lub mierzyć zdarzenia z rozdzielczością 1 ns, zegar, wyzwalanie, linie i odbiorniki muszą mieć niepewności znacznie mniejsze od tej wartości.1,2

Ten artykuł porządkuje jitter, skew, szum fazowy, dystrybucję zegara i crossing domen zegarowych jako praktyczny budżet czasu. Celem nie jest projektowanie żadnego układu odpalania, lecz zrozumienie, dlaczego w aparaturze pomiarowej, FPGA, licznikach czasu, koincydencjach i szybkiej akwizycji „częstotliwość zegara” sama w sobie prawie nigdy nie wystarcza.1,3

Rozszerzenie tematu

Idealny zegar nie istnieje

Na schemacie zegar wygląda jak idealny przebieg prostokątny: zbocza pojawiają się co dokładnie T, a wszystkie bloki układu reagują na nie w tej samej chwili. W prawdziwym układzie każde zbocze przychodzi trochę wcześniej albo później. Raz przyczyną jest szum oscylatora, raz zasilanie, raz zakłócenie z sąsiedniej linii, raz nierówna długość ścieżek, a raz zachowanie PLL albo bufora zegarowego.

Jeżeli układ działa w skali mikrosekund, kilka nanosekund niepewności może być niewidoczne. Jeżeli jednak badamy impulsy, koincydencje, linie transmisyjne, szybkie ADC albo sekwencje FPGA, ten sam rozrzut staje się główną częścią błędu. Wtedy zegar przestaje być tłem. Staje się przyrządem pomiarowym.

W praktyce pytamy więc nie tylko:

  • jaką zegar ma częstotliwość,
  • ale jaki ma jitter,
  • jak jest rozprowadzony,
  • jaki skew powstaje między kanałami,
  • jak stabilny jest próg odbiornika,
  • i czy domeny zegarowe są poprawnie zsynchronizowane.

Jitter, skew i drift: trzy różne problemy czasu

Trzy pojęcia są często mylone, a opisują różne zjawiska.

Pojęcie Co oznacza Przykład skutku
jitter krótkoterminowy rozrzut chwili zbocza zamykanie diagramu oka, błąd pomiaru czasu
skew stała lub wolnozmienna różnica opóźnienia między ścieżkami jeden kanał widzi zegar wcześniej niż drugi
drift wolna zmiana częstotliwości lub fazy w czasie rozjeżdżanie się dwóch niezależnych urządzeń

Jitter jest problemem losowego albo deterministycznego „drżenia” pojedynczych zboczy. Skew jest problemem geometrii i dystrybucji: dwa kanały mogą mieć bardzo stabilne zegary, ale jeden z nich dostaje zbocze stale 300 ps wcześniej. Drift jest problemem długiego czasu: dwa oscylatory mogą być dobre chwilowo, ale po minucie albo godzinie ich fazy odpłyną od siebie.

W aparaturze jądrowej wszystkie trzy zjawiska mogą wystąpić naraz. Koincydencja detektorów wymaga małego jittera i dobrze znanego skew między kanałami. Długie rejestracje środowiskowe wymagają kontroli driftu zegara. Szybka akwizycja wielokanałowa potrzebuje zarówno poprawnej dystrybucji zegara, jak i kalibracji opóźnień.

Jitter losowy i deterministyczny

Jitter losowy wynika między innymi z szumu termicznego i szumu fazowego źródła zegara. Często modeluje się go rozkładem Gaussa i podaje jako wartość skuteczną RMS. Problem polega na tym, że rozkład Gaussa formalnie ma ogony bez końca. Dlatego w transmisjach cyfrowych przy bardzo małej dopuszczalnej stopie błędów interesuje nas nie tylko średnie RMS, ale także to, jak ogony rozkładu przekładają się na prawdopodobieństwo błędu.1,3

Jitter deterministyczny ma konkretną przyczynę i często jest ograniczony: przesłuch z sąsiedniej linii, zasilacz impulsowy, odbicia od niedopasowania, asymetria czasów narastania i opadania, zależność opóźnienia od danych, zakłócenie okresowe od przetwornicy. Jego kształt nie musi być gaussowski. Może tworzyć kilka skupień na histogramie czasu albo okresowe przesunięcie zboczy.

W praktyce oba składniki sumują się w budżecie czasu. Dla użytkownika aparatury najważniejsze jest pytanie: ile zostaje marginesu między najwcześniejszym i najpóźniejszym możliwym zboczem a momentem, w którym odbiornik musi poprawnie rozpoznać dane albo zarejestrować zdarzenie?

Szum fazowy i jitter to dwa języki tego samego kłopotu

Źródła zegara często opisuje się przez szum fazowy, czyli rozkład zakłóceń fazy w dziedzinie częstotliwości. Projektant toru czasowego często myśli zaś w pikosekundach jittera w dziedzinie czasu. To są dwa różne języki, ale dotyczą tej samej nieidealności: zbocze nie pojawia się dokładnie tam, gdzie powinno.

Dla prostego rozumienia wystarczy:

  • szum fazowy mówi, jak energia zakłóceń fazy rozkłada się wokół częstotliwości nośnej,
  • jitter mówi, jaki błąd czasu powstaje po zintegrowaniu tego szumu w interesującym paśmie,
  • wybór pasma integracji ma znaczenie, bo inne zakłócenia interesują radiotechnika, a inne projektanta szybkiego ADC.

W szybkich przetwornikach analogowo-cyfrowych jitter zegara próbkowania zamienia się w szum amplitudowy. Im szybciej zmienia się sygnał wejściowy, tym większy błąd napięcia daje ta sama niepewność czasu. Dlatego zegar ADC bywa ważniejszy niż sama liczba bitów przetwornika. Zły zegar potrafi odebrać użyteczną rozdzielczość nawet bardzo dobremu układowi.3

Budżet czasu

Budżet czasu jest najprostszy na poziomie idei: wypisujemy wszystkie źródła niepewności i sprawdzamy, czy ich suma mieści się w wymaganym oknie. W transmisji cyfrowej oknem jest czas, w którym oko danych pozostaje otwarte. W koincydencji jest to szerokość okna czasowego. W generatorze impulsów jest to dopuszczalny rozrzut chwili zdarzenia.

Przykładowy budżet może wyglądać tak:

Składnik Typowy sens
jitter oscylatora niestabilność źródła czasu
jitter PLL dodatkowa niepewność syntezy zegara
jitter bufora zegarowego szum dodany przez dystrybucję
skew ścieżek różnica długości i opóźnień między kanałami
jitter odbiornika niepewność progu i komparatora
odbicia i ringing przesunięcie chwili przekroczenia progu
szum zasilania modulacja opóźnień bramek i PLL

Nie wszystkie składniki sumuje się liniowo. Składniki losowe niezależne często łączy się jako pierwiastek z sumy kwadratów, a deterministyczne dodaje bardziej zachowawczo. Na poziomie dydaktycznym ważniejsze jest jednak samo myślenie budżetem: rozdzielczość 1 ns nie oznacza, że każdy element może mieć 1 ns niepewności. Elementy muszą być znacznie lepsze, bo niepewności się kumulują.

Dystrybucja zegara: clock tree

W małym układzie zegar idzie z oscylatora do jednego mikrokontrolera. W aparaturze wielokanałowej zegar trzeba rozprowadzić do wielu bloków: ADC, FPGA, liczników, generatorów, rejestratorów i czasem do wielu płytek. To jest clock tree, czyli drzewo zegarowe.

Dobre drzewo zegarowe ma kilka cech:

Cecha Po co jest potrzebna
niskojitterowe źródło nie degraduje całego systemu od początku
bufory zegarowe o znanym additive jitter nie dodają niekontrolowanego szumu
dopasowane długości ścieżek ograniczają skew między kanałami
kontrolowana impedancja zmniejsza odbicia i ringing
czyste zasilanie ogranicza modulację fazy przez zakłócenia
separacja domen zapobiega przenoszeniu zakłóceń między blokami

W FPGA dochodzi jeszcze wewnętrzna infrastruktura zegarowa: globalne bufory, PLL/MMCM, sieci regionalne i ograniczenia narzędzi timing closure. Nie wystarczy doprowadzić zegar na pin. Trzeba sprawdzić, czy wszystkie ścieżki danych spełniają wymagania setup i hold względem tego zegara.4

Setup, hold i metastabilność

Układ synchroniczny działa dlatego, że przerzutniki próbkują dane w chwili zbocza zegara. Aby to było pewne, dane muszą być stabilne przez pewien czas przed zboczem (setup) i po zboczu (hold). Jeśli dane zmieniają się zbyt blisko zbocza, przerzutnik może wejść w stan metastabilny: przez chwilę nie rozstrzyga jednoznacznie zera i jedynki.1

Metastabilność jest zjawiskiem analogowym ukrytym w cyfrowym świecie. Nie da się jej całkowicie zakazać, jeśli sygnały przechodzą między niezależnymi domenami zegarowymi. Można tylko zmniejszyć prawdopodobieństwo błędu przez synchronizatory, asynchroniczne FIFO, protokoły handshake i poprawne ograniczenia czasowe.

To ważne dla aparatury pomiarowej. Sygnał z detektora, przycisk wyzwalania, impuls z zewnętrznego generatora albo znacznik czasu z innego modułu często przychodzi asynchronicznie względem zegara FPGA. Jeśli taki sygnał trafi wprost do logiki, układ może działać „prawie zawsze”, a czasem dawać niereprodukcyjny błąd. W nauce i metrologii „prawie zawsze” jest szczególnie zdradliwe.

Synchronizacja wielu urządzeń

W większym stanowisku laboratoryjnym mamy nie jeden układ, lecz wiele urządzeń: oscyloskop, generator, licznik, spektrometr, moduł FPGA, kamerę, czujniki ciśnienia, akwizytor danych. Każde może mieć własny zegar. Jeśli wyniki mają być porównywane w czasie, potrzebna jest wspólna baza czasu albo przynajmniej znana relacja między zegarami.

Są trzy poziomy synchronizacji:

  1. wspólny sygnał wyzwalania,
  2. wspólny zegar odniesienia,
  3. pełne znakowanie czasu z korekcją opóźnień.

Wspólny trigger mówi: zacznijcie rejestrować po tym zdarzeniu. Nie gwarantuje jednak, że próbki w różnych urządzeniach mają identyczne czasy. Wspólny zegar odniesienia poprawia sytuację, bo urządzenia nie dryfują względem siebie. Znakowanie czasu pozwala później składać dane, o ile znamy opóźnienia kabli, buforów i torów pomiarowych.

Dla artykułów o aparaturze fali uderzeniowej, szybkich kamerach i czujnikach ciśnienia ta różnica będzie kluczowa. Kamera może mieć własne opóźnienie ekspozycji, czujnik własne pasmo, a rejestrator własny trigger delay. Bez budżetu czasu porównujemy wtedy zdarzenia, które tylko pozornie są jednoczesne.

Jitter w pomiarach jądrowych

W radiometrii jitter nie zawsze jest widoczny na pierwszym planie, ale pojawia się w kilku ważnych miejscach. W koincydencjach gamma-gamma albo beta-gamma określa, jak wąskie okno czasowe można ustawić bez utraty zdarzeń. W spektrometrii impulsowej wpływa na pile-up, separację impulsów i poprawność znaczników czasu. W TDC i systemach czasu przelotu jest bezpośrednią składową rozdzielczości pomiaru.

W prostym liczniku GM jitter toru może być mało istotny wobec czasu martwego detektora. W scyntylatorze z szybkim fotopowielaczem albo SiPM zaczyna mieć znaczenie. W układach wielodetektorowych staje się jednym z parametrów granicznych. Dlatego pojęcia z elektroniki cyfrowej i radiometrii spotykają się w tym samym miejscu: tam, gdzie pojedynczy impuls musi zostać przypisany do właściwego czasu.5

Typy jittera i ich miary: TIE, period jitter, cycle-to-cycle

W literaturze i dokumentacji producencji oscylatorów spotyka się trzy podstawowe sposoby mierzenia jittera:

TIE (Time Interval Error): odchylenie każdego zbocza od zbocza idealnego (wyznaczonego przez n-krotność okresu nominalnego). Mierzone względem hipotetycznego „doskonałego" zegara. Typowo podawane jako TIE_RMS (wartość skuteczna) i TIE_pp (peak-to-peak). Istotne przy transmisjach seryjnych i TDC.

Period jitter: odchylenie okresu T_n = t_n+1 - t_n od okresu nominalnego T. Mierzone na kolejnych okresach. Związane bezpośrednio z szumem fazowym przez całkowanie w paśmie. Istotne przy ADC i układach próbkujących.

Cycle-to-cycle jitter: różnica między sąsiednimi okresami: |T_n+1 - T_n|. Mierzy jak szybko zmienia się moment zbocza. Krytyczne przy szybkim przełączaniu napięcia w driverach bramkowych (artykuł o driverach bramek).

Związek między szumem fazowym a jitterem:
Całkując spektrografię szumu fazowego S_φ(f) od dolnej granicy (f_L) do górnej (f_H) i biorąc pierwiastek kwadratowy, uzyskujemy jitter RMS:
σ_jitter = (1/π f_0) × √[∫_{f_L}^{f_H} S_φ(f) df]

gdzie f_0 to częstotliwość nominalna zegara. To pokazuje, że jitter zależy od pasma integracji. Przy f_L = 10 kHz, f_H = 10 MHz jitter wyjdzie inny niż przy f_L = 1 Hz, f_H = 100 MHz — stąd ważność podania pasma integracji przy specyfikacjach.

Oscylatory: od kryształów do atomowych

Źródło zegara determinuje dolny próg jittera całego systemu:

Kryształowy oscylator (XO): prosty rezonator kwarcowy z obwodem podtrzymującym. Częstotliwości 1–200 MHz. Jitter: 0,2–2 ps RMS w paśmie 12 kHz – 20 MHz. Dryf termiczny: ±50 ppm w zakresie -40–+85°C. Koszt: 1–5 zł.

TCXO (Temperature-Compensated Crystal Oscillator): kryształ z kompensacją temperaturową przez układ NTC lub napięciową. Stabilność: ±0,5–2,5 ppm. Koszt: 20–100 zł. Stosowany w GPS, komunikacji, aparaturze pomiarowej.

OCXO (Oven-Controlled Crystal Oscillator): kryształ w piecyku termostatowanym (~70°C). Stabilność: ±0,01–0,1 ppm po stabilizacji (15–30 minut). Jitter: 100–500 fs RMS. Koszt: 200–2000 zł. Standard w stacjach CTBT IMS i aparaturze referencyjnej.

MEMS oscillator: rezonator krzemowy (Analogic Devices SiTime, Microchip). Mniejszy, odporny na wibracje. Stabilność: ±5 ppm. Jitter: 0,5–1 ps. Coraz częstszy w aparaturze przemysłowej.

Rubidowy oscylator atomowy (Rb): rezonator na przejściu atomowym rubidu (6,8 GHz). Stabilność krótkoterminowa: ±0,001–0,1 ppb (części na miliard). Starzenie: ~10⁻¹¹/dzień. Cena: 1 000–10 000 zł. Stosowany jako referencja czasu w stacjach GPS, CTBT, laboratoriach metrologicznych.

Cesowy wzorzec czasu: najtrafniejszy i najdroższy (~300 000 zł). Starzenie: 10⁻¹³/dzień. Definicja sekundy SI. W Polsce Główny Urząd Miar (GUM) utrzymuje krajowy wzorzec czasu bazując na fountainowym standardzie cesowym Cs-F2.

PLL: synteza zegara i filtrowanie szumu

PLL (Phase-Locked Loop) jest wszechobecne w elektronice zegarowej. Zadanie: przyjąć referencję (np. 10 MHz z TCXO) i wygenerować wyższą częstotliwość (np. 200 MHz) z małym dodatkowym jitterem.

Zasada działania:

  1. Komparator fazowo-częstotliwościowy (PFD) mierzy różnicę fazową między referencją a dzielonym wyjściem
  2. Filtr pętli (LPF) całkuje błąd fazowy — usuwa szum wysokoczęstotliwościowy
  3. VCO (Voltage-Controlled Oscillator) generuje sygnał wyjściowy, sterowany napięciem z LPF
  4. Divider (N) dzieli wyjście przez N — gdy N=20, wyjście jest 20× referencji

Pasmo pętli (loop bandwidth): kluczowy parametr. Dla szumów niżej niż pasmo pętli: PLL tłumi szum VCO i amplifikuje szum referencji. Dla szumów wyżej niż pasmo pętli: dominuje szum VCO. Optymalny projekt minimalizuje jitter w obu regionach, dopasowując pasmo do profili szumów VCO i referencji.

Składowe jittera PLL:

  • J_ref: jitter referencji (rezonator, oscylator)
  • J_VCO: szum własny VCO
  • J_PFD: szum komparatora fazowo-częstotliwościowego
  • J_charge_pump: szum pompy ładunku

W FPGA bloki MMCM/PLL (Xilinx) lub PLL (Intel/Altera) wbudowują VCO w chip. Typowy jitter: 50–150 ps RMS (7-series Artix), 30–80 ps RMS (Ultrascale). Zewnętrzne PLL (np. Si5341 Silicon Labs, LMK0483x Texas Instruments) dają 50–200 fs RMS — o 2–3 rzędy lepiej niż wbudowane FPGA.

TDC: czas cyfrowy z pikosekundową rozdzielczością

TDC (Time-to-Digital Converter) mierzy czas między zdarzeniami z rozdzielczością pikosekundową — dużo lepiej niż sama rozdzielczość zegara. W FPGA implementowane przez:

Delay line interpolation: sygnał start przechodzi przez łańcuch opóźnień (CARRY4/CARRY8 w Xilinx), a signal stop jest próbkowany jednocześnie przez każdy element łańcucha. Rozdzielczość: jedna komórka opóźnienia = 10–30 ps (7-series), 5–15 ps (Ultrascale). Zakres: kilka-kilkadziesiąt ns (liczba komórek w łańcuchu).

Vernier technique: dwa sygnały (start i stop) przechodzą przez łańcuchy z nieznacznie różnymi opóźnieniami. Czas mierzony przez numer komórki, gdzie start "dogoni" stop. Lepsze: 1–5 ps rozdzielczość w FPGA.

Zastosowania w fizyce jądrowej:

  • Spektrometria TOF (Time-of-Flight) neutronów: energia neutronu z czasu przelotu między moderatorem a detektorem
  • PET tomografia: koincydencja dwóch fotonów 511 keV z anihilacji, okno 10 ns
  • Pomiary g-2 mionu (Fermilab, CERN): precyzja timingu < 100 ps dla mionów krążących w polu magnetycznym
  • Aparatura stacji CTBT: timing między detektorem hydroakustycznym a modułem rejestracji

Synchronizacja wielourządzeniowa: od triggera do White Rabbit

W laboratorium z wieloma urządzeniami poziom synchronizacji decyduje o tym, co można zmierzyć:

Poziom 1: wspólny trigger. Jeden sygnał START do wszystkich urządzeń. Różne opóźnienia trigger delay (typowo 20–500 ns różnicy). Przydatne gdy wymagana spójność czasu > 1 μs.

Poziom 2: wspólny zegar 10 MHz. Generacja wewnętrzna wszystkich urządzeń zsynchronizowana z zewnętrzną referencją 10 MHz. Standardowe wejście "Ext Ref" w oscyloskopach, generatorach, spektrometrach. Eliminuje drift między urządzeniami. Residual skew: 1–50 ns (zależy od opóźnień wewnętrznych).

Poziom 3: przesyłanie czasu przez IEEE 1588 PTP (Precision Time Protocol). Protokół sieciowy synchronizacji zegarów z dokładnością do 100 ns – 1 μs w typowych sieciach, do 10–100 ns przy sprzętowym timestamp-owaniu.

Poziom 4: White Rabbit (WR). Protokół CERN oparty na IEEE 1588 + synchronous Ethernet, z dokładnością < 1 ns między węzłami. Stosowany w LHC (synchronizacja całego eksperymentu), FAIR Darmstadt, Future Circular Collider. Implementowany w FPGA (open source: White Rabbit PTP Core). W Polsce: NCBJ Świerk używa WR do synchronizacji systemów mionowych eksperymentu TAIGA/TUNKA.

Poziom 5: RF reference distribution. Dystrybucja sygnału RF (np. 500 MHz) przez kabel odporny na temperaturę (Invar/HELIAX) z aktywną kompensacją rozszerzalności. Najdokładniejszy ale i najdroższy. Stosowany w dużych akceleratorach.

Jitter w koincydencjach: przykład beta-gamma

Spektrometria beta-gamma w koincydencji jest klasycznym problemem, gdzie jitter bezpośrednio wpływa na wynik. Przykład: oznaczanie ⁶⁰Co (emiter beta+gamma kaskadowy).

Detektory: plastikowy scyntylator do beta (szybki, odpowiedź 1–2 ns FWHM) + NaI(Tl) do gamma (odpowiedź 250 ns FWHM). Okno koincydencji: 500 ns (NaI) lub 10 ns (przy HPGe + szybki scyntylator).

Wkłady do rozrzutu czasowego (resolucji koincydencyjnej):

  • Scyntylator plastik: 1–2 ns FWHM (czas przekroczenia progu dyskryminatora)
  • PMT czas tranzycji: 3–5 ns FWHM
  • Dyskryminator (constant fraction lub leading edge): 0,5–2 ns
  • Kable i tory elektroniczne: 0,2–1 ns

Razem (suma kwadratów): CTR (Coincidence Time Resolution) ≈ 4–7 ns FWHM dla plastik+PMT. Dla bardziej zaawansowanych systemów (LaBr₃ + SiPM + TOFPET2): CTR ≈ 200–250 ps FWHM.

Tak mała wartość CTR jest potrzebna w PET (pozytronowej tomografii emisyjnej), gdzie rozdzielczość CTR bezpośrednio wpływa na rozdzielczość przestrzenną i sygnał/szum. IFJ PAN Kraków prowadzi badania nad detekcją gamma w PET z LaBr₃ i SiPM, osiągając CTR poniżej 300 ps FWHM.

Kalibracja i wyznaczanie opóźnień w systemie wielokanałowym

W praktyce laboratoryjnej wyznaczenie opóźnień między kanałami jest pierwszym krokiem przed każdym pomiarem wymagającym synchronizacji:

Metoda bezpośrednia: jeden generator sygnału → splitter → oba kanały oscyloskopu. Pomiar różnicy opóźnień między kanałami przez wyświetlenie jednocześnie obu przebiegów i funkcji "skew measurement". Typowe wyniki: 0,1–1 ns dla nowoczesnych oscyloskopów przy kablach tej samej długości.

Kalibracja kabli: kable koaksjalne RG-58 mają prędkość propagacji ~2/3 c ≈ 20 cm/ns. Kabel o długości 1 m wprowadza opóźnienie ~5 ns. Przy różnicy długości kabli 10 cm: różnica opóźnień ~0,5 ns — istotne przy oknach koincydencji < 5 ns.

Kalibracja kart trigger: wiele oscyloskopów ma funkcję "deskew" (korektę skew) gdzie użytkownik mierzy opóźnienie i wprowadza korektę cyfrowo. Zakres korekcji: ±100 ns w typowych oscyloskopach.

Kalibracja TDC: wyznaczenie INL (Integral Non-Linearity) i DNL (Differential Non-Linearity) TDC przez pomiar statystyczny przy losowych czasach zdarzenia (rozkład Poissona). Kody przełączające się równomiernie dla idealnego TDC; nierówności wskazują na INL.

Diagram oka i pomiar jittera oscyloskopem

Diagram oka (eye diagram) jest najważniejszym narzędziem wizualizacji jittera i marginesy sygnału w systemach cyfrowych. Uzyskuje się go przez nałożenie wielu tysięcy przebiegów na tym samym oknie czasowym — równym jednemu lub kilku okresom symbolu. Zdrowy diagram oka pokazuje:

  • szerokie, otwarte oko (dużo miejsca dla decyzji 0/1)
  • wyraźne zbocza (wąskie przejście przez próg)
  • równomierną skrzynkę (brak osi poziomej jittera deterministycznego)

Gdy jitter rośnie, oczko zaczyna się "zamykać" — zbocza rozszerzają się poziomo, a amplituda wewnątrz oczka maleje. Kompletne zamknięcie oka oznacza błędy bitowe BER > 10⁻³.

Parametry mierzone z diagramu oka:

  • Eye width: szerokość otwartego obszaru w środku okresu — miara poziomego marginesu na jitter
  • Eye height: pionowa amplituda otwartego obszaru — miara szumów i iskażeń amplitudy
  • Jitter histogram: rzut poziomy na oś czasu; gaussowski (losowy RMS) lub dwumodalny (deterministyczny/periodyczny)
  • Bathtub curve: wykres BER jako funkcji progu decyzji i czasu próbkowania — pokazuje "wannę" tolerancji

W oscyloskopach cyfrowych (Tektronix MSO, Keysight DSO) pomiar automatyczny diagramu oka realizowany jest sprzętowo przez synchronizację do pattern triggera. Czas uchwycenia dziesiątek milionów zboczy: kilka sekund. Dokładność pomiaru jittera: ~ ±5 ps (typowe oscyloskopy klasy 6 GHz).

W pomiarach aparatury jądrowej diagramy oka są rzadziej stosowane (przebiegi aperiodyczne), ale technika histogramów zbocza jest bezpośrednio przeniesiona do pomiaru rozdzielczości koincydencyjnej CTR.

Szum zasilania jako źródło jittera: power supply noise

Nieoczekiwanym, ale ważnym źródłem jittera jest szum napięcia zasilania VDD. VCO w PLL mają czułość na napięcie: KvDD [ps/mV]. Typowe wartości dla różnych technologii:

Technologia VCO KvDD Komentarz
LC-VCO 1 GHz CMOS 0,5–2 ps/mV Wysoka Q induktora tłumi część szumu
Ring oscillator 200 MHz 5–30 ps/mV Każda bramka jest czuła na VDD
Blok MMCM Xilinx 7-series 1–5 ps/mV Zintegrowany filtr zasilania
OCXO referencyjny < 0,01 ps/mV Regulator liniowy oddziela VCO od zewnątrz

W praktyce: szum zasilania 10 mV RMS przy KvDD = 2 ps/mV daje jitter ~ 20 ps RMS — porównywalny z szumem własnym PLL. Dlatego:

  • Separuj zasilanie płyty zegarowej od płyty cyfrowej (prądy przełączające CMOS mają dI/dt wielkich impulsów)
  • Stosuj regulatory LDO (Low-Dropout) o małym szumie wyjściowym (< 5 μV RMS) dla VCO i oscylatorów
  • Ferryty (Ferrite Bead) na liniach zasilających blokują szumy RF przenoszące się przez rezystancję Vcc
  • Kondensatory bypass bliskie pinu zasilania VCO: 100 nF ceramika (szybki szum) + 10 μF elektrolit (wolny)

W aparaturze FPGA projektant powinien sprawdzić datasheets wyjść zasilacza (np. LPDDR + core supply), czy nie nakładają się z zegarem taktowania — modele PDN (Power Delivery Network) w oprogramowaniu SI (Signal Integrity) Cadence/HyperLynx pomagają to symulować.

Wpływ temperatury i starzenia na zegary

Temperatura wpływa na oscylatory kwarcowe przez trzy mechanizmy:

Zmiana częstotliwości rezonansowej: skrzynkowy współczynnik temperaturowy TCf [ppm/°C]. Dla cięcia AT jest to krzywa S-kształtna: minima w okolicach 10°C i 60°C, maksimum ~ 0,5 ppm/°C w środku. Cięcie SC (stress compensated) ma lepszą stabilność przy wyższych temperaturach.

Zmiana właściwości elektrycznych układu oscylacyjnego: pojemności pasożytnicze, rezystancje wejściowe wzmacniacza — wszystkie zmieniają się z temperaturą, co zmienia obciążenie kryształu i przez to jego częstotliwość.

Starzenie (aging): powolny, nieodwracalny dryf częstotliwości w czasie. Wywoływany mechanicznie przez uwalnianie naprężeń w mocowaniu kryształu, oraz chemicznie przez zanieczyszczenie elektrody. OCXO klasy lotniczej: 0,1–1 ppb/rok. TCXO przemysłowy: 5–50 ppb/rok. XO konsumencki: 0,5–5 ppm/rok.

W aparaturze monitorowania promieniowania i stacjach CTBT starzenie oscylatorów jest krytyczne, bo koryguje się je co kwartał lub co rok poprzez kalibrację do GPS PPS (Pulse-Per-Second). GPS zapewnia długoterminową stabilność ~ 10 ns, więc nawet TCXO za kilkaset złotych jest wystarczający jeśli jest dyscyplinowany przez GPS.

Przykład: stacja przeliczona IMS (Comprehensive Nuclear-Test-Ban Treaty network) co do zasady używa OCXO dyscyplinowanych GPS-em. Gdy sygnał GPS jest utracony (zakłócenia, złe warunki), system przełącza się na "holdover" — podtrzymanie dokładności przez OCXO przez czas do kilkudziesięciu godzin z dokładnością < 1 μs.

White Rabbit i ICALEPCS: synchronizacja dużych instalacji naukowych

White Rabbit (WR) jest protokołem open-source opracowanym przez CERN w latach 2007–2011, standaryzowanym jako IEEE 1588-2019 (High Accuracy profile). Rozwiązuje synchronizację czasową na poziomie < 1 ns w sieciach rozległych (wielokilometrowych), co jest wymaganiem systemów wyzwalania akceleratorów i rozmieszczonych laboratoriów.

Kluczowe właściwości WR:

  • Sub-nanosecundowa dokładność: < 1 ns peer-to-peer, typowo 100–250 ps przy kablach < 10 km
  • Optical fiber sync: pomiar opóźnienia kabla włókna za pomocą loopback + korekta asymetrii (różne prędkości propagacji dla różnych długości fali)
  • Deterministic latency: przetaktowywanie węzłów na wspólny zegar master przez Synchronous Ethernet
  • Otwarty sprzęt i oprogramowanie: White Rabbit SPEC karta (PCIe), White Rabbit Switch 18-portowy, WRPC (WR PTP Core) dla FPGA Xilinx/Intel

Zastosowania w Polsce:

  • NCBJ Świerk: system dystrybucji czasu do eksperymentu TAIGA i detektorów mionowych sieci NEVOD-DECOR. WR umożliwia korelację zdarzeń między stacjami oddalonymi o setki kilometrów z dokładnością 10–50 ns.
  • IFJ PAN Kraków: projekt WR dla synchronizacji detektorów eksperymentu NICA (Joint Institute for Nuclear Research, Dubna) — Polska uczestniczy w akwizycji danych.
  • Laboratorium Fizyki Fal (PWr): badania synchronizacji WR dla LiDAR i radarów lotniczych.

Konkurencyjne protokoły:

  • IEEE 1588-2008 (PTPv2): standard, osiąga 100 ns – 1 μs
  • IRIG-B: stary format analogowy/cyfrowy, dokładność 100 ns – 1 μs, szeroko stosowany w CTBT i systemach obronnych
  • SyncE (Synchronous Ethernet): tylko częstotliwość, bez znacznika czasu (Phase/TOD sync wymaga PTP)

Polska perspektywa na timing jądrowy

Polska ma kilka silnych ośrodków zaangażowanych w precyzyjny timing:

Główny Urząd Miar (GUM): utrzymuje krajowy wzorzec czasu UTC(PL) bazując na fontannach atomowych Cs i Rb, synchronizowanych z BIPM (Bureau International des Poids et Mesures) przez satelitarne porównania GNSS. Niepewność UTC(PL): < 10 ns od UTC. GUM uczestniczy w EUROMET/EURAMET (Europejskie Stowarzyszenie Laboratoriów Metrologicznych).

Politechnika Warszawska (PW): badania nad TDC w FPGA dla PET i eksperymentów fizyki wysokich energii (we współpracy z CERN). Grupy: Zakład Elektroniki Jądrowej i Medycznej.

WAT (Wojskowa Akademia Techniczna): badania nad systemami timingu dla urządzeń wojskowych — precyzyjne bezpieczniki, synchronizacja systemów obrony powietrznej, timing sygnałów radarowych.

IFJ PAN: poza PET (SiPM + LaBr₃ + TOFPET2), badania nad precyzyjną spektrometrią gamma-gamma w koincydencji dla jądrowej struktury — techniki koincydencji (τ < 1 ns) wymagają bardzo precyzyjnego timingu.

AGH (Akademia Górniczo-Hutnicza): laboratoria elektroniki FPGA i akwizycji danych — udział w projektach LHCb i ALICE (CERN), gdzie timing FPGA jest krytyczny dla selekcji zdarzeń.

Tabela porównawcza standardów zegarowych

Typ oscylatora Stabilność kr. Stabilność dł. Jitter (RMS) Starzenie Cena Zastos.
XO kryształ ±50 ppm ±5 ppm/rok 0,5–2 ps duże 1–5 zł układy FPGA, oscylatory taktowania
TCXO ±2,5 ppm ±2 ppm/rok 0,2–1 ps średnie 20–100 zł GPS, komunikacja, aparatura
OCXO ±0,1 ppm ±0,1 ppm/rok 50–500 fs małe 200–2000 zł stacje pomiarowe, CTBT
MEMS oscillator ±5 ppm ±3 ppm/rok 0,5–1 ps małe 30–150 zł IoT, przemysł, odporność na wibracje
Rb atomowy ±0,001 ppb ±10 ppb/rok < 100 fs bardzo małe 2 000–15 000 zł referencja czasu, GPS-in-a-box
Cs atomowy ±0,001 ppb ±0,01 ppb/rok < 50 fs zanik > 200 000 zł wzorzec narodowy, TAI
GPS discp. OCXO ±10 ns (abs) ±0 (GPS lock) 1–10 ns brak (GPS) 500–5 000 zł stacje CTBT, telekomunikacja

W aparaturze jądrowej stosuje się zazwyczaj TCXO lub OCXO dla modułów pomiarowych, a w systemach wielourządzeniowych: GPS disciplined OCXO jako master + dystrybucja przez White Rabbit lub IEEE 1588.

Numeryczne przykłady budżetu czasu

Przykład 1: Koincydencja beta-gamma 10 ns

Wymaganie: okno koincydencji 10 ns. Wkłady do CTR:

  • Scyntylator plastik (grubość 5 mm): czas tranzycji fotonów ~1,5 ns, FWHM wyjścia ~2 ns
  • PMT (Hamamatsu R9800): transit time spread 280 ps FWHM
  • Dyskryminator CFD (Ortec CF8000): timing walk < 100 ps
  • Kable (łącznie 2 m RG-58): 10 ns opóźnienie, ale stałe → nie dodaje jittera
  • Skew między kanałami: 0,5 ns (różnica długości kabli)
  • Jitter FPGA trigger logic: 100 ps

CTR = √(2000² + 280² + 100² + 500² + 100²) ps ≈ √(4 000 000 + 78 400 + 10 000 + 250 000 + 10 000) ps ≈ √4 348 400 ps ≈ 2 085 ps FWHM

Okno 10 ns przy CTR 2 ns FWHM daje dobrą separację przypadkowych coincidences. Współczynnik przypadkowych: R_acc = 2 × τ_window × N1 × N2 (wzór Rampersona).

Przykład 2: ADC próbkowanie sygnału 50 MHz

ADC 12-bit, 200 MSPS, sygnał wejściowy 50 MHz. Skutek jittera taktowania:
SNR_jitter = -20 log(2π × f_sig × σ_jitter) [dB]

Dla σ_jitter = 5 ps RMS i f_sig = 50 MHz:
SNR_jitter = -20 log(2π × 50×10⁶ × 5×10⁻¹²) = -20 log(1,57×10⁻³) = 56 dB

12-bit ADC ma dynamikę ~ 74 dB (6 dB/bit). Przy 56 dB ograniczeniu przez jitter, efektywne ENOB (Effective Number of Bits):
ENOB = (SNR_jitter - 1,76) / 6,02 ≈ 9 bitów

Wniosek: 5 ps jitter taktowania "obcina" 12-bit ADC do efektywnych 9 bitów przy sygnale 50 MHz. Aby uzyskać pełne 12 bitów: σ_jitter < 1,5 ps (stąd wymaganie zewnętrznego VCXO z < 500 fs jitter dla aparatury analogowej).

Przykład 3: Synchronizacja dwóch FPGA przez White Rabbit

System DAQ: dwa moduły FPGA w odległości 20 m kablem MM fiber. WR switch (master) → 2× WR slave FPGA (SPEC karty). Pomierzone residuum synchronizacji: 180 ps RMS. To wystarcza do korelacji zdarzeń z oknem 2 ns (180 ps << 2 ns), ale nie do bezpośredniego TOF o wymaganej dokładności < 100 ps. W tym przypadku: dodatkowy hardware timestamp korekcją kablową (hardware delay compensation).

Historia timingu w fizyce jądrowej: od iskiernika do White Rabbit

Historia synchronizacji w fizyce jądrowej jest historią coraz krótszych okien czasowych:

Lata 1940–1950 (Projekt Manhattan): Synchronizacja układów inicjacji detonatora z dokładnością μs–ms. Impulsy generowane przez kondensatory i iskierniki thyratron. Rozrzut inicjacji kontrolowany przez ścisłe tolerancje komponentów i długości kabli. Pomiar jittera: mechaniczne oscyloskopy katodowe rejestrujące przebiegi na kliszach fotograficznych.

Lata 1950–1960: Pierwsze liczniki koincydencji NIM (Nuclear Instrumentation Module). Układ VME i NIM ustalały wspólne interfejsy modułów. Dyskryminatory EG&G, Ortec, LeCroy z jitterem 1–3 ns FWHM. Kable 50 Ω RG-58 jako opóźnienia.

Lata 1960–1980: Przetworniki TAC (Time-to-Amplitude Converter): sygnał start ładuje kondensator, stop zatrzymuje ładowanie. Napięcie proporcjonalne do Δt. Rozdzielczość: 50–200 ps FWHM. Wciąż stosowane w spektroskopii koincydencyjnej.

Lata 1980–2000: TDC na bazie krzemowych układów scalonych (Hamamatsu, CAEN V775). Rozdzielczość: 25–100 ps. Szybkie ADC (flash ADC) i FPGA zaczynają zastępować układy analogowe.

Lata 2000–2010: FPGA z szybkimi SERDES (3,125 Gbps i szybciej). TDC implementowane w FPGA z rozdzielczością 10–30 ps (delay-line). Protokół IEEE 1588 PTP dla Ethernet.

2010–2024: White Rabbit jako standard CERN (otwarta implementacja < 1 ns). SiPM z jitterem < 200 ps zastępuje PMT. TOFPET2 ASIC (PETSys Electronics) — 24 kanały, TDC 65 ps na kanał, do PET i fizyki jądrowej. Cyfrowe DPP (Digital Pulse Processors) PSI, CAEN — akwizycja waveform z 14-bit 250 MHz, TDC wbudowany w firmware. Optyczne distributor 10 GHz dla LHC trigger (< 1 ps jitter na tysiące węzłów).

Praktyczne zalecenia projektowe

Dla aparatury wykrywającej promieniowanie jądrowe i realizującej koincydencje, lista kontrolna projektu timingu:

  1. Zidentyfikuj okno koincydencji: jeśli > 100 ns, wystarczy FPGA logic + kabel; jeśli 1–100 ns, potrzebujesz dyskryminatora CFD + TDC; jeśli < 1 ns, musisz sięgnąć po SiPM + ASIC.
  2. Policz budżet jittera: sum kwadratów wszystkich składowych (detektor, elektronika front-end, transmisja, FPGA, kable). Sprawdź czy mieścisz się w wymaganiu.
  3. Użyj dyskryminatorów CFD (Constant Fraction Discriminator) zamiast LED (Leading Edge Discriminator) dla detektorów scyntylacyjnych — redukuje time walk o czynnik 5–50× dla różnych amplitud.
  4. Unikaj długich kabli dla sygnałów z jitterem: każde 1 m RG-58 = 5 ns stałe opóźnienie, ale temperatura zmienia prędkość propagacji o ~0,05 ns/m/°C — źródło driftu termicznego.
  5. Terminuj linie: brak terminacji → odbicia → potencjalne fałszywe wyzwolenia w oknie koincydencji.
  6. Dyscyplinuj zegar przez GPS PPS: jeśli system musi korelować z zewnętrznymi stacjami pomiarowymi, użyj GPS PPS jako długoterminowej referencji — koszt modułu GPS: 30–100 zł.
  7. Dokumentuj opóźnienia kabli: zmierz każdy kabel oscyloskopem TDR lub przy generatorze pulsów i zapisz w tabeli kalibracyjnej. Opóźnienia wbuduj w oprogramowanie jako korekcje.

Historyczny kontrast

W epoce Projektu Manhattan synchronizacja była problemem fizycznej aparatury: impulsów, linii, przełączników, detonatorów, kamer i ręcznie kwalifikowanych komponentów. Dziś wiele tych funkcji realizują układy scalone: PLL, syntezery, FPGA, transceivery, TDC i cyfrowe oscyloskopy. Zmieniły się narzędzia, ale nie zmienił się problem: wiele zdarzeń musi być ustawionych względem jednej osi czasu.6

Dlatego w serwisie można bezpiecznie uczyć historii przez abstrakcję funkcji: źródło czasu, dystrybucja, opóźnienia, jitter, pomiar, kalibracja. Nie trzeba podawać parametrów operacyjnych dawnych układów inicjacji, aby pokazać, dlaczego synchronizacja była krytycznym problemem inżynierskim. Wystarczy zrozumieć, że przy krótkich impulsach niepewność czasu jest realną wielkością fizyczną.

Dodatkowe materiały multimedialne

Warto dodać dwie wizualizacje: histogram jittera zbocza względem zegara idealnego oraz interaktywny budżet czasu, w którym użytkownik dodaje jitter oscylatora, PLL, bufora i odbiornika, a wykres pokazuje zamykanie okna pomiarowego.

Najkrótsze podsumowanie: zegar jest częścią toru pomiarowego. Jeśli nie znamy jego jittera, skew i driftu, nie znamy dokładnie czasu zdarzenia, nawet gdy częstotliwość zegara wygląda imponująco.

Ćwiczenia praktyczne

Pierwsze ćwiczenie jest obliczeniowe. Student ma wymaganie: rozdzielczość zdarzenia 1 ns i dopuszczalny błąd całego toru 200 ps RMS. Dostaje składniki: oscylator 80 ps RMS, PLL 60 ps RMS, bufor 40 ps RMS, odbiornik 100 ps RMS. Należy policzyć łączny jitter losowy jako pierwiastek z sumy kwadratów i sprawdzić, czy budżet mieści się w limicie.

Drugie ćwiczenie dotyczy skew. Dwa kanały mają ścieżki różniące się długością o 5 cm. Przyjmując prędkość propagacji 15 cm/ns, student oblicza różnicę opóźnień, a następnie ocenia, czy jest istotna dla okna koincydencji 10 ns, 2 ns i 500 ps.

Trzecie ćwiczenie można wykonać symulacyjnie. Należy wygenerować w arkuszu albo Pythonie idealny ciąg zboczy co 10 ns, dodać losowy jitter Gaussowski 50 ps RMS, a potem narysować histogram błędu czasu. W wariancie rozszerzonym dodaje się składową deterministyczną sinusoidalną, aby zobaczyć różnicę między jitterem losowym i okresowym.

Przejdź do ćwiczenia interaktywnego

Powiązane artykuły