0802
GPS jako zdroj přesného kmitočtu - 1
autor: Tomáš OK1DXD
15.02.2016

Abstrakt:
Přesný kmitočet je v radioamatérské praxi nutná potřeba pro celou řadu měření a v provozu pak především na mikrovlnných pásmech. Obvykle se vychází z normálového kmitočtu 10MHz, který slouží buďto přímo (například v čítači), nebo jako základní kmitočet pro různé kmitočtové syntezátory. Zde v článku je popsána metoda získání přesného kmitočtu pomocí GPS systému a fázově zavěšeného krystalového oscilátoru (VXCO). Oproti standardního kmitočtového normálu odvozeného od rubidiového oscilátoru je výhodou nižší cena, nižší spotřeba a i vyšší dosažitelná přesnost. Nejedná se o podrobný stavební návod, ale o popis praktické realizace s odkazem na další zdroje informací.

Trochu teorie nikoho nezabije...
Stabilita standardních krystalových oscilátorů není dostateční nejen pro přesná měření, ale ani pro provoz na mikrovlnných pásmech, kde hraje svou roli celá řada faktorů a přesné naladění obou stanic výrazně zvyšuje šanci na uskutečnění spojení a naopak. Výrazně vyšší stability se dá dosáhnout vytápěním krystalového oscilátoru se stabilizací teploty pomocí vhodného termostatu. Někdy se pro zvýšení stability (zejména pro portable provoz) dokonce používá dvojité vytápění (double owen). Nicméně na vyšších pásmech (10GHz a výše) ani tato teplotní stabilizace nemusí být dostačující. Na řadu pak přicházejí kmitočtové normály založené buďto na rubidiovém oscilátoru (stabilita cca 2x 10E-11/den), nebo stále více oblíbené normály odvozené od systému GPS - tzv. GPS disciplined oscillator GPSDO (vyšší stabilita cca 2x 10E-12/den díky cesiovému oscilátoru, který je pro potřebnou přesnost systému používán na GPS družicích). Samotný popis systému GPS by byl poměrně rozsáhlý, přejdeme raději k popisu praktické realizace takto „disciplinovaného“ oscilátoru.

Vhodný GPS modul
Standardní GPS moduly poskytují přesný kmitočet s frekvencí 1Hz což je pro praktické použití nepříliš vhodné – zavěšení krystalového oscilátoru trvá velmi dlouho (i hodinu) a je poměrně nestabilní. Specializovanější moduly /např. Od firmy Rockwell, Navma, nebo Trimble, která se specializuje na přesné kmitočtové normály/ mají výstup 10kHz, na který se dá již přes PLL smyčku (po vydělení 1000x) zavěsit VCXO 10MHz. Takto můžeme stabilizovat i jiný potřebný kmitočet, který po vydělení dává celočíselně právě 10kHz. Zmíněné GPS moduly Rockwell již nejsou k dispozici a Trimble se pak i na eBay objevují v ceně cca 60+USD.
Naštěstí se v poslední době objevily cenově dostupné GPS moduly švýcarské firmy U-Blox, některé dokonce umožňují nastavit výstupní kmitočet v rozsahu 1Hz až 10MHz. Výstupní signál z GPS modulů obecně však obsahuje velký fázový šum, případně trochu přeskakuje (v anglické terminologii tzv. „jitters“) proto jej nelze použít přímo pro kmitočtový syntezátor, ale je potřeba jej „vyfiltrovat“ pomocí PPL závěsu s kvalitním krystalovým oscilátorem (případně vylepšeným již výše zmíněným termostatem).

U-blox NEO7M
U-blox dodává velké množství podobných modulů, pro naše použití jsou vhodné jen některé. Já doporučuji NEO-7M (případně N). Modul s anténou pořídíte na eBay - cena cca 350Kč, starší typ NEO6 poskutuje frekvenci 1Hz-1kHz a to je pro naše účely málo. Standardně konektor poskytuje propojení pro GND, napájecí napětí Vcc – pozor max 5V (modul si jej pak interně stabilizuje na potřebných 3,3V)! A pak signály pro sériovou komunikaci RX/TX.

Ano počítáte správně, nikde není výstup s potřebným kmitočtem. Protože tyto desky jsou primárně nabízeny pro určování přesné pozice, tak jej na konektoru nenajdete. Nicméně tento vývod (označený jako Timepulse) je na modul pin č.3, kde je na desce malá SMD LED dioda se sériovým odporem, které po zachycení dostatečného počtu satelitů začne blikat defaultně s frekvencí 1Hz. Tento kmitočet můžeme nastavit pomocí SW aplikace, která je dostupná na webu U-blox. Nezbývá tedy než vzít do ruky mikropájku a lupu a mezi odpor vývod č.3 pevnou rukou naletovat tenký kablík, nebo lépe oddělovací kondenzátor cca 4n7 pro oddělení stejnosměrného napájecího napětí a tlumivku pro oddělení VF (já použil indukčnost 68uH). Více viz kapitola Realizace a následující schema.


