elektronik.si 15

Cena 0,00 €
Revija o elektroniki in računalništvu
ISSN 1855-6868
elektronik.si 15
Avgust 2011
Mobilna dvopasovna antena domače izdelave
LCD termometer
Manchester /AFSK modem - ATNC
Nizkofrekvenčni sweep DDS funkcijski
generator
Križi in težave preprostega FM oscilatorja
Puščoba
www.elektronik.si
Društvo elektronikov Slovenije
Društvo in aktivnosti
Društvo elektronikov Slovenije
Poljanska cesta 20/a, 1000 Ljubljana
Web: www.društvo-elektronikov.si
Matična številka:4014987
Davčna številka: SI96410540
TRR:03171-1000914013 pri SKB d.d.
Priprave na tisk zbornika so v polnem teku. Izšla je še zadnja številka revije, ki bo vključena v tiskano obliko zbornika.
Dopustom navkljub se delo nadaljuje in tako se že pripravljamo na nov skupinski projekt: EATNC na eni sami
ploščici. Po predvidevanjih bomo izdelali več kot 40 tovrstnih izdelkov.
V tej številki objavljam preprost funkcijski generator za
katerega verjamem, da bodo prav tako želje po skupnem
projektu, saj je že sedaj enormno velik interes. Vsem zainteresiranim obljubim, da bomo tudi še vnaprej organizirali
delavnice.
elektronik.si
Skupno delo in sodelovanje z radioamaterji bomo organizirali tudi na vseslovenskem nivoju, saj je v pripravi
podpis pisma o nameri, kjer je to sodelovanje podrobneje
definirano.
Urednik
◊ Revija o elektroniki in računalništvu
je občasnik Društva elektronikov Slovenije.
◊ Glavni in odgovorni urednik:
Darko Volk.
◊ Lektor - tehnika:
Aljaž Ogrin
◊ Lektor - leposlovje:
Ne želi biti imenovan
◊ Uredniški odbor: moderatorski team
foruma www.elektronik.si
◊ Slika na naslovnici: Miran Kokol
◊ Revija je v elektronski obliki, praviloma v pdf formatu. Sestavni deli revije
so lahko tudi druge datoteke, ki predstavljajo source programske opreme
objavljene v reviji.
◊ Vsi sestavni deli revije so zapakirani
v ZIP format.
◊ Revija objavljena na internetu je
dostopna vsem uporabnikom www.
elektronik.si, ki je javni forum. Cena
revije je 0 eur.
◊ Avtorstvo člankov objavljenih v tej
reviji je izključna last avtorjev.
◊ Revija si ne jemlje nikakršne pravice glede objavljanja člankov v drugih
medijih, če je le naveden vir in avtor.
◊ Izdelava projektov objavljenih v reviji je dovoljena zgolj za lastno uporabo. Za izdelavo v komercialne namene
je potrebno pisno soglasje avtorjev.
◊ Uredniški odbor ne odgovarja za
morebitno škodo nastalo pri in zaradi
izdelave v reviji objavljenih projektov
oziroma zaradi nestrokovne uporabe
le teh.
Kazalo po reviji:
Dvopasovna mobilna antena domače izdelave
Kostja Makarovič S56KM
Radio
USB LCD termometer
Luka Penger
Luka1995
Digitalije
Manchester/AFSK Modem-ATNC
Dr.Matjaž Vidmar S53MV
Digitalije
Nizkofrekvenčni sweep DDS funkcijski generator
Darko Volk VolkD
Instrumenti
Križi in težave preprostega fm oscilatorja
Žiga Komac ziga555
Puščoba III
Gašper Jeriček JamesQ
Radio
Znanstvena fantastika
ISSN 1855-6868
elektronik avgust 2011 / 15
2
s56km1@gmail.com
S56KM
Dvopasovna mobilna antena domače izdelave
Veliko radioamaterjev je aktivnih tudi v avtomobilu, predvsem za rutinske zveze
preko repetitorjev in echolink sistema. Veliko jih uporablja tudi APRS. Oddaja z ročno
postajo in gumi-anteno iz avtomobila je seveda zelo nerodna stvar in tudi elektromagnetno valovanje se iz notranjosti avtomobila, ki je približek faradejeve kletke,
slabo širi. Za resnejše delo iz avtomobila je torej mobilna antena nujno potrebna.
Komercialnih anten je danes na trgu veliko. Različni proizvajalci, različni modeli, različni načini montaže. Posebna veja montaže anten so antene z magnetnim
podnožjem. Slednji ima prednost, da jih lahko montiramo brez posega v avtomobilsko karoserijo. Slabost antene z magnetnim podnožjem pa je ponavadi ta, da moramo
koaksialni kabel voditi skozi vrata, kjer se kabel stisne ali celo uniči. Zato se večina
radioamaterjev, ki je dejavna iz avtomobila, odloči, da prevrta karoserijo in nanjo
direktno pritrdi anteno. Za pritrjevanje antene na karoserijo pa imamo na voljo več
"setov za pritrditev antene".
Nekateri, predvsem starejši, avtomobili imajo v karoseriji že predvideno luknjo za
montažo antene. Med njimi je tudi moj, in odločil sem se, da v to luknjo montiram
anteno. Po pregledu kitov za vgradnjo na tržišču sem ugotovil, da je le malo anten
takih, ki se priključijo na vodo odporen N konektor, veliko več pa je takih, ki se priklopijo na PL konektor. Da bi se rešili zmede s konektorji ob vgradnji antene je potrebno poznati lastnosti nekaj konektorjev, ki so primernih dimenzij za antensko luknjo.
PL konektor je verjetno eden starejših konektorjev. Predviden je za
delo na nižjih frekvencah. Pri višjih frekvencah se izgube na njem
povečajo, zato za delo nad 100MHz in višje ni ravno primeren. Poleg
slabih električnih karakteristik tudi ni vodoodporen. Drug konektor
primernih dimenzij in mehanskih karakteristik, ki se ga uporablja
tudi za montažo v nekaterih komercialnih mobilnih antenah, je N
konektor. Ta je vodoodporen in ima električno precej boljše lastnosti
tudi na višjih frekvencah.
Slika 1. Diamond
MR77 antena
Da bi dobil res tisto, kar želim,
tako dimenzijsko kakor tudi
električno, sem se odločil,
da anteno naredim sam. Na
voljo sem imel nekaj starih
N konektorjev, varilno žico
iz nerjavečega jekla debeline 1,8 mm in epoksi smolo.
Obliko antene sem povzel po
Diamondovem modelu MR77,
ki je prikazan na Sliki 1. Na
približno 80 cm dolgi varilni
elektronik avgust 2011 / 15
Slika 2. Tuljava iz inox varilne žice, sestavni del
antene
3
Kostja Makarovič
Dvopasovna mobilna antena domače izdelave
žici sem najprej navil tuljavo z 2,5 ovoja z začetkom
na dolžini 15 cm (slika 2). Krajši del pod tuljavo sem
nato skrajšal na 9 cm. Spodnji del sem nabrusil v konico, podobno konici v moškemu N konektorju. Nato sem
ta konec žice vstavil na mesto center pina v moškem
N konektorju z odstranjenim center pinom, namenjen povezavi s koaksialnim kablom debeline kot jo ima
RG-8 ali kakšen podoben kabel. Ker se inoks žice ne
da spajkati, oz. ce nam spajkanje že uspe, bo spajka
tam počila, zato bo center pin kar obrušena konica žice,
vstavljena v moški N konektor. Paziti je potrebno, da bo
žica nameščena v sredino konektorja in da bo obrušen
del žice segal tako daleč, kakor sega center pin v originalnem konektorju (sliki 3 in 4). Da bi žico v konekSlika 3. "center-pin" v N konektorju torju delno fiksiral in preprečil puščanje epoksi smole
v spodnji del konektorja, sem prostor okoli
pina zapolni s tekočo plastiko, s plastelinom
ali podobnim poltrdim materialom.
Ko je bila žica pritrjena v konektor, sem
v zgornji del do vrha nalil zmešano zmes
obeh komponent epoksi smole, zmešane po
navodilih proizvajalca. Epoksi smolo prodajajo večje trgovine z barvami. Poleg epoksi
smole, ki je v ponavadi litrski ali pol litrski
embalaži morate kupiti tudi trdilec. Običajno
Slika 4. Novo izdelani "center-pin" v N konektorju
se smola zmeša s trdilcem v razmerju 10:1. Trdilec sproži strjevanje smole. Količina
trdilca pa vpliva na hitrost strjevanja – če ga damo, se bo smola strdila kasneje
ali pa se sploh ne bo, če damo trdilca preveč,
se bo smola strdila v trenutku in ob tem oddala
veliko količino toplote. Med strjevanjem smole
preverimo, če je žica še vedno na mestu. Moja
epoksi smola se je dokončno strdila približno v
8 h urah.
Slika 5. Ženski N konektor montiran na
avtomobilu
elektronik avgust 2011 / 15
Med čakanjem, da se plastika v konektorju strdi,
sem na avtomobil montiral ženski N konektor.
Uporabil sem podoben konektor kakor je prikazan na sliki 5. Ker je bila površina karoserije v
mojem primeru rahlo poševna, sem za pritrditev
uporabil dve matici in aluminijaste distančnike,
da sem lahko anteno postavil vertikalno. Način
montaže je prikazan na Sliki 6. Za napeljavo po
avtomobilu sem uporabil tanek koaksialni kabel
RG-316, kot alternativo pa lahko uporabimo tudi
4
Kostja Makarovič
Dvopasovna mobilna antena domače izdelave
RG-174, RG-178 ali LMR-200. Koaksialni kabel
mora imeti poln ali penast dielektrik. Na koncu
kabla, ki je speljan v avtomobil, sem montiral
SMA moški konektor. V kolikor v avtomobilu
uporabljate močnejše postaje, uporabite RG223 ali RG-58. Od postaje, ki jo priklapljate na
kabel, pa je odvisna izbira konektorja v avtomobilu. Ker anteno uglašujete na licu mesta
lahko namesto 50 ohmskih koaksialnih kablov
uporabite tudi 75 ohmske ter anteno poglasite
s takim kablom.
Končno lahko iz konektorja odstranimo tesnilno mehko plastiko okoli center-pina in anteno
previdno zmontiramo na dobro pritrjen ženski
konektor na avtomobilu. V avtomobil smo namestili spektralni analizator in s ščipalkami
počasi krajšali anteno. Antena brez krajšanja
resonira na približno 70 MHz in na 250 MHz.
Antena je torej predolga. Po počasnem
krajšanju, na skupni dolžini antene približno
50 cm, doseže resonančno frekvenco pri 145
in 435 MHz.
Slika 6. Distančnik pod matico ženskega Nkonektorja
Slika 7. Narejena antena
Spektralni analizator pokaže, da je SWR zelo nizek le na ozkem podrocju okoli spodnje resonancne frekvence (145 MHz), zgornje podrocje z nizkim SWR-jem pa je širše,
zato priporocam, da se anteno poglašuje na frekvenco 145 MHz. Ko s krajšanjem antene pridemo do resonancne frekvence, ki je blizu 145 MHz, za kontrolo preverimo še
SWR na 435 MHz. Ko odrežemo še kakšen milimeter žice, so resonancne frekvence
enake želenim (145 MHz in 437 MHz). Takšna antena zagotavlja SWR, ki je nižji od
1:2 na celotnem radioamaterskem podrocju na 2 m in 70 cm frekvencnem pasu. Ko
anteno poglasite, pa na konec žice zaradi varnosti dajte zaščitno plastično kapo (del
pokrovčka lepila za les) ter jo prilepite z lepilom.
Za poglaševanje takšne antene ne potrebujemo spektralnega analizatorja. Mostični
reflektometer (ena od izvedb SWR metra) je za takšno delo odličen pripomoček. Na
internetu je veliko načrtov za takšne mostičke, sam pa uporabljam mostični reflektometer, ki ga je izdelal in opisal S53MV. Če seveda pri roki nimamo ne enega na
elektronik avgust 2011 / 15
5
Kostja Makarovič
Dvopasovna mobilna antena domače izdelave
drugega, pa se lahko držimo tudi mer, opisanih v članku. Tudi če antena ne bo
povsem resonančna, to ne bo predstavljalo večjih težav. Za primerjavo, če mere antene zgrešimo za +/-1 cm je to isto, kot če bi se antena rahlo ziba. Če mere zgrešimo
za +- 3 cm je isto, kot ko se antena ziba med vožnjo in +/- 10 cm je to za oddajnik
še vedno boljše od japonske gumi antene.
Zahvala
Za pomoč, nasvete, tehnično podporo ter izposojo opreme, predvsem spektralnega
analizatorja, se zahvaljujem Matjažu, S53MV. Za teste in sporočanje »raporta« pa
vsem radioamaterjem, ki ste mi anteno pomagali testirati na terenu.
Θ
elektronik avgust 2011 / 15
6
luka.penger@siol.net
luka1995
USB LCD Termometer z ATmega32u2
Termometer uporablja mikrokontroler ATmega32u2 (TQFP32), uporabimo lahko tudi
ATmega16u2, ampak priporočam uporabo večjega mikrokontrolerja s 32k Flash
pomnilnika. USB (USB 2.0 Full-speed) periferija je namenjena tudi programiranju,
saj ima mikrokontroler že naložen DFU bootloader. Programiramo ga s programom
FLIP. To pomeni, da za programiranje ne
potrebujemo nobenega drugega AVR programatorja. Mikrokontroler že ima vgranjeno USB periferijo, zato ne potrebuje
dodatnih USB-UART mostičnih integriranih vezja (FTDI in podobno). Uporabljena
sta dva digitalna temperaturna senzorja
DS18B20, za zunanjo in notranjo temperaturo. Na vezju je tudi napetostni regulator LM1117-5V 800 mA, da lahko napravo
napajamo iz zunanjega vira (max. 15 V).
Vezje deluje s taktom 16 MHz (uporablja
zunanji kristal), ki ga potrebuje mikrokontroler za delovanje USB komunikacije. Na USB povezavah morajo biti upori vrednosti
22 ohm, ki služijo preprečevanju motenj. Za pravilno delovanje USB komunikacije ne
smemo pozabiti na keramični kondenzator Ucap 1 μF in elektrolitski kondenzator 22
μF. Vezje ima štiri tipke, HWB, Reset, tipka za vklop in izklop osvetlitve LCD prikazovalnika in tipko za vklop in izklop USB povezave. Za prikaz meritev je uporabljen
16×2 LCD prikazovalnik.
(slika3: programiranje Atmega32u2)
(slika2: Razpored pinov za Atmega32u2)
Merjenje temperature s senzorjem DS18B20:
Za merjenje temperature je uporabljen senzor DS18B20. Merjenje temperature
je možno v razponu od -55°C do +125°C z natančnostjo +/- 0,5°C (od -10°C do
+85°C). Napajamo ga z napetostjo od 3,0 V do 5,5 V. Komunikacija s senzorjem je
"1-Wire", kar pomeni, da po eni liniji oz. vodilu (in masi) pošiljamo podatke v obe
smeri, po določenem protokolu. Komunikacija je asinhrona in dvosmerna. Na vodilo
lahko hkrati priključimo eno ali več 1-wire naprav. Vodilo, ko ni v uporabi, mora biti
elektronik avgust 2011 / 15
7
Luka Penger
USB LCD Termometer z ATmega32u2
v visokem logičnem stanju, zato moramo uporabiti upor vrednosti 4,7 kΩ, ki ga
povežemo na napajalno napetost VCC. Vsak senzor ima tudi 64-bitno lastno serijsko
številko, ki služi temu, da lahko na isto linijo oz. vodilo povežemo več senzorjev in
potem vemo od katerega prihaja podatek. Digitalni senzor DS18B20, omogoča 9
do 12 bitno merjenje temperature v °C. Prav tako ima alarm funkcijo, ki se vklopi
(senzor pošlje svojo indentifikacijsko številko), ko temperatura pride izven naprej
določenih meja. Čas pretvorbe, od ukaza do veljavne 12-bitne številke o temperaturi, je 750 ms. Prebrano številko moramo z določenim algoritmom pretvoriti v željeno
Slika5: Blokovna shema DS18B20
Slika4: Pretvorba temperature v podatke
obliko za prikaz.
Temperaturni senzor DS18B20 je na
voljo v različnih ohišjih, kot so: TO-92,
SO-8 in μSOP-8.
Slika6: Različna ohišja senzorjev
Seznam elementov:
Ime
Oznaka
Oznaka v shemi Opis
Število
LCD 16×2
LCD 16×2 L
CD
LCD 16×2
1
RAD-0.1
22uF
C10 Elektrolitski kondenzator
2
0805
100nF
C2,C3,C5,C6,C7 Keramični kondenzator 5
0805
1μF
C4
Keramični kondenzator 1
0805
33pF
C8,C9
Keramični kondenzator 2
0805
LED1
D1
RED LED
1
DC-Connector
PWR2.5
J1
Napajalni konektor
1
USB B-Connector440247-2
J2
USB 2.0, B Tipa
1
HDR1x3
DS18b20
P1,P2
Letvica, 3 -pin
2
HDR1x2
Jumper
P3
Letvica,2-pin
1
SOT-23A
BC817, 500mA Q1
NPN Tranzistor
1
0805
4k7
R1,R2
Upor
2
0805
22R
R6,R7
Upor
2
SMD Trimmer
10k
R8
Trimer potenciometer 1
0805
10k
R9,R10,R11,R14 Upor
4
0805
1k
R12
Upor
1
elektronik avgust 2011 / 15
8
USB LCD Termometer z ATmega32u2
Luka Penger
0805
Tactile Switch
Tactile Switch
Tactile Switch
Tactile Switch
SOT223
470R
90°HWB
90°Reset
90°Tipka2
90°Tipka1
LM1117-5.0
R13,R15
S1
S2
S3
S4
U1
Upor
Mikrotipka 6×6 90°
Mikrotipka 6×6 90°
Mikrotipka 6×6 90°
Mikrotipka 6×6 90°
800mA linearni reg.
2
1
1
1
1
1
Slika7: Načrt termometra
Shema je narisana v programu Altium Designer 10.
Načrt:
elektronik avgust 2011 / 15
9
Luka Penger
USB LCD Termometer z ATmega32u2
Tiskano vezje:
Vezje je dvostransko, velikost je enaka velikosti LCD plošče in znaša 37x80mm. Na
njem so vsi elementi, vključeno z LCD prikazovalnikom, tipkami in konektorji. Elementi so razporejeni na notranji strani vezja, vključeno z USB in napajalnim konektorjem. Notranjost vezja je hitro dostopna, saj odvijemo 4 vijake in snememo LCD
prikazovalnik.
Slika8: Zgornja stran vezja
Slika9: Spodnja stran vezja
elektronik avgust 2011 / 15
10
Luka Penger
USB LCD Termometer z ATmega32u2
Slika10: 3D slika vezja
Slika11: Tiskano vezje, merilo 1:1; levo normalno, desno zrcalno
Domača izdelava tiskanega vezja ni kaj posebnega in je izvedljiva. Vij je zelo malo in
se jih da lepo zaspajkati.
Sestavljanje:
Najprej prispajkamo vse manjše SMD elemente - upore, kondenzatorje, mikrokontroler in napetostni regulator. Šele potem se lotimo spajkanja večjih elementov - USB
konektorja, napajalnega konektorja, tipk in letvice. Pri spajkanju mikrokontrolerja je
treba biti pozoren, da je pravilno obrnjen in da ni kratkih stikov. Paziti je potrebno
elektronik avgust 2011 / 15
11
USB LCD Termometer z ATmega32u2
Slika12: Izdelano tiskano vezje
tudi na polariteto elektrolitskih kondenzatorjev.
Pozor: ohišje od USB konektorja je prevodno in je na njem masa (GND). Na konektor
je potrebno nalepiti izolacijsko folijo, da ne bo kratkega stika med USB konektorjem
in LCD prikazovalnikom.
Kako se povezati na mikrokontroler (DFU mode)?
Najprej priklopimo vezje (mikrokontroler) na USB, preklopiti moramo v način programiranja preko USB vmesnika (DFU mode). To naredimo tako, da pritisnemo tipko
HWB in na kratko pritisnemo še tipko RESET. Nato tipko HWB spustimo. Računalnik
bo prepoznal mikrokontroler in namestil gonilnike. Tudi gonilniki so priloženi reviji.
Ko so gonilniki nameščeni, v programu Flip kliknemo ikono in izberemo mikrokontroler, ki ga uporabljamo. Povežemo se tako, da kliknemo ikono in kliknemo Open.
Tako smo Flip povezali z mikrokontrolerjem. S klikom Run pretočimo program v
mikrokontroler. Če je mikrokontroler pravilno sprogramiran, se morajo pri kljukicah
pojaviti zeleni krogi. Da program zaženemo, pritisnemo in spustimo tipko RESET.
Backlight funkcija ON/OFF:
Na vezju je NPN tranzistor BC817 v SOT-23 ohišju s katerim krmilimo napajanje za
osvetlitev LCD prikazovalnika. S tipko backlight vklopimo in izklopimo osvetlitev LCD
prikazovalnika.
elektronik avgust 2011 / 15
12
USB LCD Termometer z ATmega32u2
Luka Penger
Slika13: NPN tranzistor za osvetljitev
Slika14: Osvetljitev LCD-ja vključena
USB to Serial ON/OFF funkcija:
Termometer ima možnost izklopa in vklopa USB to Serial povezave s tipko USB.
Slika15: USB to Serial Dicsonnected
slika16: USB to Serial Connected
Prikaz na zaslonu:
Slika17: Prikaz na zaslon
Program za mikrokontroler je napisan v programskemu jeziku C, v orodju AVR Studio
4. Sistem je zgrajen iz glavnega programa, v katerem se v neskončni zanki izvaja
izpis izmerjene notranje in zunanje temperature.
USBtoSerial in program:
Ko smo sprogramirali mikrokontroler, priklopimo vezje na USB. Računalnik bo avtomatsko zaznal napravo FlashElectronics USB, potrebno je namestiti gonilnik
FlashElectronics_DRIVER.inf. Ko bo ta korak uspešno zaključen, bo v Device Manager
(Upravitelj naprav) nova naprava FlashElectronics USB (COMx).
Sedaj lahko zaženemo program FlashElectronics.exe. Program deluje na Windows
7, Vista in XP. Nameščen moramo imeti tudi .NET Framework 4. V polju izberemo
COM port in kliknemo gumb OPEN, za osvežitev portov kliknemo gumb R. Program
nam prikazuje notranjo in zunanjo temperaturo, čas, datum in status osvetlitve LCD
zaslona. Program tudi shranjuje temperaturo v mapo Temperature, program mapo
elektronik avgust 2011 / 15
13
USB LCD Termometer z ATmega32u2
Luka Penger
Slika18: Upravitelj naprav
ustvari sam. Temperature se začnejo shranjevati, ko kliknemo gumb OPEN, zaključi
pa se z gumbom CLOSE. Temperatura se zapisuje vsakih 10 sekund. Program je narejen z orodjem Visual Studio (vb.net).
Literatura:
1. Atmega32u2 datasheet: http://atmel.com/dyn/resources/prod_documents/doc7799.pdf
2. DS18b20 datasheet:
http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf
Slika19: FlashElectronics USB
program
elektronik avgust 2011 / 15
14
Luka Penger
USB LCD Termometer z ATmega32u2
Θ
elektronik avgust 2011 / 15
15
S53MV
vidmar.matjaz@gmail.com
Manchester/AFSK Modem-ATNC
Matjaž Vidmar, S53MV
1. Nadgradnja in združljivost packet-radio omrežij
Ne-Brezhibni Protokol (NBP) je nastal z željo čim bolje izkoristiti učinkovite
mikrovalovne BPSK radijske postaje, pripadajoče antene, napajalnike in planinske
postojanke. Pri megabitnih hitrostih so prišle do izraza pomanjkljivosti protokola
AX.25 ter v še večji meri hibe in napake pripadajoče programske opreme. Megabitne
BPSK radijske postaje že v osnovi razpolagajo s številskimi (digitalnimi) vhodi in
izhodom: TXM, /PTT in RXM.
Osnovna strojna oprema za NBP: oba ATNC in EATNC uporabljata programski
HDLC (X.25) krmilnik, ki lahko proizvaja radijske okvirje Ne-Brezhibnega Protokola
(NBP) oziroma navadne AX.25 okvirje v načinu KISS. HDLC krmilnik je tako programiran, da se obnaša proti bitni sinhronizaciji in skramblerju popolnoma enako
kot znani HDLC vmesniki Z8530SCC oziroma SAB82532. Bitna sinhronizacija se nato
neposredno veže na signale megabitne BPSK radijske postaje.
V obstoječem packet-radio omrežju imamo še vedno veliko število analognih
radijskih postaj. Ozkopasovne NBFM (širina sita 15kHz) radijske postaje in 1200bps
modemi iz zgodovinskih začetkov packet-radia pred tremi desetletji so danes še vedno priljubljeni in se uporabljajo za APRS. Širokopasovne WBFM (širina sita 230kHz)
in preprosti Manchester modemi za 38.4kbps omogočajo priljubljen AX.25 dostop do
DX Clustrov in podobno.
Programska oprema obeh ATNC in EATNC omogoča delovanje pri poljubno nizkih hitrostih prenosa tako v načinu NBP kot v načinu KISS (AX.25). Poleg zunanje
bitne sinhronizacije potrebujeta tudi primeren modem za uporabo analogne radijske
postaje. Manchester modem in pripadajočo bitno sinhronizacijo bi se dalo preprosto
izvesti s preprogramiranjem vezja Altera EPM3064 v obstoječih (E)ATNC.
Prav zastareli telefonski modem Bell-202 za 1200bps je danes največja
preglavica graditeljev in vzdrževalcev APRS omrežja. Pripadajoči čipi AM7910 oziroma TCM3105 se že dve desetletji ne proizvajajo več in se jih danes ne da nikjer več
kupiti! Niti z omrežjem AX.25 na splošno ni kaj dosti boljše: rezervne dele za nekoč
slavne SuperVozlje in megabitne TNC je danes že zelo težko dobiti!
Razmeroma nizke hitrosti prenosa preko NBFM in WBFM postaj omogočajo
izvedbo celotnega modema, bitne sinhronizacije in pomožnih vezij (DCD) povsem
programsko v tehniki številske obdelave signalov DSP (Digital Signal Processing). Mikrokrmilniki družine LPC2xxx z jedrom ARM7 omogočajo programsko izvedbo preprostih DSP modemov do približno 100kbps in zahtevnejših DSP modemov do približno
10kbps.
elektronik avgust 2011 / 15
16
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
S stališča končnega uporabnika je torej zelo zaželjena rešitev združitev programskega (DSP) modema in ATNC v en sam program v istem mikrokrmilniku. Takšno
programsko opremo sem poimenoval MATNC, kar naj bi v začetku pomenilo Manchester-ATNC in pozneje posplošeno v Modem-ATNC. Programska rešitev v trenutku
odpravi težave z zastarelimi in težko dobavljivimi čipi, kot so AM7910 ali TCM3105.
Povrhu lahko v programski rešitvi izdelamo res optimalen modem, ga prilagodimo
pomanjkljivostim zastarelih radijskih postaj in po potrebi celo dodajamo nove vrste
modemov.
MATNC je namenjen domači uporabi kot končna postaja za AX.25 oziroma
NBP packet-radio preko analognih radijskih postaj oziroma uporabi v packet-radio
vozlišču ASV na hribu. V vozlišču na hribu lahko MATNC krmili analogno radijsko
postajo oziroma ga uporabimo kot most med starim AX.25 omrežjem SuperVozljev
in novim NBP omrežjem ASV.
MATNC v veliki meri izkorišča programsko opremo, ki je bila razvita za ATNC.
Povsem enako kot svojega predhodnika tudi MATNC programiramo, nastavljamo
in nadzorujemo preko UART0 s preprostim ASCII terminalom za 9600bps. MATNC
razpolaga z enim izhodom za telekomando. MATNC žal ne omogoča telemetrije, ker
pripadajoče analogne vhode ATNC uporablja programski modem MATNC.
elektronik avgust 2011 / 15
17
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
Kar je v MATNC novo glede na ATNC, so programski modemi za Manchester (od
4800bps do 76800bps) in AFSK (od 150bps do 2400bps), ki lahko neposredno krmilijo analogno radijsko postajo brez vsakršnih vmesnikov. Poleg treh načinov delovanja
ATNC pozna programska oprema MATNC še četrti način delovanja HDLC<>KISS za
povezavo novega omrežja NBP s starim omrežjem in uporabniki AX.25.
MATNC lahko deluje v štirih različnih načinih:
(1) kot KISS vmesnik za uporabo AX.25 oziroma poljubnega protokola na vmesniku
UART1 in HDLC na radijski strani (M=0 in L=0),
(2) kot SLIP vmesnik na UART1 za prenos IP4, AX.25 in drugih protokolov preko NBP
na radijski strani (M<>0 in L=0),
(3) kot lokalna NBP zanka na UART1 med ATNC, EATNC in MATNC, ki so povezani v
vozlišče ASV (M<>0, L<>0 in L<>*) in
(4) kot pretvornik HDLC<>KISS na radijski strani in hkrati lokalna NBP zanka na
UART1 za povezavo v vozlišče ASV (M<>0 in L=*).
Načini delovanja MATNC (1), (2) in (3) so popolnoma enaki ATNC. Razlika med
načinoma (3) in (4) je v vrsti okvirjev, ki jih MATNC pošilja oziroma sprejema preko
vgrajenega programskega modema z analogne radijske postaje. V načinu (3) se na
radijski strani uporabljajo NBP okvirji popolnoma enako kot pri (E)ATNC.
V načinu (4) MATNC na radijski strani sprejema okvirje AX.25. Sprejete okvirje
AX.25 takoj pretvori v obliko KISS tako, da jim na začetek doda byte 0x00 (KISS
značka). KISS okvir se naprej obravnava povsem enako kot SLIP okvir in se usmerja
po NBP omrežju glede na nastavitev privzete poti (ukaz "I") oziroma tabele usmerjanja (ukaz "A"). Ker HDLC vrata tedaj niso na razpolago za NBP, se KISS/NBP okvirji
pošljejo izključno v lokalno zanko vozlišča ASV.
Ko MATNC v načinu (4) sprejme po lokalni zanki NBP okvir, ki je nanj naslovljen
kot končni naslovnik, odstrani NBP naslovno polje in prvi byte koristnega tovora, kar
naj bi bila KISS značka. Ostanku tovora izračuna CRC, da iz njega nastane običajni
radijski AX.25 okvir ter ga pošlje v HDLC oddajnik. Pri tem se HDLC oddajnik ne
zmeni za vsebino tovora, tovor odda samo enkrat, ne pričakuje potrditve sprejema
in oddaje istega tovora ne ponavlja. Če je bil tovor okvir IP4 ali KISS, se glede na
nastavitev ukaza "A" samodejno osvežuje tabela usmerjanja.
MATNC v načinu (4) lahko povežemo na analogno radijsko postajo kot APRS
vhod oziroma kot splošen AX.25 dostop. MATNC v načinu (4) lahko povežemo (križno)
tudi na Manchester modem SuperVozlja, da povežemo novo in staro packet-radio
omrežje.
elektronik avgust 2011 / 15
18
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
2. Načrt Modem-ATNC
MATNC ima zelo podoben električni načrt kot ATNC in je izdelan na povsem
enakem enostranskem tiskanem vezju. Razlike med MATNC in ATNC so v nekaj uporih in v kondenzatorju na analognih vhodih in analognem izhodu LPC2138/01 ter v
pomenu signalov na posameznih vtičnicah.
MATNC ne uporablja SSP vmesnika. Vtičnica za bitno sinhronizacijo ATNC je
v MATNC uporabljena le za napajanje, za svetlečo diodo DCD in za telekomando.
Vtičnica za telemetrijo in telekomando ATNC je v MATNC uporabljena za priklop analogne radijske postaje s signali M-RX (NF izhod sprejemnika EAR), M-TX (NF vhod
oddajnika MIC) in /PTT (stikalo na maso za preklop na oddajo). Končno imajo vtičnice
UART0, UART1 in ARM JTAG povsem enako nalogo v MATNC kot v ATNC.
Neuporabljeni priključki SSP vmesnika so programirani kot izhodi na logični
enici. Smiselna uporaba je priročen izvor +3.3V za DCD LED. Izhod P1.17 (nepovezana nogica 12) označuje izbrani modem: 0=Manchester, 1=AFSK. Na obstoječem
tiskanem vezju ATNC žal ni nikjer dostopen drugi A/D pretvornik mikrokrmilnika
LPC2138/01, zato MATNC nima telemetrije.
elektronik avgust 2011 / 15
19
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
V MATNC je obvezno vgraditi novejšo različico mikrokrmilnika LPC2138/01 oziroma mikrokrmilnik LPC2148. Starejši različici LPC2138 (brez oznak) in LPC2138/00
imata manj zmogljiv A/D pretvornik, ki ga programska oprema za MATNC ne zna uporabljati. Na srečo so ti stari primerki LPC2138 zelo redki in jih sam še nisem videl.
Vsi moji primerki proizvajalcev Philips oziroma NXP z zelo različnimi datumi proizvodnje imajo /01 pod glavno oznako čipa.
Izboljšani A/D pretvornik v LPC2138/01 potrebuje predvsem Manchester demodulator za 38.4kbps. Vhodni analogni signal iz sprejemnika gre vzporedno na
tri vhode A/D pretvornika. Notranja logika LPC2138/01 shrani rezultate treh zaporednih A/D pretvorb v tri ločene notranje registre in šele zatem proži prekinitev
FIQ. Frekvenca prekinitev je zato samo dvakratna oziroma 76.8kHz kljub šestkratni
frekvenci vzorčenja 230.4KHz. Izboljšana logika LPC2138/01 torej omogoča trikratno znižanje frekvence prekinitev FIQ in s tem obremenitve ARM procesorja.
A/D pretvorniki družine LPC2xxx niso najboljši. Po podatkih proizvajalca imajo 10 bitov ločljivosti, vendar najnižja dva bita običajno nabirata šum drugih vezij
preko presluha znotraj samega čipa mikrokrmilnika. A/D pretvorniki družine LPC2xxx
tudi nimajo sample&hold vezja na vhodu, kar pomeni dodatne napake pretvorbe pri
elektronik avgust 2011 / 15
20
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
hitrih signalih. V MATNC je A/D pretvornik uporabljen v 7-bitnem načinu, da traja
ena pretvorba natančno 8 taktov 1843.2kHz. Izbira , frekvence zunanjega kristala
(14.7456MHz) je v MATNC zato še bolj omejena kot v ATNC!
Programski (DSP) Manchester demodulator je izdelan zelo podobno kot prvotna različica z integriranimi vezji družine 74HCxxx. Glavna razlika je v boljši ločljivosti
A/D pretvornika (7bit) glede na preprost komparator LM339 (1bit) ampak hkrati
nižji frekvenci vzorčenja! Poleg kapacitivnega sklopa vhoda A/D je takoj na začetku
vezja vstavljeno še programsko visokoprepustno sito z neskončnim odzivom IIR (Infinite Impulse Response), saj Manchester signal ne vsebuje enosmerne niti nizkih
frekvenc.
Prvi DPLL se uklene na nosilec oziroma taktno frekvenco Manchester modulacije. DPLL uporablja interpolacijo med zaporednimi vzorci, da navidezno dela s
šestkratno frekvenco. Demodulacija sama se potem izvede z množenjem vhodnega
signala in regeneriranega nosilca. Sledi tristopenjsko nizkoprepustno sito s končnim
odzivom FIR (Finite Impulse Response), ki odstrani neželjen produkt množenja na
dvojni frekvenci 76.8kHz. Uklenitev prvega DPLL je hitra in zanesljiva, zato krmili
tudi signal DCD.
Drugi DPLL iz demoduliranega signala izlušči taktno frekvenco podatkov. Tudi
drugi DPLL uporablja interpolacijo med zaporednimi vzorci, da navidezno dela z dvanajstkratno frekvenco. Izluščeni takt končno vzorči podatke. Na prvi pogled je drugi
DPLL mogoče nepotreben, ker prvi DPLL proizvaja isto frekvenco. V resnici ima prvi
DPLL pomanjkljivost v delilniku frekvence z dva, kar pomeni nedoločenost faze in polaritete signala in je zato njegov izhod neuporaben za vzorčenje podatkov! Kot drugi
DPLL se je v preteklosti uporabljal kar notranji DPLL v vezjih Z8530SCC oziroma
SAB82532.
elektronik avgust 2011 / 15
21
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
Programski (DSP) AFSK demodulator je bolj zahteven. V modemu Bell-202 za
1200bps frekvenci nosilcev 2200Hz in 1200Hz nista sinhronizirani s taktom podatkov.
Povrhu se modemi Bell-202 uporabljajo skupaj z analognimi radijskimi postajami, ki
so bile načrtovane za prenos govora in do določene mere popačijo prenos podatkov.
Popačenje oziroma de-enfazif običajnih govornih FM sprejemnikov popravlja visokoprepustno sito z neskončnim odzivom IIR takoj za A/D pretvornikom.
Vzorčevalna frekvenca 76.8kHz je nekoliko previsoka za zahtevnejšo obdelavo
z mikrokrmilniki družine LPC2xxx. Decimator je izdelan kot osem-stopenjsko nizkoprepustno sito s končnim odzivom FIR, ki frekvenco vzorcev znižuje na znosnejših
9.6kHz. Vzorci s frekvenco 9.6kHz končno krmilijo AFSK demodulator.
AFSK demodulator sestavljajo štiri vzporedna osem-stopenjska pasovna sita
FIR za obe frekvenci 2200Hz in 1200Hz. Za vsako tonsko frekvenco sta dve enaki
FIR siti s koeficienti v kvadraturi. Na ta način moč signala v prepustnem pasu sita
izračunamo preprosto tako, da seštejemo kvadrata izhodov obeh pasovnih sit I in Q.
Dodatno nizkoprepustno sito na izhodu zato ni potrebno. Časovni odziv vseh štirih sit
sicer določa okenska funkcija, v tem primeru dvignjeni kosinus, ki je za vsa štiri sita
enak.
AFSK demodulatorju sledi izločevalnik takta. Tudi DPLL izločevalnika takta uporablja interpolacijo, da navidezno dela s šestnajstkratno frekvenco podatkov 1200bps.
Izluščeni takt končno vzorči podatke. Uklenitev DPLLja izločevalnika takta krmili tudi
signal DCD. Opisani programski DSP demodulator zato ne potrebuje skvelča radijske
postaje. Skvelč pustimo odprt, da je uklenitev demodulatorja čim hitrejša!
elektronik avgust 2011 / 15
22
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
Oba modulatorja izkoriščata prekinitve sprejemnika s frekvenco 76.8kHz. Manchester modulator tedaj preprosto izdela obe polperiodi podatkovnega bita z obratnim
predznakom. AFSK modulator uporablja številsko krmiljeni oscilator NCO (Numerically-Controlled Oscilaltor), ki preko tabele proizvaja sinusni izhod na frekvenci 2200Hz
oziroma 1200Hz. Oba modulatorja krmilita vgrajeni D/A pretvornik v LPC2138/01.
3. Izvedba Modem-ATNC
Samostojen MATNC potrebuje poleg osrednjega računalnika z LPC2138/01 še
dva krmilnika RS232 in napajalnik. Najbolj očitna razlika glede na ATNC je v tem, da
v MATNC ni ploščice bitne sinhronizacije in skramblerja.
elektronik avgust 2011 / 15
23
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
MATNC je vgrajen v ohišje iz aluminijaste pločevine. Vse enote so pritrjene na
dno iz 1mm debele Al pločevine:
Za pokrov v obliki U zadošča Al pločevina 0.6mm.
elektronik avgust 2011 / 15
24
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
Tudi notranje ožičenje je v MATNC bolj preprosto:
Vsi priključki MATNC so napeljani na prednjo ploščo:
elektronik avgust 2011 / 15
25
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
Za povezavo MATNC<>postaja je uporabljen 5+1 polni DIN konektor s kontakti v loku 270 stopinj, kakršni so se uporabljali na vseh televizorjih, kamerah in drugi
video opremi za prenos video signalov (pred uvedbo SCART vtičnice). Razporeditev
priključkov je:
elektronik avgust 2011 / 15
26
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
4. Programiranje in ukazi Modem-ATNC
Programiranje MATNC je povsem enako programiranju ATNC z istim mikroprocesorjem. Najprej zapečemo v FLASH pomnilnik osnovni delovni program s primernim programskim orodjem H-JTAG oziroma FlashMagic. Pri tem H-JTAG potrebuje
vmesnik "Cigotag". FlashMagic dela preko poljubnih COM vrat na UART0, pred tem pa
moramo ob RESETu priklicati BOOTLOADER z ozemljitvijo P0.14 (pin 19 na priključku
JTAG). V programatorju moramo navesti frekvenco takta procesorja, ki je v MATNC
običajno 14.7456MHz.
Opisana inačica programa za MATNC uporablja mostiček na TRST oziroma
P1.31 na priključku 3. Z ozemljenim P1.31 ali vključenim JTAG deluje MATNC, bolj
točno UART0, tako kot v celotnem opisu. MATNC tedaj razpolaga s 15 pomnilniškimi
bloki za podatkovne okvirje ne glede na vgrajeni mikrokrmilnik LPC2138/01 ali
LPC2148. Nepovezan ali visok P1.31 namenoma izključi UART0 in sprosti en dodaten
pomnilniški blok, da MATNC razpolaga s 16 bloki pomnilnika.
Če razpolagamo z zapisom nastavitev MATNC, jih lahko zapečemo kar s programatorjem v FLASH sektor 25 na začetnem naslovu 0x7B000. Sicer vse nastavitve čim prej opravimo preko UART0 (ozemljen P1.31). Vsebina FLASH deviškega
LPC2138/01 ali LPC2148 je namreč nastavljena na same logične enice. To pomeni
vsi NBP naslovi se nastavijo VSEM (* ali FFFFFFFF), vsi IP4 naslovi se nastavijo na
255.255.255.255, vsi časovni parametri in števci se nastavijo na nesmiselno visoke
vrednosti 255, 65535 ali 4294967295, pač glede na to, če gre za 8-bitno, 16-bitno
ali 32-bitno število. V takšnih razmerah MATNC ne more početi nič pametnega!
RESET: po RESETu se MATNC (obvezno mostiček na TRST=P1.31) javi z
inačicama programa in mikrokrmilnika:
*** Manchester/AFSK ATNC - S53MV 18.07.2011 ID=0002FF25 ***
kjer je:
0002FF25 oznaka za čip LPC2138/01 oziroma
0402FF25 oznaka za čip LPC2148.
Žal koda za oznako čipa ne razlikuje med inačicami LPC2138, LPC2138/00 oziroma
LPC2138/01!
Vse nastavitve številnih parametrov lahko seveda opravimo preko terminala
na UART0 (P1.31 ozemljen!) Če odtipkamo nepoznan ukaz oziroma prazno vrstico
(samo <enter>), MATNC javi:
!!! Nepoznan ukaz (A,B,C,F,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,Y,Z,?)
elektronik avgust 2011 / 15
27
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
Ukaz "?": ?<enter> nam izpise kratka navodila kot pomoč pri programiranju:
*** Seznam veljavnih ukazov MATNC ***
A <IP/AX> <naslov#1> <naslov#2> <naslov#3> - (A)RP usmerjanje
B <baudrate> - nastavi (B)audrate za UART1 (SLIP)
C <perioda> - (C)vekanje / kokodakanje (izhod: prazna vrstica)
F <kljuc> - vpis trenutnih parametrov v (F)LASH in RESET MATNC
H <preklop> - oblika vnosa/izpisa naslovov N36/(H)EX
I <naslov#1> <naslov#2> <naslov#3> - (I)P/AX privzeti naslov
J <besedilo> - besedilo (J)avljanja (izklop: prazna vrstica)
K <ukaz> <geslo> - (K)omanda in geslo
L <naslov#1> <naslov#2> <naslov#3> - naslovi (L)okalne zanke
M <naslov> - (M)oj naslov (0=KISS)
N <naslov#1> <naslov#2> <naslov#3> - (N)aslov za pogovor/meritev
O <stevilo> - meritev (O)dziva stevila byte, 0=izklop
P <stevilo> <zakasnitev> <minblok> - (P)onavljanja
Q <quartz> <takt> - (Q)uartz in takt ARM procesorja
R - (R)ESET MATNCja
S <slot> <glava> <rep> - zakasnitve (S)lot, glava in rep
T <z DCD> <brez DCD> - (T)ecnoba preklopa na oddajo /65536
U - vkljuci izpis (U)porabnih okvirjev
V - vkljuci izpis (V)seh okvirjev
W <zakasnitev> - HayesAT (W)AIT
Y <jakost> <modem> <hitrost> - (Y)jakost, modem in hitrost
Z <vklop/izklop> - izpis %DCD, %PTT, prosto, (Z)ank/s, cas
? - izpisi ta seznam
MATNC ima večinoma povsem enake ukaze kot ista različica programa za ATNC
in EATNC. Na primer različica programa "m28" za MATNC z datumom 18.07.2011 ima
skoraj povsem enake ukaze kot program "h94" za ATNC oziroma podskupina ukazov
programa "e50" za EATNC. V nadaljevanju bom zato opisal samo razlike med ukazi
MATNC in ATNC.
Ukaz "Y": ima v MATNC povsem drugačno nalogo kot v (E)ATNC. Z ukazom "Y"
nastavimo v MATNC jakost modulacije oddajnika, izberemo vrsto modema in nastavimo hitrost modema.
Z ukazom: Y 120 0 38400<enter>
nastavimo jakost modulacije 120, izberemo Manchester modem in hitrost modema
38400bps. MATNC potrdi ukaz z odgovorom:
*** Jakost TX: 120/255 0=Manchester 38400bit/s (FLASH+RESET)
Jakost modulacije lahko nastavljamo v mejah od 0 do 255. Skala jakosti je
linearna. 255 pomeni poln razpon D/A pretvornika 3.3Vpp. Nastavitev jakosti moduelektronik avgust 2011 / 15
28
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
lacije učinkuje takoj. Jakost modulacije moramo seveda prilagoditi uporabljenemu
analognemu oddajniku.
Modem lahko izbiramo 0=Manchester oziroma 1=AFSK. Izbira modema
učinkuje takoj. Hkrati z izbiro modema se izračuna tudi nova hitrost modema iz
znane frekvence prekinitev FIQ.
Hitrost modema se preračunava glede na vrsto modema, vgrajeni kristal za
takt mikrokrmilnika LPC2138/01 (ukaz "Q") in možne module deljenja takta. Pri
običajnem kristalu 14.7456MHz in Manchester modemu lahko nastavljamo hitrost
med 4800bps in 76800bps. Pri običajnem kristalu 14.7456MHz in AFSK modemu lahko nastavljamo hitrost med 150bps in 2400bps.
Nastavljena hitrost nima takojšnjega učinka! Delilnik takta A/D pretvornika se
nastavi šele po vpisu v FLASH in RESETu MATNC z ukazom: F 123456789<enter>.
POZOR! Pri izbiri hitrosti nad 40000bps je ARM procesor zelo obremenjen s
prekinitvami FIQ iz A/D pretvornika. ARM procesor tedaj ne zmore več obdelati vseh
prekinitev IRQ iz UART1 pri 3.6864Mbps in lahko pride do izgub podatkov. Hitrost
delovanja UART1 je v tem primeru nujno znižati z ukazom "B", ki prav tako zahteva
vpis v FLASH in RESET MATNC. Končno lahko izberemo hitrejši (novejši) primerek
LPC2138/01 in vgradimo kristal za višjo frekvenco, na primer 18.432MHz.
Oba najbolj uporabljana modema Bell-202 AFSK za 1200bps in Manchester
za 38400bps zahtevata isto frekvenco prekinitev 76.8kHz. Pri preklapljanju MATNC
med tema dvema modemoma torej zadošča izbira modema z drugim parametrom, ki
učinkuje takoj brez vpisa v FLASH. Z obema omenjenima modemoma UART1 deluje
zanesljivo tudi pri 3.6864Mbps.
Ukaz "L": z njim nastavimo do največ 8 naslovov ATNC, EATNC oziroma MATNC,
ki so v lokalni NBP zanki povezani v ArmSV v načinu (3). Z ukazom:
L S53MV2 S53MV4 S53MV<enter>
vstavimo v lokalno zanko udeležence z naslovi S53MV2, S53MV4 in S53MV. MATNC
potrdi ukaz z odgovorom:
*** Lokalni naslovi: S53MV2+S53MV4+S53MV
Posebnost MATNC je naslov VSEM (* ali FFFFFFFF) na prvem mestu v seznamu
"L", ki preklopi MATNC v način (4) HDLC<>KISS. To storimo
z ukazom: L *<enter>
MATNC potrdi ukaz z odgovorom:
*** Lokalni naslovi: *=HDLC<>KISS
POZOR! ATNC niti EATNC ne poznata načina HDLC<>KISS!
Isti ukaz: L *<enter>
ima v ATNC oziroma EATNC povsem drugačen učinek kot v MATNC. V ATNC in EATNC
elektronik avgust 2011 / 15
29
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
ta ukaz izključi HDLC vrata, po naslednjem RESETu celo prekinitve FIQ.
MATNC preklopimo v način (2) SLIP z ukazom: L 0<enter>
in dobimo potrditev:
*** Lokalni naslovi: 0=SLIP
Lokalna NBP zanka uporablja povsem enako SLIP uokvirjanje kot KISS ali pravi
SLIP, le da predstavljajo vsebino celi NBP okvirji. MATNC sicer vsebuje dva različna
sprejemnika za (2) SLIP in (3) lokalno NBP zanko zaradi različnega dodeljevanja
pomnilnika. MATNC v načinu (1) KISS lahko uporablja en ali drug sprejemnik, kar
izbiramo z ukazom "L". Lokalna NBP zanka je v načinu KISS sicer vedno izključena,
je pa njen sprejemnik hitrejši in boljši od SLIP, ki mora odgovarjati na neumne ukaze
za WIN modem.
Nastavitev načina delovanja in naslove lokalne zanke se shranjuje v FLASH z
ukazom: F 123456789<enter>.
Ukaz "S": z njim nastavimo časovne parametre preklapljanja radijske postaje
na oddajo. Ti časovni parametri so nujno potrebni v kateremkoli načinu delovanja
MATNC. Ukaz deluje sicer popolnoma enako kot za ATNC ali EATNC, ampak zaradi
nižjih hitrosti prenosa so številke dosti večje kot za megabitne ATNC ali EATNC!
Primer za WBFM 38.4kbps: S 50000 10000 1000<enter>
Vse tri veličine so izražene v mikrosekundah, odgovor MATNCja se glasi:
*** Slot: 50000us Glava: 10000us Rep: 1000us
Primer za NBFM 1200bps: S 300000 300000 30000<enter>
Vse tri veličine so izražene v mikrosekundah, odgovor MATNCja se glasi:
*** Slot: 300000us Glava: 300000us Rep: 30000us
POZOR! Pri NBFM postajah so časovni parametri odvisni tudi od sogovornika,
njegove hitrosti preklopa sprejem/oddaja in obratno ter hitrosti njegovega skvelča,
če uporablja DCD iz čipa za telefonski modem. Vsi trije časovni parametri se shranjujejo v FLASH z ukazom:
F 123456789<enter>
Ukaz "P": nastavi število in zakasnitev ponavljanj ter minimum prostih blokov
v NBP v načinih delovanja (2) in (3) MATNC. V načinih (1) in (4) MATNC oddaje ne
ponavlja in ukaz "P" nima učinka. Ukaz deluje sicer popolnoma enako kot za ATNC ali
EATNC, ampak zaradi nižjih hitrosti prenosa in krajših okvirjev so številke drugačne
kot za megabitne ATNC ali EATNC!
Primer za WBFM 38.4kbps: P 11 330000 9<enter>
MATNC odgovori:
*** Ponovi: 11-krat Zakasnitev: 330000us Min: 9blok
elektronik avgust 2011 / 15
30
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
Primer za NBFM 1200bps: P 3 1000000 11<enter>
MATNC odgovori:
*** Ponovi: 3-krat Zakasnitev: 1000000us Min: 11blok
Prikazani parametri v zgledih za NBFM 1200bps v ukazih "S"in "P" so zelo "agresivni"
in so primerni le za posamične, zelo kratke okvirje! Vsi trije parametri ukaza "P" se
shranjujejo v FLASH z ukazom: F 123456789<enter>.
Pes čuvaj: MATNC ima vgrajenega psa čuvaja, ki lahko v primeru očitne
napake povzroči popolni RESET MATNC. Pes čuvaj ovohava preklop sprejem/oddaja
iz milisekundne zanke programa. Če v času 70 sekund (desetkrat več kot ATNC ali
EATNC) pes čuvaj niti enkrat ne zazna PTT manjši od 98%, sproži popolni RESET. Tak
dogodek ima lahko več vzrokov znotraj in zunaj MATNC. Zunanji razlog je lahko JTAG
programator, ki zaustavlja procesor.
Notranji razlog RESETa je lahko preobremenitev procesorja, če so hitrosti HDLC
in UART1 nastavljene previsoko oziroma prenizko in sta oba vmesnika obremenjena
z gostim prometom. Če se program zatakne na oddaji oziroma se glavna zanka ne
izvaja več, čez 70 sekund pes čuvaj ugrizne z RESETom. Primer: oddaja enega samega okvirja največje dolžine traja več kot 10 sekund s hitrostjo 1200bps. Zaporedna
oddaja več kot šest takšnih okvirjev torej sproži psa čuvaja!
Pes čuvaj MATNC uporablja isti takt procesorja in je odvisen od kristalnega oscilatorja ter nastavitev PLLja za množenje taktne frekvence. Pes čuvaj torej deluje v
vsakem primeru, da se le takt procesorja popolnoma ne ustavi.
Pomnilnik LPC2138/01 vključuje 32kbyte hitrega RAM neposredno na vodilu
ARM procesorja. Od teh jih je 24kbyte namenjeno 15 (16 brez UART0) delovnim
blokom dolžine 1632byte (0x660), ki načeloma shranjujejo en okvir. Prvih 8byte
je namenjeno opisu vsebine bloka, naslednjih 80byte je namenjeno NBP glavi okvirja (številka, naslovi, ločila) in ostanek koristnemu tovoru z rezervo na koncu za
računanje CRC.
Preostalih 8kbyte je razdeljeno med 4kbyte tabele dvojnikov NBP, 176byte
vmesnika tipkovnice terminala na UART0, 1.4kbyte vmesnika zaslona terminala na
UART0, 1kbyte za parametre, ki se prepišejo iz FLASH sektorja 25, razne notranje
spremenljivke in vse tri sklade: glavni, IRQ in FIQ.
ASCII terminal na UART0 ima torej povsem neodvisen pomnilnik, kar omogoča
nadzor tudi v primeru, ko je NBP zasedel vse razpoložljive bloke. Zaslonski vmesnik
je krožni dolžine 1.4kbyte, kar pomeni, da bo izpisovanje daljših sporočil na UART0
porezano, na primer ob gostem prometu in vklopljenem izpisu vseh okvirjev z ukazom "V".
Prevedeni program "m28" je dolg 19.4kbyte in se izvaja izključno iz FLASH
elektronik avgust 2011 / 15
31
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
(500kbyte na razpolago v enem kosu). Isti program dela tudi na LPC2148. LPC2148
ima dodatnih 8kbyte pomnilnika RAM za USB, ki je žal nekoliko počasnejši in ga program, pisan za LPC2138/01, (še) ne zna izkoriščati.
Blok 1kbyte parametrov, ki se prepišejo iz sektorja 25 v RAM ob RESETu, je v
sedanji inačici dodeljen na skoraj enak način kot v ATNC oziroma EATNC. Razlika je
edino v parametrih ukaza "Y", ki so različni med MATNC in (E)ATNC. Zadnjih 32byte
(nastavitve Ethernet vmesnika) v MATNC ni uporabljeno.
5. Poskusi uporabe Modem-ATNC
MATNC sem najprej preizkusil v načinih (2) in (3) predvsem za primerjavo,
kaj zmore Ne-Brezhibni Protokol preko starih analognih radijskih postaj. Nenazadnje imamo po naših planinskih postojankah še vedno veliko število delujočih WBFM
postaj v frekvenčnih področjih 434MHz in 1293MHz, pripadajočih antenskih sistemov, antenskih sit, kablov itd.
Rezultati poskusov kažejo, da se da s 434MHz WBFM postajami in 38.4kbps
Manchester modemi doseči internetni dostop dobrih 3kbyte/s. NBP omogoča, da
je takšen dostop povsem zanesljiv in vsekakor boljši od analognega telefonskega
modema. Stare analogne WBFM postaje torej še vedno omogočajo sicer počasen, a
zanesljiv dostop do interneta. Ko odpovejo vse druge zveze, so dobre stare WBFM
postaje še vedno spodoben izhod v sili. Pri 19.2kbps Manchester se zmogljivost
seveda razpolovi.
elektronik avgust 2011 / 15
32
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
Poskusi navijanja hitrosti Manchester modemov niso dali vzpodbudnih rezultatov. 51.2kbps Manchester doseže komaj slabih 4kbyte/s. Niti 76.8kbyte/s Manchester ne gre kaj dosti hitreje, niti v delavnici na komaj nekaj metrov razdalje
med postajama. Smiselna hitrost delovanja Manchester modemov preko analognih
WBFM postaj s siti širine 230kHz je torej 38.4kbps. Višje hitrosti delovanja torej
ne povečujejo zmogljivosti radijske zveze, pač pa le zmanjšajo domet in povečajo
občutljivost zveze na odboje in druga popačenja.
Ukaz "O" je treba v MATNC uporabljati previdno! Preizkus zveze z največjo
dopustno dolžino okvirjev vsako sekundo popolnoma zasede zmogljivost brezhibne
zveze brez ponavljanj z 38.4kbps Manchester modemi! Za preizkus resnične zveze
z motnjami in ponavljanji preko WBFM postaj in 38.4kbps Manchester modemov
moramo običajno uporabljati krajše okvirje!
Ukaz "O" je skoraj neuporaben za preizkus 1200bps AFSK modemov. Zakasnitev 1200bps zveze preko NBFM postaj je običajno prevelika, da bi lahko izvedli
eno meritev vsako sekundo s še tako kratkimi okvirji. Kar bi se dalo storiti, povečati
presledek med posameznimi meritvami odzivov na 10 sekund ali več. To žal ni najbolj združljivo z megabitnimi ATNC in EATNC!
elektronik avgust 2011 / 15
33
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
Poskusi s programom "Ping" iz WinXP kažejo, da je povprečna zakasnitev meritve odzivov s kratkimi okvirji in NBP prenosom IP4 okvirjev preko 1200bps AFSK
modemov okoli tri sekunde, največja zakasnitev pa doseže okoli deset sekund. Stari
1200bps AFSK modemi torej niso uporabni za internet, ker so zakasnitve prevelike.
Časovne konstante internetnih protokolov so danes nastavljene tako, da je analogni
telefonski modem najpočasnejši udeleženec, ki ga takšno omrežje še sprejme.
Seveda sem takoj preizkusil, kaj zmore MATNC v načinu (1) KISS za zastareli in
neučinkoviti, a priljubljeni protokol AX.25, tako z Manchester modemom za 38.4kbps
kot tudi z AFSK modemom za 1200bps. Pri tem je končna postaja samoumevna.
Preko KISS vmesnika lahko AX.25 omrežje navezujemo tudi naprej. Danes so najbolj
običajni IP "tuneli" za AX.25 preko žičnega interneta. Povsem isto lahko naredimo
tudi preko NBP omrežja.
Gradnjo AX.25 "tunelov" preko NBP omrežja znatno poenostavi MATNC način
delovanja (4) HDLC<>KISS. En sam MATNC takrat dela na radijski (HDLC) strani z
okvirji AX.25. Na UART1 se isti MATNC neposredno poveže v lokalno zanko ASV z NeBrezhibnim Protokolom.
elektronik avgust 2011 / 15
34
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
Prvi primer uporabe AX.25/NBP tunela je packet-radio vozlišče na Črni Prsti.
Naprave v planinski koči se napajajo iz fotovoltaičnih panelov. Zaradi pomanjkanja
električne energije je bilo potrebno izključiti požrešne uporabnike, kot je stari SuperVozelj. Hkrati je bilo potrebno zagotoviti AX.25 povezavo do MiniSV KUP:S55YBG, ki
ne vidi drugih vozlišč razen Črne Prsti.
Rešitev opisane naloge zahteva samo dva dodatna MATNC. Prvi MATNC na
Sv.Gori je povezan kar z žico na Manchester modem sicer neuporabljenega četrtega
kanala SV GORICA:S55YNG. Drugi MATNC krmili WBFM postajo na 434.4MHz na Črni
Prsti. Vmes omrežje NBP poskrbi za prenos kakršnihkoli okvirjev vključno s KISS.
V obeh MATNC je pot preko NBP omrežja, bolj točno preko udeležencev S51YNG
in S51YCP, vpisana kot privzeta pot z ukazom "I". Oba MATNC v resnici zmoreta še
dosti več, saj je v obeh vključena avtomatika usmerjanja za AX.25 klicne znake:
A<enter>
*** AX25 usmerjanje: 6=VPIS-PRIVZETO
Katerikoli uporabnik NBP omrežja lahko pošilja KISS okvirje S50YNG oziroma
S50YCP. Avtomatika usmerjanja bo tedaj zagotovila, da AX.25 odgovor in to samo za
njegov klicni znak ne ubere privzete poti, pač pa najde pravo pot nazaj do pošiljatelja.
Katerikoli NBP uporabnik lahko torej dostopa preko S50YNG naravnost v SuperVozelj
GORICA:S55YNG ali pa se pojavi preko S50YCP kot AX.25 uporabnik z lastno radijsko
postajo na Črni Prsti.
Žal ima AX.25 veliko pomanjkljivosti. Najhujša pomanjkljivost AX.25 je to, da
vedno strogo zahteva pravilen vrstni red okvirjev. Če se zameša vrstni red podatkovnih okvirjev AX.25, to vodi samo v nepotrebna ponavljanja in upočasnitev zveze.
Če pa se zameša vrstni red potrditvenih okvirjev, to vodi v protokolno napako AX.25,
ki naj bi se zaključila z oddajo okvirja FRMR (FRaMe Reject), izgubo podatkov in
ponovnim vzpostavljanjem zveze.
Sodobna računalniška omrežja vključno s celotno skupino internetnih protokolov niti Ne-Brezhibni Protokol NE zagotavljajo vrstnega reda okvirjev. Vsak okvir se v
sodobnih omrežjih obravnava ločeno in se poskuša čim prej posredovati prejemniku
ne glede na to, kaj se dogaja z ostalimi okvirji. TCP/IP na ta način zagotavlja zanesljiv in učinkovit prenos podatkov že več desetletij.
Pri prenosu AX.25 okvirjev skozi IP omrežje torej lahko pride do AX.25 protokolne napake zaradi premešanega vrstnega reda okvirjev. Verjetnost takšnega dogodka je v žičnem IP omrežju sicer majhna, ker je IP omrežje dosti hitrejše od AX.25
zvez in je verjetnost izgube in ponavljanja okvirjev v žičnem omrežju majhna. V
radijskem NBP omrežju je verjetnost ponavljanja okvirjev in posledično pomešanja
vrstnega reda okvirjev dosti večja.
Posledice AX.25 protokolne napake so različne. Najpreprosteje gre s SuperVozlji, ki se napačnemu vrstnemu redu okvirjev takoj prilagodijo, sicer zavržejo
elektronik avgust 2011 / 15
35
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
kakšen nepotrjen podatkovni okvir, a nikoli ne oddajo FRMR. Kombinacija programov
Flexnet/WPP se pri sprejemu FRMR sesuje. Marsikatera druga oprema za AX.25 verjetno sploh ni preizkušena na protokolno napako oziroma FRMR...
Kako preprečiti AX.25 protokolne napake v "tunelih" preko IP in NBP omrežij?
Veliko bi pomagala nastavitev AX.25 parametra MAXFRAME=1, da je vedno na poti
le en sam okvir in so potrebne zares velike zakasnitve, da bi prišlo do pomešanja
vrstnega reda. Ker v praksi marsikje ne moremo menjati vrednosti MAXFRAME, so
"tuneli" uporabi le za počasne AX.25 zveze: ročno tipkanje obeh udeležencev oziroma spremljanje dogajanja na DX Clustru. IP ali NBP "tunel" za AX.25 žal ni primeren
za prenos velikih količin podatkov, ker prej ali slej pride do AX.25 protokolne napake.
Iz istega razloga način (4) HDLC<>KISS ni vgrajen v navaden ATNC!
Po drugi strani so AX.25/IP in AX.25/NBP tuneli povsem uporabni za protokole,
ki sicer uporabljajo AX.25 okvirje, a ne uporabljajo AX.25 protokola za vzpostavljanje
zveze oziroma potrjevanje sprejema. Običajno so to neoštevilčeni (UI) AX.25 okvirji.
Najbolj razširjeni so protokoli družine APRS (Automatic Packet Reporting System).
Pri nas je APRS zelo razširjen na frekvenci 144.800MHz z NBFM postajami in AFSK
modemi za 1200bps.
MATNC je lahko učinkovita APRS dostopna točka. Privzeta pot je nastavljena
preko NBP omrežja do znanega ATNC, ki iz NBP okvirjev izlušči APRS vsebino in jo
pošlje v KISS obliki APRS strežniku. Pri tem lahko več MATNC na več različnih hribih
pošilja po različnih privzetih poteh APRS okvirje enemu samemu in istemu ATNC s
KISS povezavo do APRS strežnika.
Tudi protokol APRS ima svoje pomanjkljivosti. Med najhujšo štejem to, da
APRS okvirji ne vsebujejo naslova prejemnika. Kako naj torej APRS strežnik določi,
kam poslati odgovor na APRS okvir, če vanj ne sme vstaviti naslova prejemnika? V
predlaganem omrežju iz MATNC dostopnih točk po hribih ANTC strežnika v dolini
lahko uporablja samo privzeto pot nazaj do ene same dostopne točke, saj njegova
avtomatika usmerjanja nujno zahteva naslov prejemnika!
Modem-ATNC oziroma MTANC je v vsakem primeru pomemben vezni člen med
starim svetom AX.25 ter novim svetom NBP in interneta. Napak starega ne moremo
popraviti, lahko jih pa omilimo z novimi tehnikami in učinkovitimi vmesniki. En tak
vmesnik je zagotovo MATNC.
Isti program za MATNC bi se dalo prenesti tudi na mikroračunalnik EATNC. Prednost EATNC je predvsem večja količina pomnilnika v LPC2368 in še večja v LPC2387.
Pri povezavi MATNC v lokalno zanko ASV namreč preti nevarnost, da čakajoči okvirji na počasno oddajo 1200bps zasedejo celoten razpoložljiv pomnilnik MATNC in
začasno ustavijo celoten promet v lokalni zanki!
elektronik avgust 2011 / 15
36
Matjaž Vidmar
Manchester/AFSK Modem-ATNC
MATNC spretno izrablja tehniko številske obdelave signalov DSP. Prav DSP
omogoča enostaven, cenen in zmogljiv MATNC, ki v isti napravi omogoča več
različnih modemov. Za primerjavo, vzorčevalna frekvenca večine zvočnih kartic v PC
računalnikih je prenizka za Manchester modem za 38.4kbps. Poleg opisanih modemov za 38.4kbps Manchester in 1200bps AFSK bi se dalo vgraditi še kakšen drug
modem, na primer 9600bps G3RUH in to samo z dopolnjevanjem programske opreme!
Θ
elektronik avgust 2011 / 15
37
VolkD
darko.volk@gmail.com
Nizkofrekvenčni sweep DDS funkcijski generator
Naslov označuje, natančno to kar sem naredil. Izdelek je posledica mojega igranja z
DDS. Ampak ne prehitevajmo – začnimo po vrsti.
Nekaj teorije
DDS. Kaj kratica sploh pomeni? To seveda nikakor ni Doctor of Dental Surgery,
čeprav sem zadnje čase imel opraviti tudi s tem. Torej DDS (Direct Digital Synthesizer) je način generiranja električnega signala. Kot ime pove, se analogni signal tvori
direktno iz digitalne vrednosti, ki predstavlja vrednost amplitude željenega signala.
Slika 1: Princip generiranja signala z DDS
Na sliki 1 si lahko ogledamo posamezne dele takega načina generiranja signala. Digitalna logika mora poskrbeti, da s pravo hitrostjo pregledujemo po tabeli, v kateri so
vpisani vzorci željenega signala. Hitrost pregledovanja po tabeli določa frekvenco,
vsebina tabele pa obliko signala, zapisano številčno v obliki vzorcev. Preprosta logika torej pove, da bomo potrebovali DA (Digitalno / Analogni) pretvornik. Nek analogni signal lahko v digitalni obliki zapišemo le kot diskretne vzorce. Ker je število
vzorcev seveda omejeno, je povsem jasno, da bomo na izhodu dobili nek signal, ki
ne bo povsem željene oblike, pač pa bo stopničast, pri čemer bo število stopničk
enako številu vzorcev. Tak signal vsebuje mnogo frekvenčnih komponent, ki pa jih ne
želimo. Hočemo imeti lep in gladek signal, ne pa veliko število stopničk. To popravimo
z nizko prepustnim izhodnim filtrom.
Tako dobljen signal moramo
še dodatno obdelati, saj je vhodna
impedanca filtra neprimerna za nadaljnjo uporabo. Tudi nivo signala je
konstanten, mi pa bi želeli nastavljivega.
Pa pojdimo po vrsti: Digitalna
logika za tovrsten način generiranja
signala je nedvomno največja uganka. Kako zadeva sploh deluje in kako
to narediti?
Slika 2: Digitalni del DDS-ja
elektronik avgust 2011 / 15
Oglejmo si sliko 2. Tu vidimo
kar nekaj stvari, ki jih pravzaprav
lahko realiziramo z običajno logiko.
Vezje deluje silno preprosto. Ob uri
38
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
referenčnega oscilatorja seštevalnik poveča stanje števca za vrednost, ki je v registru. Če imamo za polno periodo našega signala 256 vzorcev, potem zgornjih 8 bitov
števca peljemo na tabelo vzorcev. Hitrost spreminjanja naslovov v tabelo in s tem
frekvenca našega izhodnega signala sta torej odvisni od frekvence Referenčnega
oscilatorja in vpisane vrednosti v register. Če predpostavimo, da je frekvenca
referenčnega oscilatorja stalno enaka in stabilna, je izhodna frekvenca odvisna zgolj
od vrednosti, vpisane v register.
Če v register vpišemo vrednost 1, nam tak generator da najnižjo možno
frekvenco, ki jo lahko generira. Istočasno pa je to tudi vrednost posameznega koraka
pri nastavljanju vseh višjih frekvenc. Če je v register vpisana vrednost n, je namreč
izhodna frekvenca za n krat večja od najnižje.
Še najmanj problema je z referenčnim oscilatorjem. Ta je običajno kvarčni
in tu ni kaj dosti za povedati, le to, da je v želji doseči čim višjo izhodno frekvenco
istočasno tudi želja imeti čim hitrejši referenčni oscilator.
Posamezni sklopi torej niso nič pretresljivo posebnega, dokler... Ja, in ta dokler
je skrivil lase že mnogim. Če pogledamo števec. Potrebno je določiti kako velik števec
pravzaprav potrebujemo. Iz že povedanega sledi, da je zgornjih 8 bitov pravzaprav
naslovni prostor za tabelo vzorcev, v kateri je zapisana oblika izhodnega signala
(npr. sinus). Če bi register imel le 8 bitov, potem je jasno, da bi bila najnižja izhodna
frekvenca kar frekvenca referenčnega oscilatorja podeljena z 256. Istočasno pa bi
to bila tudi najvišja frekvenca pri kateri bi bili upoštevani vsi vzorci zapisani v tabeli. Vrednost registra bi bila torej 1 in tudi register bi bil 8 bitni. Prav tako bi bil
seštevalnik 8 bitni.
Tak generator nebi bil uporaben, ker bi imel prevelik korak pri nastavljanju
frekvenc. Iz povedanega vidimo, da moramo povečati število bitov tako števca, kot
tudi registra. S tem pa seveda tudi postane seštevalnik postane večji in bolj kompleksen. Vidimo pa tudi, da nam vsak dodaten bit prepolovi korak s katerim lahko
nastavljamo frekvenco.
Zaradi lažjega razumevanja bom izbral digitalne številke. Če torej želimo imeti
generator z zgornjo frekvenčno mejo, pri kateri so še upoštevani vsi vzorci tabele, ki
je enaka 65536 Hz in korakom nastavitve 1 Hz, moramo torej imeti 24-bitni števec
in prav takšen register. Tudi seštevalnik mora biti 24-bitni. Referenčni oscilator pa
mora biti 16,777216 MHz. Narediti 24 bitni seštevalnik, ki bo sešteval s to frekvenco,
pa je že težava. Pred leti sem to poskušal narediti v Xilinix-u, a se je izkazalo, da ima
njihov takratni software bug ravno v seštevalniku in sem zato obupal.
No vse ni tako črno, kot se vidi na prvi pogled. Spoznali smo, da potrebujemo
vsaj 24 bitne registre. Druga ugotovitev pa je precej bolj razveseljiva, pove pa, zakaj imajo DDS generatorji sinusa precej višje frekvenčne meje. Po teoriji je namreč
mogoče generirati sinusen signal, že če sta dana le dva vzorca v periodi.To dejstvo
pa ob uporabi filtrov s pridom izkoriščajo prav vsi današnji DDS-i.
elektronik avgust 2011 / 15
39
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
Tabela vzorcev vsebuje n-bitne vrednosti signala, ki ga želimo generirati. Te
vrednosti potem pripeljemo na n-bitni D/A pretvornik in tako dobimo željen analogni
signal. Izbira števila n je seveda pomembna in je odvisna od marsičesa. Glavni faktor
pa je seveda število vzorcev v tabeli. Predstavljajmo si nek signal, narisan v koordinatnem sistemu. Število vzorcev predstavlja čas (x os), vrednosti pa y os. Razen v
izjemnih primerih, ko hočemo zelo natančno definirati velike strmine naraščanja signala, je popolnoma nesmiselno imeti n večji, kot je število bitov, ki definira velikost
tabele. S tem smo pravzaprav tudi določili velikost tabele. Kakšna bo fizična izvedba
te tabele pa je odvisno od izvedbe in zahtev.
V taki tabeli je največkrat vpisan sinusni signal. Nemalokrat pa potrebujemo
tudi žago, trikot ali impulze. V primeru potrebe za različnimi signali različne tabele
preprosto zamenjamo med seboj. Če so vpisi narejeni v EEPROM-u je to najlažje izvedljivo tako, da del naslovnega prostora pravzaprav predstavlja naslov do različnih
tabel. Tako imamo v istem EEPROM-u zapisane podatke o različnih signalih, menjavamo pa jih tako, da spreminjamo samo del naslovnega prostora. Še bolj domiselen način je, da imamo namesto EEPROM-a kar RAM in seveda ustrezno logiko, ki
omogoča vpisovanje novih vzorcev vanj.
D/A pretvornik je del, ki me je še najmanj skrbel. Zaradi hitrosti je bilo važno
le, da je paralelni. Vsakršna nenatančnost pri tem pretvorniku se odrazi kot dodaten
signal, ki pa je po frekvenci bistveno večji kot je spekter, ki ga potrebujemo. Nizkopropustni filter izloči vse neželjene produkte, ki nastanejo pri D/A pretvorbi, tako
zaradi načina generiranja signala, kot tudi zaradi nelinearnosti D/A pretvornika. Ko
generiramo signale, ki so frekvenčno tako visoki, da ne izkoristimo vseh vzorcev tabele, se neželjeni produkti še povečajo. Vse to mora filter izločiti. Kot povsem primerni so se izkazali običajni LC filtri.
Pod Obdelavo signala je mišljena
predvsem impedančna prilagoditev
in regulacija nivoja. Nivo – amplitudi
signala sicer lahko spreminjamo tudi
z vpisom različnih vrednosti v tabelo.
Vendar nam tak način ne nudi širokega
razpona regulacije nivoja. Potrebujemo torej nekaj bolj učinkovitega. In to
je slabilec (attenuator).
Sweep generator
Slika 3 Sweep generator
elektronik avgust 2011 / 15
V naslovu samem je omenjena še
besedica sweep. Kaj ta besedica sploh
pomeni? To je lastnost generatorja
(oscilatorja), da lahko menja frekvenco sinhrono z neko žagasto ali trikotno
funkcijo.
40
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
Kaj vse je potrebno narediti, da dobimo še to funkcijo je najlepše vidno na sliki
3. Sweep logika poskrbi, da se register pravočasno postavi na pravilno vrednost, potem pa seštevalnik prišteva nastavljeni n s neko določeno hitrostjo, ki je odvisna od
signala sw. clock. Povedati je treba, da je n lahko tudi negativno število, kar pomeni,
da se frekvenca generatorja s sweepom zmanjšuje.
Slika4: Načrt sweep funkcijskega generatorja
elektronik avgust 2011 / 15
41
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
Vezje sicer ni ravno enostavno, a za gradnjo ni tako zahtevno, kot seštevalnik,
ki deluje na frekvenci referenčnega oscilatorja, saj se tu pojavljajo mnogo nižje
frekvence.
Načrt in opis generatorja
Ker sem že pri načrtovanju naletel na vse zgoraj opisane težave, sem se, kot je
danes v modi, zatekel v virtualni svet. Namesto, da bi vse opisane dele generatorja
naredil v hardware obliki, sem večino tega skušal rešiti bolj mehko. Celotno digitalno
logiko in tabelo vzorcev sem strpal v program, ki se nahaja v ATMega324. Preostali
del, ki je v hardware izvedbi lahko vidite na sliki 4.
Razen standardnega dela okrog napajanja mikrokontrolerja in okrog kvarčnega
kristala, lahko takoj opazimo D/A pretvornik, ki je narejen kar z 1 kohm 1 % upori.
Takoj za njim je nekaj frekvenčne korekcije, ki je narejena z nekaj kondenzatorji
in nato je že filter. Izveden je kot trojni PI filter s prelomno frekvenco nekje nad
650KHz. Sledimo signalu OUT in videli bomo, da gre na dvojni digitalni potenciometer z oznako AD5252. Potenciometer je krmiljen preko SDA in SCL ter služi kot slabilec. Ker potenciometer sicer ni namenjen slabljenju signala v instrumentih, sem se
moral krepko potruditi, da sem našel ustrezne nastavitve obeh potenciometrov, da
lahko nastavljam slabitev v db. Nastavitve sem shranil v tabelo, v primeru drugačnih
potenciometrov jih je mogoče spremeniti.
Sledi ojačenje signala s širokopasovnim ojačevalnikom AD847. Tu se istočasno
rešim enosmernega nivoja, ojačam signal in prilagodim impedanco. Tak signal se
torej pojavi na izhodni sponki generatorja. Da bi ta ojačevalnik deloval pravilno,
potrebuje negativno napajalno napetost. To dobi s pomočjo napetostnega pretvornika ICL7662.
Na načrtu lahko opazimo še eno sponko in nekaj diod ter uporov. To je pravzaprav napetostna sonda. Z njeno pomočjo je s tem instrumentom mogoče izmeriti
tudi frekvenčno karakteristiko neke zunanje naprave ali vezja. Zelo lepo se lahko vidi
karakteristiko kakega filtra. Avdiofili bodo lahko posneli karakteristiko svojih naprav.
Kot že povedano je glavni del generatorja v programu, ta razdeljen na dva
dela: na program v mikrokontrolerju in na program na PC-ju. Povezava gre preko
USB-ja in na načrtu se vidi, da za to skrbi FT232RL. Načrt je kar se da enostaven.
Uporabljen material pa vsem dosegljiv.
Tiskano vezje
Vezje je po velikosti prilagojeno aluminijastemu ohišju standardne izdelave.
Vezje samo je tako enostavno, da ga je mogoče narediti celo kot enostransko, a je
v tem primeru potrebnih nekaj prevezav. Slika 5 prikazuje tiskanino z obeh strani v
merilu 1:1 Na ploščici so vsi konektorji, ki jih potrebujemo – dva cinča z ene strani
elektronik avgust 2011 / 15
42
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
Slika5: Tiskano vezje generatorja
in mini USB konektor z druge.
Tiskano vezje je pripravljeno tako, da gre v aluminijasto škatlico, narejeno iz
profila, ki je z obeh strani zaprta z aluminijastima ploščicama. Ploščici imata ustrezne
elektronik avgust 2011 / 15
43
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
izvrtine za konektorje.
Programska oprema
Več kot polovico tega projekta je pravzaprav skritega v programski opremi. Ta
se deli na program za mikrokontroler ATMega324 in na program za PC računalnik.
Kot že omenjeno, povezava gre preko USB priključka.
Oba programa sta priložena reviji. Priložen je program in tudi izvorna koda.
Program za PC je pisan v Delphi 7, program za mikrokontroler pa v C-ju. Točneje v
CodeVisionAvr.
Programska oprema za ATMega324
Bilo bi preveč, če bi tule razlagal celoten program za signal generator. Opisal bom le
najbolj bistvene dele programa.
unsigned int nn; // R3, R4
unsigned int ww; // R5, R6
unsigned char nn1; // R8
unsigned char ww1; // R7
…….
…….
while (1)
{
#asm
ADD R7, R8 // ww1=ww1+nn1;
ADC R5, R3 // ww=ww+nn; + carry !
ADC R6, R4
#endasm
data=table[ww>>8];
};
}
Slika6: Glavni del programa
predstavlja referenčni oscilator.
Na sliki 6 vidimo glavni del programa.
Ta del vsebuje 24 bitni seštevalnik. Ker jezik
C ne pozna 24 bitnih spremenljivk, je to bilo
potrebno realizirati v assemblerju. Da bi to
lahko storili, je potrebno vedeti, kako prevajalnik določi prostor za spremenljivke. To lahko izvemo, če program prevedemo na način,
da lahko vidimo generirano assemblersko
kodo. S tem pridobimo podatek, v katerem
registru se nahaja katera od spremenljivk. Ko
to vemo, je realizacija seštevalnika v assemblerju dokaj preprosta. Da bo razmišljanje
enostavnejše naj povem da spremenljivki ww
in ww1 predstavljati števec na sliki 2. Spremenljivki nn in nn1 pa predstavljati register.
Spremenljivka data je pravzaprav PORTB, ki
je priključen na vhod D/A pretvornika. V spremenljivki table so vpisane vrednosti vzorca
signala. Ciklično ponavljanje v while zanki pa
Preden nadaljujete, zajemite sapo in si še enkrat preberite zgornji tekst. Šele,
ko je do tu vse jasno, bomo odgovorili na vprašanje: Kolikšna je frekvenca takega
referenčnega oscilatorja?
Za točen odgovor moramo poiskati, kako je ta zadnji del programa prevajalnik
prevedel. To najdemo v list direktoriju v datoteki siggen.lst
elektronik avgust 2011 / 15
44
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
; 0000 0310 while (1)
_0x9F:
;0000 0311 {
; 0000 0312
;0000 0313 #asm
;0000 0314 ADD R7, R8 // ww1=ww1+nn1;
000505 0c78 ADD R7, R8 // ww1=ww1+nn1; /*1
; 0000 0315 ADC R5, R3 // ww=ww+nn; + carry !
000506 1c53 ADC R5, R3 // ww=ww+nn; + carry ! /*1
;0000 0316 ADC R6, R4
000507 1c64 ADC R6, R4 /*1
;0000 0317 #endasm
; 0000 0318
;0000 0319 // ww1=ww1+nn1;
; 0000 031A // ww=ww+nn;
; 0000 031B data=table[ww>>8];
000508 2de6 MOV R30, R6 /*1
000509 70f0 ANDI R31, HIGH(0x0) /*1
00050a 50e0 SUBI R30, LOW(-_table) /*1
00050b 4ffd SBCI R31, HIGH(-_table) /*1
00050c 81e0 LD R30, Z /*2
00050d b9e5 OUT 0x5, R30 /*1
;0000 031C };
00050e cff6 RJMP _0x9F /*2
Slika7: prevedena koda v assembelrju
Razen tega, kar je na sliki 7, nam bo v pomoč tudi dokument na naslovu:
http://www. atmel. com/dyn/resources/prod_documents/doc0856.pdf , ki je AVR
instruction set manual. V njem bomo poiskali, koliko ciklov traja posamezen ukaz.
Podatek o tem dobimo na strani 11 v rubriki "#clocks".
Z malo matematike vidimo, da za polno zanko potrebujemo 12 instrukcijskih
ciklov. To pa pri urinem taktu 20 MHz pomeni, da je referenčni oscilator 20/12 =
1.66666666 MHz. To pa pomeni, da je najvišja frekvenca signala, ki ga dobimo
na izhodu 256x manjša, kar znese 6510 Hz. Kljub temu pa lahko signal generator
generira frekvence vse do 600 kHz, torej približno 100x višje. To dejstvo, potrjuje
pravilo, da je za uspešno generiranje sinusnega signala potrebno imeti najmanj dva
vzorca na periodo.
To seveda velja za generiranje sinusnih signalov. Za generiranje poljubnega
signala je zgornja frekvenčna meja nižja. Kot smo že povedali je 6510 Hz tisti signal,
ki je definiran v vseh 256 točkah. Za generiranje od sinusne oblike bolj kompliciranih
signalov ne potrebujemo vseh 256 točk, že 20 jih je dovolj, da dobimo dovolj dober
približek željeni obliki.
elektronik avgust 2011 / 15
45
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
To pa pomeni, da z generatorjem z lahkoto generiramo tudi trikotno, žagasto
in pravokotno obliko signala vse do 50kHz.
Verjeli ali ne, a glavna zanka programa vsebuje res samo teh 9 vrstic. Vse
ostalo se dogaja v prekinitvenih rutinah. Žal vsaka prekinitev zmoti delovanje
"referenčnega oscilatorja" v glavni zanki. To sicer ni huda napaka, saj se ta motnja
zgodi le, ko nastavljamo novo frekvenco ali vzorec generatorja. Prehod med starim
in novim signalom zato ni povsem "gladek".
In kaj je vse v prekinitvenih rutinah? Marsikaj! Program sam ima namreč skoraj
800 vrstic. Vsake posamezne rutine ne bom opisoval, ker bi to vzelo preveč časa.
Omenil bom le tiste, ki so bistvene za razumevanje delovanja, celoten program pa je
priloga revije.
Preko FTDI čipa se zahteve za spreminjanje parametrov pošiljajo z osebnega
računalnika na mikrokrmilnik. To v mikrokrmilniku sproži ustrezno prekinitev in v
njej se zahteva obdela. Zahteve z računalnika delimo na tri skupine:
Zahteva za spremembo frekvence
Iz prejete frekvence se izračuna vrednost, ki se vpiše v "Register" (glej sliko
2). Po vpisu se začne generiranje signala z novo frekvenco. V to skupino spada tudi
ukaz za "sweep". Ta sproži še en nivo prekinitev. V tem nivoju se "Register" ustrezno
poveča (ali zmanša) ob vsaki prekinitvi. Posledično se tako spreminja tudi frekvenca.
Zahteva za spremembo amplitude
Ta zahteva procesorju naloži nekoliko več dela. V tabeli nastavitev obeh potenciometrov najprej poišče ustrezne vrednosti za željeno slabljenje in te vrednosti
pošlje preko I2C vodila na digitalni potenciometer AD5252.
Zahteva za spremembo oblike
Generator lahko naredi kakšen koli signal, ki se ga da opisati z 256 vzorci, ki
so shranjeni v tabeli. Ta tabela se ob startu napolni z vzorci sinusnega signala, kasneje pa lahko njeno vsebino spreminjamo tako, da z računalnika pošljemo zahtevo
za spremembo tabele in pošljemo še ustrezne podatke.
Program na osebnem računalniku
Opis programa v mikrokrmilniku je bil podan z zornega kota samega izvajanja,
opis njegovega družabnika na računalniku pa bo podan bolj z zornega kota uporabnika. Prikazali bomo kako se preko tega uporabniškega vmesnika generator uporablja.
Na sliki 9 vidimo uporabniški vmesnik. Celotna forma je razdeljena na štiri dele. Prvi
prikazuje frekvenco. V tem delu si lahko tudi izberemo nekaj funkcionalnosti proelektronik avgust 2011 / 15
46
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
grama. Ena od zanimivih je Transparent. Če jo vključimo, se funkcije programa zaklenejo – ne moremo jih spreminjati. Vidno ostane le okno s prikazovanjem frekvence,
pa še to je transparentno, tako, da skozenj lahko vidimo dokumente, ki so pod njim.
Opozoriti velja, da moramo v polje "Communication port" vpisati pravilno številko
porta, kjer se naš generator nahaja, sicer ni povezave med računalnikom in napravo.
Drugo okno služi za hitro nastavljanje frekvence. Možnosti so od numeričnega
vpisa, do nastavitve frekvence z drsnikom. Na razpolago so tudi gumbi za hitro spreminjanje frekvence za določeno število ali pa za množenje / deljenje frekvence z
dva. V tem oknu nastavljamo tudi izhodni nivo signala. Slabilec (attenuator) lahko
elektronik avgust 2011 / 15
47
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
izhodni signal oslabi vse do 40 dB. Tudi tu je možnost nastavljanja z vnosom v polje
ali z drsnikom. Možno je tudi nastavljanje nivoja signala po 3 dB stopnjah.
Tretje je okno sweep generatorja. Sweep je funkcija, da generator kontrolirano spreminja frekvenco navzgor ali navzdol z določeno hitrostjo. V tem oknu torej
vnašamo podatke: čas posameznega koraka, korak spremembe frekvence ter spodnjo in zgornjo frekvenčno mejo. Z gumbom lahko izberemo način sweepanja (od spodaj navzgor, od zgoraj navzdol ali izmenoma). Nastavimo lahko, ali želimo samo en
prehod ali več prehodov. Sweep funkcijo se izključi z zadnjim gumbom v tem oknu.
Četrto okno je namenjeno ali urejevalniku signala ali pa meritvi frekvenčnega
odziva nekega zunanjega vezja. Signal editor je izjemno močna funkcija tega generatorja. Če aktiviramo to okno kot urejevalnik signala (obkljukamo ustrezno izbiro v
prvem oknu) se nam prikaže nekaj objektov, ki jih je potrebno razumeti. Povsem na
levi strani je okno, ki je nekakšen osciloskop, kjer opazujemo signal, ki ga ustvarjamo. Pod njim je okno, kjer izberemo kateri signal bomo z generatorjem v danem trenutku generirali. Na izbiro imamo dva signala, ki smo ju predhodno vpisali v spomin
in trenuten delovni signal.
Okno "osciloskop" vedno prikazuje trenutni signal in generiran signal. Če želimo,
lahko vključimo še prikaz signalov, ki so shranjeni v spominu. Na voljo imamo dve
spominski lokaciji. Na desni strani "osciloskopa" imamo štiri izbire. Označene so z RT.
ch, Neg, Mixer in Limiter. Pod njimi pa so trije gumbi: "Set out signal", "Set memo1"
in "Set memo2".
Gumb "Set out signal" povzroči, da se vzorci delovnega signala prepišejo v
tabelo vzorcev mikrokrmilnika. Na ta način začne generator generirati nov vzorec
signala. Če si izberemo "RT. ch." je gumb nedosegljiv. Razlog je v tem, da se vsaka
sprememba delovnega signala takoj prenese v tabelo vzorcev. V tem primeru lahko
tudi na osciloskopu sledimo spremembam signalov v realnem času.
Gumb "Set Memo 1" povzroči vpis delovnega signala na prvo spominsko lokacijo. Enako gumb "Set Memo 2" vpiše delovni signala na drugo spominsko lokacijo.
"Neg" zrcali delovni signal preko x osi. Izjemno enostavna funkcija, ki pa zna biti še
kako uporabna.
Podrobneje si oglejmo izbiro "Mixer". Slednja nam omogoči, da iz dveh signalov
dobimo tretjega. To naredimo pravzaprav s seštevanjem ustreznega deleža enega
in drugega signala. Temu mešanju služi tudi drsnik, ki se nahaja desno od izbire. V
dveh padajočih poljih si izberemo, katera dva signala bomo mešali med seboj, nato
pa z drsnikom določimo delež enega in drugega signala. Spremembe opazujemo v
oknu "osciloskop", če pa imamo vključeno izbiro "RT. ch.", pa spremembe lahko vidimo tudi na pravem osciloskopu.
Ostane nam še, da vključimo omejevalnik. To storimo z izbiro "Limiter". Z
elektronik avgust 2011 / 15
48
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
drsniki na desni strani omejimo signal na zgornji in spodnji strani.
Pri vsem tem opisovanju pa smo pravzaprav pozabili na izvor signala. Imamo jih več.
Desno zgoraj si štirje gumbi z oznakami "Sine", "Stepping", Pulse" in "Noise".
Oglejmo si prvega.
Sinusni urejevalnik
Okno sinusnega urejevalnika ponuja 7 gumbov. Najbolje, da jih kar preizkusimo. V oknu imamo še drsnik, ki omogoča nastavitev faznega zamika takega
sinusnega signala. Funkcija pravzaprav pride do izraza šele, ko tak signal mešamo z
kakim drugim signalom.
Tudi izbira Neg zna biti koristna. Ko smo signal izbrali, lahko sinusni urejevalnik zapustimo z gumbom »OK«.
elektronik avgust 2011 / 15
49
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
Stepping editor
Tu imamo na izbiro le dva vira signalov: "Ramp" in "Triangle". Ime pove skoraj
vse. Če si malo ogledamo, kako ti signali nastanejo kot vzorec v tabeli vzorcev,
bomo hitro opazili zakaj imamo dva drsnika z oznakami o navpičnem in vodoravnem
preskakovanju. S pomočjo teh dveh drsnikov lahko hitro ustvarimo namesto ravnih
poševnih linij stopničaste napetosti. Zaradi večje uporabnosti lahko ta dva drsnika
med seboj tudi zaklenemo. Tako kot prejšnji vir signala ima tudi ta možnost faznega
zamika in invertnega signala.
elektronik avgust 2011 / 15
50
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
Pulse editor
Impulzi so pač impulzi, eni sami. Izbire vira torej tu ni. Lahko pa nastavljamo
parametre teh impulzov. V ta namen imamo štiri drsnike, ki definirajo parametre
"Duty cycle", "phase", "ON time" ter "OFF time" (slika 12). Z drsniki nastavimo obliko
željenih impulzov.
elektronik avgust 2011 / 15
51
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
Noise editor
Verjeli ali ne, a ta generator lahko proizvaja tudi šum. Torej lahko deluje tudi
kot šumni generator. Algoritem za izdelavo šumnega signala je poenostavljen do
skrajnosti. Šum je namreč zelo kompleksen signal, mi pa imamo na razpolago 256
vzorcev na periodo. Kaj pa perioda pri šumu sploh je? Bolje, da o tem ne razmišljamo
resno, ter da vzamemo vgrajen generator šuma kot pripomoček z mnogimi pomanjkljivostmi, a je še vedno zelo uporaben. Barvo šuma nastavljamo s štirimi drsniki,
ki spreminjajo konstante v enem skrajno poenostavljenem generatorju šuma. Za
nameček še moj prispevek h generiranju šumnega signala. Ko je vzorec s šumom
vpisan, lahko spreminjamo še hitrost njegovega generiranja. To naredimo tako, da
označimo izbiro "freq. rnd"
elektronik avgust 2011 / 15
52
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
Slika prikazuje šum, ki je generiran na tak način. Spodnji del slike je spektralna
analiza signala. Videti je, da nekatere frekvence v tem signalu zelo izstopajo. Tako,
obdelali smo vse vire signalov, ki so vgrajeni v ta program. Če vam tako pridobljeni
signali še vedno niso všeč, pa jih lahko popravite tako, da preprosto z miško in
pritisnjenim levim gumbom narišemo v oknu "osciloskopa" to, kar bi želeli
imeti. Potrudite se! Kombinacij je 256! (faktorialno).
Graf frekvenčnega odziva
Če v prvem oknu izberemo "Freq. r. graph", potem z našo napravo, ki bi ji
sedaj že težko rekli zgolj funkcijski generator, lahko merimo frekvenčni odziv neke
naše naprave ali elementa.
Na sliki 16 vidimo frekvenčno odvisnost
keramičnega resonatorja z oznako 503 (Slika
15). Izberemo lahko tako linearne X in Y koordinate, kot tudi logaritmske. Frekvenčne meje
grafa se izbere v oknu Sweep generatorja.
Y koordinata je podana v Voltih. Tudi vhod v
napravo ne sme preseči vrednosti 5V.
Sliak15: Keramični rezonator z oznako 503
elektronik avgust 2011 / 15
53
Darko Volk
Nizkofrekvenčni sweep DDS funkcijski generator
Slika 16: Frekvenčni odziv keramičnega rezonatorja z oznako 503, prikazan v logaritmski skali.
Θ
elektronik avgust 2011 / 15
54
ziga555
zkomac@gmail.com
Križi in težave preprostega FM oscilatorja
Pričujoč članek opisuje izkušnje petnajstletnika ob gradnji frekvenčno moduliranega oddajnika. Oddajnik smo mu pomagali oživeti in izmeriti harmonska popačenja na eni naših
delavnic v Postojni. Vse pohvale mlademu avtorju.
Uredništvo
O izdelavi FM oscilatorja je bilo na forumu že kar nekaj govora, zato sem se odločil,
da ga izdelam tudi sam, saj me je zanimalo njegovo delovanje. Na spletu se o oscilatorjih najde veliko. Od mini oddajnikov, do takih, katerih moč je več Wattov. Narisal
sem shemo za mini oddajnik, moči 10 mW. Osnovo za vezje sem dobil na http://
predajnik.bravehost.com
Za tranzistor (TR1) lahko uporabimo kateri koli NPN tranzistor, sam sem uporabil
kar 2N2219A. Dušilka (L1) je narejena iz 4 ovojev žice debeline 1 mm in premera
tuljave 6 mm. Pomembna sta tudi nastavljiva kondenzatorja C in C2, s katerima
spreminjamo frekvenco in prilagoditev antene. Napajanje oscilatorja je od 9 V do 16
V. Priporočam še nekoliko večji bazni upor, saj vezje v nasprotnem porabi okoli 120
mA toka. Posledično se tranzistor močno segreje. Naredil sem več tiskanin omenjenega oscilatorja in vsaka ima svoje slabosti. Predvsem je pomembno, da so zalite površine povezane z maso in da so povezave na tiskanini čim krajše, saj vsaka
odvečna povezava predstavlja neželeno anteno oz. tuljavo. Bodite pozorni tudi na to,
da mora biti kondenzator C3 čimbližje tranzistorju TR1. Ko sem naredil FM oscilator,
sem njegov oddajni spekter preveril na spektralnem analizatorju. Rezultati so bili
nadvse zaskrbjujoči.
elektronik avgust 2011 / 15
55
Žiga Komac
Križi in težave preprostega FM oscilatorja
Na zaslonu vidimo 5 navpično poudarjenih oznak, ki predstavljajo jakost signala na
posameznih frekvencah. Gledano z leve proti desni je prva frekvenca 0. Druga oznaka se nahaja na frekvenci 104,3 MHz. In kot je razvidno z zaslona, naš FM oscilator
oddaja z mnogo večjo močjo tudi na drugih frekvencah kot samo na željenem radijskem FM območju (88-108 MHz). Naslednja oznaka je na frekvenci 208,6 kHz, tretja
pa že na 312 MHz, oscilator smo slišali tudi z radioamatersko postajo Kenwood TH79, kar pomeni da z našim oscilatorjem motimo tudi radioamaterje. Višje frekvence
segajo vse do 1,2 Ghz. Z nastavljanjem in premikanjem frekvence na kondenzatorjih
pa se stanje lahko še občutno poslabša.
Kot vidimo, oscilator oddaja tudi na drugih frekvenčnih pasovih, in s tem močno
smetimo frekvenčni pas. Naš oscilator je ranga nekaj mW, tako da ne bo povzročil
večje škode. Nekaterim se bo zdelo da je 10 mW malo, a naj omenim, da sem z doma
narejeno anteno, postavljeno ob okno, pokril velik del vasi. Mnogo večji problemi se
začnejo z več-wattnimi oddajniki, ki lahko povzročijo še več škode in motenj na ostalih frekvenčnih pasovih. Lahko še omenim, da je nekaj MHz nad radijskim FM pasom
že letalska komunikacija, ki je ni ravno pametno motiti. Poleg tega pa so oddajniki
(lahko bi se izrazil tudi "smetilniki") večjih moči prepovedani. Upam, da ste opazili,
kaj zmore takšna majhna stvar, ki sploh ni tako nedolžna.
elektronik avgust 2011 / 15
56
Žiga Komac
Križi in težave preprostega FM oscilatorja
Močnega oddajnika ni težko narediti, problem je narediti oddajnik, ki bo oddajal na
točno določeni frekvenci in ne bo smetil ostalih frekvenčnih pasov.
Tiskano vezje FM oscilatorja: levo normalno, desno zrcaljeno
(Rdeči in sivi kabel sta za napajanje (9-16V), rdeči
z modro bužirko je avdio plus, rjavi kabel ki gre pod
vezjem pa je avdio masa, zeleni kabel pa gre na
anteno.
Slika antene - oddajnik je slišen po celi vasi.
Tiskano vezje - pogled s spodnje strani. Kasneje je
bilo še predelano.
Θ
elektronik avgust 2011 / 15
57
Jamesq
Puščoba III
Puščoba III
»Vitezi preteklosti so paravojaška skupina, obsedena s tehnologijo. Njihov energijski
oklep je nekaj, česar naši znanstveniki niso sposobni narediti. Naše baterije se po
navadi iztrošijo po nekaj urah bojev, oklepi so težki in okorni, a vzdržljivi. Ampak
njihovi so svetlobna leta pred našimi. Uporabljajo kar miniaturen fizijski reaktor, ki
napaja njihove mehanske dele oklepa. Kovine, iz katere je oklep napravljen, nisem
še nikjer videl. Je izredno lahka, a trdna. Ravno zato so izredno gibčni in izredno nevarni v boju od blizu, čeprav tudi ostalo njihovo orožje ni od muh. Medtem ko mi še
vedno uporabljamo klasične puške, imajo oni že razvito lasersko orožje. Ampak so
izredno zaprta skupnost. Praktično nikogar ne spustijo v organizacijo.«
»Zanimivo poročilo. Ampak ne razumem, zakaj smo morali oditi iz kampa v to votlino, da mi poveste vse to. To ni nič takega,« je jezno začel polkovnik. »Že res, ampak
nisem še končal, gospod polkovnik,« je mirno povedal Bob. »Tisti doktor mi je tudi
povedal, da supermutanti verjetno komunicirajo telepatsko, pa tudi sam nisem nikogar videl, da bi govoril.« Polkovnik je začel postajati vidno nervozen. »Nato pa sem
v Newswestu videl nekaj zanimivega. Nekaj mimoidočih je nenadoma dobilo čudne
napade. Padli so na tla, kjer jih je treslo, koža je pozelenela in celotno njihovo telo
je začelo naraščati, dokler se niso spremenili v supermutante. Na srečo smo njihov
napad zajezili pravočasno.« Kaplja potu je lezla po vidno živčnem obrazu polkovnika,
ki je dajal izraz, da Bob pritiska na prave gumbe. »Ampak najbolj zanimivo,« je
nadaljeval Bob, »pa se mi je pripetilo ravno v tej votlini.« Polkovnik je postajal rdeč
v obraz. »Pet supermutantov mi je sledilo od Newswesta do te votline. Ko sem se
skrival v votlini, sem opazil nekaj zelo zanimivega. Mutanti so delovali zbegani in
brez orientacije, ko so šli malce globlje v votlino. Mutant v črni opravi je deloval še
posebej nervozno in je bil precej razjarjen. Ko sem ga ustrelil, se je samo on spravil
name, ostali pa tudi trznili niso. In tako sem vseh pet ubil in trupla zakopal tu v votlini. Zgleda namreč, da ta votlina nekako moti njihovo sporazumevanje. A največji
šok je bil, ko sem zakopaval zadnje truplo prejšnji teden. Našel sem vaše truplo,
gospod polkovnik.« Polkovnik se je ves penast zagnal v Boba in ga zbil na tla. »In
boš verjetno tudi edini ostal s to skrivnostjo, poleg tvojega polkovnika, tu v votlini.
Nihče ne sme motiti načrtov Gospodarja!« je začelo hripavo vpiti nekaj z rdečimi
očmi, kar je le še spominjalo na polkovnika. »Tvoja skupinica, ki čuva vhod, ti ne bo
čisto nič pomagala. Votlina prav lepo blokira vaše sporazumevanje,« je potegnil za
pištolo Bob. Ampak se je mutiranec že vrgel nanj in zahreščal: »Taki, kot si ti, bi bili
dobra pridobitev za Gospodarjevo vojsko.« »Nekako mi ne ustreza zelena koža,« je
med prerivanjem dejal Bob.
Prerivanje postane intenzivnejše. Bob in mutirani se premetavata, enkrat je eden
na vrhu, drugič drugi. Nato se zasliši glasna eksplozija iz smeri izhoda. Mutirani
začudeno pogleda proti izhodu. Bob izkoristi priložnost in ga vrže s sebe ob steno.
Blam, blam, blam, blam, blam je pela pištola, ko je pošiljala svinec skozi telo mutiranega. Prestreljeno telo mutiranega se je sesedlo, ampak še vedno je kazalo znake
elektronik avgust 2011 / 15
58
Gašper jeriček
Puščoba III
življenja. »Tale mali trik ti je uspel, ampak naša vojska je premočna za vaše človeške
prepire. Gospodar bo zavladal svetu in prepirov ne bo več,« so bile zadnje besede
mutiranega polkovnika, preden je njegova glava tiho omahnila. Boba pa se je polotila
omedlevica in se je komaj zavedal sveta okoli sebe.
Pridušeni koraki energijskih oklepov so se bližali predelu votline, kjer je obsedel
Bob. »Brat Gaiyax, vaša dejanja kažejo na predanost človeški vrsti,« se je oglasil
energijski oklep z rdečimi oznakami. »Vitezi, odnesite Začetnika in njegovega psa
v bolnišnični oddelek!« In skupina mož je enoglasno zavpila: »NA UKAZ, VOJVODA
ROTWASSEN!«
Θ
elektronik avgust 2011 / 15
59