PLL - digitální ladění

Tak nejdříve o co vlastně jde. Ta zkratka PLL znamená Phase Locked Loop, neboli smyčka fázového závěsu. To ale jako vysvětlení asi nestačí, takže trochu jinak. PLL jednotku známe všichni z běžných radiopřijímačů s displejem. Má zde úkol jako všude jinde - udržovat přesně frekvenci, v tomto případě frekvenci místního oscilátoru. Tato frekvence je téměř vždy o 10,7 MHz vyšší než je frekvence přijímaná (a zobrazovaná na displeji). Přesné udržování této frekvence má za následek nerušený příjem naší oblíbené stanice (Tedy dokud k nám její signál ještě dojde. Pak už to jen šumí, ale nepřeskočí to na sousední stanici, jak to známe z radiopřijímačů s mechanickým laděním.).

vco-pll.gif (1449 bytes)Při generování přesné frekvence má PLL jakousi pasívní funkci. Vlastní generování má nastarosti napětím laděný oscilátor (VCO - Voltage Controlled oscilator), který je mimo. S PLL je však propojen, jak je znázorněno na obrázku. Jak je zřejmé, PLL neustále jistým způsobem kontroluje frekvenci a podle toho dolaďuje oscilátor.

Zdrojem té vší přesnosti je krystal v PLL, nejčastěji 4 nebo 4,5 MHz. Frekvence oscilátoru je digitálními obvody postupně dělena a podobně je dělena i frekvence krystalu. Vydělené frekvence se porovnávají a produktem tohoto porovnávání je ladicí napětí. Vtip je v tom, že dělič, který dělí frekvenci oscilátoru, je programovatelný, tedy můžeme určit, jakým číslem bude dělit a tady je celá podstata ladění. Frekvence, které se nakonec porovnávají, zůstávají neměnné.

Shrnutí vlastností PLL pro vysílání:

Výhody:

Nevýhody:


Dual-speed PLLA teď už konkrétněji:

Technické údaje:

Dual-speed PLL jednotka pro VKV vysílač se širokou FM modulací
Napájecí napětí: 8-15 V stabilizované
Napájecí proud: asi 40 mA
Frekvenční rozsah: 82,5-108 MHz
Krok ladění: 100 kHz
Rozsah napětí vf vstupu: 10-500 mV
Impedance vf vstupu: 135 ohmů

Schéma zapojení:

pll.gif (9420 bytes)

Význam vývodů:
1 - ladicí napětí (výstup)
3 - vf signál z oscilátoru (vstup)
2, 4 - zem

Seznam součástek:

Kondenzátory:
C1, C12 - 2,2 nF keramický
C2, C9 - 10 nF keramický
C3 - 47 uF elektrolytický
C4 - 10 uF tantalový
C5 - 0,47 uF elektrolytický
C6, C11 - 100 nF keramický
C7 - 1 nF keramický
C8 - 220 uF elektrolytický
C10 - 22 pF keramický

Odpory:
R1 - 1k
R2 - 4k7
R3, R4, R5, R7 - 10k
R6 - 1k (volitelný)
R8 - 47k (volitelný, viz níže)

vsaa1057.GIF (6306 bytes)Ostatní:
IO1 - SAA1057
IO2 - PIC16F84
IO3 - 78L05
vxtal.gif (4853 bytes)X1 - krystal 4 MHz
D1 - LED dioda (volitelná)
Tl1 - tlačítko (volitelné)
patice na IO2
jumpery nebo DIP přepínače (lze použít běžné jumpery známé z PC, nebo DIP přepínače nebo jen napevno daná místa zapájet)

Popis funkce

