Esipuhe Elektroniikka on tekniikan ala, jota sovelletaan nykyään lähes kaikkialla. Aluksi elektroniikka oli analogista ja sittemmin se täydentyi digitaalielektroniikalla. Tämä kirja kertoo digitaalielektroniikan perusteista alkaen yksinkertaisista porttipiireistä aina mikroprosessoreihin. Elektroniikan oppiminen edellyttää moninaisia tietoja ja taitoja niin käytännön kuin teorian alueilta. Elektroniikan rakentaminen esimerkiksi rakennussarjoista tai vastaavista ohjeista on vaativa mutta palkitseva oppimistapa. Myös oman virtuaalisen elektroniikkalaboratorion perustaminen on suositeltavaa. Internetissä onkin tarjolla useita kohtuuhintaisia, jopa ilmaisia, simulaatio-ohjelmia, jotka soveltuvat niin analogisen kuin digitaalielektroniikan tutkimiseen. Myös protopiirilevyjen suunnitteluun löytyy varsin kohtuuhintainen ohjelma. Piirilevyjen suunnitteluun on olemassa useita ohjelmia, joilla voidaan tulostaa fotolakatun piirilevyn valotuksessa tarvittava työfilmi ja/tai tallentaa ohjaustiedosto piirilevyn jyrsintää varten. Kirjan sivuilla ja netistä ladattavalla oheismateriaalilla on eräitä tuotoksia, kuten piirikaavioita, simulaatioita sekä jyrsimen ohjaustiedostoja, joiden teossa on käytetty mainittuja työkaluohjelmia. Ohjelmien nimet on esitetty asiayhteydessä. Kirjan sisältö koostuu opetustekstin lisäksi tehtävistä, esimerkeistä ja projekteista, sekä runsaasta kuvituksesta, joiden avulla opiskelijalla on entistä paremmat mahdollisuudet oppia digitaalielektroniikan keskeiset asiat. Kirjan tekstissä on suomenkielisten termien lisäksi usein myös englanninkielinen vastine ja/tai sen lyhenne. Tarkoituksena on auttaa lukijaa löytämään lisätietoja internetin avulla. Oman ammattialan vieraskielinen sanasto on arvokasta pääomaa. Monet kirjan piirikaaviokuvista voidaan avata myös tietokoneella niiden lähempää ja laajempaa tarkastelua varten. Tällöin on mahdollista testata kytkentää omassa virtuaalilaboratoriossa itselle parhaimmin sopivana aikana. Simulaatio-ohjelma ja kirjassa mainitut simulaatiotiedostot sekä muu sähköinen materiaali on ladattavissa: www.timohaiko.fi. Otamme kiitollisina vastaan palautetta, jotta voimme edelleen parantaa kirjan käytettävyyttä. Maaliskuussa 2012 Tekijät 3 s1-7.indd 3 20.4.2012 14.34
Sisällys Esipuhe...3 4 Kombinaatiopiirit...40 1 Digitaalitekniikka...8 Yleistä...8 Elektroniikan historiaa...8 Analogisen elektroniikan ja digitaali - elektroniikan välinen ero... 9 Siniaaltosignaalin ja suorakaideaalto - signaalin yhteys... 10 Käytännön digitaalisignaali... 11 Digitaalisista peruspiireistä sulautettuihin järjestelmiin... 12 Portit ja puskurit...40 NOT-puskuri...41 Puskuripiiri eli bufferi...45 Portit...48 AND-portti...49 Totuustaulun laatiminen loogiselle piirille...52 OR-portti...54 NAND-portti...56 NOR-portti...60 XOR-portti...63 XNOR-portti...65 Kytkentäalgebraa... 72 2 Digitaalitekniikan mittalaitteet ja työkalut...16 5 Sekvenssipiirit...76 3 Oskilloskooppi...16 Oskilloskoopin mittapää...21 Mittauksia oskilloskoopilla...22 Sähkölaitteiden luokitusjärjestelmät...25 IP-luokitus...25 CAT-merkintä...26 Komponenttien ladontakone...26 ESD-suojaus...28 ESD-varusteita...28 tehtäviä...30 Lukujärjestelmät...32 Kymmenjärjestelmä...32 Binäärijärjestemä...33 Heksadesimaalijärjestelmä...34 Lukujärjestelmien muunnokset...35 Koodeja...38 Kellopulssioskillaattorit...76 Käytännön kellopulssioskillaattori...76 Reaaliaikakellopiirit...78 Astabiili värähtelijä...79 Astabiilin värähtelijän toteuttaminen transistoreilla... 79 Astabiilin värähtelijän toteuttaminen NAND-porttipiirillä... 81 Astabiilin värähtelijän toteuttaminen inverttereillä... 82 Astabiilin värähtelijän toteuttaminen 555-ajastinpiirillä... 82 555-ajastinpiirin toiminnan havainnollistaminen... 84 Astabiili värähtelijä pulssinleveysmodulaattorina... 86 Kideoskillaattori...87 Ohjaimet...88 Ledien ohjaukset...88 Lediohjain 1...90 Lediohjain 2...91 4 s1-7.indd 4 20.4.2012 14.34
Lediohjain 3...93 7-segmenttien (ledi) ohjaukset...93 7-segmenttien (LCD) ohjaukset...102 Kiikut ja salvat...103 Transistoreilla toteutettu kiikku...104 Mikropiirillä toteutettu kiikku...105 RS-kiikku...107 Veräjöity RS-kiikku...108 D-kiikku...113 Veräjöity D-kiikku...114 D-salpa...115 Käytännön esimerkki latch-piiristä...115 JK-kiikku...116 T-kiikku...118 Pulssin jakaminen luvulla n...124 Jakaminen luvulla n...124 Monostabiili kiikku...127 LM555-ajastinpiiri monostabiilina kiikkuna...127 Peruspiirit monostabiilina kiikkuna...128 Ylös/alas-laskuri...128 Siirtorekisterit...130 SISO-rekisteri...130 SIPO-rekisteri...131 PISO-rekisteri...133 PIPO-rekisteri...134 DA- ja AD-muuntimet...135 DA-muunnin...135 AD-muunnin...137 Multiplekserit...138 Muistit...138 Schmitt-liipaisin...139 Komparaattori...141 tehtäviä... 143 6 7 8 Käytännön mikropiirit...144 Piiriperheet...144 TTL-piirit...144 CMOS-piirit...145 HCMOS-piirit...146 Piirien käyttöjännitteet...146 Käyttöjännitteet ja häiriöiden vaimennus...147 Komponenttien kotelointi...147 Lähdön kytkennät...147 Avokollektorilähtö...147 Toteemipaalukytkentä...148 Kolmitilalähtö...149 Puskurilähtö...149 Datalehdet...150 Digitaalikytkentöjen simulointi...152 Ohjelman rakenne...152 Analyysilajit...154 Simulaatiotiedoston käyttö...154 Simulaation kuvaajat...156 D(1)-digitaalisignaali kytkentäpisteestä numero yksi maatasoon...156 Stimulusgeneraattorit...160 1-bittinen stimulusgeneraattori...160 4-bittinen stimulusgeneraattori...163 8-bittinen stimulusgeneraattori...166 Tietokone komponenttina...168 Tietokoneen toimintaperiaate...168 IO-laitteet...169 Mikroprosessori...170 Arkkitehtuuri...174 Väylät...176 Muistit...178 Käyttömuisti...179 DIGITAALIelektroniikka 5 s1-7.indd 5 20.4.2012 14.34
Ohjelmamuisti...179 Datamuisti...179 Rekisterit...179 ALU...181 9 Ohjelmointi...181 Vuokaaviot ja sanalliset algoritmit...187 tehtäviä... 189 Mikro-ohjaimet...190 Yleistä...190 Mikro-ohjainten käyttökohteet...192 Mikro-ohjaimen rakenne ja toiminta...195 Mikro-ohjainten muistit...198 Ohjelmamuisti...198 Käyttömuisti...199 Datamuisti...199 Digitaaliset tulo- ja lähtöportit...200 JTAG, ohjelmointi- ja testiliityntä...202 Ajastimet...203 Komparaattori...206 AD-muunnin...207 PWM ja digitaalinen tehonsäätö...209 Sarjaportti...212 Sarjamuotoiset oheislaiteliitynnät...214 SPI...214 I2C...215 1-Wire...215 Sarjamuotoisten oheislaiteliityntöjen ominaisuuksia...216 AVR-mikro-ohjaimet...219 AVR-mikro-ohjainten luokittelu...220 AVR-piirien sisäinen toiminta...221 Kirjassa käytettyjä C-kielen ohjelmakäskyjä...235 6 s1-7.indd 6 20.4.2012 14.34
ylitys (värähtely) jälkivärähtely painuma 90 % amplitudi 50 % t w pulssin leveys 10 % jälkivärähtely koordinaattiakseli t r t f transienttisärö Digitaalisignaalin termejä nousuaika laskuaika Digitaalisista peruspiireistä sulautettuihin järjestelmiin Digitaalitekniikan komponentit ovat periaatteessa samoja kuin analogisen tekniikan komponentit. Ensimmäiset digitaaliset peruspiirit toteutettiin rakentamalla ne piirilevylle (aikaisemmin myös liitosrimoille tms.) yksittäisistä peruskomponenteista, kuten vastuksista, kondensaattoreista, diodeista ja transistoreista (aikaisemmin myös radioputkista). Silloisia peruspiirejä olivat muun muassa portit, puskurit ja kiikut. Näitä peruskytkentöjä sopivasti yhdistelemällä saattoi kookkaalle piirilevylle muodostua muutaman binääri- tai desimaalijakajan kokonaisuus, komponenttilevy. Usean komponenttilevyn avulla saatettiin muodostaa esimerkiksi digitaalikello, -ajastin tai -muisti. Yksinkertaisista elektronisista laitteista tuli kookkaita, painavia ja kalliita. Pian peruspiirejä sisältäviä kytkentöjä pakattiin tiheämmin sijoittamalla ne muovikoteloihin, jotka valettiin epoksiin. Näistä tulitikkurasian kokoisista moduuleista kyettiin kokoamaan yhdelle piirilevylle jo paljon mutkikkaampia kytkentöjä. 12 digitaalitekniikka DE Luku 1 JN.indd 12 20.4.2012 9.19
Mikropiirejä Mikropiirit mullistivat elektroniikan ja niihin alettiin pakata digitaalikytkentöjä. Yhdellä mikropiirillä oli aluksi jonkin digitaalisen peruspiirin ryhmä, esimerkiksi 4 porttia tai 6 invertteriä. Myös laskurit, rekisterit, ajastimet, muistit, kooderit ja muuntimet sekä niiden moninaiset sovellukset pystyttiin pakkaamaan tuohon hämmästyttävän pieneen mikropiiriin. Aikanaan mikropiiriin mahdutettiin tietokoneen keskeisin osa, mikroprosessori. Tätä kirjaa kirjoitettaessa digitaalielektroniikan kehitys on johtanut sulatettuihin järjestelmiin, joissa mikrokontrolleriin syötetään ohjelma, jonka avulla se toimii halutulla tavalla. Nyt yhdessä prosessorin tai mikro-ohjaimen mikropiirissä on niin suuri määrä erilaisia peruspiirejä ja -toimintoja sekä liityntälohkoja, että niiden luetteleminen tässä yhteydessä on mahdotonta. Useissa nykyajan sähkökäyttöisissä laitteissa, kuten televisioissa, mikroaaltouuneissa, astian- ja pyykinpesukoneissa sekä matkapuhelimissa, on mikro-ohjain. Vaikka komponenttien pakkaustiheydet ovat kehittyneet valtavasti, erilaiset kytkennät on voitu integroida toimiviksi kokonaisuuksiksi ja ohjelmoinnilla on pystytty laatimaan laitteen toimintatapa, peruskytkentöjen toiminnan ymmärtäminen ei ole käynyt tarpeettomaksi. Digitaalitekniikka kehittyy edelleen, mutta se ei koskaan syrjäytä analogista tekniikkaa, sillä molempia tarvitaan niin nykyisin kuin tulevaisuudessa. Sanastoa mikropiiri mikroprosessori mikro-ohjain sulautettu järjestelmä integrated circuit, IC microprocessor microcontroller embedded system DigitaaliELEKTRONIIKKA 13 DE Luku 1 JN.indd 13 20.4.2012 9.19
mittapään kärki, jonka päässä on koukku mittajohto, jonka mittapäässä on terävä piikki ja toisessa päässä BNC-liitin mittapään runkoon kiinnitettävä maadoitusjohdin, jonka päässä on hauenleukaliitin Oskilloskoopin mittapää varusteineen #Compensation.cir mittapään kärjen suojuksia lyhyt maadoitusjousi, joka kiinnitetään mittapään kärkiosaan kompensaation säätöruuvi Kompensaation säädöllä tarkoitetaan mittapään ja oskilloskoopin keskinäisten impedanssien sovittamista optimaaliseksi, jotta mitattava signaali ei vääristyisi mittajohdossa. Säätö tehdään oskilloskoopin testigeneraattorin ja mittapäässä sijaitsevan ruuviväänninsäätöisen säätökondensaattorin avulla. Ruuvia säädetään, kunnes suorakaideaallon kulmat ovat suorakulmaiset. Mittauksia oskilloskoopilla Ennen varsinaista mittauksen suorittamista on varmistettava, että oskilloskoopin ja mahdollisen signaaligeneraattorin asetukset on tehty oikein. Digitaalioskilloskooppi on helppokäyttöisempi kuin analoginen oskilloskooppi, mutta sen käyttäjän on silti hallittava muun muassa sellaiset käsitteet kuin tahdistustaso ja -lähde, AC/DC/GND-tulokytkin, mittapään kompensointi ja kalibrointi. A-kanavassa oleva signaali ei tahdistu. B-kanava on säädetty nollatason kuvaajaksi. oskilloskoopin tahdistustaso on signaalin amplitudin ulkopuolella Signaalin kuvaaja vierii vaakasuunnassa, jolloin käyttäjä havaitsee sen useampana erillisenä kuvaajana. Syynä voi olla liian suuri tahdistustaso, kuten kuvassa, tai väärän tahdistuslähteen, kuten B-kanavan, valitseminen. 22 DIGITAALITEKNIIKAN MITTALAITTEET JA TYÖKALUT DE Luku 2 JN.indd 22 20.4.2012 14.03
Tahdistuneen signaalin aaltomuoto oskilloskoopin tahdistustaso A-kanava B-kanava oskilloskoopin tulokytkin DCasennossa Signaalin kuvaaja näkyy normaalisti, ja nollatasoksi määritelty B-kanava auttaa nollatason ilmaisussa. Oikein kompensoidun mittapään signaalin aaltomuoto suorat kulmat Ennen mittausta on aina tarkistettava oskilloskoopin mittapään kompensointi. Kompensoinnin eli mittapään impedanssin sovittamisen jälkeen oskilloskooppi kykenee toistamaan signaalin oikean muodon. Kompensoimattoman mittapään signaalin aaltomuoto pyöristyneet kulmat Jos testisignaalin (lähin testigeneraattori on yleensä oskilloskoopissa) kuva on viereisen kuvan tai sitä seuraavan kuvan muotoinen, mittajohdin on kompensoitava. DIGITAALIELEKTROniikka 23 DE Luku 2 JN.indd 23 20.4.2012 14.03
Ylikompensoidun mittapään signaalin aaltomuoto sahanterämäiset kulmat Kompensointi tehdään ruuvivääntimellä. Säädettävä ruuvi (trimmerikondensaattori) on mittajohtimen päässä. Ruuvia käännetään, kunnes signaalin muoto vastaa suorakaidetta. Säädöllä ei ole mekaanisia rajoja, sillä se pyörii n 360. Ongelmia digitaalisignaalin tuottamisessa ja/tai mittaamisessa Ongelma on signaalin tuottamisessa (väärä off-set-taso funktiogeneraattorissa), oskilloskoopin tulokytkimen väärässä asennossa (on AC, vaikka pitäisi olla DC) tai siinä, ettei oskilloskoopin A-kanavan y-tason säätöä ole kalibroitu. Digitaalisignaali Oikein säädetty oskilloskooppi osoittaa tässä digitaalisignaalin 0-tasoksi noin 0 V ja 1-tasoksi noin 8 V. 24 DIGITAALITEKNIIKAN MITTALAITTEET JA TYÖKALUT DE Luku 2 JN.indd 24 20.4.2012 14.03
Logiikkapiiriperheillä tarkoitetaan eri aikakausina kehitettyjä mikropiirejä. Niiden peruspiirien toiminnat eivät ole muuttuneet, mutta liitinnastajärjestyksissä ja käyttöjännitteiden suuruuksissa on eroja. Käytännön OR-portit ovat mikropiirejä, joten komponentin kotelotyypin mukaan niissä voi olla useitakin portteja. Porttien tulot ja lähdöt ilmenevät kuvan piirrosmerkeistä ja mikropiirin jännitesyöttö V CC - (+) ja GND- ( ) -merkinnöistä. Eri logiikkapiiriperheiden (tässä 74HC- ja 4000-sarja) toiminnaltaan identtisten komponenttien kantakytkennät saattavat erota toisistaan. Myös niiden käyttöjännitteiden arvoissa on eroja. 74HC-sarjan käyttöjännite V CC on 2,0 V 6,0 V (tyypillinen 5,0 V) ja (HEF)4000-sarjan 4,5 V 15,5 V. V CC V CC GND GND Käytännön OR-piiri ja sen kantakytkennät 74HC32 (vas.) ja HEF4071 (oik.) Tällaista piiriä kutsutaan kaksituloiseksi nelikko-or-portiksi, (engl. quad(ruple) 2-input OR gate). Komponentin kotelotyyppi on DIL14. Sanastoa binääridekadikantakytkentä binary, BIN decade, DEC pinouts Käytännön sovelluksia OR-portin käytöstä: Henkilöauton ovikytkimet (2 tai 4 kytkintä) sytyttävät auton sisävalon. Linja-auton Pysäytä-painikkeet sytyttävät Pysähtyy-kilven valon tai tekstin. Pihalla tai puutarhassa olevat liiketunnistimet sytyttävät valaistuksen. & & NAND-portin piirrosmerkkejä: eurooppalainen IEC (ylh.), ANSI/IEEE (kesk.) ja amerikkalainen ANSI (alh.) NAND-portti NAND-portin (suom. EI-JA-portti) lähtö on alhaalla (jännitteetön, nolla, epätosi) silloin, kun sen kaikki tulot ovat ylhäällä. Kun NAND-portin yksikin tulo on alhaalla (jännitteetön, nolla, epätosi), sen lähtökin on alhaalla. NAND-portissa on vähimmillään kaksi tuloa ja normaalisti yksi lähtö. Yhdessä mikropiirissä saattaa olla neljä kaksituloista NAND-porttia, jolloin sen kolmesta portista voidaan helposti muodostaa 3-tuloinen NAND-portti. Nelituloiseen NANDporttiin tarvitaan viisi kaksituloista NAND-porttia eli kaksi 56 kombinaatiopiirit DE Luku 4 JN.indd 56 20.4.2012 12.18
kaksituloista nelikko-nand-mikropiiriä. Nelituloisia NANDportteja on saatavissa myös valmiina. A A B C X B C X D A B C D X Kolmi- ja nelituloisen NAND-portin muodostaminen Nelituloinen NAND-portti Ajoituskaavion kuvasta ilmenee, että NAND-portin lähdön X tila on alhaalla (nolla) vain silloin, kun molemmat (kaikki) tulot (A ja B) ovat ylhäällä. A A X B Tulot A Lähtö X B B 0 0 1 0 1 1 1 0 1 X 1 1 0 Totuustaulusta ilmenee, että NAND-portin lähdön X tila on alhaalla (0) aina silloin, kun kaikki tulot (A tai B) ovat ylhäällä (1). NAND-portin ajoituskaavio ja totuustaulu NAND-portin tilavaihtoehdot Boolen lause NAND-piirille: X = A B (luetaan X on A ja B invertoituna ) DigitaaliELEKTRONIIKKA 57 DE Luku 4 JN.indd 57 20.4.2012 12.18
Projekti 2 Porttipiirien testauslaite 4000-sarjan piireille Rakennetaan logiikkapiirien testauslaite kaksituloisille nelikkoporttipiireille. Tällä yksinkertaisella testerillä voidaan lukea suoraan 4000-piiriperheen porttipiirien totuustaulu, jonka avulla voidaan päätellä piirin looginen funktio (AND, NAND, OR, NOR, EXOR tai EXNOR). Testerillä ei voida tutkia 74HC-piiriperheen vastaavia logiikkapiirejä, koska niiden kantakytkentä on erilainen (vertaa projektien 1 ja 2 piirikaaviokuvia). Myös 74HC-sarjan käyttöjännitealue on rajallisempi. Kun testerin tulokytkimet (SW1 SW8) on asetettu siten, että SW1 ja SW2 muodostavat binääriluvun 00, SW3 ja SW4 binääriluvun 01, SW5 ja SW6 binääriluvun 10 ja SW7 ja SW8 binääriluvun 11, voidaan piirin totuustaulu lukea suoraan testerin ledien avulla (pimeä ledi = 0 ja loistava ledi = 1). SW1 SW8 Logiikkatesteri 4000-sarjan kaksituloisille nelikkopiireille Testerin osasijoittelukuva on samanlainen kuin projektissa 1, mutta sen kytkentä (levyn alla oleva johdotus) on erilainen. Tarkemmat erot ilmenevät testereiden piirikaaviokuvista. Tämän vuoksi on tärkeää, että testereihin laitetaan tekstitetyt teipit, joista ilmenee, mille piireille ne soveltuvat ja mitkä ovat niiden käyttöjännitteet tai käyttöjännitealueet. Piirikaaviokuvassa merkkivaloledi on suojattu estosuuntaiselta jännitteeltä diodilla D14. Toinen tapa suojata kaikkia le- 70 kombinaatiopiirit DE Luku 4 JN.indd 70 20.4.2012 12.18
dejä olisi kytkeä diodi (esimerkiksi 1N4007) päästösuuntaisesti jännitteen plus-tuloon. Ares-Isis-ohjelma 4000-sarjan logiikkatesterin piirikaavio, jossa tutkittavana komponenttina on 4011-piiri Osa- ja tarvikeluettelo: pala koekytkentälevyä, jossa johtimet vaakasuunnassa: leveys (1,7 ) noin 43,5 mm, korkeus (2,1 ) noin 53,5 mm yksinapaisia liittimiä (pinnejä), 2 kpl DIL-kytkin, 8-napainen mikropiirikanta, DIL14 vastuksia, R1 R8, 4,3 kω, 0,25 W, 8 kpl vastuksia, R9 R13, 1,0 kω, 0,25 W, 5 kpl diodi, D14, 1N4148, 1 kpl ledi, D1 D12, Ø 3,0 mm, punainen ledi, D13, Ø 3,0 mm, vihreä muovieristeistä kytkentälankaa tekstitetyt teipit, 3 kpl 4000-sarjan mikropiirejä (quad 2-input gates, DIL14) Työvaiheet ohjeineen ja varoitus väärän työmenetelmän aiheuttamasta vaarasta on esitetty projektissa 1. DigitaaliELEKTRONIIKKA 71 DE Luku 4 JN.indd 71 20.4.2012 12.18
Reaaliaikakellopiirit Reaaliaikakellopiiri PCF8563T Reaaliaikakellopiirejä käytetään muun muassa matkapuhelimissa, mittalaitteissa ja mikro-ohjainpohjaisissa laitteissa. Usein reaaliaikakellon on oltava tehonkulutukseltaan vähäinen, kooltaan pieni ja toimittava vaihtelevissa lämpötiloissa. Toiminnaltaan sen on oltava monipuolinen. Sanastoa kide oskillaattori clock out oscillator input oscillator output interrupt output crystal, XTAL oscillator, OSC CLKOUT OSCI OSCO INT Reaaliaikakellon toimintaan kuuluvat ajan hallinta: sekunnit, minuutit, tunnit, vuorokaudet, viikonpäivät, kuukaudet ja vuodet hälytystoiminnot: minuutti-, tunti-, päivä-, viikonpäivä-, kuukausi- ja vuosihälytykset. Toimiakseen reaaliaikakellopiirit tarvitsevat värähtelykiteen, esimerkiksi 32,768 khz (2 15 Hz). Käyttöjännite voi olla 1,8-5,5 V ja virrankulutus vain 0,25 ma @ V DD = 3 V ja T amb = 25 C. ground positive supply voltage serial clock input serial clock input and output power-on reset override ympäristö keskeytys toiminnan esto liitinjärjestys V SS V DD SCL SDA POR ambient, amb interrupt override pin configuration OSCI OSCO INT V SS V DD SCL SDA 1 2 3 4 8 6 5 Oscillator 32.768 khz Voltage detector Oscillator monitor I 2 C-BUS interface POR Divider Control logic Address register CLKOUT 7 1 Hz Control/Status 1 Control/Status 2 Seconds/VL Minutes Hours Days Weekdays Months/Century Years Minute alarm Hour alarm Day alarm Weekday alarm CLKOUT control Timer control Timer 0 1 2 3 4 5 6 7 8 9 A B C D E F Reaaliaikakellopiirin lohkokaavio 78 Sekvenssipiirit DE Luku 5.indd 78 20.4.2012 14.46
Sanastoa jännitettä pienentävä jännitettä suurentava himmennin step down, buck step up, boost dimmer Ledilampun kytkeminen jännitelähteeseen tehdään usein erityisen ohjauspiirin, mikropiirin, avulla. Suureen hyötysuhteeseen (jopa yli 90 %) yltävä kytkentä perustuu hakkuritoimintaan (esim. 500 khz - 1 MHz kytkentätaajuus). Kyseessä voi olla jännitettä pienentävä tai sitä suurentava kytkentä. Himmennyksen toteuttamiseen käytetään pulssinleveysmodulaatiota, PWM:ää. Tällöin ledilamppuun menevää jännitettä säädetään muuttamalla suorakaideaaltomuotoisen jännitteen pulssisuhdetta (ylhäälläoloajan suhdetta alhaallaoloaikaan). Seuraavassa esitellään muutamia valaisinledien ohjainpiirejä. Kyseisen mikropiirin lisäksi tarvitaan vain muutamia komponentteja, kuten kela, nopeatoiminen diodi sekä kondensaattoreita ja vastuksia. Ledin ohjain, CAT4240 TSOT-23-kotelossa Jännitettä suurentavan hakkuriteholähteen periaatepiirros Lediohjain 1 Lediohjaimen CAT4240 ominaisuuksia: toimintatapa: jännitettä suurentava hakkuri tulojännitealue: 8 V - 16 V (ledeille) tulojännite: 5 V (ohjainpiirille) lähtöjännitealue: 38 V kuormitusvirta: 31,5 ma hyötysuhde: 94 % himmennintoiminto kytkettävissä, PWM 100 Hz - 2 khz hakkurin kytkentätaajuus: 1 MHz Sähköenergia varautuu kelaan Shottky-diodi V L 8V to 16 V C1 L1 47 µh 4.7 µf/16 V D1 C2 VOUT 1 µf/50 V Sähköenergia purkautuu kelasta Jännitettä suurentavan hakkuriteholähteen toimintaperiaate VIN 5 V C3 1 µf VIN CAT4240 SHDN GDN SW FB (300 mv) R2 1 kω R1 1 Ω 300 ma CAT4240-lediohjaimen piirikaavio ON/OFF-kytkintoiminto ledien virtarajoitus: 300 ma @ 1 Ω 20 ma @ 15 Ω 90 Sekvenssipiirit DE Luku 5.indd 90 20.4.2012 14.46
kela, L kytkintransistori, SW diodi, D V IN C1 SW D1 VOUT 1MHz Over Voltage Ref Oscillator Protection 300 mv LED Driver Current + + PWM & Logic C2 V IN SHDN Thermal Shutdown & UVLO Current Sense + R s FB GND kuormitusvastus, RL R1 CAT4240-lediohjaimen lohkokaavio katkoviivoitetulla alueella Lisätietoja saa piirin valmistajan datalehdeltä internetistä. Ohjaimen lohkokaaviokuvassa esitetään piirin sisäisen kytkennän toiminta. Sanastoa ledin ohjain virtavahti led driver current sense Lediohjain 2 Lediohjaimen CAT4201 ominaisuuksia: toimintatapa: jännitettä pienentävä hakkuri tulojännitealue: 6,5-36 V lähtöjännitealue: 32 V kuormitusvirta: 350 ma hyötysuhde: 94 % himmennintoiminto kytkettävissä, PWM 100 Hz - 2 khz hakkurin kytkentätaajuus: 1 MHz ylijännitesuojaus alijännitesuojaus vertailu, referenssi reference, Ref lämpösuojaus kytkin over voltage protection undervoltage lockout, UVLO thermal shutdown switch, SW Seuraavalla sivulla oleva sovelluskytkentä syöttää kuutta sarjaan kytkettyä lediä mutta niiden lukumäärä voisi olla pienempikin, jopa vain yksi, sillä ledeille syötetään vakiovirtaa. DIGITAALIELEKTROniikka 91 DE Luku 5.indd 91 20.4.2012 14.46
VBAT R3 Shottky-diodi 36V 2 Ω C1 4.7 µf R1 10 kω VBAT CAT4240 RSET CTRL GDN SW D1 C2 2.2 µf L 47 µh 300 ma Eräs CAT4201-piirin sovelluskytkentä sekä käytännön piiri R2 1 kω Yksinkertaistettu malli Virtarajoitus asetetaan vastuksen R1 avulla. Kuvan mukainen resistanssiarvo (10 kw) vastaa 300 ma:n virtarajoitusta ja 33 kw rajoittaa virran 100 ma:ksi. Kytkemällä kolme yllä olevaa kytkentää rinnakkain voidaan tarvittaessa ohjata yhtä 1 A:n lediä. Lisätietoja piirin toiminnasta ja mitoituksista saa valmistajan datalehdeltä internetistä esimerkiksi hakusanalla CAT4201 data. Ledivalaisimia ei aina ole helppo tunnistaa pelkän komponenttilevyn perusteella. Kuvassa on yllä esitetyn piirikaavion mukainen ledivalaisimen koekytkentä. Sen piirilevy on valmistettu jyrsimällä. Piirikaaviokuvasta poiketen siinä on vain yksi 1 A:n ledi. Sen jännitelähteenä on käytetty 9 V:n paristoa. Saavutettu valoteho on ollut hyvin voimakas, joten silmien suojaus on syytä muistaa. Sähköenergia varautuu kelaan Sähköenergia purkautuu kelasta Jännitettä pienentävän hakkuriteholähteen toimintaperiaate Kuvassa on edellä olevan piirikaavion mukainen protokytkentä, jossa kuuden ledin ryhmä on korvattu yhdellä teholedillä. 92 Sekvenssipiirit DE Luku 5.indd 92 20.4.2012 14.46
Siirtorekisterit Sanastoa kello tieto rekisteri, muisti siirtorekisteri sarjayleiskäyttöinen clock, CLK, C data, D register shift register serie, SER universal Siirtorekisteri on piiri tai kytkentä, joka koostuu kiikuista. Yhdellä kiikulla voidaan toteuttaa 1-bittinen rekisteri, neljällä 4-bittinen, kahdeksalla 8-bittinen jne. Siirtorekisteriä käytetään muuntamaan rinnakkaismuotoinen data sarjamuotoon tai sarjamuotoinen rinnakkaismuotoiseksi. Rinnakkaissiirto: nopea paljon johtimia yksinkertainen logiikka kalliimpi Lyhenteitä serial in serial out, parallel in parallel out SI SO PI PO Sarjasiirto: hidas vähän johtimia mutkikas logiikka halvempi Siirtorekisterit luokitellaan datan vastaanoton ja lähetysmuodon mukaan neljään eri ryhmään: SISO, SIPO, PISO ja PIPO. Siirtorekistereiden perusmuodot SISO SIPO PISO PIPO SISO-rekisteri SISO-rekisterissä tehdään datan sarjasiirto. SISO-rekisteri pystyy säilömään dataa bittimääränsä verran. Kooltaan rekisterit ovat usein 1-, 4-, 8- tai 16-bittisiä. Datakiikusta muodostettu 1-bittinen SISO-rekisteri sarjatulo SI CLK SRGn 1D C1/ SO sarjalähtö 4-bittinen rekisteri voidaan muodostaa neljästä datakiikusta kytkemällä kiikun lähtö seuraavan kiikun D-tuloon. 130 Sekvenssipiirit DE Luku 5.indd 130 20.4.2012 14.47
sarjatulo sarjalähtö kellopulssioskilaattori.define_1mhzclk +0ns 0 +label=start +500ns 1 +1u 0 +1.5us goto start -1 times Datakiikusta muodostettu 4-bittinen siso-rekisteri #Shift_register.cir Simulaatio-ohjelman kellopulssioskillaattori (ohjelma) Ajoituskaavion mukaan kellopulssin nouseva reuna ja datatulon 1-tila kääntävät ensimmäisen kiikun QA-lähdön ykköseksi. Seuraavan kellopulssin nouseva reuna kääntää ensimmäisen kiikun QA-lähdön takaisin nollaksi ja samalla toisen kiikun QB-lähtö kääntyy ykköseksi. Tällä tavoin data siirtyy (merkitty nuolilla) kiikulta toiselle, QA:lta QB:lle, QC:lle ja QD:lle. Kellopulssin jatkuessa kaikki kiikut nollautuvat. Datakiikusta muodostetun 4-bittisen rekisterin ajoituskaavio #Shift_register.cir SIPO-rekisteri SIPO-rekisterissä tehdään datan sarja/rinnakkaismuunnos. SIPO-rekisteri pystyy säilömään dataa bittimääränsä verran. Kooltaan rekisterit ovat usein 4-, 8- tai 16-bittisiä. DIGITAALIELEKTROniikka 131 DE Luku 5.indd 131 20.4.2012 14.47
CLR CLK SRGn R C1/ sarjatulo SI 1D PO0 rinnakkaislähtö PO1 PO2 4-bittinen SIPO-rekisteri PO3 (SO) (sarjalähtö) Sanastoa nollaus Mrbar master reset, MR MR 74ACT164 on kaupallinen piiri, jonka toimintaa tutkitaan simulaation avulla. Tutustu myös piirin datalehden avulla sen sisäiseen kytkentään, jolloin havaitset muun muassa, että piiri koostuu kahdeksasta datakiikusta. 8-bittinen SIPO-rekisteri sarjatulo rinnakkaislähtö #SIPO.cir SIPO-rekisterin ajoituskaaviosta ilmenee, että kellopulssin nouseva reuna siirtää sarjatulossa A olevan datan, 01010001, rinnakkaistuloon Q0, josta se siirtyy tuloihin Q1-Q7. serial in, SI 0 1 0 1 0 0 0 1 1 0 0 0 1 0 1 8-bittisen SIPO-rekisterin ajoituskaavio 0 #SIPO.cir parallel out, PO 132 Sekvenssipiirit DE Luku 5.indd 132 20.4.2012 14.47
4-bittinen stimulusgeneraattori Seuraavista stimulusgeneraattoreista käytetään nimityksiä Count4, TenCount, Countdown ja Repeat, koska ne ovat ohjelman 4-bittisen stimulusgeneraattorin keskusteluikkunassa valmiiksi valittavissa mainituilla nimillä. Count4-generaattorin 4-bittinen laskin laskee ylöspäin (0-15) ja aloittaa sen jälkeen uuden laskennan nollasta. 4-bittisen Count4-generaattorin piirrosmerkki, nimi (Count4) ja ohjelmarivit #Stimulus_2.cir Ohjelmarivillä +100ns ohjelma kasvattaa (inkrementoi) 4-bittisen binääriluvun arvoa yhdellä, 0001 BIN. Muutoin ohjelman rakenne on sama kuin 1-bittisissä kellopulssi- tai pulssijonogeneraattoreissa..define Count4 +0ns 0 +label=start +100ns incr by 1 +200ns goto start 1 times Ajoituskaaviosta käy ilmi, että generaattorin signaaleja on neljä ja ohjelman edellisestä 4-bittisestä binäärisignaalista muodostama desimaalimuotoinen signaali on viides. Ylimmän kuvaajan painoarvo on 1 (2 0 ), toisen 2 (2 1 ), kolmannen 4 (2 2 ) ja alimman 8 (2 3 ). Sanastoa heksadesimaali desimaali binääri suurempi kuin suurempi tai yhtäsuuri kuin pienempi kuin pienempi tai yhtäsuuri kuin hexa decimal, hex decimal, dec binary, bin greater than, GT greater than or equal, GE less than, LT less than or equal, LE generaattorin signaalit 1 µs 2 µs signaaliryhmän arvo desimaalilukuna 4-bittisen generaattorin signaalit ja signaaliryhmän arvo desimaalilukuna (dec) #Stimulus_2.cir DigitaaliELEKTRONIIKKA 163 DE Luku 7 JN.indd 163 20.4.2012 14.23
8 Tietokone komponenttina Tietokone on nimensä mukaisesti tietoa käsittelevä digitaalielektroniikalla toteutettu järjestelmä. Tietokoneen aivoina toimii mikroprosessori, jonka toimintaa ohjataan käskyillä. Itse käsiteltävä tieto pitää olla koodattuna binäärijärjestelmän biteillä. Myös tietokoneen ohjelmointi on koodattuna samalla tavalla. Tietokoneen toimintaperiaate Kaksi erilaista tietokonetta ja mikropiiriin integroitu tietokone o h j e l m a Tietokoneen toimintaperiaate data prosessori data 168 TIETOKONE KOMPONENTTINA DE Luku 8 JN.indd 168 20.4.2012 14.27
Tietokone tarvitsee toimiakseen mikroprosessorin lisäksi muistia, johon voidaan tallentaa suoritettava ohjelma ja prosessoitava tieto eli data. Lisäksi järjestelmä tarvitsee keinon kommunikoida ympäristönsä kanssa. Tätä osaa elektroniikasta kutsutaan IO-laitteiksi. Järjestelmän osat kytketään toisiinsa tietoliikenneväylien avulla. Tietokoneen sisäisiä väyliä ovat ohjausväylä, osoiteväylä ja dataväylä. Tietokone tarvitsee tietenkinmyös teholähteen ja koko järjestelmää tahdistavan kellon eli oskillaattorin. Sanastoa tietokone tulo lähtö IO computer input, I output, O input/output Nollaus Keskeytys Rekisterit ALU Osoiteväylä Ohjausväylä I/Oliitännät Ohjelmamuisti Käyttömuisti Liitäntäpiirit Oskillaattori Mikroprosessori Tulot Tietoväylä Lähdöt Tietokonejärjestelmän osat väylineen IO-laitteet IO-laitteet, joista ehkä yleisin on IO-portti, mahdollistavat tietokoneen ja ympäristön välisen vuorovaikutuksen. Tietokoneissa, niin suurissa kuin pienissäkin, on tavallisesti jonkin verran sisäänräkennettuja IO-laitteita, kuten portteja ja erilaisia väyläliityntöjä. Tämän lisäksi tietokoneisiin voidaan liittä ulkoisia IO-laitteita, mikä tapahtuu useimmiten väyläliitynnän avulla. Ulkoisia IO-laitteita ovat muun muassa erilaiset näytöt, joita löytyy niin suurista kuin pienistäkin tietokoneista, ja reaaliaikakellopiirit, joista yksi esimerkki on esitetty seuraavassa kuvassa. Kuvan kytkennässä reaaliaikakellopiiri on liitetty pieneen tietokoneeseen (mikro-ohjaimeen) I2C-nimisen sarjamuotoisen väyläliitynnän avulla. Kellopiiri mittaa-ajan kulkua ja sisältää rekisterirakenteen, jonka avulla kytkennän mikro-ohjain voi lukea kullakin hetkellä vallitsevan aikatiedon. Luettuaan aikatiedon, mikro-ohjain muuntaa sen näyttöelementeille soveltuvaan muotoon. Tämän jälkeen mikro-ohjain ohjaa IOporttiensa avulla näyttöelementit näyttämään käsiteltyä aikatietoa. Lisäksi myös kuvan vasemmassa yläkulmassa näkyvät painonapit kytkeytyvät mikro-ohjaimen IO-portteihin. Näin käyttäjä voi painonappien avulla vaikuttaa reaaliaikaisesti mikro-ohjaimen, ja siten koko laitteen, toimintaan. DIGITAALIELEKTROniikka 169 DE Luku 8 JN.indd 169 20.4.2012 14.27
Sanastoa väylä näyttö tietokone bus display computer IO-portit ja reaaliaikakello ovat digitaalisia IO-laitteita, eli ne käsittelevät ja niillä käsitellään signaaleja joilla on käytännössä vain kaksi hyväksyttävää arvoa, tosi ja epätosi. Tämän lisäksi on olemassa myös analogisia IO-laitteita, joilla tietokone voi esimerkiksi tulkita ja tuottaa ääsisignaaleja. Kun puhutaan PC:n kaltaisista isoista tietokoneista, tällaiseksi IO-laitteeksi lukeutuu muun muassa äänikortti. Pienemmissä tietokoneissa, kuten mikro-ohjaimissa, tällaisia laitteita ovat vastaavasti ADja DA-muuntimet. IO-laitteiksi kutsutaan siis kaikkia niitä laitteita, joiden avulla tietokone voidaan liittää muihin järjestelmiin. Kaikissa tietokoneissa on jonkin verran sisäisiä IO-laitteita ja niitä voidaan lisätä kulloisenkin tarpeen mukaan ulkoisten väyläliityntöjen avulla. Mikro-ohjainten IO-laitteita (toimilaitteita) käsitellään vielä tarkemmin luvussa 9, missä on esitetty myös joitain esimerkkejä yleisistä mikro-ohjainten toimilaitteista. PIC Real Time Clock DS1307 Analogue Keys ICSP Multiplexed 7seg Display Real Time Clock Mikro-ohjaimeen liitetty reaaliaikakellopiiri Mikroprosessori Mikroprosessorin keskeinen toiminta voidaan pelkistää hyvin yksinkertaiseen malliin. Esimerkkiprosessorimme on 4-bittinen kytkimillä ohjelmoitava rautalankamalli, jossa prosessoinnin tulokset esitetään neljällä merkkilampulla. Keskeisin osa prosessoria on suoritinyksikkö, joka tekee varsinaisen työn. Suoritin itsessään on joukko logiikkaportteja, jotka käsittelevät akkurekisterin sisältöä käskyrekisterin sisältämän bittikuvion mukaisesti. Koska prosessori on 4-bittinen, erilaisia käskyjä voisi periaatteessa olla enintään 2 4 =16 kappaletta. Prosessorin suppea käskykanta esitetään seuraavassa taulukossa. 170 TIETOKONE KOMPONENTTINA DE Luku 8 JN.indd 170 20.4.2012 14.27
musiikkisoitin pysäköintiavustin vakionopeudensäädin moottorin ohjausjärjestelmä luistonesto Muutama esimerkki mikro-ohjainten käyttökohteista ajoneuvoissa Monissa sovelluksissa mikro-ohjaimen ohjelman jumiutuminen tai jonkin komponentin pettäminen ei aiheuta mitään merkittäviä toimenpiteitä. Epäkuntoon mennyt laite korkeintaan vaihdetaan uuteen. Ajoneuvoissa tilanne on kuitenkin toinen, koska niissä mikro-ohjaimia käytetään hallitsemaan raskasta ja nopeasti liikkuvaa ajoneuvoa. Turvallisuuskysymykset tuovat tällöin omat lisävaatimuksensa, jotka koskevat sekä itse mikro-ohjaimia että niiden ohjelmointia. Ajoneuvoissa käytetäänkin usein komponentteja, joiden toimivuus on testattu paljon normaalia laajemmalla lämpötila-alueella ja joiden ohjelmointiin on toimintavarmuuden parantamiseksi luotu useita laajennuksia. Mikro-ohjaimen rakenne ja toiminta Mikro-ohjain komponenttina on ollut olemassa vasta 1970-luvulta lähtien, mutta sen käyttö on koko ajan yleistynyt. Nykyisin mikro-ohjainta voidaankin jo käytännössä pitää yhtenä digitaalisten piirien peruskomponenteista, jolla voidaan useissa sovelluksissa korvata suuri määrä tavanmukaisia logiikkapiirejä ja samalla monipuolistaa laitteen käyttömahdollisuuksia. Mikro-ohjaimia valmistetaan monenlaisissa koteloissa. DIGITAALIELEKTRONIIKKA 195 DE Luku 9 JN.indd 195 19.4.2012 13.24
Mikro-ohjaimen avulla voidaan toteuttaa pieniä ohjausjärjestelmiä, kuten lämpötilasäätimiä tai nestepinnan tasovahteja. Tällaisissa sovelluksissa mikro-ohjainten käyttö onkin suotavaa, sillä niitä käyttämällä tarvitaan tehokomponenttien lisäksi usein vain yksi mikropiiri. Monissa mikro-ohjaimissa on jopa sisäinen kellonlähde, mikä vähentää tarvittavien komponenttien määrää entisestään. USART, komparaattori, AD-muunnin ja muut sisäiset toimilaitteet SRAM, EEPROM ohjelmamuisti (vrt. tietokoneen kovalevy) IO-portit Sanastoa kotelo (komponentti) DIL digitaalinen komponentti kellolähde sisäinen ulkoinen package dual in line package digital component clock source internal external Jotkin mikro-ohjaimen osa-alueet voi tunnistaa piisirulta. Kuvassa on Intelin valmistaman C8751-mikro-ohjaimen piisiru. Vaikka mikro-ohjaimia valmistetaan monissa erilaisissa koteloissa, niiden toiminta pohjautuu aina edellisen kuvan kaltaiseen piisiruun. Piisiru on kuin pieni piirikortti, joka sisältää kaikki mikro-ohjaimen vaatimat toimielimet. Suuri osa toimielimistä on hyvin pieniä, eikä niitä voi siksi erottaa valokuvasta. Toiset toimielimet, kuten muistit, vaativat sen sijaan suhteellisen suuren pinta-alan, jolloin niiden tunnistaminen kuvasta onnistuu. Edellisessä kuvassa mikro-ohjaimen ohjelmamuisti sijoittuu piisirun alempaan puoliskoon ja näkyy suhteellisen suurena tasaisena alueena. Ohjelmamuistin tehtävä mikro-ohjaimessa on muistaa ohjaimeen ladattu ohjelma, eli se toimii samaan tapaan kuin kovalevy tavallisessa tietokoneessa. Toinen laajempi tasainen alue sijaitsee sirun yläneljänneksessä ja se käsittää mikro-ohjaimen käyttö- ja datamuistin. Käyttömuisti vastaa tietokoneen RAM-muistia ja datamuistia voisi verrata vaikkapa muistitikkuun tai muuhun siirrettävään muistivälineeseen. Muistien lisäksi mikro-ohjaimen sisäiset toimilaitteet näkyvät sirun vasemmassa yläneljänneksessä ja täyttävät myös muistialueiden välisen tilan. Sisäisiin toimilaitteisiin kuuluvat muun muassa USART, komparaattori ja AD-muunnin, mutta yksittäisten toimilaitteiden tunnistaminen on kuitenkin lähes mahdotonta ilman piisirun suunnitelmia. Poikkeuksena ovat IO-portit, joita voidaan myös pitää sisäisinä toi- 196 MIKRO-OHJAIMET DE Luku 9 JN.indd 196 19.4.2012 13.24
milaitteina. IO-portit koostuvat lähtöpuskureista sekä tulo- ja lähtörekistereistä. Lähtöpuskureilla ohjataan piisirun mittakaavassa valtavia virtoja, minkä vuoksi ne sijoitetaan lähes poikkeuksetta sirun reunoille ja ovat siten helposti tunnistettavissa. Intelin ensimmäisten mikro-ohjainten jälkeen alalle on tullut myös muita valmistajia, eivätkä mikro-ohjaimet olekaan nykyisin Intelin ydinaluetta. Suomessa ehkä tunnetuimmat mikro-ohjainvalmistajat ovat Microchip ja Atmel. Lisäksi mikroohjaimia valmistavat muun muassa Freescale, Texas Instruments ja ST-microelectronics. Vaikka kunkin valmistajan piirit soveltuvat melko pitkälle samoihin käyttötarkoituksiin, eri valmistajien piirien välillä on pieniä eroja. Esimerkiksi Atmelin AVR-piirien ja Microchipin PIC-piirien väliset keskeisimmät erot ovat suorituskyvyssä ja IO-porttien rakenteessa. PIC-piireillä (Peripherial Interface Controller) on näistä kahdesta pidemmät perinteet. Suuri osa PIC-piireistä onkin alun perin suunniteltu nimensä mukaisesti paikallisiin ohjaussovelluksiin. Tämän vuoksi varsinkin vanhemmilla PIC-piireillä on erittäin kestävät IO-portit, jotka antavat riittävästi virtaa esimerkiksi ledin ohjaamiseen. Samalla porteissa on kiinteä virranrajoitin, joka rajoittaa portin virtaa oikosulkutilanteessa ja estää siten portin hajoamisen. PIC-piirit vaativat tavallisesti neljä kellojaksoa kunkin käskyn suorittamiseen, eikä varsinkaan vanhemmissa piireissä ole laitteistopohjaista kertolaskuyksikköä. PIC-piirien laskentateho riittääkin hyvin monissa ohjaussovelluksissa, mutta enemmän laskentaa vaativissa sovelluksissa, kuten monissa konenäkösovelluksissa, voi puutteista johtuva hitaus olla havaittavissa. AVR-piirien rakenne on sen sijaan alusta asti ollut suotuisampi C-kääntäjille. Samalla kevyintä sarjaa lukuun ottamatta edullisemmissakin AVR-piireissä on yleensä laitteistopohjainen kertolaskuyksikkö. Kertolaskuyksikkö nopeuttaa laskutoimituksia huomattavasti, sillä sitä käyttämällä useimmat kertolaskut vaativat korkeintaan kaksi kellojaksoa. Ilman kertolaskuyksikköä vastaavien laskujen laskeminen voisi vaatia kymmeniä tai jopa satoja kellojaksoja. Toisin kuin PIC-piirit AVR-piirit myös suorittavat yhden käskyn jokaisella kellojaksolla, mikä antaakin niille nelinkertaisen nopeusedun PIC-piireihin nähden. Sanastoa sarjaportti tulo / lähtö valmistaja (lähtö)puskuri eroavaisuus USART IO manufacturer (output) buffer difference DIGITAALIELEKTRONIIKKA 197 DE Luku 9 JN.indd 197 19.4.2012 13.24
Projekti 1 AVR-lämpötilamittari Sulautettuja järjestelmiä sisältävissä suunnitteluprojekteissa on aina vähintään neljä vaihetta: toteutustavan valinta, piirikaaviosuunnittelu, piirikortin suunnittelu ja sulautetun ohjelman suunnittelu. Lisäksi täytyy miettiä jonkin verran mekaniikkaa muun muassa koteloinnin yhteydessä. Projektissa rakennetaan usein myös laitteen prototyyppi, jonka avulla ohjelman kehittäminen on huomattavasti helpompaa. Tässä esimerkkiprojektissa ei ole varsinaista mekaniikkasuunnittelua. Sen sijaan piirikorttiin on lisätty kiinnityspisteet, joiden avulla sen voi kiinnittää suurimpaan osaan koteloista, kunhan kotelo on tarpeeksi suuri. Seuraavassa käydään läpi tähän esimerkkiprojektiin liittyvät vaiheet. Toteutustavaksi tässä projektissa valittiin ulkoinen, analogista signaalia tuottava lämpötila-anturi, jota luetaan mikroohjaimen AD-muuntimen avulla. Luettu lämpötila näytetään käyttäjälle kahden seitsensegmenttinäytön avulla. Laitteen sähkönlähteenä toimii yksi AA-koon sormiparisto, jonka jännite nostetaan 5 volttiin hakkuriregulaattorin avulla. Lämpötilan mittaus (LM35) Laskentayksikkö (ATmega88) Näyttöyksikkö (2 x 7 -segmenttinäyttö) Tehonsyöttö (AA-paristo) Lämpötilamittarissa on neljä keskeistä osiota: lämpötilan mittaus, laskentayksikkö, näyttöyksikkö ja tehonsyöttö. Toteutustavan valinnan jälkeen vuorossa on piirikaaviosuunnittelu. Lämpötilamittarin piirikaavio on suunniteltu Proteus 7 -suunnitteluohjelmalla ja se sisältää yhteensä kolme sivua. Seuraavassa kuvassa esitetään tehonsyötöstä vastaavan hakkuriregulaattorin kytkentä. DIGITAALIELEKTRONIIKKA 225 DE Luku 9 JN.indd 225 19.4.2012 13.24
Lämpötilamittarin tehonsyötöstä vastaa MCP1640-hakkuriregulaattori. Projektin koko kytkentä on kirjan sähköisessä oheismateriaalissa. Kun piirikaavio on piirretty, vuorossa on piirikortin suunnittelu. Tässä projektissa piirikortille ei määräydy mitään erityisvaatimuksia, sillä kaikki kytkennän virrat ovat melko pieniä eikä kytkennässä esiinny erityisen suuria taajuuksia. Komponentit on kuitenkin hyvä ryhmitellä siten, että kukin toiminnallinen lohko sijaitsee suunnilleen samalla alueella. Esimerkiksi hakkuriregulaattoriin liittyvät vedot on syytä pitää mahdollisimman lyhyinä, sillä hakkurin kytkentävirtapiikit voivat häiritä viereisiä signaaleja. Lämpötilamittarin piirikortissa on kaksi kuparikerrosta. Pintakuparin vedot näkyvät punaisella värillä ja pohjakuparin vedot sinisellä. Liitin X200 ja paristopidin X300 on suunniteltu juotettaviksi piirikortin alapuolelle. 226 MIKRO-OHJAIMET DE Luku 9 JN.indd 226 19.4.2012 13.24
Piirikortin suunnittelun jälkeen voidaan joko tehdä ensin prototyyppi tai ryhtyä suoraan suunnittelemaan lämpötilamittarin sulautettua ohjelmaa. Ohjelman suunnittelussa on tärkeää kiinnittää huomiota etenkin näyttöjen ohjaukseen, sillä molempiin näyttöihin ei voida ohjata virtaa samanaikaisesti, koska liian hidas päivitystaajuus saa näytöt välkkymään. // tämän funktion avulla ohjelma kirjoittaa valitulle näytölle halutun // numeron void setdisplay(unsigned char value, unsigned char display) { // nollataan aluksi näyttöjä ohjaavan portin tila PORTC=0x00; } // kirjoitetaan porttiin uusi value-argumentin ja // display_decoder-taulukon avulla PORTD=display_decoder[value]; // valitaan, kummalle näytölle arvo kirjoitetaan if(display==0) PORTC=0x02; else if(display==1) PORTC=0x01; Projektiin liittyvä ohjelma on kokonaisena kirjan sähköisessä oheismateriaalissa. DIGITAALIELEKTRONIIKKA 227 DE Luku 9 JN.indd 227 19.4.2012 13.24