Schema PLL, dole modul NEO7-M s anténou

Sériové rozhraní
Pro nastavení a diagnostiku modulu budete potřeboval sériové rozhraní, já jsem použil USB <-> RS232 TTL převodník na čipu Silabs CP2102, který poskytuje signály RXD a TXD s úrovní 3,3 V a též potřebné napájecí napětí pro GPS modul.

SW Setup
Nainstalujte ovladač převodníku USB <-> RS232 TTL, zkontroluje nastavení virtuálního COM portu. Z webu ublox si nahrajeme a nainstalujeme ovládací SW s názvem U-center V8.xx  . Spusťte program u-centrum a konfiguraci zařízení GPS:
Receiver -> Port -> vyberte COM portu pro převodník USB <-> RS232
Receiver -> Přenosová rychlost -> 9600
Receiver -> Generation -> u-Blox 7
Receiver -> Akce -> Uložit config
Nyní by měl SW s modulem začít komunikovat a pokud je připojení a modul v pořádku, tak po určité době (při cold start cca 10min) začít ukazovat dostupné satelity, polohu, přesný čas apod. Nicméně nás především zajímá přesný kmitočet, tak tedy zbývá už jen provést poslední nastavení
View -> Configuration View -> TP5
Zde je možné nastavit frekvenci pro stav, kdy modul nemá identifikovaný dostatečný GPS signál: zde nastavíme 1Hz se střídou 10% - tedy krátké pulsy. Pro stav, kdy je modul již zavěšený na GPS: zde nastavme potřených 1MHz se střídou 50%. Tento kmitočet je dostatečně vysoký pro rychlé a stabilní zavěšení PPL smyčky a přitom ještě dostatečně kvalitní. Po uložení nastavení a zachycení GPS signálu byste měli osciloskopem vidět pěkné obdélníky s přesnou frekvencí

1MHz,  případně pro kontrolu použijeme čítač.  Interní oscilátor modulu kmitá na frekvenci 48MHz a kmitočty odvozené na jiných než celočíselných podílech nedávají kvalitní signál. Pozor na tuto skutečnost, pokud budete s modulu chtít používat jiné kmitočty. Například 10MHz již není úplně v pořádku o čemž se snadno opět přesvědčíte osciloskopem…
Výše nastavená konfigurace se standardně uloží do paměti RAM, která je zálohována malou baterií (kondenzátorem) viz schéma. V mém případě nezvládla zálohovat dlouhodoběji data v RAM, tak jsem ji vyměnil za CR2032 v externím držáku. Některé moduly od u-blox umí konfiguraci uložit do FLASH paměti, ale to zrovna není případ zmíněného NEO7-M.

PLL smyčka
V zásadě lze použít oblíbený obvod 4046. Já jsem se rozhodl pro jednoduchý fázový komparátor s XOR hradlem 7486 (nakonec jeden z detektorů v 4046 je právě stejné XOR hradlo). Na jeden vstup je přiveden signál z GPS modulu a na druhý pak z VCXO. XOR funkce dává na výstupu úroveň H pokud jsou vstupní signály rozdílné a úroveň L pokud jsou shodné. To je přesně to co potřebujeme. Za XOR hradlem je pak jednoduchý  článek z odporu a kondenzátoru, který sčítá ¨integruje“ napětí z impulzů, které vznikají přechodem úrovně z L do H a naopak, tak jak se liší vstupní signály. Toto napětí se po filtraci přivede na vstup VCXO oscilátoru (defakto varikapem prolaďovaný krystalový oscilátor). Čím blíže jsou si vstupní kmitočty tím jsou pulzy kratší a napětí na integračním článku klesá a naopak. Ve skutečnosti jsou i po zavěšení PPL smyčky oba signály vůči sobě fázově posunuty - příčina je právě ta potřeba generování pulzů pro stabilizaci PLL smyčky. Výstupní napětí tedy trochu kolísá kolem střední hodnoty. Aby to nezpůsobovalo vyšší šum, volí se časová konstanta smyčky dostatečně vysoká (několik s). Na osciloskopu nastavíme trigger na 1MHz signál jdoucí z GPS (horní kanál). Pokud není smyčka uzamknutá, tak signál z VCXO ve spodním kanálu pomalu ujíždí vlevo, nebo v vpravo podle toho zda je pod, nebo nad referencí z GPS. Jakmile zapojíme PPL smyčku, tak signál z VCXO se velmi rychle „dotáhne“ (cca 2s) a oba signály zůstanou stabilní ve stejné pozici vůči sobě. Další ilustrativní experiment můžeme provést, když odpojíme ladicí napětí do VCXO a na výstup XOR komparátoru se podíváte osciloskopem, tak uvidíte impulsy, které pomalu mění svou šířku, tak jak se PLL snaží „proladit“ a dotáhnout VCXO na referenční kmitočet.

