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
© Copyright 2024