Obvod SAA1057 v sobě obsahuje kompletní PLL jednotku, vyžaduje pouze pár externích součástek a řídicí obvod. Ten by bylo obtížné a nepraktické realizovat s pomocí běžných součástek. Proto je použit procesor, který z jumperů přečte požadovanou frekvenci a po zpracování odešle informaci do SAA1057. Kromě toho můžeme využít dalších možností, jako je rozsvícení diody po skončení datového přenosu do SAA1057 nebo započetí nového datového přenosu stiskem tlačítka, během něhož dioda zhasne.
V praxi to tedy vypadá tak, že na jumperech nastavíme frekvenci a zapneme vysílač. Ihned začne ladicí proces, po jehož skončení se rozsvítí dioda. Není však kontrolováno, jestli se obvodu SAA1057 skutečně podařilo naladit. I za provozu vysílače můžeme přenastavit jumpery na jinou frekvenci a po stisku tlačítka se vysílač přeladí.
Způsob nastavení jumperů vysvětlím dále.

Software

Samotný procesor PIC16F84 je na nic, proto je nutné jej naprogramovat. Příslušný program ve formátu ASM pro překladač MPASM a ve formátu INHX8M pro většinu programátorů je zde: Pll16f84.asm, Pll16f84.hex.

V programátoru se nastaví typ oscilátoru na RC a watchdog timer na ON.

Návrh plošného spoje

plldps1.gif (6743 bytes)
PR = drátová propojka

plldps2.gif (16167 bytes)

Oživení

Když už máme procesor naprogramovaný, osadíme jej do patice na plošném spoji. Po zapnutí napájení se musí za cca půl sekundy rozsvítit D1.

Pokud nepožadujeme indikaci, je možné vypustit D1 a R6. Taktéž je možné vypustit tlačítko Tl1, pokud nebude třeba vysílač přelaďovat za provozu. Vysílač se pak naladí vždy jen po zapnutí napájení.
Jestliže oscilátor vysílače nepracuje při nízkém ladicím napětí cca pod 2 V (hlavně při zapnutí), zapojte i odpor R8. Na plošném spoji se umístí přes R3.

Důležité! Pokud se nedaří naladit požadovanou frekvenci, je potřeba zkontrolovat ladicí napětí na výstupu PLL. Jeho hodnota by měla správně být 4 až 9 V (při napájení 12 V). Pokud je blízké 2 V nebo nižší, je potřeba stáhnout závity u cívky oscilátoru, případně použít cívku s větším počtem závitů. Pokud je napětí na výstupu blízké napájecímu napětí, je třeba roztáhnout cívku oscilátoru, případně ubrat jeden závit. Tento stav může být také důsledkem toho, že oscilátor vůbec nekmitá!
Poznámka: Pro testovací účely je možné místo PLL použít k ladění vysílače obyčejný potenciometr, např. 10 k. Jeho krajní vývody se zapojí na + a - napájení, prostřední pak na vstup ladicího napětí vysílače.

Výstup z PLL nesmí být přímo zatížen velkou kapacitou (cca nad 0,3 uF), může docházet k zákmitům. Pozor na to při použití s různými vysílači.

Nastavení jumperů

Není to nic složitého. Pozice jumperů pro všechny frekvence najdete v souboru pllfreq.txt nebo vám jejich nastavení zobrazí malý prográmek. Lze to i spočítat, jen to chce trochu matematiky. Znalost převodů mezi desítkovou a dvojkovou soustavou je nutná (nebo aspoň kalkulačka s touto funkcí). Dále si řekneme, že pro dvojkovou jedničku je jumper otevřený (nezapojený) a pro dvojkovou nulu je zavřený (zapojený). Pak už nám stačí jednoduchý vzoreček:

X = 10f-825

kde X je číslo nastavované na jumperech a f je frekvence v MHz v rozsahu 82,5-108.

Příklad: Chci nastavit 99,6 MHz.

X = 10f-825 = 10.99,6-825 = 171

Toto číslo převedené do dvojkové soustavy je 10101011. Jumpery 7, 5, 3, 2 a 1 tedy budou nezapojeny, ostatní budou zapojeny.