Realizace
GPS modul je v provozu umístěn externě spolu s anténou v malé plastové krabičce a připojen k jednotce přes koaxiální kabel. Napájení modulu je realizováno po středním vodiči koaxu s AC/DC oddělením pomocí známého „T“ obvodu z kondenzátoru a tlumivky. Ještě je potřeba vyvést „servisní“ konektor pro občasné připojení modulu přes USB-Serial rozhraní (9600Bd). Nezapomeňte pak vzájemně prohodit TX a RX vodič, jinak si budete lámat hlavu, proč modul nekomunikuje s vaším PC :) Toto PC připojení je potřeba jen v okamžiku testování a nastavování modulu, takže pro vlastní provoz už jen stačí zmíněný koax.
10MHz oscilátor jsem použil vytápěný OCXO opět zakoupený na eBay za cca 250Kč. K oddělení a formování signálu jsou využity Schmidt invertory z 7414. Kmitočet je vydělen na 1MHz pro porovnávací signál do PLL a dále pak ještě jednou na 100kHz, který slouží jako „marker“ např. pro rychlé nastavení stupnice přijímačů, nebo přesný hradlovací kmitočet pro čítač. Signály 10MHz, 1MHz a 100kHz jsou vyvedeny na BNC konektory na zadní panel krabičky. Oscilátor je dolaďován pomocí napětí v rozsahu 0-5V. Tento vstup je rozdělen na jumper mezi odporový trimr (dělič z 5V) a výstupní napětí z integračního článku PPL smyčky. Přepínáním získáme možnost provozovat OCXO buďto samostatně a pak normálový kmitočet jednou za rok dle GPS dotáhnout pomocí trimru, nebo jej v případě potřeby připojit k napětí z PLL a získat tak mnohem vyšší přesnost.
Vlastní PLL obvod - je použito ověřené zapojení dle W1GHZ. Původně určeno pro řízení VCXO oscilátoru, který je umístěn na desce plošného spoje. Větší OCXO se tam již nevejde -  je na samostatné desce a s PPL deskou je propojen přes výstup 10MHz, který je zaveden k děličkám a pak ladicí napětím VCXO. Deska je poměrně univerzální, umožňuje zapojení různých VCXO s různými kmitočty (děličky se naprogramují pro potřebný dělicí poměr pomocí drátových propojek) Více viz odkaz na konci článku.

Výsledky
Realizovaný GPSDO lze díky citlivosti modulu U-blox NEO-7M provozovat i v místnosti na stole poblíž okna. Není tedy nutné jako ve většině jiných řešení modul, nebo jeho anténu vystrkovat ven na vzduch. Prakticky modul dokáže vyhledat potřebné GPS družice během několika minut. Vlastní zavěšení PLL smyčky je pak dílem okamžiku.  Jako praktický test lze 1MHz signál z GPS modulu přivést na vstup čítače a 10MHz signál z VCXO oscilátoru na vstup pro normálový kmitočet 10MHz (pokud takovým vstupem není váš čítač vybaven, lze toho dosáhnout poměrně jednoduchou úpravou). Pokud má GPS modul dostatečná signál a pokud je PLL smyčka zavěšena pak displej po dlouhé hodiny ukazuje kmitočet přesně 1.0000000 MHz. Viz obr. 3

Závěr
Využití GPS modulu U-blox je rychlou a levnou cestou k získání kvalitního kmitočtového normálu 10MHz. Případně lze „zavěsit“ i jiný kmitočet např. pro potřebu stabilního TRXu pro digimode. Při trpělivém prohledání a nákupu na eBay se vejdete do ceny pod 1000Kč za celou jednotku, tedy včetně OCXO a PLL a posunete své možnosti na skoro profesionální úroveň.
73 es GL! de OK1DXD
Užitečné odkazy:
https://www.u-blox.com/en/position-time
https://www.u-blox.com/en/evaluation-software-and-tools
http://www.w1ghz.org/small_proj/small_proj.htm