12. března 2015 v 5:35 | Petr
|
Je to silnější než já - přerušuju seriál o anténách, protože se mi stala následujcíí věc. Šel jsem po Kauflandu a najednou mě zdraví známý se kterým jsme kdysi "kecali na CB" - tedy na 27.205 MHz na občanských radiostanicích. Mimochodem manželka okamžitě poznala že se "známe z pásma" a když jsem se ptal jak to poznala tak prý podle věku - každý kdo mě velice zdraví a je starý 70+ prý vždy byl známý z pásma....
Tak jsem na okenní parapet "
přimagnetoval anténu - magnetku" a ozval jsem se, známým, že jsem ještě neumřel. Pak jsem k magnetce připojil scanner
Yaesu VR 500 - který mi už léta dělá radost / starost - co se jako děje na krátkých vlnách. Tak jsem prolezl všechno co jsem chytil na 100 - 30 000 kHz a něco i opakovaně a pak jsem prohlásil : "
Mámo potřebujeme kvalitní radiopřijímač" - protože Yaesu sice nemá dobré recenze - hlavně jej obviňují ze zahlcování vstupu, ale hlavně co kazí příjem, je repráček o průměru 25 mm, který rezonuje, tam kde na krátkých vlnách už je v modulaci jenom šum.
Tak jsem se vysal k otci, který vlastní
Grundig Yacht Boy 80 Pll, porovnáním s Yaesu dostal Grundig neuvěřitelně "
na prdel" - ale na druhou stranu když už nějakou stanici chytil - poslech byl o mnoho příjemnější díky velkému barytonově znějícímu repráku. Tím moje snaha opatřit si nové rádio poněkud ochladla. Na druhou stranu měl jsem v úmyslu pořídit si současnou špičku
Tecsun PL-660 - ten by jistě natrhl prdel scanneru - a velký reprák by měl navíc jako bonus.
Když se teda "
kvalitní radiopřijímač" nekupuje - což takhle si postavit jeden sám. Tak jsem se podíval "
co dala krabice" a pokud bych měl vycházet z domácích zdrojů tak to vypadá asi takto - superhet s jedním směšováním s vysoko postavenou mezifrekvencí na 20 MHZ (ne však up convertor) kde by byl krystalový filtr a z 20 MHZ by se rovnou synchronním demodulátorem vyráběla AM modulace - směšovač i demodulátor byl samozřejmě byl můj oblíbený
CMOS spínač 74HC4066 a místo patlání se s cívkami by byl můj oblíbený
ring oscillator ?
Praví radioamatéři 70+ jestli dočetli až sem - tak právě volají 155 protože taková konstrukce rádia z odpadu co daly počítače to není drzost, ale je to prostě nehoráznost. Nicméně zůstává stále jedna otáka - kde do tohoto "bazmeku" sehnat ladění neboli PLL.
Takže jsem se vrátil ke své předvánoční ideji "
rádia na VKV" z procesorových součástek.
V okamžiku kdy se rozproudila diskuse k původnímu článku bylo jasné, že tato idea není špatná, ale má problémeček a ten se jmenuje "krok ladění"
V konvenční smyčce PLL je totiž krok ladění roven referenční frekvenci * dělení předděličkami. Neboli - u VKV chci mít krok ladění 100 KHz - a kmitočet oscilátoru ještě před vstupem do procesoru, který zde fuguje jako "programovatelný dělič" dělím 8 - takže aby přeskočením programovatelného děliče o 1 krok mi přeskočila naladělná frekvence o 100 kHz musím mít referenčí kmitočet 100 / 8 = 12.5 KHz. Představte si stejné zapojení modifikované pro krátké vlny, kde je dobré mít krok ladění 100 Hz nebo v nejhorším 1 KHz (standardní rozestup stanic je 5 KHz, ale to je při kličkování mezi rušením málo) - takže pak nám refereční kmitočet vychází na 12.5 HZ nebo 125 Hz !! To je strašně málo - protože si musíme představit, že s každým kmitem referenčního oscilátoru se mění ladící napětí - tedy jakoby se smyčka PLL korigovala jen 12x za sekundu. Pokud vezmeme že PLL musí mít i filtr, který má propustnost na zlomku referenčního kmitočtu - vychází nám filtr s časovou konstantou v sekundách a "zavěšení PLL" v desítkách sekund. Nic pro rychlé přeladění "napříč pásmy".
Profesionálové to řeší různými frakčními smyčkami PLL nebo děličkami typu N/N+1, které umí naladit i necelo-číselný násobek referenčního kmitočtu. Jak to řešíme my vidláci ? Dlouho jsem přemýšlel odkud ten nápad použít AVR nebo jiný procesor jako programovatelnou děličku přišel a pak jsem našel tuto
geniální konstrukci, která je velmi blízko tomu co si pamatuju, že jsem někde viděl.
Mimochodem autor je Slovinec - inženýr a na rozdíl překonstruovaných "obvodů z amára" od většiny inženýrů - má tendenci konstruovat věci jednoduše geniální tím jak jsou geniálně jednoduché. Vtip je v tom, že funkci programovatelné děličky zde nevykonává procesor - přesněji časovač v procesoru, ale DDS - "přímá digitální syntéza" - ta, kterou používá on stojí kolem 600 kč - trochu moc na "takové to domácí pokusničení" s kmitočtovými ústřednami.
Takže jsem velice přemýšlel, jestli by se AVR nedalo použít i jako náhrada DDS a kupodivu dalo a ještě více se divte - prakticky bez větší změny mého původního zapojení "vánočního rádia".
Ještě než pro dnešek skončíme - zkusím vás navnadit jak na to. TAkže původní idea s nízkým referenčním kmitočtem 12,5 KH a generováním kmitočtu PLL pomocí procesoru vycházela z toho že funkci programovatelného děliče bude dělat 16 bitový TIMER 1.
Příklad : potřebujemem naladit 100 MHz - krok ladění máme 100 KHz - takže do Timeru 1 budeme periodicky nastavovat 1000 a necháme jej čítat směrem dolů a při nule vydá AVR puls do fázového komparátoru. Pokud si činnost čítače představíme jako assemblerovský prográmek vypadala by jeho smyčka nějak takto
ULOŽ DO R1, R2 1000
:Main_LOOP
dec R1
brne Main_LOOP
dec R2
brne Main_LOOP
PŘEHOĎ PIN
ULOŽ DO R1, R2 1000
rjmp Main_LOOP
Problém použití AVR jako DDS je v tom, že v AVR žádný hardware pro DDS není - takže tam nebudeme čítač popisovat jako prográmek, ale v AVR prostě do omrzení pojede tato smyčka:
:Main_LOOP
add R1, R4
adc R2, R5
adc R3, R6
out PORTA, R3
rjmp Main_LOOP
Vidíte ten rozdíl ? čítač čítá do nuly a pak přehodí pin. "Rádoby DDS" vyhodí poslední bajt fázového akumulátoru na port - odtud si fázový komparátor bere kmitočet oscilátoru pro porovnání. Rozdíl je v tom, že "DDS" nečítá do nuly, ale i po přetečení zbydou ve fázovém akumulátoru ( registry R1, 2, 3 ) nějaké zbytky, takže každý cyklus DDS je poněkud jinak dlouhý, ale v průměru dosahuje správné frekvence. Díky 24 bitovému čítači (oproti 16 bitovému timeru) je DDS daleko přesnější takže lze naladit přesný kmitočet i tehdy pokud je referenční kmitočet vyšší než kanálová rozteč. Nemluvě o tom že za cenu 1 taktu navíc s přidáním instrukce stylu
adc Rx, Ry
Se dá vyrobit i 32 bitová DDS.
Ano - tato smyčka má 6 taktů a všechno ostatní jako např. změna "ladícího slova" uloženého v registrech R4, 5, 6 se musí dělat v přerušovacích rutinách a "DDS" mezitím stojí, ale to je jen malá daň za vidláckou kmitočtovou syntézu z toho "co dala bedna".
Pro dnešek jsem opravdu vyřízen - zbývá už jenom rada paní Kubáčové novomanželkám : Až přesvědčíte mažela, že na "
opravdu kvalitní radiopřijímač nejsou peníze" - víte co následuje pak ? Můžete celou sumu rozházet v
Orsay.
Z hlediska čistoty signálu vidím malinko problém v generování pilovitého signálu. Pokud na výstupní port hodíte rovnou obsah R3 bude na výstupu D/A převodníku pila a pokud bude krok fáze velký, bude problém s její přesnou rekonstrukcí. Proto je lepší, podle mého názoru, obětovat ještě pár taktů navíc a prohnat R3 přes sinus tabulku, aby se na portu (a tím i na D/A převodníku) objevil sinusový signál. Restaurovat sinus se (podle mého) povede s daleko menším fázovým šumem, než pilu. Vím že se dá lecos pořešit filtrem PLL smyčky, ale i tak si myslím, že by fázový šum pily prolézal přes filtry a moduloval by VCO, což by zvyšovalo jeho šum (resp. ruch). Ring oscilátor coby VCO bych také neviděl u přijímače jako nejvhodnější, jeho šum (amplitudový i fázový) bude jistě spadat do zpracovávaného spektra a razantně zhorší šumové poměry. Nikdy jsem jej sice neměřil spektrálním analyzátorem, ale celkem mi stačí vidět to, co dělá na čítači. Jinak ale nechci syntézu s AVR hanět, protože jsem měl podobný nápad také (resp. stejný, jen s jiným obvodovým řešením) a při cenách a dostupnostech různých DDS a PLL obvodů to vidím jako zajímavou, levnou a dostupnou alternativu. Já se teď do ničeho podobného pustit nemůžu, protože v práci stěhuju laboratoř a jsem z toho tak znechucen, že mi nezbývají síly na nic jiného, než doma něco zavrčet na manželku a dítě a jít si vymazat mozek nějakým filmem, nebo knížkou. Fakt je lepší vyhořet, než se stěhovat. :-D