Osmo Pasuri, OH6CJ
oh6cj@sral.fi
TAAJUUSLASKIN
14.08.2001
Artikkelin esittelykuva: PIC_LCD_counter.jpg
Kuvat, piirikaaviot, taulukot: OH6CJ paitsi kuva 4 : http://smallwonderlabs.com/ freqmite.gif)
File: PIC_LCD_artikkeli16_kuvat.doc
Sisällysluettelo
1. Johdanto
*2. Taajuusmittauksen periaate
*3. Käsitteitä
*3.1 Suora taajuuslaskin
*3.2 Ohjelmoitava taajuuslaskin ja Display Offset
*3.3 Esijakaja
*3.4 PIC
*4. Taajuuslaskintekniikka 20 vuotta sitten
*5. Taajuusindikaattorit
*5.1 7-segmenttinäyttö
*5.2 LCD eli nestekidenäyttö
*5.2.1 Taustavalolliset LCD-näytöt
*5.3 Taajuuden ilmaisu sähkötyksellä
*5.4 Taajuuden ilmaisu LED-matriisilla dekadeittain
*6. Kuinka harrastajan taajuuslaskin voitaisiin toteuttaa edullisesti nykytekniikalla?
*6.1 PIC-mikroprosessori
*7. PIC-sovellukset ja OM3CPH
*7.1 OM3CPH peruslaskimen toiminta
*8. Laskimen modifioitu HW-kytkentä
*9. Laskimen modifioitu ohjelmisto (SW)
*9.1 COUNTER MODE
*9.2 EEPROM MODE
*9.3 Muut lisätyt funktiot
*9.4 EEPROM-parametrien funktiot
*9.4.1 Display Offset ja kytkin S4 (EEPROM 00h…05h)
*9.4.2 Suora tai ohjelmoitava taajuuslaskenta (EEPROM 06h)
*9.4.3 Laskimen kalibrointi (EEPROM 07h, 08h)
*9.4.4 Näytön valinta (09h)
*9.4.5 Näytettävien numeroiden määrä (0Ah)
*9.4.6 Oletusarvojen palautus (0Fh)
*9.5 Käyttäjän asetusten muuttaminen
*9.5.1 EEPROM MODEn aktivointi
*9.5.2 Parametrien arvojen muuttaminen
*10. Laskimen rakentaminen
*11. Laskimen käyttöönotto
*11.1 Mittaukset jännitteettömänä
*11.2 Ensimittaukset jännite kytkettynä
*11.3 Loppuasennus ja testaus
*12. Laskimen tuottamat häiriöt
*13. Mistä ohjelman saa?
*14. Jatkokehitysideoita ja puutteet
*14.1 Kehitysideat
*14.2 Puutteita
*15. PIC-LCD-taajuuslaskimen osaluettelo
*16. Lähteet
*
Tämä artikkeli kertoo taajuuslaskimen toimintaperiaatteesta ja sen toteutuksesta viimeisen 20 vuoden aikana. Taajuuslaskimia on tyypillisesti käytetty mittalaitteena esim. radioharrastajien laitteissa vastaanotto- ja lähetystaajuuden indikointiin ja näin on päästy tarkempaan tulokseen verrattuna mekaanisiin taajuusasteikkoihin. Tosin nykyisissä kaupallisissa lähetinvastaanottimissa käytetään tyypillisesti paikallisoskillaattorina DDS:ään (Direct Digital Synthetics) perustuvaa ratkaisua ja näytön taajuuslukema perustuukin DDS-piirille annettuun taajuusohjeeseen. Rakenteluesimerkkinä esitellään PIC-mikroprosessorilla ja LCD-näytöllä toteutettu 7 numeron ohjelmoitava 30 MHz:n taajuuslaskin, jonka toiminta voidaan parametroida käyttäjän tarpeen mukaan.
Vaihtosähkön taajuus määritellään värähtelyjaksojen lukumääränä aikayksikössä. Taajuushan on yksi hertzi, kun tapahtuu yksi värähdys yhdessä sekunnissa. Seuraavasta kaavasta voidaan todeta että taajuuden mittaaminen on ajan mittaamisen käänteinen toimitus. 7) Taajuus saadaan ratkaistua jakamalla mitattavan signaalin värähdysten lukumäärä tarkasteluajalla.
f (Hz) = n / t (s) f = taajuus hertzeinä
n = värähdysten lukumäärä
t = tarkasteluaika
Taajuuslaskimessa lasketaan määrämittaisena aikana (laskenta-aikaikkuna) jaksojen määrä ja muunnetaan tulos taajuudeksi. 7) Hiukan tarkennettuna toimintaperiaate on yksinkertaisesti seuraava:
Esimerkki:
Laskenta-aikaikkuna on 100 ms. Mitattava taajuus on 14100.155 kHz = 14100155 jaksoa sekunnissa. Laskenta-aikaikkuna määrää maksimi resoluution, jos esijakajaa ei käytetä mittaussisääntulossa eli esim. 100 ms:n aikana jaksoja tulee 14100155 x 0.1 s = 1410015. Tämä vastaa siten taajuutta 14100.15 kHz eli vähiten merkitsevä numero (5) indikoi kymmenet Hz:t. Jos aika-ikkuna olisi 1 s, niin silloin päästäisiin 1 Hz:n resoluutioon.
Taajuuslaskimen elektroniikalla on aina maksimimittaustaajuus, jonka laskin pystyy tietyissä olosuhteissa mittaamaan. Taajuusaluetta voidaan kasvattaa ylöspäin käyttämällä laskimen edessä esijakajaa tai superheterodyneperiaatetta eli alassekoittamista 7).
Seuraavassa muutamia käsitteitä, jotka on hyvä ymmärtää tätä artikkelia luettaessa.
Summaa mitattavia pulsseja laskenta-aikaikkunan osoittaman aikayksikön ajan ja näyttää tuloksen. 8)
3.2 Ohjelmoitava taajuuslaskin ja Display Offset
Taajuuslaskin rakennetaan ohjelmoitavaksi, kun se liitetään esim. supervastaanottimeen mittaamaan vastaanottimen VFO-taajuutta, mutta laskimen halutaan indikoivan vastaanotettu taajuus. Tällöin on vastaanottimen rakenteen mukaan AM- ja FM-modella joko vähennettävä välitaajuudesta VFO-taajuus tai lisättävä välitaajuus VFO-taajuuteen. CW- ja SSB-modella välitaajuuden asemesta käytetään BFO-taajuutta. Tätä summattavaa tai vähennettävänä olevaa lukuarvoa kutsutaan tässä artikkelissa Display Offset (näytön offsetiksi).
Mitattavan taajuuden lisäjakaja, joka kytketään taajuuslaskimen sisääntuloon. Sen avulla voidaan mitata taajuuksia, jotka ovat perustaajuuslaskimen mittausalueen yläpuolella.
PIC (Programmable Interface Controller) on yksisiru (single-chip) mikroprosessori, joka sisältää ohjelman suorituksen kannalta melkein kaiken tarvittavan kuten I/O:n, RAM- ja ROM-muistit, käskydekooderin, kello-oskillaattorin ja tilakoneen. Piiri tarvitsee +5 V:n käyttöjännitteen ja oskillaattorikytkentään vastuksen ja kondensaattorin (RC) tai suuremmille taajuuksille esim. kvartsikiteen ja kaksi kondensaattoria. PIC-mikroprosessorit ovat Microchip Technology Inc. valmistamia tuotteita. 10)
4. Taajuuslaskintekniikka 20 vuotta sitten
Rakensin ensimmäisen taajuuslaskimen 1980-luvun alussa DX-kuuntelijalehdessä olleen Ilpo J. Leppäsen ansiokkaan artikkelin mukaan. Laskin oli toteutettu sen ajan tekniikan ja rakenteluhengen mukaan noin parillakymmenellä TTL-piireillä. Virrankulutus oli taattua…noin 1 A viiden voltin käyttöjännitteellä! Kolmannes mikropiireistä käytettiin muodostamaan laskenta-aikaikkuna jakamalla 1 MHz:n kidetaajuus siten että lopputuloksena positiivisen jakson pituus oli 100 ms laskenta-aikaikkunaksi. Loput piireistä olivat itse laskurina (74192), välimuistina (7475 latch) ja 7-segmenttinäytön ohjaimena (7447). Lisäsin vielä 100 Hz dekadin laskimeen ja maksimimittaustaajuutta nostin käyttämällä erillistä esijakajaa (10-jakaja) mittaustulossa 5). Näin esim. taajuus 145.550 MHz oli jakajan lähdössä 14.5550 MHz. Tarvittiin desimaalipisteen siirto oikealle, jotta laskimen indikoima taajuuslukema oli taas oikea 145.550 MHz. Muita 1980-luvun taajuuslaskinpiirejä olivat ainakin Intersil ICM 7217A yhdessä ICM 7207 (time base) kanssa 2) , ICM7226 ja Mostek MK50398 3). Ensin mainittua löytyy vieläkin komponenttikauppojen luettelosta.
Tutkitaanpa seuraavaksi millä eri tavoilla taajuuslaskimen mittaama taajuus voidaan indikoida käyttäjälle.
Näyttönä voi edelleenkin olla LED-tyyppinen 7-segmenttinäyttö, joka koostuu seitsemästä valoa emittoivasta diodista (LED) sijoitettuna numero kahdeksan muotoon. Lisäksi desimaalipisteelle (dp) on oma pinni. LEDien muodostamia viivoja kutsutaan segmenteiksi, jotka on nimetty kirjaimin a,b,c,d,e,f ja g. LEDien anodit (yhteisanodi-kytkentä) tai katodit (yhteiskatodi-kytkentä) on kytketty yhteen muodostaen kytkentään yhteisen COMMON-pinnin. 7-segmenttinäytön hyvänä ominaisuutena on numeroiden selkeä näkyvyys, mutta varjopuolena suuri virrankulutus. Jotta numerot näkyvät myös kirkkaassa auringon valossa, käytetään usein tummennettua lasi- tai muovi-ikkunaa näytön edessä. Jokainen aktivoitu segmentti kuluttaa virtaa 5…20 mA sarjavastuksen mukaan.
7-segmenttinäyttöjen ohjaus voi olla numerokohtainen kuten esim. Ilpo J. Leppäsen artikkelin laitteessa, jossa jokaiselle näytön dekadille on oma laskuri-, latch- ja dekooderipiiri. Toinen toteutustapa on ns. multipleksattu näytön ohjaus, jolloin jokaista dekadia näytetään hetki yksi kerrallaan. Kytkennässä käytetään kytkintransistoreita kytkettynä jokaisen 7-segmenttinäytön COMMON-pinniin. Transistorit ohjataan johtavaan tilaan dekadi kerrallaan multiplekserin ohjaamana ja näin ainoastaan kyseiseen näyttöön syttyvät ledit, jotka ohjataan synkronoidusti segmenttien ohjausväylästä (a…g). Kun multipleksaustaajuus on riittävän suuri, näkee silmä valon jatkuvana ilman häiritsevää vilkkumista. Multipleksatun näytön etuna on pienempi virrankulutus kuin numerokohtaisella ohjauksella, mutta haittapuolena se voi häiritä vastaanotinta ellei sitä suojata metallikoteloon.
Kuva 1. Multipleksatun 7-segmenttinäyttöryhmän ohjausperiaate. (multiplexer_block_diagram.eps)
Vähemmän virtaa kuluttavat LCD-näytöt (LCD = Liquid Crystal Display). Näyttö itse on passiivinen 7-segmenttityyppinen näyttö, johon on yhdistetty useita numeroita esim. 3.5 numeron näyttö (maksimi lukema on 1999). Esimerkkinä tällaisesta on K1 cw-lähetinvastaanotin (USA:ssa rakennussarjana) varustettuna kolmen numeron LCD-näytöllä, jonka segmenttejä (3 x 7 = 21 I/O-pinniä) ohjataan yhdellä PIC-piirillä 16C77. 11) Piirilevyn rakenteesta tulee monimutkainen johtuen ohjattavien segmenttien suuresta määrästä.
Yksinkertaisempi soveltaa on valmis ohjauselektroniikalla varustettu LCD-näyttömoduli (esim 1 x 16 merkkiä = näytössä on yksi rivi, jossa 16 merkkiä). Tällöin näyttöä ohjataan erillisellä mikroprosessorilla 4- tai 8-bittisellä standardoidulla (esim. Hitach HD44780) dataväylällä ja kolmella ohjauslinjalla. 3) Pinnien merkitys on vakio eri tyypeillä riippumatta näytön merkkimäärästä ja riveistä. Yhdelle merkille on varattu 5 x 10 pisteen matriisi, josta normaalisti käytetään 5 x 7 pisteen alue ylhäältä lukien. Näin mahdollistetaan alareunaan myös kursoriviivan ohjaus. Näytölle voidaan tulostaa ASCII-merkkejä, sekä ohjelmoida myös tarvittaessa omia merkkiä.
Näytön voi myös asettaa 5 x 10 pisteen moodiin, jolloin tietyt pienet kirjaimet (esim. j, p, q, y…) tulostuvat oikealle korkeudelle kuten normaalisti kirjoitettaessa.
Taulukko 1. LCD-näyttömodulien pinnit HD44780-standardin mukaan.
Pin |
Signal |
Level |
Function |
1 |
Vss |
Ground |
|
2 |
Vdd |
+5 VDC |
Logic supply |
3 |
VLC |
+0.7 VDC |
Power supply for LC driving |
4 |
RS |
L=INST, H=CHAR |
LCD Register select control line |
5 |
R/W |
L=Write, H=Read |
LCD Read/Write control line |
6 |
E |
Latch on fall edge |
LCD Enable control line. Operation start signal for data R/W. Causes R/W to be latched on falling edge. |
7 8 9 10 |
DB0 DB1 DB2 DB3 |
Lower order 4-bit bi-directional tri-state data-bus |
|
11 12 13 14 |
DB4 DB5 DB6 DB7 |
Upper order 4-bit bi-directional tri-state data-bus |
|
15 16 |
A (LED+) K (LED-) |
Supply voltage for LED Backlighting |
LCD-näytön ohjauselektroniikka on CMOS-tekniikkaa ja kuluttaa virtaa vain muutaman mA:n. LCD-näyttömoduuleja on saatavana alle 50 mk:sta lähtien ja niiden ohjauksesta löytyy internetistä hakusanalla "LCD" runsaasti tietoa. Käytettyjä näyttömoduuleja löytyy kierrätystarkoituksiin mm. lasertulostimista ja erilaisista teollisuuden ohjauspaneeleista.
Kuva 2. Erään 2 x 20 merkkisen taustavalollisen LCD-modulin lohkokaavio. (lcd_module_block_diagram.eps)
LCD-näyttöä hankittaessa kannattaa suhtautua varauksella halvalla myytäviin näyttöihin (alle 50 mk), koska kokemuksen mukaan niiden oikea toiminta voi olla sattumanvaraista ja olisi ikävää, jos esim. PIC-LCD rakennusprojekti menisi sen takia kiville. Kokeilin laskuria neljän eri valmistajan LCD-modulilla ja lopputuloksena havaitsin, ettei näyttö toiminut halvimmalla moduleilla lainkaan, ennenkuin lisäsin ohjelmakoodiin ylimääräisiä viiveluuppeja tiettyjen LCD-komentojen jälkeen. Havaitsin tietyissä moduleissa myös häiriöherkkyyttä, jos LCD:n ja PIC:n välinen johdotus oli yli 15 cm pitkä.
LCD-näyttömodulia valittaessa toinen tärkeä asia on näytön oikea katselukulma. Jos näyttö tulee etupaneeliin, joka on pystysuorassa, tulee näytön merkkien olla myös terävät katsottaessa sitä kohtisuoraan ja hiukan yläviistosta. Esim. 1 x 16 merkkisen TM161A/B LCD-näyttömodulin paras katselukulma on edestä alhaalta (kukahan katsoo radion taajuusnäyttöä alaviistosta?). Kuitenkin kohtisuoraan katsottaessa merkit näkyvät hiukan epäterävästi. Tämähän on tuttu juttu taskulaskimien näytöistä. (Jos ostat LCD-näyttömoduulin, vaadi myyjältä selvitys näytön katselukulmaominaisuuksista).
5.2.1 Taustavalolliset LCD-näytöt
LCD-näyttö ei itse emittoi valoa, joten sen luettavuus huononee pimeässä ilman näytön tai ympäristön taustavaloa. Sitä varten on kehitetty taustavalollisia LCD-näyttöjä. Taustavalot on sijoitettu näytön alle ja itse LCD-näytön taustamateriaali päästää valoa läpi. Taustavaloina käytetään elektroluminenssiin ja LED:hin perustuvia ratkaisuja, joista jälkimäinen on pitkäikäinen ja siten suositeltava. LED-taustavalo koostuu useasta rinnankytketystä LED-diodiryhmästä, joka tarvitsee aina etuvastuksen. Itse käytin toisessa protossa 18 ohmin /0.5W vastusta sarjassa +5 V:n ja LED-näytön anodin kanssa. Taustavalo koostui 11 lediryhmästä, jossa kussakin oli kaksi lediä sarjassa. Sarjavastus rajoitti LEDien virran n. 50 mA:iin. LED:n anodi ja katodiliittimet ovat yleensä moduulin toisessa päässä ja lisäksi liittimissä 15 ja 16. LED-taustavalon virrankulutus riippuu tietysti halutusta taustavalon kirkkaudesta (esim. 50..275 mA), joten kannettavissa laitteissa taustavalolle kannattaa laittaa oma kytkin virrankulutuksen minimoimiseksi.
Kuva 3. Taustavalollinen 2 x 20 merkkinen LCD-näyttömoduli. Oikeassa reunassa näkyy taustavalon jännitesyötön liittimet ja vasemmassa reunassa kahdessa pystyrivissä näytön ohjauksen liitinnastat 1…14. (2x20_lcd.jpg)
5.3 Taajuuden ilmaisu sähkötyksellä
USA:ssa on myynnissä 20 dollarin hintaan PIC-piirillä toteutettu taajuuslaskin FREQ-Mite, joka aktivoitaessa indikoi taajuuden sähkötyksellä piezo-summeriin tai kaiuttimeen/kuulokkeisiin. Hyvä laite kertomaan, missä ollaan, mutta tietylle taajuudelle tulo vaatii toistoa. Oiva apuväline yksinkertaisiin QRP-laitteisiin ja myös näkövammaisille radioamatööreille. RF-tulojännitteeksi tarvitaan vähintään 200 mVpp 10 MHz:iin asti ja 600 mVpp 30 MHz:lla. Mittaustarkkuudeksi luvataan +/- 1.5 kHz 25 MHz:iin asti ja +/-2 kHz yläpäässä. Tässä sovelluksessa käytetään PIC-piirin ns. SLEEP-moodia hyväksi, jolloin piiri menee passiiviseen "unitilaan" taajuusindikoinnin jälkeen. Näin PIC-piirin kello-oskillaattori pysähtyy ja ei häiritse itse vastaanotinta. Taajuus-offset ohjelmoidaan oikosulkupistokkeilla (jumppereilla) piirilevyn liittimille. 4)
Kuva 4. Freq-Mite taajuuslaskin PIC-prosessorilla toteutettuna. (kuva http://smallwonderlabs.com/ freqmite.gif)
5.4 Taajuuden ilmaisu LED-matriisilla dekadeittain
Japanilaisella kekseliäisyydellä JF1OZM:n kotisivuilta löytää mainion CD4017 CMOS-piireillä tehdyn suoran taajuuslaskimen, jossa käytetään erillisledejä jokaiselle näytettävälle dekadille. Kytkentä on tehty minimi komponenttimäärällä. CMOS-piirien johdosta laskimen ylärajataajuus jää reilusti alle 10 MHz:iin. Huolellisella ledien asennuksella ja koteloinnilla saadaan näyttävä ja myös erikoinen taajuusnäyttö radioon. 9)
Kuva 5. Timon OH2BFZ homemade 80m:n lähetinvastaanotin varustettuna LED-matriisinäyttöisellä taajuuslaskimella. Ylin ledirivi indikoi 100 kHz, seuraava 10 kHz ja alin 1 kHz. (Kuva oh2bfz_trcvr.jpg)
6. Kuinka harrastajan taajuuslaskin voitaisiin toteuttaa edullisesti nykytekniikalla?
Nykyään ei kannata lähteä rakentamaan taajuuslaskinta erillislaskuripiireistä (TTL tai CMOS), koska kytkennästä tulee monimutkainen johtuen piirien suuresta määrästä. Kaupallisia taajuuslaskimeksi suunniteltuja yksisirupiirejä on vähän ja ne ovat kalliita johtuen ilmeisesti pienistä volyymeista. Myöskään ne eivät välttämättä ole optimoituja harrastajan tarpeeseen. Entäpä mikroprosessoripohjaiset ratkaisut? Ensimmäinen reaktioni oli: monimutkaisia, tarvitsevat useita mikropiirejä, kuinka kehittää ohjelmisto ja mistä saada kehitysympäristö minimi-investoinnilla? Yllätyksekseni otsikon kysymykseen löysin vastauksen internetistä: PIC-prosessorit.
Mikrochipin tuotevalikoimaan kuuluu useita erityyppisiä piirejä mm.:
- kertaohjelmoitavat piirit PROM
- uudelleenohjelmoitavat piirit perustuen EEPROM tai FLASH-piiritekniikkaan (ohjelmointi n. 13V:n jännitteellä)
- EPROM-piiritekniikkaan perustuvat piirit (nollataan UV-valolla)
Harrastajaa kiinnostaa tietysti helpoiten uudelleenohjelmoitavat piirit.
Kuva 6. 18-nastainen PIC-mikropiiri 16C84 mikropiirikannassa protopiirilevyllä. (Kuva Printed_board_view.jpg)
PIC:n lisäksi tarvitaan vain kide ja pari kondensaattoria sekä 5 V:n reguloitu apujännitelähde. Eli ei tarvita RAM-, ROM- ym. piirejä osoite- ja dataväylineen kuten yleensä vanhemmissa mikroprosessorisukupolvissa. Kaikki tämä on integroitu yhteen PIC-mikropiiriin.
Hyvin yleinen PIC-piiri on 8-bittinen 16F84 (16C84 on vanhempi EEPROM-versio), jossa on 13 ohjelmoitavaa I/O-pinniä (RA0…RA2, RB0…RB7) ja mikä parasta harrastajalle, piirin flash-ohjelmamuistin (FPROM) voi ohjelmoida n. 1000 kertaa. Tämä tarkoittaa sitä, että harrastaja voi itse niin halutessaan kehittää ja testata sovellusta n kertaa, kunnes haluttu lopputulos on saavutettu (vertaa tinaa ja kokeile…savun hälvettyä tarkistetaan ja muutetaan kytkentä …heh heh). Piirissä on myös data-muisti, johon voi tallettaa sovelluskohtaisia asetteluja. Toisena vaihtoehtona voidaan käyttää PIC-harrastajien valmiita sovelluksia, joita löytyy internetistä ja ohjelmoida PIC-piiri niillä. Myös PC:n printteriporttiin liitettävän yksinkertaisen ohjelmointilaitteen rakennusohjeita löytyy netistä. Piirin 16F84-04/P hinta (4 MHz:n tyyppi) on ollut halvimmillaan alle 40 mk.
Internetistä voi imuroida ilmaiseksi MPLAB™ ohjelmistokehitysympäristön IDE (Integrated Development Environment) tietokoneelle 10). Myös kaupallisia Basic ja C-kielen kääntäjiä on saatavilla 3).
Peter OM3CPH:n kotisivulla on monia PIC-pohjaisia taajuuslaskimia ja DDS-VFO-kytkentöjä. Hän on rakennellut jo 30 vuotta kotikutoisia laitteita. Hän sai ensimmäisen radioamatööriluvan 1975 kutsulla OK3CPH. Myöhemmin Tsekkoslovakian jakautuessa Tsekin ja Slovakian tasavaltaan, kutsu muuttui OM3CPH:ksi. Muutamia vuosia sitten Peter löysi radioharrasteeseen PIC-piirit! PIC taajuuslaskin- ja DDS-sovelluksia löytyy runsaasti hänen kotisivultaan. 1)
7.1 OM3CPH peruslaskimen toiminta
Seuraavassa on selostettu alkuperäisen PIC-LCD taajuuslaskinohjelman algoritmi, joka on perustana myöhemmin selostetulle laskimelle:
1. Muunnetaan 24-bittinen laskuriarvo seitsemäksi desimaalinumeroksi
2. Muunnetaan desimaaliarvot ASCII-merkeiksi LCD-näyttöä varten
3. Tyhjennetään LCD-näytöltä edellisessä laskennassa tulostetut merkit
4. Lähetetään taajuuslukema ASCII-merkki kerrallaan RB0…RB3 avulla LCD-näytölle ja asetetaan
desimaalipisteen paikka tarvittaessa
5. Nollataan laskurirekisterit
6. Aloitetaan uusi 100 ms:n mittausjakso
7. Testataan PIC:n sisäisen laskurin TMR0:n ylivuoto, jos ylivuoto on tapahtunut niin kasvatetaan
ohjelman rekisteriä TimerH:ta yhdellä
8. Hyppy kohtaan seitsemän, kunnes mittausjakso (mittausaika-ikkuna) on suoritettu.
9. Pysäytetään mittaus
10. Siirretään TimerH arvo HigB-rekisteriin ja TMR0 arvo MidB-rekisteriin
11. Lasketaan LowByte rekisterin arvo digitaalilähdön RA3 avulla Prescaler-laskurista.
12. Tehdään Display Offset laskenta valinnan mukaan (Add tai Sub).
13. Hyppy kohtaan 1.
Laskenta-aikaikkuna on siis 100 ms, jolloin vähiten merkitsevä numero näyttää kymmenet Hz:it. Laskin sisältää 24-bittisen laskurin, joka on jaettu kolmeen 8-tavuiseen laskurirekisteriin: High byte, Midbyte ja LowByte. Esim. LCD-näytölle tulostetaan taajuuslukema 7.331.02 MHz. Tällöin rekisterien arvot ovat: HighByte = 0Bh, MidByte = 2Fh ja LowByte = AE, koska 73310210 kymmenjärjestelmässä vastaa 0B2FAE16 kuusitoistajärjestelmässä.
8. Laskimen modifioitu HW-kytkentä
Tibor OM2ATM on suunnitellut alkuperäisen 1-puolisen piirilevyn, jota olen modifioinut lisäämällä +5 V:n jänniteregulaattorin ja 4 painonappia, jotka löytyivät vanhasta videonauhurin romusta. Painonappien avulla tehdään tarvittaessa käyttäjän asetukset EEPROM-muistiin. Samoihin liittimiin kytketään koskettimet varsinaisille kytkimille tai relekoskettimille tarpeen mukaan (piirikaaviossa "External Control").
Mitattava taajuus kytketään NPN-transistoriasteen vahvistamana I/O-pinneihin RA3 ja RA4. RA4 toimii schmitt trigger-tyyppisenä digitaalitulona PIC:n sisäiselle laskurimoduulille TMR0, joka muodostaakin pulssilaskennan ytimen tässä sovelluksessa. RA3:a tarvitaan digitaalilähtönä laskennan jälkeen selvitettäessä Prescaler-laskurin arvo. Tämä siksi, koska ko. laskuriarvoa ei voi PIC:ssä lukea suoraan.
Digitaalituloa RA2 käytetään LCD:n R/W toimintoon sekä Display Offsetin summaus (Add) tai vähennys (Sub) valintaan ohjelmoitavana taajuuslaskimena. Valinnan määrää tietysti vastaanottimen rakenne, onko vastaanotettu taajuus välitaajuuden ala- vai yläpuolella.
Painopiirilevy on melkein samaa kokoa itse 1 x 16 merkkisen LCD-näyttömoduulin kanssa (n. 8 cm x 3.6 cm) ja piirikortit asennetaankin päällekkäin esim. kierreholkkien ja ruuvien avulla. Näin saadaan LCD:n data- ja ohjausväylä lyhyeksi piirikorttien välillä.
Kuva 7. PIC-LCD-taajuuslaskimen kytkentäkaavio (schematic_1.eps)
LCD-modulin näyttö tarvitsee toimiakseen kontrastijännitteen, joka on normaalisti n. 0.5…0.7 V ja pakkasta kestävissä malleissa –6…-7 V 3). Kytkennässä 22 kilo-ohmin trimmeripotentiometrillä R13 säädetään näytön kontrasti sopivaksi. Koska LCD-näyttöä ohjataan 4-bittisellä väylällä (D4…D7), on pinnit D0…D3 kytkettävä nollaan, jotta näyttömoduli toimii oikein. PIC-piiri ja LCD-näyttömoduli tarvitsevat stabiloidun + 5V:n käyttöjännitteen. Regulaattoriksi löytyi komponenttilaatikosta LM317LZ max. 100 mA versio. Yhtä hyvin voisi käyttää tyyppiä 78L05, jolloin vastukset R1, R2 ja R3 voidaan jättää pois ja kytkeä regulaattorin GND piirikortin 0 V:iin (GND). Kiteenä on vanhasta väritelevisiosta purettu 4 MHz:n kide, jota löytyy myös yleisesti komponenttikaupoista. Toisessa protossa käytin trimmerikondensaattoria C6:ssa laskimen kalibroimiseksi, mutta 22 pF:n kiintokondensaattoria voi käyttää tilalla ja tehdä kalibroinnin SW:ssa. Mitattava taajuus kytketään 100 ohmin vastuksen R4 ja 22 nF:n kondensaattorin C4 kautta NPN-transistorin Q1 kannalle, joka on esijännitetty vastuksella R12 (33k…150 k) parhaan herkkyyden saavuttamiseksi transistorityypin mukaan . Diodit D1 ja D2 leikkaavat mitattavan signaalin tason +/- 0.6 V:iin suojaten transistorin Q1. Rakentamani laskinyksilön ylärajataajuus oli melkein 36 MHz huoneenlämpötilassa signaalitasolla n. 0.2 Vpp. Virrankulutus oli n. 15 mA. Käyttöjännite 8…13.8 V DC.
Huom! Digitaalitulot RB0…RB3 ovat normaalisti tilassa FALSE (0V) 1 kilo-ohmin alasvetovastusten R7…R10 avulla, jos niihin ei ole kytketty esim. ulkopuolista kytkintä. Näin digitaalituloja RB0…RB3 voidaan ohjata +5 voltin jännitteellä 1-napaisella kytkimellä tai releen koskettimella.
Kuva 8. PIC-LCD-taajuuslaskimen komponenttien sijoitus (lcd_countr_comp_layout.bmp)
Kuva 9. Piirilevy juotospuolelta katsottuna. (lcd_countr_pcb_oh6cj.bmp)
9. Laskimen modifioitu ohjelmisto (SW)
Idea taajuuslaskinohjelman edelleen kehittämisestä tuli Eeron OH5OI, Pekan OH1PP ja Pertin OH1IR taholta, koska he olivat rakentamassa OM3CPH:n taajuuslaskinta 8-bittisellä ohjausväylällä. Display Offset-asetuksia ei voinut muuttaa kuin itse lähdekoodiin ja kääntää MPASM-tiedosto uudestaan heksamuotoon ohjelmointilaitetta varten. Se tuntui hiukan hankalalta. Täytyi olla helpompi keino asettaa Display Offset-parametrit! Löysin seuraavaksi internetistä Peterin LCD_DIG4.asm taajuuslaskin-ohjelman 4-bittisellä LCD-ohjausväylällä. Kokeilin ohjelmaa, mutta näytön ohjaus ei aluksi toiminut oikein. Sähköpostiyhteys Peterin kanssa tuotti hetken päästä tuloksia (myöhemmin meillä oli myös skedi 14.250 MHz:llä). Itse halusin vielä kehittää laskuria. Kun PIC:ssä kerran on käyttäjän EEPROM-datamuisti, niin miksipä ei käytettäisi sitä hyväksi. Kopioin myös ohjelmoitavan taajuuslaskimen ominaisuudet Sub / ADD RF hänen 8-bittisestä koodista lisäten samalla kaksi eri Display Offsettia 1 ja 2. Käytän Peterin ohjelmakoodin Sub / ADD RF-termistä tässä nimitystä Display Offset = näytön offset, joka kuvaa paremmin funktiota eli siitä vähennetään tai siihen summataan mitattu taajuus.
Normaalisti laskin toimii COUNTER MODE:ssa mitaten mittaustuloon kytkettyä taajuutta.
Kun LCD:n ohjausväylä muutetaan 8-bittisestä neljäksi, vapautuu neljä I/O-pinniä RB0…RB3.
Käyttäjää varten on siten ohjelmoitu digitaalituloille RB0…RB3 ja RA2 seuraavan taulukon mukaiset funktiot:
Taulukko 2. COUNTER MODEn digitaalitulojen funktiot
COUNTER MODE |
||
Input signal |
FALSE (0 V) |
TRUE (+5 V) |
RA2 |
Sub Display Offset |
Add Display Offset |
RB0 |
- |
- |
RB1 |
Display Offset1 |
Display Offset2 |
RB2 |
Display Offset 1&2 |
Direct frequency |
RB3 |
Normal / Sub Display Offset |
10-divider *) |
*) RB3 tilassa TRUE voidaan desimaalipisteitä siirtää yksi dekadi oikealle. Tätä ominaisuutta tarvitaan, jos taajuuslaskurin eteen kytketään erillinen 10-jakaja mitattavan taajuusalueen laajentamiseksi VHF:lle.
Lisäsin ohjelmaan toisen erillisen toimintamoodin EEPROM MODE, johon päästään vain, jos painike S0 on 1-tilassa (+5V) ja sähköt kytketään PIC:iin. Sen jälkeen painikkeiden S0…S3 ja LCD-näytön avulla voidaan tarpeen mukaan muuttaa taajuuslaskurin käyttäjän asetuksia ja tallettaa ne parametreina EEPROM-muistiin, jossa ne säilyvät sähkökatkojen yli.
Taulukko 3. EEPROM MODEn digitaalitulojen funktiot
EEPROM MODE |
||
Input signal |
FALSE (0 V) |
TRUE (+5 V) |
S0 (RB0) |
- |
Increase address |
S1 (RB1) |
- |
Increase data value |
S2 (RB2) |
- |
Decrease data value |
S3 (RB3) |
- |
Save to EEPROM |
- toinen desimaalipiste lisätty 1 kHz:n ja 100 Hz:n dekadien väliin
- jos taajuus näytölle on alle 10 MHz, niin 10 MHz:n dekadin nollaa ei tulosteta (esim. 01.440.00
MHz näytetään 1.440.00 MHz)
- ylimääräisiä viiveitä lisätty LCD:n merkkien lähetysalgorimiin, jotta ohjelmisto toimisi myös
paremmin "ei standardit täyttävillä" LCD-näyttömoduleilla
- laskin toimii suorana taajuuslaskimena oletusarvoilla (katso EEPROM 06h)
- kun laskimeen kytketään ensi kertaa PIC-piirin ohjelmoinnin jälkeen sähköt päälle, talletetaan
oletusarvot automaattisesti EEPROM-muistiin. Tästä indikoi teksti "EE-INIT:00...0F" näytössä
9.4 EEPROM-parametrien funktiot
Seuraavassa taulukossa on listattu käyttäjän EEPROM-asetukset. EEPROM-osoite ja data näytetään ja asetetaan aina heksaluku-formaatissa (h). Sen vuoksi Display Offsettia laskettaessa on tehtävä lukumuunnos 10-järjestelmästä 16-järjestelmään. Kuulostaa hankalalta, mutta lukumuunnoksia tarvitsee tehdä vain Display Offsetteja laskettaessa ja laskinhan löytyy esim. kotitietokoneen apuohjelmat-valikosta. Asetukset ovat tyypillisesti kertaluonteisia.
Taulukko 4. EEPROM-muistipaikkojen 00h...0Fh funktiot:
Address |
Name |
Description |
Default |
00h |
Display Offset 1 Highbyte |
High Byte Display Offset1 9001.50 kHz = 0DBC36 |
0Dh |
01h |
Display Offset 1 Midbyte |
Mid Byte Display Offset1 |
BCh |
02h |
Display Offset 1 Lowbyte |
Low Byte Display Offset1 |
36h |
03h |
Display Offset 2 Highbyte |
High Byte Display Offset2 8998.50 kHz = 0DBB0A |
0Dh |
04h |
Display Offset 2 Midbyte |
Mid Byte Display Offset2 |
BBh |
05h |
Display Offset 2 Lowbyte |
Low Byte Display Offset2 |
0Ah |
06h |
Direct_frequency |
Suora taajuuslaskenta ilman sub or add funktioita = 00 Sub or add function activated = 01…FF |
00h |
07h |
EE_Fine1 |
Kalibrointiarvo 1 (1 == 3*4/fx = 3us) |
15h |
08h |
EE_Fine2 |
Kalibrointiarvo 2 (1 == 4*4/fx = 4us) |
01h |
09h |
1x16_Display |
LCD näyttötyyppi: 00 = 1x16 LCD, 01…FF = 2x20 LCD |
01h |
0Ah |
Digits |
Näytettävien numeroiden määrä: 00 = 7 numeroa, 01…FF = 6 numeroa |
01h |
0Bh |
not in use |
- |
FFh |
0Ch |
not in use |
- |
FFh |
0Dh |
not in use |
- |
FFh |
0Eh |
not in use |
- |
FFh |
0Fh |
EEPROM default values |
Jos > 0 niin default arvot ladataan seuraavassa sähköjen päällekytkennässä. |
00h |
9.4.1 Display Offset ja kytkin S4 (EEPROM 00h…05h)
Kytkimen S4 avulla voidaan RB1:llä valittu Display Offset 1 tai 2 lukuarvo summata mitattuun taajuuteen tai vähentää mitatusta taajuudesta. Vastaanottimen AM- ja FM-modella välitaajuuteen summataan VFO-taajuus tai välitaajuudesta vähennetään VFO-taajuus. SSB:llä ja CW:llä välitaajuuden asemesta käytetään BFO-taajuutta sillä olettamuksella, että BFO-taajuus on vakio ja tunnettu kyseisellä sivunauhalla.
9.4.2 Suora tai ohjelmoitava taajuuslaskenta (EEPROM 06h)
Laskin toimii suorana taajuuslaskimena oletusarvoilla eikä digitaalituloa RB2 ei tarvitse aktivoida. Haluttaessa ohjelmoitavaa moodia muutetaan parametri arvoon 01h.
9.4.3 Laskimen kalibrointi (EEPROM 07h, 08h)
Laskenta-aikaikkuna perustuu PIC-prosessorin käskyjen tunnettuun suoritusaikaan. Yksi kellojakso t[m s] = 4/ fxtal [MHz], kun fxtal on kidetaajuus. Prosessorin käskyt vievät yhdestä kahteen kellojaksoa käskytyypin mukaan. Näistä käskyistä on ohjelmoitu 100 ms:n viiveluuppi, jota voidaan hienosäätää suhteessa 1 m s / 100000 m s EEPROM-parametrien 07h ja 08h kombinaatioilla tai vaihtoehtoisesti vielä tarkemmin muuttamalla kidekytkennän toinen kondensaattori säädettäväksi. Jos laskimen näyttö on alle referenssitaajuuden , mittausaikaikkuna on liian lyhyt. Silloin hienosäätöviivettä on kasvatettava ohjelmistossa (SW) tai kiteen taajuutta laskettava trimmerikondensaattorin avulla. Kalibrointi voidaan tehdä esim. taajuusstandardiasemien mukaan tai mittalähettimen ja toisen kalibroidun laskimen kanssa.
Seuraavasta taulukosta voidaan valita kombinaatio parametreille 07h ja 08h, jotka ovat mukana laskenta-aikaikkunan luupissa:
Taulukko 5. Laskenta-aikaikkunan kalibrointiarvot
Laskenta-aikaikkunan hienosäätöviive / m s |
07h EE_fine1 1 yksikkö = = 3 m s |
08h EE_fine2 1 yksikkö = = 4 m s |
60 us |
02h |
09h |
61 us |
13h |
01h |
62 us |
12h |
02h |
63 us |
03h |
09h |
64 us |
14h |
01h |
65 us |
13h |
02h |
66 us |
12h |
03h |
67 us |
15h (default) |
01h (default) |
68 us |
14h |
02h |
69 us |
13h |
03h |
70 us |
16h |
01h |
71 us |
15h |
02h |
72 us |
14h |
03h |
73 us |
13h |
04h |
74 us |
16h |
02h |
HD44780 standardin mukaan 1 x 16 merkkinen LCD-näytön ohjauksessa rivinvaihto tehdään kahdeksannen merkin jälkeen, vaikkei itse näytössä olekaan toista riviä. 2 x 20 merkkisessä näytössä tällaista kummallisuutta ei ole. Näyttötyypin valinta:
00h = 1 x 16 LCD
01h = 2 x 20 LCD
9.4.5 Näytettävien numeroiden määrä (0Ah)
00h = 7 digittiä, esim. 14.250.51 MHz
01h = 6 digittiä, esim. 14.250.5 MHz
9.4.6 Oletusarvojen palautus (0Fh)
Alkuperäiset oletusarvot voidaan palauttaa tallettamalla muistipaikkaan 0Fh erisuuriarvo kuin nolla. Kun seuraavan kerran kytketään sähköt laskimeen, palautuvat oletusdata-arvot (default) EEPROM- muistipaikkoihin 00h…0Fh.
9.5 Käyttäjän asetusten muuttaminen
Kuva 10. PIC-taajuuslaskin EEPROM MODEssa, jossa laskimen käyttäjän asetuksia voidaan muuttaa. (Kuva EEPROM_MODE_view.jpg)
9.5.2 Parametrien arvojen muuttaminen
EEPROM-muistipaikkojen osoitteet ja funktiot on selostettu aiemmin (katso taulukko 3).
Esimerkki 1:
3.5 MHz / 14 MHz:n vastaanottimen BFO-taajuudeksi mitattiin LSB:llä 9001.49 kHz ja USB:llä 8998.5 kHz. Esimerkissä kytkimellä S4 Sub/Add Display Offset- funktiota voidaan käyttää vastaanottimissa, joissa molemmat sekoitustulokset käytetään hyväksi.
Taulukko 6, Display Offset esimerkki 1
Esim.1 SSB vastaanotin 9 MHz:n välitaajuudella. |
|||
BFO-taajuus |
9001.49 kHz = 0DBC3516 |
8998.5 kHz = 0DBC3516 |
|
Asetettu VFO-taajuus (esim.) |
5251.49 kHz |
5251.49 kHz |
|
Display Offset |
=BFO-taajuus LSB |
=BFO-taajuus USB |
|
Display Offset 1 HighByte |
0D16 |
||
Display Offset 1 MidByte |
BB16 |
||
Display Offset 1 LowByte |
0516 |
||
Display Offset 2 HighByte |
0D16 |
||
Display Offset 2 MidByte |
BB16 |
||
Display Offset 2 LowByte |
0A16 |
||
RB1 = Display Offset valinta |
FALSE (0 V) = Display Offset 1 |
TRUE (0 V) = Display Offset 2 |
|
S4 |
FALSE (0V) = Sub Display Offset |
TRUE (+5V) = Add Display Offset |
|
Näytön lukema: |
3.750.00 MHz |
14.249.99 MHz |
Esimerkki 2:
Laskin kytketään BC-vastaanottimeen, jonka välitaajuus on 455 kHz. Vastaanottimen VFO-taajuus on aina välitaajuuden verran ylempänä vastaanottotaajuutta.
Taulukko 7, Display Offset esimerkki 2
Esim.3 BC-vastaanotin 455 kHz:n välitaajuudella. |
||
Vastaanottimen välitaajuus |
455 kHz |
|
Asetettu VFO-taajuus (esim.) |
1885.00 MHz |
|
Display Offset |
= välitaajuus |
|
Display Offset 1 HighByte |
0016 |
|
Display Offset 1 MidByte |
B116 |
|
Display Offset 1 LowByte |
BC16 |
|
RB1 = Display Offset valinta |
FALSE (0 V) = Display Offset 1 |
|
S4 = +5 V, näytön lukema: |
1440.00 MHz |
Varoitus! PIC-piiri ja LCD-näyttömoduli saattavat vaurioitua staattisesta sähköstä! Käsittele niitä kuin CMOS-piirejä.
Piirilevyn kuparifoliovedot ovat aika yksinkertaisia, joten väritin kuparifoliokohdat Decon Dalo-tussikynällä ja seuraavaksi onkin vuorossa piirilevyn syövytys ferrikloridissa.
Kun piirilevy on syövytetty, porataan reiät komponenttien läpivienneille ja LCD-näyttömodulin kiinnittämiseen. Seuraavaksi juotetaan piirilevylle yhdistykset eristetyillä kytkentälangoilla (osasijoittelukuvassa viivat päätettyinä neliön muotoisella pisteellä):
Seuraavaksi juotetaan U2:n mikropiirikanta, painikkeet, vastukset lukuunottamatta R7…R10, kondensaattorit ja lopuksi XT1, D1, D2, U1 ja Q1. Muista C1:n oikea napaisuus! PIC-piiriä ei vielä asenneta kantaan.
Kuva 11. Komponenttien asennusohjeita. (component installation.eps)
Juota kaapeli mittaussisääntuloon (Frequency Input) ja johdot syöttöjännitteelle.
Käytin itse osasijoittelukuvasta poiketen osittain pintaliitoskomponentteja toisen protolaitteen rakentelussa.
Kun edellisen vaiheen komponentit ja yhdistyslangat on juotettu, testataan piirikortin elektroniikka ensin ilman LCD-näyttömodulia ja PIC-piiriä.
11.1 Mittaukset jännitteettömänä
11.2 Ensimittaukset jännite kytkettynä
12. Laskimen tuottamat häiriöt
Laskimen näytön ohjaus saattaa häiritä vastaanotinta, joten se on hyvä asentaa metallikoteloon. Myös 4 MHz:n kiteen perus- ja kerrannaistaajuudet voivat kuulua radiosta kyseisiä taajuuksia kuunneltaessa.
Ohjelmiston heksakoodi LCD4DIEC.HEX tarvitaan PIC-piirin ohjelmointiin. Piirilevyn kuva sekä lähdekoodi LCD4DIEC .ASM on myös saatavissa bittinikkareille OH2HOH:n sivuilta osoitteessa (http://personal.inet.fi/cool/qrp) tai OM3CPH:n kotisivuilta 3). Lähdekoodi perustuu OM3CPH sovellukseen ja sitä ei saa käyttää kaupallisiin tarkoituksiin. Harrastajille se on ilmainen. Peterin sanoilla sanoen: "This software is free for private usage. It was created for Ham Radio community members. Commercial exploatation is allowed only with permission of authors".
Tälle laskuriohjelmistolle en anna mitään takuuta toiminnasta. Rakentamani kaksi laskinta toimivat kuitenkin minua tyydyttävällä tavalla. Laskin on rakenteeltaan yksinkertainen ja edullinen 30 MHz:n perustaajuuslaskin, jonka rakennuskustannukset jäävät halvimmillaan alle 100 mk:n hintaan.
14. Jatkokehitysideoita ja puutteet
Yleisesti saatavilla oleva esijakajan (10-jakaja) kytkentä kolmanneksi piirikortiksi varustettuna suuri-impedanssisella tulopiirillä. Usein on myös tarve mitata UHF-taajuuksia ainakin 70 cm:n alueelle asti, jolloin kymmenjakajalla ei pelkästään selvitä.
VFO:n taajuuslukitus. Mitattu taajuus asetetaan taajuusohjeeksi. Ohjelmaan lisätään vähennyslaskutoimitus: taajuusohje - mitattu taajuus. Jos vähennyslaskun tulos on negatiivinen, ohjataan yksi PIC:n digitaalilähtö nollaan. Jos tulos on positiivinen, ohjataan em. lähtö +5 V:iin. Lähtö kytketään lataamaan tai purkamaan ulkoisen integraattorin kondensaattoria. Operaatiovahvistimella toteutetun integraattorin lähtö syöttää hitaalla aikavakiolla jännitettä kapasitanssidiodiin, joka on kytkettynä VFO:n oskillaattoripiiriin. Näin taajuus pyritään pitämään vakiona. Tämä on hiukan modifioitu ratkaisu Olavi Lehden OH2BBR artikkelista Elektroniikka lehden numerosta 16/1980: Digitaalinen oskillaattorin taajuusvakavointi. 12)
Puutteena on vielä CW-lähetyksessä erillisen TX-offsetin puuttuminen. Sen indikointiin voidaan käyttää kyllä esim. Display Offset 2:sta, jos se ei ole muussa käytössä.
Suuri-impedanssista mittaustulovahvistinta tarvitaan heikkoja signaaleja mitattaessa.
15. PIC-LCD-taajuuslaskimen osaluettelo
R1 220R ¼ W
R2 680R ¼ W
R3 10k ¼ W
R4 100R ¼ W
R5, R6 470 R ¼ W
R7,R8,R9,R10 1 k ¼ W
R11 3k3 ¼ W
R12 33 k…150 k ¼ W (47k käytetty transistorin 2N3904 kanssa)
R13 10k…22k trimmeripotentiometri vaaka-asennettava
C1 22 m F / 25 V tantaali
C2, C3, C7 100 nF keraaminen / 25 V
C4 22 nF keraaminen / 25 V
C5 22 pF keraaminen
C6 22 pF keraaminen tai 4…20 pF trimmerikondensaattori
D1, D2 1N4148
L1 10 m H miniatyyrikuristin (1/4 W:n vastuksen näköinen)
S0,S1,S2,S3 Painonappi piirilevylle, 1 x sulkeutuva, 6 x 6 mm
Q1 Transistori UHF-NPN tyyppi esim. 2N3904
XT1 4.000 MHz rinnakkaisresonanssikide
U1 LM317LZ jänniteregulaattori max. 100 mA (tai 78L05, katso modifiointiteksti)
U2 PIC 16F84-04/P + mikropiirikanta 18 nap. 3)
U3 LCD-näyttömoduli 1 x 16 merkkiä HD44780 yhteensopiva 3)
1 kpl Laskimen 1-puolinen piirilevy n. 80 mm x 40 mm
1) OM3CPH kotisivut: http://www.qsl.net/om3cph
2) Radioamatööri 12/81 Unto Kokkarinen OH3UK: Digitaalinen taajuusnäyttö Drake
R4B:hen s. 380, CQ-DL 6/80 s. 275-276
3) LCD Tietoa Probyte Oy: http://www.sci.fi/~pri/
4) "FREQ-Mite" taajuuslaskin. http://smallwonderlabs.com/
5) E & A 1/1982 Olavi Lehti: Esijakajalla ylempiin taajuksiin
6) E & A 14/1984 Olavi Lehti: Nyt rakennetaan Etuvahvistin taajuuslaskimeen
7) Heikki E. Heinonen OH3RU: Tiimissä hamssiksi, sivu 178
8) SRAL R.Y.: Radioamatööritekniikkaa, sivu 121.
9) JF1OZL kotisivuut: http://www.intio.or.jp/jf10zl/
10) http://www.microchip.com
11) Smallwonder Labs K1 CW transceiver http://www.elecraft.com
12) Elektroniikka 16/1980 s. 23-24, Olavi Lehti: Digitaalinen oskillaattorin taajuusvakavointi