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